*,:before,:after{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}:root{--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-size-xl:18px;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-accent:#8b5cf6;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#06b6d4;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-drawer:-4px 0 20px #00000040;--transition-fast:.15s ease;--transition-normal:.2s ease}[data-theme=dark]{--bg-app:#0b0f17;--bg-sidebar:#0f172a;--bg-surface:#131d31;--bg-surface-hover:#1e293b;--bg-surface-active:#273549;--bg-card:#182338;--bg-card-hover:#1f2d47;--bg-input:#0e1626;--bg-tag:#1e293b;--bg-modal-overlay:#000000bf;--border-subtle:#1e293b;--border-default:#2a374f;--border-focus:#3b82f6;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0b0f17;--scrollbar-thumb:#334155;--scrollbar-track:#0f172a}[data-theme=light]{--bg-app:#f8fafc;--bg-sidebar:#f1f5f9;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--bg-surface-active:#e2e8f0;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-input:#f8fafc;--bg-tag:#e2e8f0;--bg-modal-overlay:#0f172a80;--border-subtle:#f1f5f9;--border-default:#e2e8f0;--border-focus:#3b82f6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-inverse:#fff;--scrollbar-thumb:#cbd5e1;--scrollbar-track:#f1f5f9}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--text-primary);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;width:100vw;height:100vh;line-height:1.4;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.app-layout{background-color:var(--bg-app);width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-default);-webkit-user-select:none;user-select:none;flex-direction:column;width:240px;min-width:240px;height:100%;transition:width .22s cubic-bezier(.16,1,.3,1),min-width .22s cubic-bezier(.16,1,.3,1),opacity .18s;display:flex}.sidebar.collapsed{opacity:0!important;pointer-events:none!important;border-right:none!important;width:0!important;min-width:0!important;overflow:hidden!important}.main-content{flex-direction:column;flex:1;height:100%;display:flex;position:relative;overflow:hidden}.top-navbar{background-color:var(--bg-surface);border-bottom:1px solid var(--border-default);z-index:10;justify-content:space-between;align-items:center;gap:12px;height:48px;min-height:48px;padding:0 16px;display:flex}.filter-bar{background-color:var(--bg-surface);border-bottom:1px solid var(--border-default);font-size:var(--font-size-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;display:flex}.btn{font-size:var(--font-size-sm);border-radius:var(--radius-md);border:1px solid var(--border-default);background-color:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-weight:500;display:inline-flex}.btn:hover{background-color:var(--bg-surface-hover);border-color:var(--text-secondary)}.btn:active{background-color:var(--bg-surface-active)}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-ai{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#d946ef 100%);border:none;font-weight:600;box-shadow:0 0 10px #8b5cf64d}.btn-ai:hover{opacity:.95;box-shadow:0 0 14px #8b5cf680}.btn-sm{font-size:var(--font-size-xs);padding:3px 7px}.btn-icon{border-radius:var(--radius-md);padding:5px}.badge{border-radius:var(--radius-sm);font-size:var(--font-size-xs);align-items:center;gap:4px;padding:2px 6px;font-weight:600;line-height:1;display:inline-flex}.badge-priority-0{color:#fff;background:#475569}.badge-priority-1{color:#fff;background:#64748b}.badge-priority-2{color:#fff;background:#2563eb}.badge-priority-3{color:#fff;background:#d97706}.badge-priority-4{color:#fff;background:#dc2626}.input,.select,.textarea{background-color:var(--bg-input);border:1px solid var(--border-default);color:var(--text-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:border-color var(--transition-fast);outline:none;padding:5px 9px;font-family:inherit}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus)}.modal-backdrop{background-color:var(--bg-modal-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;justify-content:center;align-items:center;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:90%;max-width:560px;max-height:85vh;animation:.15s ease-out scaleUp;display:flex;overflow:hidden}.drawer{background-color:var(--bg-surface);border-left:1px solid var(--border-default);width:840px;max-width:95vw;box-shadow:var(--shadow-drawer);z-index:110;flex-direction:column;animation:.2s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.view-switcher{background-color:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:2px;display:inline-flex}.view-tab{font-size:var(--font-size-sm);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:5px;padding:4px 10px;font-weight:500;display:inline-flex}.view-tab.active{background-color:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.kanban-board{flex:1;gap:12px;height:calc(100vh - 105px);padding:16px;display:flex;overflow:auto hidden}.kanban-column{background-color:var(--bg-sidebar);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;width:290px;min-width:290px;max-height:100%;display:flex}.kanban-column-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.kanban-cards-container{flex-direction:column;flex:1;gap:8px;padding:8px;display:flex;overflow-y:auto}.kanban-card{background-color:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);padding:10px}.kanban-card:hover{background-color:var(--bg-card-hover);border-color:var(--border-focus);box-shadow:var(--shadow-sm)}.gantt-container{background-color:var(--bg-surface);flex-direction:column;flex:1;display:flex;overflow:auto}.gantt-header{border-bottom:1px solid var(--border-default);background-color:var(--bg-sidebar);z-index:5;display:flex;position:sticky;top:0}.gantt-row{border-bottom:1px solid var(--border-subtle);height:36px;min-height:36px;transition:background-color var(--transition-fast);align-items:center;display:flex}.gantt-row:hover{background-color:var(--bg-surface-hover)}.gantt-bar{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;height:22px;font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;align-items:center;padding:0 6px;transition:transform .1s;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0003}.gantt-bar:hover{filter:brightness(1.1);transform:translateY(-1px)}.auth-container{color:#0f172a;background-color:#f8fafc;width:100vw;min-height:100vh;display:flex;overflow:auto}.auth-hero-panel{background:linear-gradient(145deg,#f0fdf4 0%,#eff6ff 45%,#f5f3ff 100%);border-right:1px solid #e2e8f0;flex-direction:column;flex:50%;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-hero-panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#6366f114 0%,#fff0 70%);border-radius:50%;width:340px;height:340px;position:absolute;top:-120px;right:-120px}.auth-brand-badge{z-index:1;align-items:center;gap:12px;display:flex}.auth-brand-icon{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#4f46e5 100%);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:800;display:flex;box-shadow:0 4px 14px #2563eb40}.auth-brand-text h1{letter-spacing:-.02em;color:#0f172a;margin:0;font-size:18px;font-weight:800;line-height:1.2}.auth-brand-text span{color:#64748b;font-size:11px;font-weight:500;display:block}.auth-hero-content{z-index:1;max-width:480px;margin:40px 0}.auth-pill-tag{color:#4f46e5;background-color:#fff;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:6px;margin-bottom:20px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 2px 6px #00000008}.auth-hero-title{color:#0f172a;letter-spacing:-.03em;margin-bottom:14px;font-size:32px;font-weight:800;line-height:1.25}.auth-hero-subtitle{color:#475569;margin-bottom:28px;font-size:14px;line-height:1.6}.auth-feature-list{flex-direction:column;gap:14px;display:flex}.auth-feature-item{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffbf;border:1px solid #e2e8f0cc;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.auth-feature-icon{background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 1px 3px #0000000a}.auth-feature-text{color:#334155;font-size:13px;font-weight:500}.auth-hero-footer{z-index:1;color:#64748b;justify-content:space-between;align-items:center;font-size:12px;display:flex}.auth-form-panel{justifyContent:center;background-color:#fff;flex-direction:column;flex:50%;align-items:center;padding:40px 24px;display:flex;overflow-y:auto}.auth-form-card{width:100%;max-width:400px;margin:auto 0}.auth-form-header{margin-bottom:24px}.auth-mobile-logo{align-items:center;gap:10px;margin-bottom:20px;display:none}.auth-form-title{color:#0f172a;letter-spacing:-.02em;margin-bottom:6px;font-size:24px;font-weight:700}.auth-form-subtitle{color:#64748b;font-size:13px;line-height:1.5}.auth-tab-group{background-color:#f1f5f9;border-radius:8px;margin-bottom:20px;padding:3px;display:flex}.auth-tab-btn{cursor:pointer;color:#64748b;text-align:center;background-color:#0000;border:none;border-radius:6px;flex:1;padding:8px 0;font-size:13px;font-weight:600;transition:all .15s}.auth-tab-btn.active{color:#0f172a;background-color:#fff;box-shadow:0 1px 3px #00000014}.auth-demo-banner{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px 14px;font-size:12px;display:flex}.auth-demo-banner-text{color:#166534;font-weight:500}.auth-demo-fill-btn{color:#fff;cursor:pointer;white-space:nowrap;background-color:#16a34a;border:none;border-radius:5px;padding:5px 11px;font-size:11px;font-weight:600;transition:background-color .15s}.auth-demo-fill-btn:hover{background-color:#15803d}.auth-error-alert{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 14px;font-size:12px;font-weight:500;display:flex}.auth-input-group{margin-bottom:16px}.auth-input-label{color:#334155;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{color:#94a3b8;pointer-events:none;position:absolute;left:12px}.auth-input{color:#0f172a;box-sizing:border-box;background-color:#fff;border:1px solid #cbd5e1;border-radius:7px;outline:none;width:100%;padding:10px 12px 10px 38px;font-size:13px;transition:border-color .15s,box-shadow .15s}.auth-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.auth-input-no-icon{padding-left:12px}.auth-toggle-pwd{color:#94a3b8;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:12px}.auth-toggle-pwd:hover{color:#475569}.auth-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-form-options{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;display:flex}.auth-remember-label{cursor:pointer;color:#475569;align-items:center;gap:6px;display:flex}.auth-submit-btn{color:#fff;cursor:pointer;background-color:#2563eb;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:6px;padding:11px 16px;font-size:14px;font-weight:600;transition:all .15s;display:flex;box-shadow:0 2px 6px #2563eb40}.auth-submit-btn:hover:not(:disabled){background-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb59}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.navbar-menu-btn{display:inline-flex}.sidebar-mobile-close,.sidebar-backdrop,.notes-mobile-back-btn{display:none}@media (width<=900px){.auth-hero-panel{display:none!important}.auth-form-panel{flex:100%;justify-content:flex-start;width:100%;padding:32px 18px}.auth-form-card{max-width:440px;margin:20px auto}.auth-mobile-logo{display:flex}.auth-grid-2{grid-template-columns:1fr;gap:0}.app-layout{width:100vw;height:100vh;position:relative;overflow:hidden}.navbar-menu-btn{margin-right:2px;display:inline-flex}.sidebar-mobile-close{display:inline-flex}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#00000073;animation:.15s ease-out fadeIn;display:block;position:fixed;inset:0}.sidebar{z-index:101;width:280px;max-width:85vw;box-shadow:none;transition:transform .25s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #0003}.top-navbar{gap:6px;padding:0 8px}.navbar-search-box{flex:auto;min-width:0}.view-switcher .view-tab span{display:none}.view-switcher .view-tab{padding:4px 6px}.side-view-tab,.task-header-row .task-col-assignee,.task-header-row .task-col-due,.task-list-row .task-col-assignee,.task-list-row .task-col-due{display:none!important}.task-list-row{padding:8px!important}.kanban-board{gap:8px;height:calc(100vh - 96px);padding:8px}.kanban-column{width:260px;min-width:260px}.notes-container{position:relative}.notes-sidebar-panel{border-right:none!important;width:100%!important;min-width:100%!important}.notes-sidebar-panel.has-active-note-mobile{display:none!important}.notes-editor-panel{width:100%!important;height:100%!important}.notes-mobile-back-btn{display:inline-flex}.exec-dashboard-content{gap:12px!important;padding:10px 8px!important}.exec-stats-grid,.exec-space-grid{grid-template-columns:1fr!important;gap:10px!important}.exec-two-col-grid{grid-template-columns:1fr!important;gap:12px!important}.drawer{border:none!important;border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important}.modal-backdrop{padding:0!important}.modal-content{border:none!important;border-radius:0!important;width:100vw!important;max-width:100vw!important;min-height:100vh!important;max-height:100vh!important;margin:0!important}}.sidebar-workspace-header{border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:4px;min-height:52px;padding:10px 10px 10px 12px;display:flex}.workspace-header-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:9px;min-width:0;padding:4px 6px;transition:background .15s;display:flex}.workspace-header-btn:hover{background:var(--bg-surface-hover)}.workspace-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#8b5cf6 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex;box-shadow:0 2px 8px #3b82f659}.workspace-info{flex:1;min-width:0}.workspace-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.workspace-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.sidebar-mobile-close{flex-shrink:0;display:none}@media (width<=900px){.sidebar-mobile-close{display:inline-flex}}.sidebar-nav{flex-direction:column;flex-shrink:0;gap:1px;padding:6px 6px 0;display:flex}.sidebar-nav-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;width:100%;padding:7px 10px;font-size:12.5px;font-weight:400;transition:all .12s;display:flex}.sidebar-nav-item:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.sidebar-nav-item.active{background:var(--bg-surface-active);color:var(--text-primary);font-weight:600}.sidebar-divider{background:var(--border-default);flex-shrink:0;height:1px;margin:6px 10px}.sidebar-section-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 10px 4px 12px;display:flex}.sidebar-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:700}.sidebar-action-btn{opacity:0;transition:opacity .12s;padding:3px!important}.sidebar-section-header:hover .sidebar-action-btn{opacity:1}.sidebar-spaces-list{flex-direction:column;flex:1;gap:1px;padding:2px 6px 8px;display:flex;overflow-y:auto}.sidebar-folder-row{transition:background .12s}.sidebar-folder-row:hover{background:var(--bg-surface-hover)!important}.sidebar-folder-row:hover .folder-menu-btn{opacity:1!important}.sidebar-space-row:hover{background:var(--bg-surface-hover)!important}.sidebar-space-row:hover .space-menu-btn,.sidebar-space-row:hover .folder-assign-btn{opacity:1!important}.folder-assign-btn{opacity:0;transition:opacity .12s,background .12s}.folder-assign-btn:hover{opacity:1!important;background:var(--bg-surface-hover)!important}.sidebar-empty-state{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:24px 16px;font-size:12px;display:flex}.sidebar-footer{border-top:1px solid var(--border-default);flex-direction:column;flex-shrink:0;gap:4px;padding:10px 14px;display:flex}.sidebar-quota-row{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:10px;display:flex}.sidebar-quota-bar{background:var(--bg-tag);border-radius:2px;height:3px;overflow:hidden}.sidebar-quota-fill{border-radius:2px;height:100%;transition:width .4s}.dropdown-item:hover{background:var(--bg-surface-hover)!important}.task-list-row{transition:background .12s}.task-list-row:hover{background-color:var(--bg-surface-hover,#6366f10a)!important}.task-row-actions{opacity:0;transition:opacity .15s}.task-list-row:hover .task-row-actions{opacity:1}@keyframes spin{to{transform:rotate(360deg)}}
