:root{--sidebar-wide:240px;--sidebar-narrow:56px;--navy:#1e3a5f;--navy-hover:#16304f;--blue:#2563eb;--blue-light:#eff6ff;--green:#16a34a;--amber:#d97706;--red:#dc2626;--purple:#7c3aed;--border:#e5e7eb;--bg:#f9fafb;--text:#111827;--muted:#6b7280;--white:#fff;--transition:.22s cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);height:100vh;font-family:IBM Plex Sans,sans-serif;font-size:14px;display:flex;overflow:hidden}#root{width:100%;height:100%;display:flex}h1,h2,h3,.kpi-value,.sidebar-brand .title,.topbar-title{font-family:DM Sans,sans-serif}code,.mono,.return-id,.tin{font-family:JetBrains Mono,monospace}#sidebar{width:var(--sidebar-wide);background:var(--navy);transition:width var(--transition);z-index:10;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}#sidebar.collapsed{width:var(--sidebar-narrow)}.sidebar-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;min-height:56px;padding:14px 12px 14px 16px;display:flex}.sidebar-brand{align-items:center;gap:10px;display:flex;overflow:hidden}.brand-icon{background:#ffffff26;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.brand-text{transition:opacity var(--transition), width var(--transition);white-space:nowrap;overflow:hidden}.brand-text .title{color:#fff;font-size:13.5px;font-weight:700;line-height:1.2}.brand-text .sub{color:#ffffff80;font-size:11px}#sidebar.collapsed .brand-text{opacity:0;width:0}.toggle-btn{cursor:pointer;color:#ffffffb3;background:#ffffff14;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex}.toggle-btn:hover{color:#fff;background:#ffffff26}.toggle-btn svg{transition:transform var(--transition)}#sidebar.collapsed .toggle-btn svg{transform:rotate(180deg)}.nav-section{flex-shrink:0;padding:10px 8px 4px}.nav-section-label{letter-spacing:.8px;text-transform:uppercase;color:#ffffff59;white-space:nowrap;transition:opacity var(--transition);margin-bottom:4px;padding:0 8px;font-size:10px;font-weight:600;overflow:hidden}#sidebar.collapsed .nav-section-label{opacity:0}.nav-item{cursor:pointer;color:#ffffffa6;white-space:nowrap;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:11px;width:100%;margin-bottom:1px;padding:9px 8px;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.active{color:#fff;background:#ffffff24}.nav-item .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;display:flex}.nav-item .nav-label{transition:opacity var(--transition), width var(--transition);font-size:13.5px;font-weight:500;overflow:hidden}#sidebar.collapsed .nav-label{opacity:0;width:0}.nav-item .nav-badge{color:#fff;text-align:center;min-width:18px;transition:opacity var(--transition);background:#ef4444;border-radius:10px;flex-shrink:0;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:700}#sidebar.collapsed .nav-badge{opacity:0}.nav-item .nav-tooltip{left:calc(var(--sidebar-narrow) - 4px);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:100;background:#1f2937;border-radius:6px;padding:5px 10px;font-size:12px;transition:opacity .15s;position:absolute;box-shadow:0 4px 12px #00000040}#sidebar.collapsed .nav-item:hover .nav-tooltip{opacity:1}.sidebar-settings{flex-shrink:0;margin-top:auto;padding:10px 16px 12px;overflow:hidden}.sidebar-settings .nav-section-label{padding:0}.sidebar-settings .theme-btn:hover{color:#fff;background:#ffffff14}.sidebar-theme-toggle{gap:6px;margin-top:10px;display:flex}#sidebar .theme-btn{color:#ffffffbd;border-color:#ffffff38}#sidebar .theme-btn.theme-btn-active{color:#fff;background:#3b82f6;border-color:#3b82f6}#sidebar.collapsed .sidebar-settings{display:none}#sidebar.collapsed .sidebar-footer{margin-top:auto}#sidebar.collapsed .user-row{justify-content:center;gap:0;padding:8px 0}.sidebar-footer{border-top:1px solid #ffffff14;flex-shrink:0;padding:12px 8px}.user-row{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px;font-family:inherit;transition:background .15s;display:flex;position:relative}.user-row:hover{background:#ffffff14}.user-avatar{color:#fff;background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:flex}.user-info{transition:opacity var(--transition), width var(--transition);flex:1;min-width:0;overflow:hidden}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-email{color:#ffffff73;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}#sidebar.collapsed .user-info{opacity:0;flex:0 0 0;width:0}#sidebar.collapsed .user-menu-btn{opacity:0}.user-dropdown{z-index:200;background:#fff;border-radius:10px;padding:6px;display:none;position:absolute;bottom:60px;left:8px;right:8px;box-shadow:0 8px 24px #0000002e}.user-dropdown.open{display:block}.dropdown-item{cursor:pointer;color:#374151;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:background .12s;display:flex}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.danger{color:#dc2626}.dropdown-divider{background:#f3f4f6;height:1px;margin:4px 0}.topbar{border-bottom:1px solid var(--border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex}.topbar-left{align-items:center;gap:12px;display:flex}.topbar-title{color:var(--text);font-size:17px;font-weight:700}.topbar-sub{color:var(--muted);font-size:12px}.topbar-right{align-items:center;gap:8px;display:flex}.topbar-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-ghost{color:var(--muted);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--bg);color:var(--text)}.subscription-toggle-muted-disabled .subscription-toggle-label,.subscription-toggle-muted-disabled .subscription-toggle-note,.subscription-toggle-muted-disabled .subscription-toggle-status{color:#94a3b8!important}.subscription-toggle-muted-disabled .subscription-toggle-button{cursor:not-allowed;opacity:1}.subscription-toggle-muted-disabled .subscription-toggle-button:disabled{color:#94a3b8;background:#f8fafc;border:1px solid #cbd5e1;box-shadow:inset 0 0 0 1px #ffffffa6}.subscription-toggle-muted-disabled .subscription-toggle-button:disabled:hover{color:#94a3b8;background:#f8fafc}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.kpi-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:18px 20px;position:relative;overflow:hidden}.kpi-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.kpi-card.blue:before{background:var(--blue)}.kpi-card.green:before{background:var(--green)}.kpi-card.amber:before{background:var(--amber)}.kpi-card.red:before{background:var(--red)}.kpi-value{margin-bottom:4px;font-size:32px;font-weight:800;line-height:1}.kpi-card.blue .kpi-value{color:var(--blue)}.kpi-card.green .kpi-value{color:var(--green)}.kpi-card.amber .kpi-value{color:var(--amber)}.kpi-card.red .kpi-value{color:var(--red)}.kpi-label{color:var(--muted);font-size:12.5px;font-weight:500}.kpi-trend{color:var(--green);margin-top:6px;font-size:11px}.card{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.card-title{color:var(--text);font-size:14px;font-weight:600}.card-body{padding:0}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);background:#f9fafb;padding:10px 16px;font-size:11.5px;font-weight:600}td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:13px 16px;font-size:13.5px}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}.client-name{color:var(--text);font-weight:600}.client-sub{color:var(--muted);margin-top:1px;font-size:11.5px}.badge{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:600;line-height:normal;display:inline-flex}.badge-blue{color:#1d4ed8;background:#eff6ff}.badge-green{color:#15803d;background:#f0fdf4}.badge-amber{color:#b45309;background:#fffbeb}.badge-red{color:#b91c1c;background:#fef2f2}.badge-purple{color:#6d28d9;background:#f5f3ff}.badge-gray{color:#6b7280;background:#f3f4f6}.badge-orange{color:#c2410c;background:#fff7ed}.ag-portal .favorite-cell{justify-content:center;align-items:center;font-size:0;display:flex}.favorite-toggle{color:#9ca3af;cursor:pointer;width:28px;height:28px;transition:background var(--transition), color var(--transition), opacity var(--transition);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.favorite-toggle:hover{background:var(--bg);color:#d97706}.favorite-toggle:disabled{cursor:wait;opacity:.65}.favorite-toggle-active{color:#f59e0b}.progress-bar{background:#e5e7eb;border-radius:3px;width:120px;height:6px;overflow:hidden}.progress-fill{background:var(--blue);border-radius:3px;height:100%}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-blue{background:var(--blue)}.dot-green{background:var(--green)}.dot-amber{background:var(--amber)}.dot-red{background:var(--red)}.dot-gray{background:#9ca3af}.dot-purple{background:var(--purple)}.avatar{color:#fff;border:2px solid #fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:flex}.avatar-blue{background:var(--blue)}.avatar-purple{background:var(--purple)}.search-box{background:var(--bg);border:1px solid var(--border);width:240px;color:var(--muted);cursor:text;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:flex}.filter-chips{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.chip{cursor:pointer;border:1.5px solid var(--border);color:var(--muted);background:#fff;border-radius:20px;padding:5px 12px;font-size:12.5px;font-weight:500;transition:all .12s}.chip.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}.chip:hover:not(.active){color:var(--text);border-color:#9ca3af}.filter-control{border:1px solid var(--border);min-height:32px;color:var(--text);background-color:#fff;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 14px) 13px,calc(100% - 9px) 13px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:6px;padding:6px 32px 6px 10px;font-family:Arial,sans-serif;font-size:13px;font-weight:400;line-height:normal}select.filter-control{appearance:none;cursor:pointer}.multi-select{min-width:210px;position:relative}.multi-select-trigger{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.multi-select-trigger.active{border-color:var(--blue);color:var(--blue)}.multi-select-trigger span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.multi-select-menu{z-index:300;border:1px solid var(--border);background:#fff;border-radius:8px;width:max-content;min-width:100%;max-width:320px;max-height:280px;padding:6px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 12px 30px #00000024}.multi-select-option{width:100%;min-height:30px;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.multi-select-option:hover{background:var(--bg)}.multi-select-option.selected{color:var(--blue);font-weight:600}.multi-select-option input{width:14px;height:14px;accent-color:var(--blue);flex-shrink:0}.multi-select-check{width:14px;color:var(--blue);flex-shrink:0;font-size:12px}.multi-select-divider{background:var(--border);height:1px;margin:4px 0}.alert{border-radius:10px;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.alert-red{background:#fef2f2;border:1px solid #fecaca}.alert-icon{flex-shrink:0;font-size:18px}.alert-title{margin-bottom:2px;font-size:13px;font-weight:600}.alert-red .alert-title{color:#b91c1c}.alert-body{color:var(--muted);overflow-wrap:break-word;font-size:12.5px}.error-toast{border:1px solid #fecaca;border-left:4px solid var(--red);z-index:1200;background:#fff;border-radius:10px;align-items:flex-start;gap:12px;width:min(420px,100vw - 48px);padding:14px;animation:.18s ease-out toast-in;display:flex;position:fixed;top:72px;right:24px;box-shadow:0 16px 40px #00000029}.error-toast-icon{color:#b91c1c;background:#fef2f2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:flex}.error-toast-body{flex:1;min-width:0}.error-toast-title{color:#b91c1c;margin-bottom:2px;font-size:13px;font-weight:700}.error-toast-message{color:var(--muted);overflow-wrap:anywhere;font-size:12.5px;line-height:1.4}.error-toast .topbar-btn{margin-top:10px;padding:5px 12px}.error-toast-close{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;font-family:inherit;font-size:12px;font-weight:700}.error-toast-close:hover{background:var(--bg);color:var(--text)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:#fff;border-radius:16px;width:520px;max-height:90vh;animation:.18s ease-out modalIn;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal.modal-lg{width:860px;max-width:96vw}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px 16px;display:flex}.modal-title{font-size:16px;font-weight:700}.modal-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:20px;line-height:1}.modal-close:hover{background:var(--bg)}.modal-body{padding:20px 24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.form-group{margin-bottom:16px}.form-label{color:#374151;margin-bottom:5px;font-size:12.5px;font-weight:600;display:block}.form-input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2563eb1a}textarea.form-input{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr}.task-groups-grid{grid-template-columns:1fr 1fr;gap:0 28px;display:grid}.task-group{margin-bottom:18px}.task-group-header{color:var(--blue);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:10.5px;font-weight:700}.task-item{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:flex-start;gap:10px;padding:7px 8px;transition:background .12s;display:flex}.task-item:hover{background:#f3f4f6}.task-item-dimmed{opacity:.38}.task-item-body{flex:1;min-width:0}.task-item-name{color:#111827;font-size:13px;font-weight:500;line-height:1.3}.dep-tag{color:#9ca3af;background:#f3f4f6;border-radius:4px;margin-right:3px;padding:1px 6px;font-size:10px;display:inline-block}.task-item-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;margin-left:6px;display:flex}.route-pill{letter-spacing:.4px;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700}.route-mgo{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.route-wiss{color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe}.task-hours{color:#9ca3af;font-size:10px}.task-summary{color:#6b7280;border:1px solid var(--border);background:#f9fafb;border-radius:8px;flex-wrap:wrap;gap:20px;margin-top:8px;padding:10px 14px;font-size:12px;display:flex}.btn-toggle-tasks{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s}.btn-toggle-tasks:hover{background:#f3f4f6}.panel-overlay{z-index:900;background:#0003;display:none;position:fixed;inset:0}.panel-overlay.open{display:block}.side-panel{z-index:950;background:#fff;flex-direction:column;width:420px;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #0000001a}.panel-overlay.open+.side-panel{transform:translate(0)}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:18px 20px;display:flex}.panel-body{flex:1;padding:20px;overflow-y:auto}.panel-footer{border-top:1px solid var(--border);gap:8px;padding:16px 20px;display:flex}.status-options{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.status-option{border:2px solid var(--border);cursor:pointer;text-align:center;border-radius:8px;padding:10px 12px;font-size:12.5px;font-weight:600;transition:all .12s}.status-option:hover{border-color:#9ca3af}.status-option.selected{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}.status-option.blocked-opt.selected{border-color:var(--red);color:var(--red);background:#fef2f2}.binder-section{cursor:pointer;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:10px 14px;transition:background .12s;display:flex}.binder-section:hover{background:#fafafa}.binder-section:last-child{border-bottom:none}.binder-label{font-size:13px;font-weight:500}.binder-meta{color:var(--muted);margin-top:1px;font-size:11.5px}.binder-status{color:var(--green);font-size:12px;font-weight:600}.log-entry{gap:10px;margin-bottom:12px;display:flex}.log-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.log-text{color:var(--muted);font-size:12.5px;line-height:1.5}.log-text strong{color:var(--text)}.log-expand-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border-radius:4px;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;font-size:11px;display:inline-flex}.log-expand-btn:hover{background:var(--bg);color:var(--text)}.log-expand-btn svg{transition:transform var(--transition)}.log-expand-btn.open svg{transform:rotate(180deg)}.log-rejections{margin-top:8px}.log-rejections .alert{margin-bottom:6px}.log-rejections .alert:last-child{margin-bottom:0}body.dark .log-expand-btn{border-color:#374151}body.dark .log-expand-btn:hover{color:#f9fafb;background:#1f2937}body.dark .log-rejections .alert-red{background:#2d0a0a;border-color:#7f1d1d}.theme-btn{cursor:pointer;color:#6b7280;white-space:nowrap;background:0 0;border:1px solid #d1d5db;border-radius:5px;padding:3px 9px;font-family:inherit;font-size:11px;transition:all .12s}.theme-btn:hover{background:#f3f4f6}.theme-btn.theme-btn-active{background:var(--blue);color:#fff;border-color:var(--blue)}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.section-title{color:var(--text);margin-bottom:14px;font-size:15px;font-weight:700}#content{flex:1;padding:24px;overflow-y:auto}body.dark{--bg:#111827;--border:#374151;--text:#f9fafb;--muted:#9ca3af;--blue-light:#1e3a5f}body.dark .topbar,body.dark .kpi-card,body.dark .card{background:#1f2937}body.dark th{background:#111827}body.dark td{border-bottom-color:#374151}body.dark tr:hover td{background:#1a2535}body.dark .chip{background:#1f2937;border-color:#374151}body.dark .chip.active{color:#60a5fa;border-color:var(--blue);background:#1e3a5f}body.dark .filter-control{color:#f9fafb;background-color:#1f2937;border-color:#374151}body.dark .multi-select-trigger.active{border-color:var(--blue);color:#60a5fa}body.dark .multi-select-menu{background:#1f2937;border-color:#374151;box-shadow:0 12px 30px #00000080}body.dark .multi-select-option{color:#d1d5db}body.dark .multi-select-option:hover,body.dark .multi-select-divider{background:#374151}body.dark .alert-red{background:#2d0a0a;border-color:#7f1d1d}body.dark .alert-red .alert-title{color:#f87171}body.dark .error-toast{background:#1f2937;border-color:#7f1d1d #7f1d1d #7f1d1d #f87171;box-shadow:0 16px 40px #0000006b}body.dark .error-toast-icon{color:#f87171;background:#2d0a0a}body.dark .error-toast-title{color:#f87171}body.dark .error-toast-close:hover{background:#374151}body.dark .task-group-header{background:#111827}body.dark .badge-blue{color:#60a5fa;background:#1e3a5f}body.dark .badge-green{color:#4ade80;background:#052e16}body.dark .badge-amber{color:#fbbf24;background:#2d1600}body.dark .badge-red{color:#f87171;background:#2d0a0a}body.dark .badge-purple{color:#c084fc;background:#1e0a3c}body.dark .badge-gray{color:#9ca3af;background:#374151}body.dark .badge-orange{color:#fb923c;background:#2d1000}body.dark .favorite-toggle:hover{background:#374151}body.dark .favorite-toggle-active{color:#fbbf24}body.dark .progress-bar{background:#374151}body.dark .binder-section:hover{background:#1a2535}body.dark .user-dropdown{background:#1f2937;box-shadow:0 8px 24px #00000080}body.dark .dropdown-item{color:#d1d5db}body.dark .dropdown-item:hover,body.dark .dropdown-divider{background:#374151}body.dark .theme-btn{color:#9ca3af;border-color:#4b5563}body.dark .theme-btn:hover{background:#374151}body.dark .side-panel{background:#1f2937}body.dark .status-option{color:#d1d5db}body.dark .status-option:hover{border-color:#6b7280}body.dark .status-option.selected{background:#1e3a5f}body.dark .status-option.blocked-opt.selected{background:#2d0a0a}body.dark .modal{background:#1f2937}body.dark .modal-title{color:#f9fafb}body.dark .modal-close{color:#9ca3af}body.dark .modal-close:hover{background:#374151}body.dark .modal-section-header{color:#60a5fa}body.dark .modal-section-divider{background:#374151}body.dark .form-label{color:#d1d5db}body.dark .form-input{color:#f9fafb;background:#111827;border-color:#374151}body.dark .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}body.dark .form-input option{background:#1f2937}body.dark .task-item:hover{background:#374151}body.dark .task-item-name{color:#f9fafb}body.dark .dep-tag{color:#9ca3af;background:#374151}body.dark .task-summary{color:#9ca3af;background:#111827;border-color:#374151}body.dark .btn-toggle-tasks{color:#d1d5db;border-color:#4b5563}body.dark .btn-toggle-tasks:hover{background:#374151}body.dark .topbar-btn.btn-ghost{color:#9ca3af;border-color:#374151}body.dark .topbar-btn.btn-ghost:hover{color:#f9fafb;background:#374151}body.dark .subscription-toggle-muted-disabled .subscription-toggle-label,body.dark .subscription-toggle-muted-disabled .subscription-toggle-note,body.dark .subscription-toggle-muted-disabled .subscription-toggle-status{color:#64748b!important}body.dark .subscription-toggle-muted-disabled .subscription-toggle-button:disabled{color:#64748b;background:#0f172a;border-color:#334155;box-shadow:inset 0 0 0 1px #94a3b814}body.dark .subscription-toggle-muted-disabled .subscription-toggle-button:disabled:hover{color:#64748b;background:#0f172a}body.dark .search-box{background:#1f2937;border-color:#374151}body.dark .search-box input{color:#f9fafb}body.dark .search-box input::placeholder{color:#6b7280}.skip-link{z-index:9999;width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{background:var(--blue);color:#fff;z-index:9999;border-radius:8px;width:auto;height:auto;padding:8px 16px;font-size:14px;font-weight:600;position:fixed;top:8px;left:8px}button:focus-visible,a:focus-visible,[role=button]:focus-visible,.chip:focus-visible,.nav-item:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,tr[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.kpi-value,td,.progress-fill{font-variant-numeric:tabular-nums}h1,h2,h3{text-wrap:balance}button,a,.chip,.nav-item,.task-item,.binder-section{touch-action:manipulation}html.dark-scheme{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.skeleton{background:linear-gradient(90deg, var(--border) 25%, transparent 50%, var(--border) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}body.dark .skeleton{background:linear-gradient(90deg,#374151 25%,#0000 50%,#374151 75%) 0 0/200% 100%}.ag-portal{width:100%;height:calc(100vh - 420px)}.ag-portal .ag-row{cursor:pointer}.ag-portal .ag-header-cell-label{text-transform:uppercase;letter-spacing:.5px}
