*{margin:0;padding:0;box-sizing:border-box}body{font-family:sans-serif;background:#0a0a0f;color:#f8f8fc}:root{--bg-base:#0a0a0f;--bg-card:#111118;--bg-elevated:#1a1a2a;--bg-input:#0d0d12;--bg-hover:#0d0d12;--border:#1e1e2a;--border-subtle:#636380;--primary:#6366f1;--primary-hover:#4f46e5;--primary-muted:#1e1e3a;--primary-text:#818cf8;--success:#22c55e;--success-bg:#0a2a1a;--warning:#f59e0b;--warning-bg:#2a1f0a;--danger:#ef4444;--danger-bg:#2a1a1a;--amber:#f59e0b;--amber-bg:#2a1f0a;--text:#e0e0e8;--text-muted:#9394a5;--text-faint:#aaa;--text-disabled:#3a3a4a;--radius-sm:5px;--radius:8px;--radius-md:10px;--radius-lg:12px;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem}.page-root{display:flex;flex-direction:column;height:100vh}.page-content,.page-content-narrow{padding:var(--space-xl);flex:1 1;overflow-y:auto}.page-content-narrow{max-width:680px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg)}.card,.card-sm{background:var(--bg-card)}.card-sm{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md)}.card-elevated{background:var(--bg-elevated);padding:.75rem var(--space-md)}.card-elevated,.card-input{border:1px solid var(--border-subtle);border-radius:var(--radius)}.card-input{background:var(--bg-input);padding:var(--space-md)}.btn{border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;font-family:inherit;transition:opacity .15s,background .15s,border-color .15s;display:inline-flex;align-items:center;gap:.4rem}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;padding:.5rem 1.25rem;font-size:.875rem}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle);padding:.5rem var(--space-md);font-size:.875rem}.btn-secondary:hover:not(:disabled){border-color:var(--primary);color:var(--primary-text)}.btn-ghost{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-subtle);padding:.4rem .85rem;font-size:.82rem}.btn-ghost:hover:not(:disabled){border-color:var(--primary)}.btn-danger{background:transparent;color:#f87171;border:1px solid #3d1515;padding:.4rem .85rem;font-size:.82rem}.btn-danger:hover:not(:disabled){background:#2a1a1a}.btn-icon{background:transparent;border:none;color:var(--text-faint);cursor:pointer;padding:.2rem .4rem;font-size:.85rem;border-radius:var(--radius-sm)}.btn-icon:hover{color:var(--text-muted)}.btn-sm{padding:.35rem .75rem;font-size:.78rem}.btn-lg{padding:.75rem 2rem;font-size:.9rem}.input{width:100%;padding:.6rem .85rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text);font-size:.875rem;font-family:inherit;box-sizing:border-box;transition:border-color .15s}.input:focus{outline:none;border-color:var(--primary)}.input:disabled{opacity:.5;cursor:not-allowed}.input::placeholder{color:var(--text-faint)}.textarea{width:100%;padding:.6rem .85rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text);font-size:.875rem;font-family:inherit;box-sizing:border-box;resize:vertical;transition:border-color .15s}.textarea:focus{outline:none;border-color:var(--primary)}.textarea::placeholder{color:var(--text-faint)}.select{padding:.6rem .85rem;border-radius:var(--radius);border:1px solid var(--border-subtle);background:var(--bg-input);color:var(--text);font-size:.82rem;font-family:inherit;cursor:pointer;transition:border-color .15s}.select:focus{outline:none;border-color:var(--primary)}.label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.3rem}.label-caps{display:block;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.2rem}.label-caps,.label-hint{font-size:.72rem;color:var(--text-faint)}.label-hint{margin-left:.4rem;font-weight:400;text-transform:none;letter-spacing:0}.badge{font-size:.72rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm);display:inline-block}.badge-primary{color:var(--primary-text);background:var(--primary-muted)}.badge-success{color:var(--success);background:var(--success-bg)}.badge-warning{color:var(--warning);background:var(--warning-bg)}.badge-danger{color:var(--danger);background:var(--danger-bg)}.badge-neutral{color:var(--text-muted);background:var(--bg-elevated)}.badge-count{font-size:.7rem;background:var(--primary-muted);color:var(--primary);padding:.1rem .4rem;border-radius:10px}.section-title{margin:0;font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.page-title{font-size:1.2rem;font-weight:700;color:var(--text)}.text-muted{color:var(--text-muted);font-size:.875rem}.text-faint{color:var(--text-faint);font-size:.78rem}.text-primary{color:var(--primary-text)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.tabs{border-bottom:1px solid var(--border);margin-bottom:var(--space-lg)}.tab,.tabs{display:flex}.tab{padding:.6rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-family:inherit;margin-bottom:-1px;align-items:center;gap:.4rem;transition:color .15s}.tab:hover{color:var(--text)}.tab.active{border-bottom-color:var(--primary);color:var(--primary-text);font-weight:600}.toggle-group{display:flex;background:var(--bg-elevated);border-radius:var(--radius);padding:2px;border:1px solid var(--border-subtle)}.toggle-btn{padding:.35rem .75rem;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:500;font-family:inherit;text-transform:capitalize;transition:background .15s,color .15s}.toggle-btn.active{background:var(--primary);color:#fff}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:.75rem;gap:.75rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-row{gap:.5rem}.form-row,.toolbar{display:flex;align-items:center;flex-wrap:wrap}.toolbar{justify-content:space-between;margin-bottom:var(--space-lg);gap:.75rem}.toolbar-left{flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:.5rem}.empty-state{text-align:center;padding:4rem;color:var(--text-muted)}.empty-state p:first-child{font-size:1rem;margin-bottom:.5rem}.empty-state p:last-child{font-size:.85rem;color:var(--text-faint)}.stat-grid-4{grid-template-columns:repeat(4,1fr);grid-gap:var(--space-md)}.stat-grid-3,.stat-grid-4{display:grid;gap:var(--space-md);margin-bottom:var(--space-lg)}.stat-grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--space-md)}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1}.stat-label{margin-top:.2rem;font-size:.78rem;color:var(--text-muted)}.list{display:flex;flex-direction:column;gap:.5rem}.list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem var(--space-md);background:var(--bg-elevated);border-radius:var(--radius);border:1px solid var(--border-subtle);text-decoration:none;color:var(--text);transition:border-color .15s}.list-item:hover{border-color:var(--primary)}.pill{padding:.35rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.78rem;font-weight:500;font-family:inherit;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-muted);transition:background .15s,color .15s,border-color .15s}.pill:hover{color:var(--text)}.pill.selected,.pill:hover{border-color:var(--primary)}.pill.selected{background:var(--primary);color:#fff}.pill.selected-soft{border-color:var(--primary)}.avatar,.pill.selected-soft{background:var(--primary-muted);color:var(--primary-text)}.avatar{width:32px;height:32px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:600;flex-shrink:0}.avatar-lg{width:44px;height:44px;border-radius:var(--radius-md);font-size:1rem}.divider{border:none;border-top:1px solid var(--border);margin:var(--space-md) 0}.scroll-x{overflow-x:auto}.scroll-x,.scroll-y{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.scroll-y{overflow-y:auto}.flex,.flex-col{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1 1}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.flex-wrap{flex-wrap:wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.min-w-0{min-width:0}.w-full{width:100%}.text-right{text-align:right}.text-center{text-align:center}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.p-md{padding:var(--space-md)}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.font-600{font-weight:600}.font-700{font-weight:700}.capacity-list-header{padding:.6rem var(--space-lg);background:var(--bg-elevated)}.capacity-list-header,.capacity-row{display:grid;grid-template-columns:200px 1fr 100px 58px 54px;grid-gap:var(--space-md);gap:var(--space-md);align-items:center;border-bottom:1px solid var(--border)}.capacity-row{padding:.875rem var(--space-lg);transition:background .1s}.capacity-row:last-child{border-bottom:none}.capacity-row:hover{background:var(--bg-hover)}.capacity-bar-wrap{display:flex;flex-direction:column;gap:0}.capacity-track{height:6px;background:var(--bg-elevated);border-radius:999px;overflow:hidden}.capacity-fill{height:100%;border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.capacity-team-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;transition:background .1s}.capacity-team-header:hover{background:var(--bg-hover)}.capacity-team-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.capacity-team-bar-wrap{padding:.5rem var(--space-lg) 0;border-bottom:1px solid var(--border)}.capacity-project-row{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.capacity-project-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:.65rem var(--space-md);background:transparent;border:none;cursor:pointer;text-align:left;transition:background .1s}.capacity-project-header:hover{background:var(--bg-hover)}.capacity-project-members{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0}.capacity-project-member-row{padding:.5rem var(--space-md);border-bottom:1px solid var(--border)}.capacity-project-member-row:last-child{border-bottom:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:hsla(0,0%,61%,.5);border-radius:10px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:hsla(0,0%,61%,.7)}*{scrollbar-width:thin;scrollbar-color:hsla(0,0%,61%,.5) transparent}.sidebar-main{display:flex;flex-direction:column;height:100vh;background:#0d0d12;border-right:1px solid #1e1e2a;position:fixed;left:0;top:0;transition:width .2s ease;z-index:30}.sidebar-header{padding:1.25rem 1rem;border-bottom:1px solid #1e1e2a}.sidebar-logo-link{text-decoration:none;display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem;justify-content:flex-start}.sidebar-logo-text{color:#fff;font-weight:700;font-size:.95rem;white-space:nowrap}.sidebar-logo-accent{color:#009bee}.sidebar-workspace-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:8px;background:#161620;border:1px solid #1e1e2a;text-decoration:none;transition:border-color .15s}.sidebar-workspace-link:hover{border-color:#6366f1}.sidebar-workspace-badge{width:22px;height:22px;border-radius:6px;background:#2a2a3a;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#6366f1;font-weight:700;flex-shrink:0}.sidebar-workspace-name{color:#e0e0e8;font-size:.82rem;font-weight:500;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{flex:1 1;padding:.75rem .5rem;overflow-y:auto}.sidebar-nav-group{margin-bottom:.25rem}.sidebar-nav-label{margin:.75rem .75rem .3rem;font-size:.65rem;font-weight:600;color:#b5b7c7;text-transform:uppercase;letter-spacing:.08em}.sidebar-nav-item{display:flex;align-items:center;gap:.6rem;justify-content:flex-start;padding:.45rem .75rem;border-radius:7px;margin-bottom:.1rem;text-decoration:none;background:transparent;color:#e0e0e8;font-size:.85rem;font-weight:400;cursor:pointer;transition:background .12s,color .12s}.sidebar-nav-item:hover{background:#161622;color:#e0e0e8}.sidebar-nav-item.active{font-weight:600}.sidebar-nav-item.active,.sidebar-nav-item.active:hover{background:#1e1e3a;color:#818cf8}.sidebar-nav-item-soon{color:#2e2e3e;cursor:default}.sidebar-nav-item-soon:hover{background:transparent;color:#2e2e3e}.sidebar-nav-badge{font-size:.58rem;background:#161620;color:#2e2e3e;padding:.1rem .35rem;border-radius:3px;border:1px solid #1e1e2a;letter-spacing:.04em}.sidebar-user{padding:.85rem 1rem;border-top:1px solid #1e1e2a;display:flex;align-items:center;gap:.65rem;justify-content:flex-start}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{margin:0;font-size:.8rem;font-weight:500;color:#e0e0e8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{margin:0;font-size:.7rem;font-weight:500}.sidebar-toggle-btn{position:fixed;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#1a1a2a;border:1px solid #2a2a3a;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#9394a5;z-index:35;transition:left .2s ease,background .15s,color .15s}.sidebar-toggle-btn:hover{background:#2a2a3a;color:#818cf8}.topbar{height:56px;border-bottom:1px solid #1e1e2a;justify-content:space-between;padding:0 1.5rem;background:#0a0a0f;flex-shrink:0}.topbar,.topbar-breadcrumbs{display:flex;align-items:center}.topbar-breadcrumbs{gap:.4rem;flex:1 1;min-width:0}.topbar-actions{display:flex;align-items:center;gap:.75rem}@media (max-width:768px){.topbar{padding-left:3.5rem}.topbar-breadcrumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.content-full{width:100%}.content-wide{width:100%;max-width:1400px}.content-medium{width:100%;max-width:1100px}.content-narrow{width:100%;max-width:680px}.split-root{display:flex;flex:1 1;overflow:hidden;gap:0}.split-list{overflow-y:auto;overflow-x:hidden;transition:flex-basis .2s ease,width .2s ease;flex-shrink:0;display:flex;flex-direction:column}.split-list.panel-open{flex:0 0 44%;border-right:1px solid var(--border)}.split-list.panel-closed{flex:1 1}.split-panel{flex:1 1;overflow-y:auto;background:var(--bg-base);position:relative}.split-panel-inner{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.split-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem var(--space-lg);border-bottom:1px solid var(--border);background:var(--bg-card);position:-webkit-sticky;position:sticky;top:0;z-index:10}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{padding:.65rem 1rem;text-align:left;font-size:.7rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em;font-weight:600;border-bottom:1px solid var(--border);background:var(--bg-elevated);white-space:nowrap}.data-table th:first-child{padding-left:1.25rem}.data-table th:last-child{padding-right:1.25rem}.data-table td{padding:.8rem 1rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table td:first-child{padding-left:1.25rem}.data-table td:last-child{padding-right:1.25rem}.data-table tbody tr{cursor:pointer;transition:background .1s}.data-table tbody tr:hover td{background:var(--bg-hover)}.data-table tbody tr.row-selected td{background:var(--primary-muted)}.data-table tbody tr.row-selected td:first-child{border-left:3px solid var(--primary);padding-left:calc(1.25rem - 3px)}.data-table tbody tr:last-child td{border-bottom:none}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}