:root,.theme-light{--bg:#f7f8fa;--surface:#fff;--surface-2:#f2f4f7;--surface-hover:#f4f6f8;--sidebar-bg:#fff;--sidebar-border:#eaecef;--border:#e5e7eb;--border-strong:#d1d5db;--ink:#0f172a;--ink-soft:#334155;--ink-muted:#64748b;--ink-faint:#94a3b8;--brand:#2563eb;--brand-strong:#1d4ed8;--brand-soft:#2563eb1a;--brand-ring:#2563eb2e;--accent:var(--brand);--accent-strong:var(--brand-strong);--accent-soft:var(--brand-soft);--success:#10b981;--success-soft:#10b9811f;--warning:#f59e0b;--warning-soft:#f59e0b1f;--danger:#ef4444;--danger-soft:#ef44441f;--info:#06b6d4;--info-soft:#06b6d41f;--purple:#8b5cf6;--purple-soft:#8b5cf61f;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px -2px #0f172a14, 0 2px 6px #0f172a0a;--shadow-lg:0 12px 32px -8px #0f172a1f;--topbar-bg:#ffffffb8;--surface-muted:var(--surface-2);--btn-primary-bg:var(--ink);--btn-primary-fg:#fff;--btn-primary-hover:#1e293b;--hairline:#0f172a14;--material:#ffffffb8;--material-heavy:#ffffffe0}.theme-dark{--bg:#0b0f17;--surface:#111827;--surface-2:#161d2b;--surface-hover:#1a2233;--sidebar-bg:#0e1320;--sidebar-border:#1f2937;--border:#1f2937;--border-strong:#2a3445;--ink:#f1f5f9;--ink-soft:#cbd5e1;--ink-muted:#94a3b8;--ink-faint:#64748b;--brand:#3b82f6;--brand-strong:#60a5fa;--brand-soft:#3b82f629;--brand-ring:#3b82f642;--accent:var(--brand);--accent-strong:var(--brand-strong);--accent-soft:var(--brand-soft);--success:#34d399;--success-soft:#34d39929;--warning:#fbbf24;--warning-soft:#fbbf2429;--danger:#f87171;--danger-soft:#f8717129;--info:#22d3ee;--info-soft:#22d3ee29;--purple:#a78bfa;--purple-soft:#a78bfa29;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 3px #00000080, 0 1px 2px #0006;--shadow-md:0 6px 16px -4px #00000080;--shadow-lg:0 16px 36px -10px #000000b3;--topbar-bg:#0e1320b8;--surface-muted:#1a2233;--btn-primary-bg:var(--brand);--btn-primary-fg:#fff;--btn-primary-hover:var(--brand-strong);--hairline:#ffffff14;--material:#0e1320b8;--material-heavy:#111827e0}:root{--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--sidebar-w:248px;--sidebar-w-collapsed:72px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, "Manrope", sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", system-ui, "Manrope", sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur-press:.12s;--dur-fast:.16s;--dur-med:.22s;--dur-panel:.28s}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--ink);font-family:var(--font-sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100%;margin:0;padding:0;font-size:14px;font-weight:400;line-height:1.5;transition:background-color .2s,color .2s;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.02em;font-style:normal;font-weight:700}em,i{font-style:normal}.app-shell{background:var(--bg);min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:100;transition:width var(--dur-panel) var(--ease-drawer);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-w-collapsed)}.sidebar-head{border-bottom:1px solid var(--sidebar-border);align-items:center;gap:12px;min-height:64px;padding:18px 14px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);color:#fff;width:40px;height:40px;box-shadow:0 4px 12px -2px var(--brand-soft), inset 0 1px 0 #fff3;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-info{opacity:1;flex-direction:column;gap:2px;min-width:0;transition:opacity .2s;display:flex;overflow:hidden}.sidebar.collapsed .brand-info{opacity:0;pointer-events:none}.brand-info .name{color:var(--ink);white-space:nowrap;font-size:14px;font-weight:700;line-height:1}.brand-info .plan{color:var(--ink-muted);white-space:nowrap;font-size:11px;line-height:1}.nav{flex:1;padding:12px 10px;overflow:hidden auto}.nav::-webkit-scrollbar{width:4px}.nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.nav-section{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;padding:16px 12px 6px;font-size:10.5px;font-weight:700;transition:opacity .2s,height .2s,padding .2s;overflow:hidden}.sidebar.collapsed .nav-section{opacity:0;height:12px;padding-top:8px;padding-bottom:0}.nav-item{color:var(--ink-soft);transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);white-space:nowrap;border-radius:8px;align-items:center;gap:12px;margin:2px 0;padding:10px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-item svg{stroke-width:1.8px;flex-shrink:0}.nav-item-label{text-overflow:ellipsis;flex:1;transition:opacity .2s;overflow:hidden}.sidebar.collapsed .nav-item-label{opacity:0}.nav-badge{background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.sidebar.collapsed .nav-badge{display:none}.nav-item:hover{color:var(--ink);background:var(--surface-hover)}.nav-item.active{color:var(--brand);background:var(--brand-soft);font-weight:600}.nav-item.active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-badge{background:var(--brand);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.4}.sidebar-foot{border-top:1px solid var(--sidebar-border);padding:8px}.sidebar-toggle{width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--ink)}.sidebar-toggle svg{flex-shrink:0;transition:transform .25s}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .sidebar-toggle-label{opacity:0}.sidebar-toggle-label{white-space:nowrap;transition:opacity .2s}.main{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;min-height:100vh;transition:margin-left .25s cubic-bezier(.4,0,.2,1);display:flex;overflow-x:clip}.sidebar.collapsed~.main{margin-left:var(--sidebar-w-collapsed)}.topbar{z-index:50;background:var(--material);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.crumb{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:3px;font-size:11px;font-weight:600}.page-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700;line-height:1}.topbar-right{align-items:center;gap:8px;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--ink-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);border-radius:10px;justify-content:center;align-items:center;font-family:inherit;display:flex;position:relative}.icon-btn:hover{color:var(--ink);background:var(--surface-hover);border-color:var(--border-strong)}.icon-btn svg{stroke-width:1.8px}.icon-btn .dot{background:var(--danger);border:2px solid var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.topbar-search{background:var(--surface);border:1px solid var(--border);min-width:280px;color:var(--ink-muted);border-radius:10px;align-items:center;gap:10px;padding:8px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.topbar-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}.topbar-search input{color:var(--ink);font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;font-size:13px}.topbar-search input::placeholder{color:var(--ink-faint)}.kbd{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-muted);font-size:10px;font-family:var(--font-sans);border-radius:5px;padding:2px 6px;font-weight:600}.user-pill{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:5px 12px 5px 5px;font-family:inherit;transition:border-color .15s,box-shadow .15s;display:flex}.user-pill:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.user-pill-avatar{background:linear-gradient(135deg, var(--brand), var(--brand-strong));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11.5px;font-weight:700;display:flex}.user-pill-name{color:var(--ink);font-size:12.5px;font-weight:600}.content{box-sizing:border-box;flex:1;width:100%;min-width:0;max-width:1480px;margin:0 auto;padding:28px 28px 60px;overflow-x:clip}.surface-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out)}@media (hover:hover) and (pointer:fine){.surface-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}}.card{border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--ink)!important;border-radius:var(--radius-lg)!important;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)!important;box-shadow:var(--shadow-xs)!important}.card:hover{transform:none!important}.btn-primary{background:var(--brand)!important;border-color:var(--brand)!important}.btn-primary:hover{background:var(--brand-strong)!important;border-color:var(--brand-strong)!important}.btn-cta{background:var(--btn-primary-bg);color:var(--btn-primary-fg);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);box-shadow:var(--shadow-xs);border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;display:inline-flex}.btn-cta:hover{background:var(--btn-primary-hover);box-shadow:var(--shadow-sm)}.btn-cta:active{transform:scale(.97)}.btn-cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-cta svg{stroke:currentColor;flex-shrink:0}.pressable{transition:transform var(--dur-press) var(--ease-out)}.pressable:active{transform:scale(.97)}.nav-item:active{transform:scale(.98)}.icon-btn:active{transform:scale(.96)}.ss-spinner{min-height:160px;color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.ss-spinner-label{color:var(--ink-muted);letter-spacing:-.01em;font-size:13px;font-weight:500}.ss-empty{text-align:center;min-height:200px;animation:ssEmptyIn var(--dur-panel) var(--ease-out) both;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.ss-empty-icon{background:var(--surface-2);width:56px;height:56px;color:var(--ink-muted);border:1px solid var(--border);border-radius:16px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.ss-empty-title{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:17px;font-weight:700;line-height:1.25}.ss-empty-desc{max-width:360px;color:var(--ink-muted);margin:0;font-size:13.5px;line-height:1.45}.ss-empty-action{margin-top:10px}@keyframes ssEmptyIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.ss-empty{animation:none}.btn-cta:active,.pressable:active,.nav-item:active,.icon-btn:active{transform:none}}.ss-link{color:var(--brand);letter-spacing:-.01em;transition:color var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);align-items:center;gap:4px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.ss-link:hover{color:var(--brand-strong)}.ss-link svg{flex-shrink:0}.ss-trend{letter-spacing:-.01em;border-radius:999px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.ss-trend.up{color:var(--success);background:var(--success-soft)}.ss-trend.down{color:var(--danger);background:var(--danger-soft)}.mobile-toggle{border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:none}@media (width<=1024px){.sidebar{transition:transform .25s,width .25s;transform:translate(-100%);width:var(--sidebar-w)!important}.sidebar.open{transform:translate(0)}.main,.sidebar.collapsed~.main{margin-left:0}.topbar{padding:0 16px}.content{padding:20px 16px 48px}.topbar-search{display:none}.mobile-toggle{display:inline-flex}.sidebar-toggle{display:none!important}.sidebar-toggle-label,.sidebar-toggle svg{opacity:1!important;transform:none!important}.topbar-left{flex:1;min-width:0}.page-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}}@media (width<=640px){.topbar{gap:8px;height:56px;padding:0 12px}.topbar-right{flex-shrink:0;gap:6px}.crumb{display:none}.page-title{font-size:15px}.user-pill-name{display:none}.user-pill{padding:5px}.content{padding:16px 12px 40px}.icon-btn{width:36px;height:36px}.mobile-toggle{flex-shrink:0;width:36px;height:36px}}.dash-page{padding-bottom:48px;position:relative}.dash-error{text-align:center;color:var(--danger);padding:48px 24px;font-weight:600}.dash-hero{background:linear-gradient(135deg, #2563eb1f 0%, #10b9811a 42%, #f59e0b14 100%), var(--surface);border:1px solid color-mix(in srgb, var(--brand) 18%, var(--border));box-shadow:var(--shadow-sm);border-radius:22px;margin-bottom:22px;padding:22px 24px;position:relative;overflow:hidden}.dash-hero-glow{pointer-events:none;filter:blur(10px);background:radial-gradient(circle,#2563eb47,#0000 70%);border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:-40px}.dash-hero-glow-2{background:radial-gradient(circle,#10b98138,#0000 70%);inset:auto auto -110px -50px}.dash-hero-inner{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:relative}.dash-hero-chip{background:color-mix(in srgb, var(--brand) 12%, var(--surface));color:var(--brand);letter-spacing:.04em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--brand) 22%, transparent);border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.dash-title{font-size:clamp(24px,3vw,32px);font-weight:750;font-family:var(--font-display);color:var(--ink);letter-spacing:-.03em;margin:0;line-height:1.15}.dash-title-name{background:linear-gradient(120deg,#2563eb 0%,#0891b2 55%,#10b981 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.dash-sub{color:var(--ink-muted);text-transform:capitalize;margin:8px 0 0;font-size:13.5px}.dash-refresh{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(10px);cursor:pointer;color:var(--ink-soft);font-weight:600;font-family:var(--font-sans);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:inline-flex}.dash-refresh:hover{border-color:color-mix(in srgb, var(--brand) 35%, var(--border));box-shadow:var(--shadow-sm);color:var(--brand)}.dash-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,168px),1fr));gap:14px;margin-bottom:22px;display:grid}.dash-kpi{min-height:138px;box-shadow:var(--shadow-sm);transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;border-radius:18px;flex-direction:column;gap:6px;padding:18px;display:flex;position:relative;overflow:hidden}.dash-kpi:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--kpi-accent) 28%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:140px;height:140px;position:absolute;inset:auto -20% -40% auto}@media (hover:hover) and (pointer:fine){.dash-kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}}.dash-kpi.tone-emerald{--kpi-accent:#059669;color:#065f46;background:linear-gradient(160deg,#ecfdf5 0%,#d1fae5 100%);border-color:#a7f3d0}.dash-kpi.tone-blue{--kpi-accent:#2563eb;color:#1e3a8a;background:linear-gradient(160deg,#eff6ff 0%,#dbeafe 100%);border-color:#bfdbfe}.dash-kpi.tone-cyan{--kpi-accent:#0891b2;color:#155e75;background:linear-gradient(160deg,#ecfeff 0%,#cffafe 100%);border-color:#a5f3fc}.dash-kpi.tone-violet{--kpi-accent:#7c3aed;color:#5b21b6;background:linear-gradient(160deg,#f5f3ff 0%,#ede9fe 100%);border-color:#ddd6fe}.dash-kpi.tone-sky{--kpi-accent:#0284c7;color:#075985;background:linear-gradient(160deg,#f0f9ff 0%,#e0f2fe 100%);border-color:#bae6fd}.dash-kpi.tone-indigo{--kpi-accent:#4f46e5;color:#3730a3;background:linear-gradient(160deg,#eef2ff 0%,#e0e7ff 100%);border-color:#c7d2fe}.dash-kpi.tone-teal{--kpi-accent:#0d9488;color:#115e59;background:linear-gradient(160deg,#f0fdfa 0%,#ccfbf1 100%);border-color:#99f6e4}.dash-kpi.tone-amber{--kpi-accent:#d97706;color:#92400e;background:linear-gradient(160deg,#fffbeb 0%,#fef3c7 100%);border-color:#fde68a}.dash-kpi.tone-rose{--kpi-accent:#e11d48;color:#9f1239;background:linear-gradient(160deg,#fff1f2 0%,#ffe4e6 100%);border-color:#fecdd3}.theme-dark .dash-kpi.tone-emerald{color:#a7f3d0;background:linear-gradient(160deg,#052e1c 0%,#064e3b 100%);border-color:#065f46}.theme-dark .dash-kpi.tone-blue{color:#bfdbfe;background:linear-gradient(160deg,#0b1b3a 0%,#1e3a8a 100%);border-color:#1d4ed8}.theme-dark .dash-kpi.tone-cyan{color:#a5f3fc;background:linear-gradient(160deg,#083344 0%,#155e75 100%);border-color:#0e7490}.theme-dark .dash-kpi.tone-violet{color:#ddd6fe;background:linear-gradient(160deg,#1e1038 0%,#4c1d95 100%);border-color:#6d28d9}.theme-dark .dash-kpi.tone-sky{color:#bae6fd;background:linear-gradient(160deg,#0c1e2e 0%,#075985 100%);border-color:#0284c7}.theme-dark .dash-kpi.tone-indigo{color:#c7d2fe;background:linear-gradient(160deg,#151536 0%,#312e81 100%);border-color:#4338ca}.theme-dark .dash-kpi.tone-teal{color:#99f6e4;background:linear-gradient(160deg,#042f2e 0%,#115e59 100%);border-color:#0f766e}.theme-dark .dash-kpi.tone-amber{color:#fde68a;background:linear-gradient(160deg,#2a1a05 0%,#78350f 100%);border-color:#b45309}.theme-dark .dash-kpi.tone-rose{color:#fecdd3;background:linear-gradient(160deg,#2a0a12 0%,#9f1239 100%);border-color:#be123c}.dash-kpi.is-warn{box-shadow:0 0 0 1px #e11d4859, var(--shadow-sm)}.dash-kpi-top{z-index:1;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:relative}.dash-kpi-label{letter-spacing:.08em;text-transform:uppercase;opacity:.78;font-size:11px;font-weight:750}.dash-kpi-icon{background:color-mix(in srgb, var(--kpi-accent) 18%, #fff);width:38px;height:38px;color:var(--kpi-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kpi-accent) 20%, transparent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-dark .dash-kpi-icon{background:color-mix(in srgb, var(--kpi-accent) 28%, #000)}.dash-kpi-value{z-index:1;letter-spacing:-.03em;color:inherit;margin-top:8px;font-size:clamp(22px,2.4vw,28px);font-weight:800;line-height:1.15;display:block;position:relative}.dash-kpi-sub{z-index:1;opacity:.78;font-size:12px;line-height:1.4;position:relative}.dash-kpi .ss-trend{z-index:1;align-self:flex-start;margin-top:auto;position:relative}.dash-charts-row{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}@media (width>=900px){.dash-charts-row{grid-template-columns:1.45fr 1fr}}.dash-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);border-radius:20px;padding:22px}.dash-chart-panel,.dash-chart-wide{background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 4%, var(--surface)) 0%, var(--surface) 40%), var(--surface)}.dash-chart-wide{margin-bottom:16px}.dash-card-title{color:var(--ink);text-transform:uppercase;letter-spacing:.1em;margin:0 0 16px;font-size:12px;font-weight:750}.dash-panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;display:flex}.dash-panel-head .dash-card-title{margin-bottom:12px}.dash-chart-body{height:260px}.dash-chart-body-sm{height:240px}.dash-chart-empty{text-align:center;min-height:220px;color:var(--ink-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.dash-chart-empty-icon{width:52px;height:52px;color:var(--brand);border:1px solid color-mix(in srgb, var(--brand) 18%, var(--border));background:linear-gradient(145deg,#2563eb1f,#10b9811f);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.dash-chart-empty p{max-width:260px;margin:0;font-size:13px;line-height:1.45}.dash-main-grid{grid-template-columns:1fr;gap:16px;margin-bottom:16px;display:grid}@media (width>=900px){.dash-main-grid{grid-template-columns:1.4fr 1fr}}.dash-side-col{flex-direction:column;gap:16px;min-width:0;display:flex}.dash-bottom-grid{grid-template-columns:1fr;gap:16px;margin-top:4px;display:grid}@media (width>=640px){.dash-bottom-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}}.dash-muted{color:var(--ink-muted);margin:0;font-size:13px}.dash-appt-list{flex-direction:column;gap:8px;display:flex}.dash-appt-row{background:linear-gradient(90deg, #0891b214, var(--surface-2));border:1px solid var(--border);border-radius:14px;align-items:center;gap:14px;padding:12px;display:flex}.dash-appt-date{text-align:center;color:#0e7490;background:#0891b224;border-radius:12px;min-width:46px;padding:8px 6px;line-height:1.15}.theme-dark .dash-appt-date{color:#67e8f9}.dash-appt-date strong{font-size:20px;font-weight:750;display:block}.dash-appt-date span{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:10px}.dash-appt-body{flex:1;min-width:0}.dash-appt-name{color:var(--ink);font-size:13px;font-weight:650;display:block}.dash-appt-meta{color:var(--ink-muted);font-size:11.5px}.dash-days-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:5px 10px;font-size:10.5px;font-weight:750}.dash-days-badge.urgent{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.dash-days-badge.soon{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.dash-days-badge.ok{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.dash-count-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width>=480px){.dash-count-grid{grid-template-columns:repeat(3,1fr)}}.dash-count-item{text-align:center;background:var(--count-soft,var(--surface-2));border:1px solid color-mix(in srgb, var(--count-accent,var(--brand)) 22%, var(--border));color:var(--count-accent,var(--ink));transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:14px;flex-direction:column;gap:4px;padding:14px 8px;text-decoration:none;display:flex}.dash-count-item strong{font-family:var(--font-sans);letter-spacing:-.03em;color:inherit;font-size:22px;font-weight:800}.dash-count-item span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;font-size:10.5px;font-weight:650}@media (hover:hover) and (pointer:fine){.dash-count-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.dash-status-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.dash-status-label{width:130px;color:var(--ink-muted);flex-shrink:0;font-size:12px}.dash-status-bar-wrap{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:1;height:8px;overflow:hidden}.dash-status-bar{border-radius:999px;height:100%}.dash-status-count{text-align:right;width:28px;color:var(--ink);font-size:12px;font-weight:750}.dash-pills{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.dash-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:650}.dash-pill.tone-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.dash-pill.tone-green{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.dash-pill.tone-rose{color:#be123c;background:#fff1f2;border-color:#fecdd3}.dash-pill.tone-amber{color:#b45309;background:#fffbeb;border-color:#fde68a}.dash-pill.tone-teal{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.dash-task-row{border-bottom:1px solid var(--border);padding:11px 0}.dash-task-title{color:var(--ink);font-size:13px;font-weight:650;display:block}.dash-task-meta{color:var(--ink-muted);font-size:11px}.dash-activity-row{gap:12px;margin-bottom:14px;display:flex}.dash-activity-dot{background:linear-gradient(135deg,#2563eb,#10b981);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px}.dash-activity-user{color:var(--brand);font-size:11.5px;font-weight:650}.dash-activity-text{color:var(--ink-soft);margin:4px 0;font-size:13px;line-height:1.5}.dash-activity-time{color:var(--ink-faint);font-size:10.5px}.dash-pending-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:11px 0;display:flex}.dash-pending-mod{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:2px;font-size:10.5px;display:block}.dash-pending-amt{color:#d97706;font-size:15px;font-weight:750}.dash-client-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.dash-rank{color:#92400e;background:linear-gradient(145deg,#fef3c7,#fde68a);border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:750;display:flex}.dash-quick-links{grid-template-columns:1fr;gap:10px;display:grid}@media (width>=480px){.dash-quick-links{grid-template-columns:repeat(2,1fr);gap:12px}}@media (width>=900px){.dash-bottom-grid .dash-quick-panel{grid-column:1/-1}.dash-quick-links{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px}}.dash-quick-panel{position:relative;overflow:hidden}.dash-quick-head{margin-bottom:14px}.dash-quick-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink);margin:0;font-size:13px;font-weight:750}.dash-quick-sub{color:var(--ink-muted);margin:4px 0 0;font-size:12.5px}.dash-quick-link{color:var(--ink);background:var(--surface);border:1px solid color-mix(in srgb, var(--ql-color) 28%, var(--border));box-shadow:var(--shadow-xs);transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:16px;align-items:center;gap:12px;padding:14px;text-decoration:none;display:flex;position:relative;overflow:hidden}@media (width>=768px){.dash-quick-link{padding:16px}}.dash-quick-link-glow{background:radial-gradient(circle, color-mix(in srgb, var(--ql-color) 35%, transparent), transparent 70%);opacity:.2;pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;inset:-40% auto auto -20%}@media (width>=768px){.dash-quick-link-glow{opacity:.14}}.dash-quick-link:hover{box-shadow:0 14px 32px -10px color-mix(in srgb, var(--ql-color) 38%, transparent);border-color:color-mix(in srgb, var(--ql-color) 42%, var(--border));transform:translateY(-2px)}.dash-quick-link:active{transform:scale(.98)}.dash-quick-link:hover .dash-quick-link-glow{opacity:.26}.dash-quick-link-icon{background:var(--ql-soft);width:42px;height:42px;color:var(--ql-color);transition:transform .22s var(--ease-out), background .22s var(--ease-out);z-index:1;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}@media (width>=768px){.dash-quick-link-icon{width:44px;height:44px}}.dash-quick-link:hover .dash-quick-link-icon{transform:scale(1.04)}.dash-quick-link-body{z-index:1;flex:1;min-width:0;position:relative}.dash-quick-link-label{letter-spacing:-.01em;font-size:13.5px;font-weight:700;display:block}.dash-quick-link-desc{color:var(--ink-muted);margin-top:2px;font-size:11.5px;display:block}@media (width<=479px){.dash-quick-link-desc,.dash-quick-link-arrow{display:none}}.dash-quick-link-arrow{color:var(--ql-color);opacity:.7;z-index:1;transition:transform .22s var(--ease-out), opacity .22s var(--ease-out);position:relative}.dash-quick-link:hover .dash-quick-link-arrow{opacity:1;transform:translate(2px,-2px)}@media (prefers-reduced-motion:reduce){.dash-kpi,.dash-quick-link,.dash-quick-link-icon,.dash-quick-link-arrow,.dash-quick-link-glow,.dash-count-item{transition:none}.dash-kpi:hover,.dash-quick-link:hover{transform:none}}@media (width<=767px){.dash-status-label{width:96px}.dash-status-row{gap:8px}.dash-panel{border-radius:16px;padding:16px}.dash-title{font-size:24px}.dash-hero{border-radius:18px;padding:18px}.dash-sub{font-size:12.5px}}@media (prefers-reduced-transparency:reduce){.dash-hero,.dash-refresh{-webkit-backdrop-filter:none}}.agenda-page{padding-bottom:48px}.agenda-hero{background:linear-gradient(135deg, #7c3aed1f 0%, #2563eb1a 45%, #0891b21a 100%), var(--surface);border:1px solid color-mix(in srgb, #7c3aed 16%, var(--border));box-shadow:var(--shadow-sm);border-radius:22px;margin-bottom:18px;padding:22px 24px;position:relative;overflow:hidden}.agenda-hero-glow{pointer-events:none;filter:blur(8px);background:radial-gradient(circle,#7c3aed47,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-80px;right:-30px}.agenda-hero-glow-2{background:radial-gradient(circle,#0891b238,#0000 70%);inset:auto auto -100px -40px}.agenda-hero-inner{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:relative}.agenda-chip{background:color-mix(in srgb, #7c3aed 12%, var(--surface));color:#7c3aed;letter-spacing:.04em;text-transform:uppercase;border:1px solid #7c3aed38;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.theme-dark .agenda-chip{color:#c4b5fd}.agenda-title{letter-spacing:-.03em;color:var(--ink);margin:0;font-size:clamp(24px,3vw,32px);font-weight:750;line-height:1.15}.agenda-title-accent{background:linear-gradient(120deg,#7c3aed,#2563eb 50%,#0891b2);color:#0000;-webkit-background-clip:text;background-clip:text}.agenda-sub{color:var(--ink-muted);max-width:480px;margin:8px 0 0;font-size:13.5px;line-height:1.45}.agenda-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:14px;display:grid}.agenda-stat{box-shadow:var(--shadow-xs);border:1px solid #0000;border-radius:16px;padding:14px 16px}.agenda-stat-top{letter-spacing:.06em;text-transform:uppercase;opacity:.8;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.agenda-stat-icon{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.agenda-stat strong{letter-spacing:-.03em;font-size:24px;font-weight:800;display:block}.agenda-stat.tone-blue{color:#1e3a8a;background:linear-gradient(160deg,#eff6ff,#dbeafe);border-color:#bfdbfe}.agenda-stat.tone-violet{color:#5b21b6;background:linear-gradient(160deg,#f5f3ff,#ede9fe);border-color:#ddd6fe}.agenda-stat.tone-emerald{color:#065f46;background:linear-gradient(160deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.agenda-stat.tone-rose{color:#9f1239;background:linear-gradient(160deg,#fff1f2,#ffe4e6);border-color:#fecdd3}.theme-dark .agenda-stat.tone-blue{color:#bfdbfe;background:linear-gradient(160deg,#0b1b3a,#1e3a8a);border-color:#1d4ed8}.theme-dark .agenda-stat.tone-violet{color:#ddd6fe;background:linear-gradient(160deg,#1e1038,#4c1d95);border-color:#6d28d9}.theme-dark .agenda-stat.tone-emerald{color:#a7f3d0;background:linear-gradient(160deg,#052e1c,#064e3b);border-color:#065f46}.theme-dark .agenda-stat.tone-rose{color:#fecdd3;background:linear-gradient(160deg,#2a0a12,#9f1239);border-color:#be123c}.agenda-overdue-banner{color:#9f1239;cursor:pointer;text-align:left;background:linear-gradient(90deg,#fff1f2,#ffe4e6);border:1px solid #fecdd3;border-radius:14px;align-items:center;gap:12px;width:100%;margin-bottom:14px;padding:12px 16px;font-size:13px;display:flex}.theme-dark .agenda-overdue-banner{color:#fecdd3;background:linear-gradient(90deg,#2a0a12,#4c0519);border-color:#be123c}.agenda-overdue-banner span{flex:1}.agenda-overdue-banner strong{font-weight:750}.agenda-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.agenda-week-day{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink);transition:border-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;display:flex}.agenda-week-day:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--border))}.agenda-week-day:active{transform:scale(.97)}.agenda-week-day.is-today{background:color-mix(in srgb, var(--brand) 8%, var(--surface))}.agenda-week-day.is-active{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:var(--shadow-sm);background:linear-gradient(160deg,#2563eb29,#7c3aed1f)}.agenda-week-wd{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-size:10px;font-weight:700}.agenda-week-day strong{letter-spacing:-.02em;font-size:16px;font-weight:800}.agenda-week-dot{min-height:16px;color:var(--brand);font-size:10px;font-weight:750}.agenda-week-dot.has{background:var(--brand-soft);color:var(--brand);border-radius:999px;padding:0 6px}.agenda-quick-assign{background:color-mix(in srgb, var(--brand) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--brand) 18%, var(--border));border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.agenda-quick-label{color:var(--brand);font-size:12px;font-weight:700}.agenda-quick-btns{flex-wrap:wrap;gap:8px;display:flex}.agenda-quick-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12.5px;font-weight:650;display:inline-flex}.agenda-controls{margin-bottom:18px}.agenda-tabs{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.agenda-tab{border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:650;display:inline-flex}.agenda-tab.is-active{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand)}.agenda-tab-badge{background:var(--brand);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:750}.agenda-toolbar{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.agenda-search{flex:1;min-width:min(100%,220px);position:relative}.agenda-search svg{color:var(--ink-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.agenda-search input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;padding:10px 36px;font-family:inherit;font-size:14px}.agenda-search input:focus{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:0 0 0 3px var(--brand-ring);outline:none}.agenda-search-clear{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:4px;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.agenda-range{border:1px solid var(--border);background:var(--surface);color:var(--ink-muted);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.agenda-range select{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:10px 0;font-family:inherit;font-size:13px;font-weight:650}.agenda-focus-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.agenda-focus,.agenda-type-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.agenda-filter-icon{color:var(--ink-muted)}.agenda-focus-chip,.agenda-type-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--ink-muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:650;display:inline-flex}.agenda-focus-chip.is-active,.agenda-type-chip.is-active{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand)}.agenda-section{margin-bottom:26px}.agenda-section-title{color:var(--ink-muted);text-transform:capitalize;letter-spacing:.02em;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;font-weight:750;display:flex}.agenda-section.is-overdue .agenda-section-title{color:var(--danger)}.agenda-list{flex-direction:column;gap:10px;display:flex}.agenda-item{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}@media (hover:hover) and (pointer:fine){.agenda-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}}.agenda-item.is-assigned{border-color:color-mix(in srgb, var(--warning) 45%, var(--border));background:linear-gradient(90deg, color-mix(in srgb, var(--warning) 8%, var(--surface)), var(--surface))}.agenda-item.is-late{border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.agenda-item-icon{background:color-mix(in srgb, var(--item-accent,var(--brand)) 16%, transparent);width:42px;height:42px;color:var(--item-accent,var(--brand));border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.agenda-item.tone-violet{--item-accent:#7c3aed}.agenda-item.tone-cyan{--item-accent:#0891b2}.agenda-item.tone-blue{--item-accent:#2563eb}.agenda-item.tone-rose{--item-accent:#e11d48}.agenda-item.tone-emerald{--item-accent:#059669}.agenda-item-body{flex:1;min-width:0}.agenda-item-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.agenda-item-title{color:var(--ink);letter-spacing:-.01em;font-size:15px;font-weight:750}.agenda-badge{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:750}.agenda-badge.tone-rose{background:var(--danger-soft);color:var(--danger)}.agenda-badge.tone-amber{background:var(--warning-soft);color:var(--warning)}.agenda-badge.tone-blue{background:var(--brand-soft);color:var(--brand)}.agenda-badge.tone-slate{background:var(--surface-2);color:var(--ink-muted)}.agenda-badge.tone-violet{background:var(--purple-soft);color:var(--purple)}.agenda-item-sub{color:var(--ink-muted);margin:6px 0 0;font-size:13px;line-height:1.45}.agenda-item-meta{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:11px;font-weight:650;display:flex}.agenda-amount{color:#d97706;font-weight:750}.agenda-tag{color:var(--purple)}.agenda-tag.warn{color:var(--warning);align-items:center;gap:4px;display:inline-flex}.agenda-item-right{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.agenda-item-time{color:var(--ink-soft);align-items:center;gap:5px;font-size:13px;font-weight:700;display:inline-flex}.agenda-item-link{font-size:12px}.agenda-item-actions{align-items:center;gap:6px;display:flex}.agenda-act{cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.agenda-act.done{background:var(--success-soft);color:var(--success)}.agenda-act.snooze{background:var(--surface-2);color:var(--ink-muted);border:1px solid var(--border)}.agenda-act.del{background:var(--danger-soft);color:var(--danger)}.agenda-snooze-wrap{position:relative}.agenda-snooze-menu{z-index:5;background:var(--surface);border:1px solid var(--border);min-width:110px;box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.agenda-snooze-menu button{text-align:left;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:12.5px;font-weight:650}.agenda-snooze-menu button:hover{background:var(--surface-2)}.agenda-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f172a7a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.theme-dark .agenda-overlay{background:#0000009e}.agenda-modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:20px;padding:22px;overflow-y:auto}.agenda-modal-head{justify-content:space-between;gap:12px;margin-bottom:14px;display:flex}.agenda-modal-head h3{letter-spacing:-.02em;margin:0 0 4px;font-size:20px;font-weight:750}.agenda-modal-head p{color:var(--ink-muted);margin:0;font-size:13px}.agenda-icon-btn{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--ink-muted);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.agenda-templates{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.agenda-template{border:1px dashed color-mix(in srgb, var(--brand) 35%, var(--border));background:color-mix(in srgb, var(--brand) 6%, var(--surface));color:var(--brand);cursor:pointer;border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:650}.agenda-label{color:var(--ink-muted);margin:12px 0 6px;font-size:12px;font-weight:700;display:block}.agenda-input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);border-radius:12px;padding:10px 12px;font-family:inherit;font-size:14px}.agenda-input:focus{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));box-shadow:0 0 0 3px var(--brand-ring);outline:none}.agenda-schedule-types{flex-wrap:wrap;gap:8px;display:flex}.agenda-schedule-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink-muted);border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:650}.agenda-schedule-chip.is-active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.agenda-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.agenda-modal-foot{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.agenda-cancel{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--ink-soft);border-radius:10px;padding:10px 16px;font-family:inherit;font-weight:650}@media (width<=640px){.agenda-form-row{grid-template-columns:1fr}.agenda-week{gap:4px}.agenda-week-day{padding:8px 2px}.agenda-item{flex-wrap:wrap}.agenda-item-right{flex-direction:row;justify-content:space-between;align-items:center;width:100%}}@media (prefers-reduced-transparency:reduce){.agenda-overlay{-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.agenda-item,.agenda-week-day{transition:none}.agenda-item:hover{transform:none}}:is(.app-shell-chat,.app-shell:has(.main-chat),.app-shell:has(.content-chat)){height:100dvh;max-height:100dvh;overflow:hidden}:is(.main-chat,.main:has(.content-chat)){flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}:is(.main-chat .topbar,.main:has(.content-chat) .topbar){flex-shrink:0}.content-chat{box-sizing:border-box;background:var(--surface);flex-direction:column;width:100%;flex:1 1 0!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;display:flex!important;overflow:hidden!important}.content-chat>.chat-layout{width:100%;border:none!important;border-top:1px solid var(--border)!important;border-radius:0!important;flex:1 1 0!important;height:100%!important;min-height:0!important;max-height:100%!important}.chat-layout{background:var(--surface);min-height:0;display:flex;overflow:hidden}.chat-sidebar{background:var(--surface-2);flex-direction:column;height:100%;display:flex;overflow:hidden;min-height:0!important}.chat-main{background:var(--surface);min-width:0;flex-direction:column!important;flex:1 1 0!important;height:100%!important;min-height:0!important;display:flex!important;overflow:hidden!important}.chat-messages{-webkit-overflow-scrolling:touch;flex:1 1 0!important;min-height:0!important;overflow-y:auto!important}.chat-sidebar-scroll{-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;overflow-y:auto}.chat-layout .chat-head-frost{background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);flex-shrink:0}.chat-back-btn{flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;display:none}@media (width<=767px){.content-chat{padding:0!important}.chat-layout{border-radius:0!important;min-height:0!important}.chat-sidebar{flex:1;border-right:none!important;width:100%!important;min-height:0!important}.chat-main{flex:1;width:100%;min-width:0;min-height:0!important}.chat-layout:not(.chat-has-room) .chat-main,.chat-layout.chat-has-room .chat-sidebar{display:none!important}.chat-back-btn{display:inline-flex!important}.chat-composer-input{resize:none;min-height:44px;line-height:1.35;font-size:16px!important}}@media (prefers-reduced-transparency:reduce){.chat-layout .chat-head-frost{background:var(--surface);-webkit-backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.content-chat{animation:none!important}}@media (width>=768px){.chat-back-btn{display:none!important}}.sales-summary-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px;display:grid}.sales-stage-accordion{flex-direction:column;gap:8px;padding-bottom:8px;display:flex}.sales-acc-item{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:14px;overflow:hidden}.sales-acc-trigger{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:14px 16px;font-family:inherit;transition:background .15s;display:flex}.sales-acc-trigger:active,.sales-acc-item.is-open .sales-acc-trigger{background:var(--surface-muted)}.sales-acc-dot{background:var(--stage-color,var(--brand));border-radius:50%;flex-shrink:0;width:8px;height:8px}.sales-acc-label{color:var(--ink);flex:1;font-size:14px;font-weight:700;line-height:1.3}.sales-acc-count{color:var(--ink-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:1.5em;font-size:14px;font-weight:800}.sales-acc-chevron{color:var(--ink-muted);flex-shrink:0;transition:transform .28s cubic-bezier(.32,.72,0,1)}.sales-acc-chevron.is-open{transform:rotate(180deg)}.sales-acc-panel{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.32,.72,0,1);display:grid}.sales-acc-item.is-open .sales-acc-panel{grid-template-rows:1fr}.sales-acc-panel-inner{border-top:1px solid #0000;flex-direction:column;gap:10px;min-height:0;padding:0 12px;transition:padding .32s cubic-bezier(.32,.72,0,1),border-color .2s;display:flex;overflow:hidden}.sales-acc-item.is-open .sales-acc-panel-inner{border-top-color:var(--border);padding:12px}.sales-acc-empty{text-align:center;color:var(--ink-muted);margin:0;padding:8px 4px 4px;font-size:13px}@media (width>=768px){.sales-stage-accordion{display:none}.sales-board-desktop{gap:14px;min-height:480px;padding-bottom:16px;display:flex;overflow-x:auto}}@media (width<=767px){.sales-board-desktop{display:none!important}}@media (prefers-reduced-motion:reduce){.sales-acc-panel,.sales-acc-chevron,.sales-acc-panel-inner{transition:none}}.visa-req-page{min-width:0;max-width:100%}.visa-req-accordion{flex-direction:column;gap:8px;min-width:0;display:flex}.visa-req-search{margin-bottom:4px}.visa-req-acc-item{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:14px;overflow:hidden}.visa-req-acc-trigger{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s;display:flex}.visa-req-acc-trigger:active{background:var(--surface-muted)}.visa-req-acc-item.is-open .visa-req-acc-trigger{background:var(--surface-muted);font-weight:700}.visa-req-acc-chevron{color:var(--ink-muted);flex-shrink:0;transition:transform .28s cubic-bezier(.32,.72,0,1)}.visa-req-acc-chevron.is-open{transform:rotate(180deg)}.visa-req-acc-panel{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.32,.72,0,1);display:grid}.visa-req-acc-item.is-open .visa-req-acc-panel{grid-template-rows:1fr}.visa-req-acc-panel-inner{border-top:1px solid #0000;min-width:0;min-height:0;padding:0 12px;transition:padding .32s cubic-bezier(.32,.72,0,1),border-color .2s;overflow:hidden}.visa-req-acc-item.is-open .visa-req-acc-panel-inner{border-top-color:var(--border);padding:12px}.visa-req-add-type-row,.visa-req-add-row{flex-wrap:wrap;max-width:100%!important}.visa-req-add-type-row input,.visa-req-add-row input{flex:140px;min-width:0}.visa-req-template-head{flex-wrap:wrap}.visa-req-template-card{padding:16px!important}.visa-req-type-chips{min-width:0}@media (width>=768px){.visa-req-accordion{display:none}.visa-req-layout{grid-template-columns:260px 1fr;align-items:start;gap:24px;display:grid}}@media (width<=767px){.visa-req-layout{display:none!important}}@media (prefers-reduced-motion:reduce){.visa-req-acc-panel,.visa-req-acc-chevron,.visa-req-acc-panel-inner{transition:none}}.content>*{min-width:0;max-width:100%}.content img,.content video,.content canvas{max-width:100%;height:auto}.content svg{flex-shrink:0;max-width:none}@media (width<=767px){.content table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.sidebar-backdrop{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;display:none;position:fixed;inset:0}.sidebar-backdrop.visible{display:block}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}@keyframes fadeRise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:fadeRise var(--dur-panel) var(--ease-out) backwards}@media (prefers-reduced-motion:reduce){.page-enter{opacity:1;animation:none;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.chat-link{color:var(--brand);text-underline-offset:2px;word-break:break-all;text-decoration:underline}.chat-link:hover{color:var(--accent-strong,var(--brand))}.follow-up-row-link:hover{background:var(--surface-hover)}@keyframes typingDot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}[style*="animation: typingDot"]:nth-child(2){animation-delay:.15s!important}[style*="animation: typingDot"]:nth-child(3){animation-delay:.3s!important}.content select,.content input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),.content textarea{background-color:var(--surface);color:var(--ink);border-color:var(--border)}.content select option{background:var(--surface);color:var(--ink)}.content table{color:var(--ink-soft)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.tasks-page{padding-bottom:48px}.tasks-hero{background:linear-gradient(135deg, #2563eb1f 0%, #10b9811a 48%, #f59e0b14 100%), var(--surface);border:1px solid color-mix(in srgb, #2563eb 16%, var(--border));box-shadow:var(--shadow-sm);border-radius:22px;margin-bottom:18px;padding:22px 24px;position:relative;overflow:hidden}.tasks-hero-glow{pointer-events:none;filter:blur(8px);background:radial-gradient(circle,#2563eb47,#0000 70%);border-radius:50%;width:210px;height:210px;position:absolute;top:-80px;right:-30px}.tasks-hero-glow-2{background:radial-gradient(circle,#10b98138,#0000 70%);inset:auto auto -100px -40px}.tasks-hero-inner{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex;position:relative}.tasks-chip{background:color-mix(in srgb, #2563eb 12%, var(--surface));color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;border:1px solid #2563eb38;border-radius:999px;align-items:center;gap:6px;margin-bottom:10px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.theme-dark .tasks-chip{color:#93c5fd}.tasks-title{letter-spacing:-.03em;color:var(--ink);font-size:clamp(24px,3vw,32px);font-weight:750;line-height:1.15;font-family:var(--font-display);margin:0}.tasks-title-accent{background:linear-gradient(120deg,#2563eb,#0891b2 55%,#10b981);color:#0000;-webkit-background-clip:text;background-clip:text}.tasks-sub{color:var(--ink-muted);max-width:480px;margin:8px 0 0;font-size:13.5px;line-height:1.45}.tasks-stats{margin-bottom:16px}.tasks-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.tasks-stat-card{box-shadow:var(--shadow-xs);animation:tasksRise .45s var(--ease-out) backwards;transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:1px solid #0000;border-radius:16px;padding:14px 16px}.tasks-stat-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.tasks-stat-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tasks-stat-label{letter-spacing:.06em;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:700}.tasks-stat-icon{background:color-mix(in srgb, currentColor 14%, transparent);border-radius:10px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.tasks-stat-value{letter-spacing:-.03em;font-size:26px;font-weight:800;line-height:1;display:block}.tasks-stat-card.tone-indigo{color:#3730a3;background:linear-gradient(160deg,#eef2ff,#e0e7ff);border-color:#c7d2fe}.tasks-stat-card.tone-emerald{color:#065f46;background:linear-gradient(160deg,#ecfdf5,#d1fae5);border-color:#a7f3d0}.tasks-stat-card.tone-amber{color:#92400e;background:linear-gradient(160deg,#fffbeb,#fef3c7);border-color:#fde68a}.tasks-stat-card.tone-rose{color:#9f1239;background:linear-gradient(160deg,#fff1f2,#ffe4e6);border-color:#fecdd3}.theme-dark .tasks-stat-card.tone-indigo{color:#c7d2fe;background:linear-gradient(160deg,#1e1b4b,#312e81);border-color:#4338ca}.theme-dark .tasks-stat-card.tone-emerald{color:#a7f3d0;background:linear-gradient(160deg,#052e1c,#064e3b);border-color:#065f46}.theme-dark .tasks-stat-card.tone-amber{color:#fde68a;background:linear-gradient(160deg,#3b2508,#78350f);border-color:#b45309}.theme-dark .tasks-stat-card.tone-rose{color:#fecdd3;background:linear-gradient(160deg,#2a0a12,#9f1239);border-color:#be123c}.tasks-progress-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);border-radius:18px;align-items:center;gap:20px;padding:16px 18px;display:flex}.tasks-progress-left{flex:1;min-width:0}.tasks-progress-head{margin-bottom:10px}.tasks-progress-chip{letter-spacing:.05em;text-transform:uppercase;color:#059669;align-items:center;gap:5px;margin-bottom:4px;font-size:11px;font-weight:700;display:inline-flex}.theme-dark .tasks-progress-chip{color:#6ee7b7}.tasks-progress-hint{color:var(--ink-muted);margin:0;font-size:12.5px}.tasks-progress-legend{color:var(--ink-soft);flex-wrap:wrap;gap:10px 14px;margin-bottom:12px;font-size:12px;display:flex}.tasks-progress-legend span{align-items:center;gap:5px;display:inline-flex}.tasks-progress-track{background:var(--surface-muted);border-radius:999px;height:8px;overflow:hidden}.tasks-progress-fill{border-radius:inherit;height:100%;transition:width .7s var(--ease-out);background:linear-gradient(90deg,#10b981,#34d399)}.tasks-progress-ring{flex-shrink:0;width:88px;height:88px;position:relative}.tasks-ring-bg{fill:none;stroke:var(--surface-muted);stroke-width:8px}.tasks-ring-fg{fill:none;stroke:#10b981;stroke-width:8px;stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .8s var(--ease-out);transform:rotate(-90deg)}.tasks-ring-label{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tasks-ring-label strong{letter-spacing:-.03em;color:var(--ink);font-size:18px;font-weight:800;line-height:1}.tasks-ring-label span{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.tasks-focus{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tasks-focus-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);font-size:12.5px;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.tasks-focus-chip:hover{border-color:color-mix(in srgb, #2563eb 40%, var(--border));color:var(--ink)}.tasks-focus-chip:active{transform:scale(.97)}.tasks-focus-chip.is-active{border-color:color-mix(in srgb, #2563eb 45%, var(--border));color:#1d4ed8;box-shadow:var(--shadow-xs);background:linear-gradient(160deg,#2563eb24,#0891b21a)}.theme-dark .tasks-focus-chip.is-active{color:#93c5fd}.tasks-focus-chip.has-warn.is-active{color:#9f1239;background:linear-gradient(160deg,#f43f5e1f,#fb718514);border-color:#fecdd3}.tasks-focus-badge{background:color-mix(in srgb, currentColor 16%, transparent);border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10.5px;font-weight:750;display:inline-flex}.tasks-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tasks-toolbar-left{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.tasks-project-select-wrap{align-items:center;gap:6px;display:inline-flex}.tasks-select,.tasks-input{font-family:var(--font-sans);color:var(--ink);background:var(--surface);border:1px solid var(--border);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:11px;outline:none;padding:9px 12px;font-size:13px}.tasks-select:focus,.tasks-input:focus{border-color:color-mix(in srgb, #2563eb 50%, var(--border));box-shadow:0 0 0 3px #2563eb29}.tasks-search{border:1px solid var(--border);background:var(--surface);min-width:180px;height:38px;color:var(--ink-muted);border-radius:11px;align-items:center;gap:8px;padding:0 12px;display:inline-flex;position:relative}.tasks-search input{min-width:0;color:var(--ink);font-size:13px;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1}.tasks-search-clear{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:2px;display:inline-flex}.tasks-icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.tasks-icon-btn:hover{border-color:color-mix(in srgb, #2563eb 40%, var(--border));color:#2563eb}.tasks-clear-filters{background:color-mix(in srgb, #f43f5e 10%, var(--surface));color:#be123c;cursor:pointer;font-size:12px;font-weight:650;font-family:var(--font-sans);border:none;border-radius:999px;align-items:center;gap:5px;padding:8px 11px;display:inline-flex}.tasks-view-toggle{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;gap:2px;padding:4px;display:inline-flex}.tasks-view-btn{color:var(--ink-muted);font-size:12.5px;font-weight:650;font-family:var(--font-sans);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:9px;align-items:center;gap:5px;padding:7px 11px;display:inline-flex}.tasks-view-btn.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs)}.tasks-projects{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:16px;display:grid}.tasks-project-card{text-align:left;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-xs);cursor:pointer;font-family:var(--font-sans);color:var(--ink);animation:tasksRise .4s var(--ease-out) backwards;transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:16px;padding:14px 16px}.tasks-project-card:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--project-color,#2563eb) 35%, var(--border));transform:translateY(-2px)}.tasks-project-card-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tasks-project-dot{background:var(--project-color,#2563eb);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--project-color,#2563eb) 20%, transparent);border-radius:50%;flex-shrink:0}.tasks-project-card-head strong{letter-spacing:-.01em;flex:1;font-size:13.5px;font-weight:700}.tasks-project-actions{opacity:0;transition:opacity var(--dur-fast) var(--ease-out);gap:2px;display:inline-flex}.tasks-project-card:hover .tasks-project-actions{opacity:1}.tasks-project-act{width:26px;height:26px;color:var(--ink-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tasks-project-act:hover{background:var(--surface-muted);color:var(--ink)}.tasks-project-act.danger:hover{color:#be123c;background:#fff1f2}.tasks-project-card p{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 10px;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.tasks-project-progress{align-items:center;gap:10px;display:flex}.tasks-project-bar{background:var(--surface-muted);border-radius:999px;flex:1;height:6px;overflow:hidden}.tasks-project-bar>div{border-radius:inherit;background:var(--project-color,#2563eb);height:100%;transition:width .55s var(--ease-out)}.tasks-project-progress span{color:var(--ink-muted);white-space:nowrap;font-size:11px;font-weight:650}.tasks-project-banner{background:color-mix(in srgb, #2563eb 8%, var(--surface));border:1px solid color-mix(in srgb, #2563eb 20%, var(--border));color:var(--ink-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;font-size:13px;display:flex}.tasks-project-banner button{color:#2563eb;cursor:pointer;font-weight:650;font-family:var(--font-sans);background:0 0;border:none;font-size:12.5px}.tasks-board-wrap{min-height:280px}.tasks-kanban{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;display:grid}.tasks-kanban-col{background:color-mix(in srgb, var(--surface-muted) 70%, var(--surface));border:1px solid var(--border);min-height:320px;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:16px;flex-direction:column;display:flex}.tasks-kanban-col.is-drop{border-color:color-mix(in srgb, #2563eb 50%, var(--border));background:color-mix(in srgb, #2563eb 6%, var(--surface));box-shadow:inset 0 0 0 1px #2563eb40}.tasks-kanban-col.tone-slate .tasks-kanban-col-icon{color:#64748b;background:#64748b24}.tasks-kanban-col.tone-amber .tasks-kanban-col-icon{color:#b45309;background:#b4530924}.tasks-kanban-col.tone-gold .tasks-kanban-col-icon{color:#a16207;background:#ca8a0424}.tasks-kanban-col.tone-emerald .tasks-kanban-col-icon{color:#059669;background:#05966924}.tasks-kanban-col-head{justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.tasks-kanban-col-title{align-items:center;gap:8px;min-width:0;display:flex}.tasks-kanban-col-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.tasks-kanban-col-title h3{letter-spacing:.02em;color:var(--ink);margin:0;font-size:12.5px;font-weight:750}.tasks-kanban-col-count{color:var(--ink-muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 6px;font-size:11px;font-weight:750;display:inline-flex}.tasks-kanban-add{border:1px dashed var(--border-strong);width:28px;height:28px;color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.tasks-kanban-add:hover{color:#2563eb;border-color:color-mix(in srgb, #2563eb 45%, var(--border));background:#2563eb14}.tasks-kanban-list{flex-direction:column;flex:1;gap:8px;min-height:120px;padding:4px 10px 12px;display:flex}.tasks-kanban-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-xs);cursor:grab;animation:tasksRise .4s var(--ease-out) backwards;transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:14px;padding:12px 12px 12px 14px;position:relative}.tasks-kanban-card:hover{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, #2563eb 28%, var(--border));transform:translateY(-2px)}.tasks-kanban-card.is-dragging{opacity:.55;cursor:grabbing;transform:rotate(1.5deg)scale(1.02)}.tasks-kanban-card.is-celebrate{animation:tasksCelebrate .85s var(--ease-out);box-shadow:0 0 0 3px #10b98138, var(--shadow-sm);border-color:#6ee7b7}.tasks-kanban-card.is-overdue{border-color:color-mix(in srgb, #f43f5e 35%, var(--border))}.tasks-kanban-grip{color:var(--ink-faint);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);position:absolute;top:50%;left:2px;transform:translateY(-50%)}.tasks-kanban-card:hover .tasks-kanban-grip{opacity:1}.tasks-kanban-tags{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.tasks-kanban-tag{background:color-mix(in srgb, #2563eb 10%, var(--surface-muted));color:#1d4ed8;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:650}.theme-dark .tasks-kanban-tag{color:#93c5fd}.tasks-kanban-card-title{letter-spacing:-.01em;color:var(--ink);margin:0 0 8px;font-size:13.5px;font-weight:650;line-height:1.35}.tasks-kanban-subprogress{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tasks-kanban-subbar{background:var(--surface-muted);border-radius:999px;flex:1;height:4px;overflow:hidden}.tasks-kanban-subbar>div{border-radius:inherit;height:100%;transition:width .4s var(--ease-out);background:linear-gradient(90deg,#2563eb,#38bdf8)}.tasks-kanban-subprogress span{color:var(--ink-muted);font-size:10.5px;font-weight:650}.tasks-kanban-card-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.tasks-kanban-card-meta{align-items:center;gap:8px;display:inline-flex}.tasks-prio{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:750}.tasks-prio.tone-slate{color:#475569;background:#f1f5f9}.tasks-prio.tone-blue{color:#1d4ed8;background:#eff6ff}.tasks-prio.tone-amber{color:#b45309;background:#fffbeb}.tasks-prio.tone-rose{color:#be123c;background:#fff1f2}.theme-dark .tasks-prio.tone-slate{color:#94a3b8;background:#1e293b}.theme-dark .tasks-prio.tone-blue{color:#bfdbfe;background:#1e3a8a}.theme-dark .tasks-prio.tone-amber{color:#fde68a;background:#78350f}.theme-dark .tasks-prio.tone-rose{color:#fecdd3;background:#9f1239}.tasks-due{color:var(--ink-muted);align-items:center;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.tasks-due.late{color:#be123c}.tasks-kanban-empty{color:var(--ink-faint);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:28px 12px;display:flex}.tasks-kanban-empty p{color:var(--ink-muted);margin:0;font-size:12.5px}.tasks-kanban-empty-cta{color:#2563eb;cursor:pointer;font-size:12px;font-weight:650;font-family:var(--font-sans);background:#2563eb1a;border:none;border-radius:999px;align-items:center;gap:4px;margin-top:4px;padding:6px 10px;display:inline-flex}.tasks-list{background:var(--surface);box-shadow:var(--shadow-xs);border:1px solid var(--border);border-radius:18px;overflow:hidden}.tasks-list-wrap{overflow-x:auto}.tasks-list table{border-collapse:collapse;width:100%}.tasks-list th{text-align:left;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-muted);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:var(--surface-muted);padding:15px 18px;font-size:10.5px;font-weight:700}.tasks-list th span{align-items:center;gap:5px;display:inline-flex}.tasks-list tr{cursor:pointer;transition:background var(--dur-fast) var(--ease-out);border-bottom:1px solid var(--border);background:var(--surface);animation:tasksRise .35s var(--ease-out) backwards}.tasks-list tr:hover{background:var(--surface-muted)}.tasks-list td{vertical-align:middle;padding:14px 18px;font-size:13px}.tasks-list-title{align-items:center;gap:12px;display:flex}.tasks-list-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.tasks-list-empty{color:var(--ink-muted);flex-direction:column;align-items:center;padding:50px;font-size:13px;display:flex}.tasks-overlay{z-index:80;-webkit-backdrop-filter:blur(6px);animation:tasksFade .2s var(--ease-out);background:#0f172a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tasks-modal{background:var(--surface);border:1px solid var(--border);width:min(520px,100%);max-height:min(88vh,720px);box-shadow:var(--shadow-lg,0 24px 60px #0f172a38);animation:tasksModalIn .28s var(--ease-out);border-radius:20px;overflow:auto}.tasks-modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;display:flex}.tasks-modal-head h3{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:18px;font-weight:750}.tasks-modal-head p{color:var(--ink-muted);margin:4px 0 0;font-size:12.5px}.tasks-modal-body{flex-direction:column;gap:6px;padding:16px 20px;display:flex}.tasks-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-top:6px;font-size:11px;font-weight:700}.tasks-form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tasks-modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px 18px;display:flex}.tasks-cancel{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:600;font-family:var(--font-sans);border-radius:11px;padding:10px 14px}@keyframes tasksRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes tasksCelebrate{0%{transform:scale(1)}35%{transform:scale(1.04)}70%{transform:scale(.99)}to{transform:scale(1)}}@keyframes tasksFade{0%{opacity:0}to{opacity:1}}@keyframes tasksModalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.tasks-stats-grid,.tasks-kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.tasks-stats-grid{grid-template-columns:1fr 1fr}.tasks-progress-panel{flex-direction:column;align-items:stretch}.tasks-progress-ring{align-self:center}.tasks-kanban,.tasks-form-grid{grid-template-columns:1fr}.tasks-search{width:100%;min-width:140px}.tasks-toolbar-left{width:100%}}@media (prefers-reduced-motion:reduce){.tasks-stat-card,.tasks-project-card,.tasks-kanban-card,.tasks-list tr,.tasks-overlay,.tasks-modal,.tasks-kanban-card.is-celebrate{animation:none!important}.tasks-progress-fill,.tasks-ring-fg,.tasks-project-bar>div,.tasks-kanban-subbar>div{transition:none!important}}
