:root{--bg:#fafafb;--bg-sunken:#f3f4f6;--bg-raised:#fff;--bg-overlay:#0f172a73;--border:#e5e7eb;--border-strong:#d1d5db;--border-subtle:#eef0f3;--text:#0f172a;--text-muted:#475569;--text-subtle:#64748b;--text-faint:#94a3b8;--text-inverse:#fff;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eef2ff;--accent-softer:#f5f7ff;--accent-border:#c7d2fe;--accent-text:#3730a3;--status-ingoing:#64748b;--status-ingoing-bg:#f1f5f9;--status-estimate-sent:#7c3aed;--status-estimate-sent-bg:#f5f3ff;--status-estimate-approved:#0d9488;--status-estimate-approved-bg:#f0fdfa;--status-planned:#2563eb;--status-planned-bg:#eff6ff;--status-progress:#d97706;--status-progress-bg:#fffbeb;--status-waiting:#db2777;--status-waiting-bg:#fdf2f8;--status-done:#059669;--status-done-bg:#ecfdf5;--status-billed:#4338ca;--status-billed-bg:#eef2ff;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:var(--font-display);--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-xs:0 1px 0 #0f172a0a;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px -2px #0f172a14, 0 2px 4px -1px #0f172a0d;--shadow-lg:0 20px 40px -12px #0f172a2e, 0 8px 16px -8px #0f172a14;--sidebar-w:224px;--topbar-h:52px}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f17;--bg-sunken:#11151e;--bg-raised:#161b26;--bg-overlay:#000000a6;--border:#242a38;--border-strong:#323a4c;--border-subtle:#1c2230;--text:#e7ecf3;--text-muted:#a9b4c7;--text-subtle:#7a8599;--text-faint:#5b6578;--text-inverse:#0b0f17;--accent:#818cf8;--accent-hover:#a5b4fc;--accent-soft:#1e2340;--accent-softer:#171a2e;--accent-border:#3a4370;--accent-text:#c7d2fe;--status-ingoing:#94a3b8;--status-ingoing-bg:#1a1f2b;--status-estimate-sent:#a78bfa;--status-estimate-sent-bg:#221a3a;--status-estimate-approved:#2dd4bf;--status-estimate-approved-bg:#0f2b27;--status-planned:#60a5fa;--status-planned-bg:#16233a;--status-progress:#fbbf24;--status-progress-bg:#2b220f;--status-waiting:#f472b6;--status-waiting-bg:#2b1628;--status-done:#34d399;--status-done-bg:#0f2b21;--status-billed:#a5b4fc;--status-billed-bg:#1e2340;--shadow-xs:0 1px 0 #00000059;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 12px -2px #0000008c, 0 2px 4px -1px #00000073;--shadow-lg:0 20px 40px -12px #000000b3, 0 8px 16px -8px #0000008c}html[data-theme=dark] img.dim-on-dark{filter:brightness(.9)contrast(1.05)}html[data-theme=dark] [style*="background: #fff"],html[data-theme=dark] [style*="background:#fff"],html[data-theme=dark] [style*="background: white"],html[data-theme=dark] [style*=background\:white]{background:var(--bg-raised)!important}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv11", "ss01", "ss03";font-size:13px;line-height:1.5}#root{min-height:100vh}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font:inherit;color:inherit}.mono{font-family:var(--font-mono);font-feature-settings:"zero", "cv01"}.serif{font-family:var(--font-display);font-feature-settings:"ss01";letter-spacing:-.01em}.app{grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar""sidebar main";min-height:100vh;transition:grid-template-columns .2s cubic-bezier(.16,1,.3,1);display:grid}@media (width>=1025px){.app.nav-collapsed{grid-template-columns:0 1fr}.app.nav-collapsed .sidebar{display:none}}@media (prefers-reduced-motion:reduce){.app{transition:none}}.topbar{border-bottom:1px solid var(--border);background:var(--bg-raised);z-index:20;flex-wrap:nowrap;grid-area:topbar;align-items:center;gap:14px;min-height:56px;padding:0 20px;display:flex;position:sticky;top:0}.sidebar{background:var(--bg-raised);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;padding:14px 10px 80px;display:flex;overflow-y:auto}.main{grid-area:main;position:relative;overflow:auto}.topbar .nav-toggle{display:none}.topbar .nav-collapse{flex:none;display:inline-flex}.nav-backdrop{display:none}@media (width<=1024px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"topbar""main"}.main,.topbar{min-width:0}.sidebar{width:var(--sidebar-w);z-index:60;transition:transform .22s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #080a192e}.app.nav-open .sidebar{transform:translate(0)}.app.nav-open .nav-backdrop{z-index:50;background:#080a1973;display:block;position:fixed;inset:0}.topbar .nav-toggle{flex:none;display:inline-flex}.topbar .nav-collapse,.topbar .breadcrumbs,.topbar .topbar-search{display:none}}@media (width<=720px){.kpi-grid{grid-template-columns:1fr 1fr!important}.page-header{flex-wrap:wrap;gap:12px}.page-actions{flex-wrap:wrap}}@media (width<=440px){.kpi-grid{grid-template-columns:1fr!important}}@media (width<=1024px){.role-switch .role-label{display:none}.page{padding:16px 16px 60px}.tabs{min-width:0;overflow-x:auto}.dt-toolbar{flex-wrap:wrap}.dt-table,.dt-table tbody,.dt-table tr,.dt-table td{width:auto;display:block}.dt-table thead{display:none}.dt-table tr{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);margin:0 0 10px;padding:4px 12px}.dt-table td{text-align:right;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:0;display:flex;border:none!important;border-bottom:1px solid var(--border-subtle)!important;padding:7px 0!important}.dt-table td .mono,.dt-table td [style*=nowrap]{white-space:normal}.dt-table tr td:last-child{border-bottom:none!important}.dt-table td:before{content:attr(data-label);text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);flex:0 0 40%;font-size:11px;font-weight:600}}.brand{align-items:center;gap:8px;max-width:220px;padding:6px 8px 16px;display:flex;overflow:hidden}.brand img,.brand svg{flex-shrink:0;width:auto;max-width:160px;height:auto;max-height:40px}.topbar .brand,.portal-topbar .brand,.ext-portal-topbar .brand{max-width:200px;max-height:32px;padding:0;overflow:hidden}.topbar .brand img,.topbar .brand svg,.portal-topbar .brand img,.portal-topbar .brand svg,.ext-portal-topbar .brand img,.ext-portal-topbar .brand svg{max-width:160px;max-height:28px}.brand-mark{background:linear-gradient(135deg, var(--accent) 0%, #7c3aed 100%);color:#fff;width:26px;height:26px;font-family:var(--font-display);border-radius:7px;place-items:center;font-size:14px;font-weight:700;line-height:1;display:grid;box-shadow:0 2px 6px -1px #4f46e559}.brand-name{font-family:var(--font-display);letter-spacing:-.015em;font-size:14px;font-weight:600}.brand-sub{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;font-size:10px}.nav-section{flex-direction:column;gap:1px;margin-bottom:12px;display:flex}.nav-section-label{letter-spacing:0;text-transform:none;color:var(--text-subtle);padding:10px 10px 6px;font-size:11px;font-weight:500}.nav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:6px 10px;font-size:13px;line-height:1.3;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--bg-sunken);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.nav-item .nav-icon{width:15px;height:15px;color:var(--text-subtle);flex-shrink:0}.nav-item.active .nav-icon{color:var(--accent)}.nav-item .nav-badge{color:var(--text-subtle);font-size:10px;font-family:var(--font-mono);margin-left:auto}.breadcrumbs{color:var(--text-muted);white-space:nowrap;flex-shrink:1;align-items:center;gap:6px;min-width:0;font-size:13px;display:flex;overflow:hidden}.breadcrumbs .crumb.current{text-overflow:ellipsis;min-width:0;overflow:hidden}.breadcrumbs .crumb{cursor:pointer}.breadcrumbs .crumb:hover{color:var(--text)}.breadcrumbs .crumb.current{color:var(--text);font-weight:500}.breadcrumbs .sep{color:var(--text-faint)}.topbar-search{background:var(--bg-sunken);border-radius:var(--radius-md);max-width:480px;color:var(--text-muted);border:1px solid #0000;flex:1;align-items:center;gap:8px;margin:0 auto;padding:6px 12px;font-size:13px;transition:border-color .12s,background .12s;display:flex}.topbar-search:focus-within{border-color:var(--border-strong);background:var(--bg-raised)}.topbar-search input{background:0 0;border:none;outline:none;flex:1;font-size:12px}.topbar-search .kbd{font-family:var(--font-mono);background:var(--bg-raised);border:1px solid var(--border);color:var(--text-subtle);border-radius:3px;padding:1px 5px;font-size:10px}.topbar-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.role-switch{background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;font-size:12.5px;transition:border-color .12s,box-shadow .12s;display:flex}.role-switch:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.role-switch .avatar{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;font-weight:600;display:grid}.role-switch .role-label{color:var(--text);white-space:nowrap;font-weight:500}.btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text);align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:500;line-height:1.3;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn:disabled:hover,.btn[disabled]:hover{background:var(--bg-raised);border-color:var(--border)}.btn:hover{background:var(--bg-sunken);border-color:var(--border-strong)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 2px #4f46e533}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 8px -1px #4f46e54d}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-sunken)}.btn.sm{padding:4px 9px;font-size:11.5px}.btn.icon{padding:5px}.chip{border:1px solid var(--border);background:var(--bg-raised);color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.chip .dot{background:var(--text-subtle);border-radius:50%;width:6px;height:6px}.status-chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:2px 9px 2px 7px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.status-chip .dot{border-radius:50%;width:6px;height:6px}.status-ingoing{color:var(--status-ingoing);background:var(--status-ingoing-bg);border-color:color-mix(in oklch, var(--status-ingoing) 18%, transparent)}.status-ingoing .dot{background:var(--status-ingoing)}.status-estimate-sent{color:var(--status-estimate-sent);background:var(--status-estimate-sent-bg);border-color:color-mix(in oklch, var(--status-estimate-sent) 22%, transparent)}.status-estimate-sent .dot{background:var(--status-estimate-sent)}.status-estimate-approved{color:var(--status-estimate-approved);background:var(--status-estimate-approved-bg);border-color:color-mix(in oklch, var(--status-estimate-approved) 22%, transparent)}.status-estimate-approved .dot{background:var(--status-estimate-approved)}.status-planned{color:var(--status-planned);background:var(--status-planned-bg);border-color:color-mix(in oklch, var(--status-planned) 22%, transparent)}.status-planned .dot{background:var(--status-planned)}.status-progress{color:var(--status-progress);background:var(--status-progress-bg);border-color:color-mix(in oklch, var(--status-progress) 25%, transparent)}.status-progress .dot{background:var(--status-progress)}.status-waiting{color:var(--status-waiting);background:var(--status-waiting-bg);border-color:color-mix(in oklch, var(--status-waiting) 22%, transparent)}.status-waiting .dot{background:var(--status-waiting)}.status-done{color:var(--status-done);background:var(--status-done-bg);border-color:color-mix(in oklch, var(--status-done) 22%, transparent)}.status-done .dot{background:var(--status-done)}.status-billed{color:var(--status-billed);background:var(--status-billed-bg);border-color:color-mix(in oklch, var(--status-billed) 22%, transparent)}.status-billed .dot{background:var(--status-billed)}.doctype{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.doctype.auftrag{color:#3730a3;background:#eef2ff}.doctype.service{color:#92400e;background:#fef3c7}.page{max-width:1600px;padding:24px 32px 80px}.page-header{border-bottom:none;justify-content:space-between;align-items:flex-end;margin-bottom:24px;padding-bottom:0;display:flex}.page-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 0 4px;font-size:24px;font-weight:600;line-height:1.2}.page-sub{color:var(--text-muted);font-size:13px}.page-actions{align-items:center;gap:6px;display:flex}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.card-title{letter-spacing:-.005em;font-size:13.5px;font-weight:600}.card-body{padding:16px}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.kpi-grid:has(>.kpi:nth-child(5)):not(:has(>.kpi:nth-child(6))){grid-template-columns:repeat(5,1fr)}.kpi-grid:has(>.kpi:nth-child(6)){grid-template-columns:repeat(6,1fr)}.kpi{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:10px 14px 12px;transition:box-shadow .15s,border-color .15s}.kpi:hover{box-shadow:var(--shadow-sm);border-color:var(--border-strong)}.kpi-label{color:var(--text-subtle);text-transform:none;letter-spacing:0;margin-bottom:4px;font-size:11.5px;font-weight:500}.kpi-value{font-family:var(--font-display);letter-spacing:-.025em;color:var(--text);margin-bottom:2px;font-size:24px;font-weight:600;line-height:1.05}.kpi-delta{color:var(--text-muted);margin-top:8px;font-size:11.5px;font-weight:500}.kpi-delta.up{color:var(--status-done)}.kpi-delta.down{color:var(--status-waiting)}.table{border-collapse:collapse;width:100%;font-size:13px}.table thead th{text-align:left;color:var(--text-subtle);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--border);background:0 0;padding:10px 14px;font-size:11.5px;font-weight:500;position:sticky;top:0}.table tbody td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px 14px}.table tbody tr:hover{background:var(--bg-sunken);cursor:pointer}.table tbody tr.selected{background:var(--accent-softer)}.table .col-id{font-family:var(--font-mono);color:var(--text-muted);width:80px}.table .col-num{text-align:right;font-family:var(--font-mono)}.table .muted{color:var(--text-muted)}.avatar-circle{color:#fff;width:22px;height:22px;font-size:10px;font-weight:600;font-family:var(--font-sans);border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.avatar-stack{display:inline-flex}.avatar-stack .avatar-circle{border:2px solid var(--bg-raised);margin-left:-6px}.avatar-stack .avatar-circle:first-child{margin-left:0}.tabs{border-bottom:1px solid var(--border);gap:2px;margin-bottom:16px;display:flex}.tab{color:var(--text-muted);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:12.5px}.tab:hover{color:var(--text)}.tab.active{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:500}.tab .count{font-family:var(--font-mono);color:var(--text-subtle);background:var(--bg-sunken);border-radius:3px;margin-left:4px;padding:0 5px;font-size:10.5px}.filter-bar{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 0;display:flex}.filter-bar .divider{background:var(--border);width:1px;height:18px;margin:0 4px}.filter-toggle{color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:inline-flex}.filter-toggle:hover{background:var(--bg-sunken);color:var(--text)}.filter-toggle input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);cursor:pointer;margin:0}.filter-toggle:has(input:checked){background:var(--accent-softer);border-color:var(--accent-border);color:var(--accent-text);font-weight:500}.table tr.group-row>td{background:var(--bg-sunken);border-top:1px solid var(--border);border-bottom:1px solid var(--border);cursor:default;padding:8px 14px;font-size:12px}.table tr.group-row:hover>td{background:var(--bg-sunken);cursor:default}.dt{width:100%}.dt-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--bg-raised);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);align-items:center;gap:10px;padding:10px 14px;display:flex}.dt-count{color:var(--text-muted);font-size:12px}.dt-table thead th{padding:8px 12px}.dt-table thead th .dt-th{-webkit-user-select:none;user-select:none;align-items:center;gap:4px;display:flex}.dt-table thead th .dt-th.sortable{cursor:pointer}.dt-table thead th .dt-th.sortable:hover{color:var(--text)}.dt-table thead th .dt-th.sort-active{color:var(--accent-text);font-weight:600}.dt-sort-ind{color:var(--text-faint);margin-left:2px;font-size:9px}.dt-th.sort-active .dt-sort-ind{color:var(--accent)}.dt-table tr.dt-filter-row th{background:var(--bg-sunken);border-bottom:1px solid var(--border);padding:4px 6px 6px;font-weight:400;position:sticky;top:33px}.dt-col-filter{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);width:100%;color:var(--text);appearance:none;cursor:pointer;padding:3px 22px 3px 6px;font-family:inherit;font-size:11px}.dt-col-filter.active{background:var(--accent-softer);color:var(--accent-text);border-color:var(--accent-border);font-weight:500}.dt-col-search{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);align-items:center;gap:4px;height:24px;padding:0 4px;display:flex}.dt-col-search:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-softer)}.dt-col-search .icon{color:var(--text-faint);flex-shrink:0}.dt-col-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;padding:0;font-family:inherit;font-size:11px}.dt-col-search input.active{color:var(--accent-text);font-weight:500}.dt-col-search input::placeholder{color:var(--text-faint)}.dt-col-search .clear{color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.dt-more{border-top:1px solid var(--border-subtle);background:var(--bg-raised);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);justify-content:center;padding:12px 0;display:flex}.dt-table.dense tbody td{padding:6px 12px}.progress{background:var(--bg-sunken);border-radius:999px;height:6px;position:relative;overflow:hidden}.progress .bar{background:var(--accent);border-radius:999px;height:100%}.progress .bar.over{background:var(--status-waiting)}.kanban{align-items:stretch;gap:12px;min-height:calc(100vh - 180px);padding:4px;display:flex;overflow-x:auto}.kan-col{background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:0 0 288px;max-height:calc(100vh - 170px);display:flex}.kan-col-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:12px 14px;display:flex}.kan-col-head .title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.kan-col-head .count{font-family:var(--font-mono);color:var(--text-subtle);background:var(--bg-raised);border-radius:3px;margin-left:auto;padding:1px 5px;font-size:10px}.kan-list{flex-direction:column;flex:1;gap:6px;padding:8px;display:flex;overflow-y:auto}.kan-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-xs);padding:10px 12px;transition:border-color .12s,box-shadow .12s,transform .12s}.kan-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kan-card .kc-head{align-items:center;gap:6px;margin-bottom:4px;display:flex}.kan-card .kc-id{font-family:var(--font-mono);color:var(--text-subtle);font-size:10.5px}.kan-card .kc-title{margin-bottom:6px;font-size:12.5px;line-height:1.35}.kan-card .kc-meta{align-items:center;gap:6px;display:flex}.kan-card .kc-meta .spacer{flex:1}.buzzer-slot{z-index:120;transition:opacity .15s,transform .15s;position:fixed;bottom:20px;right:20px}:is(body:has(.drawer-backdrop) .buzzer-slot,body:has(.modal-backdrop) .buzzer-slot){opacity:0;pointer-events:none;transform:translateY(12px)scale(.9)}.buzzer{background:radial-gradient(circle at 30% 28%, oklch(from var(--accent) calc(l + .08) c h), var(--accent) 65%, oklch(from var(--accent) calc(l - .1) c h));color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;width:76px;height:76px;transition:transform .18s,box-shadow .18s;display:grid;position:relative;box-shadow:inset 0 1px #ffffff59,inset 0 -2px 8px #00000040,0 12px 28px -6px #00000059,0 4px 10px -2px #00000026}.buzzer:hover{transform:translateY(-2px)scale(1.02)}.buzzer:active{transform:translateY(0)scale(.98)}.buzzer-ring{pointer-events:none;border:2px solid #0000;border-radius:50%;position:absolute;inset:-4px}.buzzer.running .buzzer-ring{border-color:oklch(from var(--accent) calc(l + .1) c h / .7);animation:2s ease-in-out infinite buzzerPulse}.buzzer.paused{background:linear-gradient(145deg,#f0a83a,#d9852b)}.buzzer.paused .buzzer-ring{border-color:#f0a83ab3}@keyframes buzzerPulse{0%,to{box-shadow:0 0 0 0 oklch(from var(--accent) l c h / .5)}50%{box-shadow:0 0 0 14px oklch(from var(--accent) l c h / 0)}}.buzzer-core{flex-direction:column;justify-content:center;align-items:center;gap:2px;line-height:1;display:flex}.buzzer-idle{flex-direction:column;align-items:center;gap:4px;display:flex}.buzzer-idle span{font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.buzzer-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:15px;font-weight:600}.buzzer-sub{text-transform:uppercase;letter-spacing:.08em;opacity:.9;font-size:9px;font-weight:500}.timer-panel{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:115;flex-direction:column;width:400px;max-height:calc(100vh - 120px);animation:.18s panelIn;display:flex;position:fixed;bottom:108px;right:20px;overflow:hidden;box-shadow:0 24px 48px -12px #00000040,0 8px 16px -8px #0000001a}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.tp{flex-direction:column;max-height:calc(100vh - 120px);font-size:13px;display:flex}.tp-head{border-bottom:1px solid var(--border);background:var(--bg-sunken);flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;display:flex}.tp-title{font-family:var(--font-display);letter-spacing:-.01em;align-items:center;gap:8px;margin-right:auto;font-size:14px;font-weight:600;display:flex}.pulse-dot{background:var(--text-subtle);border-radius:50%;width:8px;height:8px}.pulse-dot.active{background:#1fbf75;animation:1.6s ease-in-out infinite dotPulse;box-shadow:0 0 #1fbf7599}@keyframes dotPulse{0%,to{box-shadow:0 0 #1fbf7599}50%{box-shadow:0 0 0 6px #1fbf7500}}.tp-steps{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:6px;padding:12px 16px;display:flex}.tp-step{border-radius:var(--radius-sm);cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;padding:6px 8px;transition:background .12s;display:flex;overflow:hidden}.tp-step>div{flex:auto;min-width:0;overflow:hidden}.tp-step:hover:not(.disabled){background:var(--bg-sunken)}.tp-step.disabled{opacity:.45;cursor:default}.tp-step-num{border:1.5px solid var(--border-strong);width:22px;height:22px;color:var(--text-subtle);background:var(--bg-raised);font-family:var(--font-display);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.tp-step.active .tp-step-num{background:var(--accent);color:#fff;border-color:var(--accent)}.tp-step.done .tp-step-num{color:#fff;background:#1fbf75;border-color:#1fbf75}.tp-step-label{color:var(--text-subtle);font-size:10px;font-weight:600}.tp-step-value{color:var(--text);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;max-width:100%;font-size:12px;font-weight:500;line-height:1.25;display:-webkit-box;overflow:hidden}.tp-step.active .tp-step-value{color:var(--accent)}.tp-step-sep{color:var(--text-subtle);flex-shrink:0}.tp-search{border-bottom:1px solid var(--border);color:var(--text-subtle);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.tp-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:13px}.tp-list,.tp-recent{flex:auto;min-height:0;overflow-y:auto}.tp-recent{max-height:260px}.tp-recent.subtle{border-top:1px solid var(--border)}.tp-section-label{color:var(--text-subtle);letter-spacing:.04em;padding:10px 16px 6px;font-size:10px;font-weight:600}.tp-recent-item,.tp-cust-row,.tp-ticket-row,.tp-task-row{cursor:pointer;border-left:2px solid #0000;align-items:center;gap:10px;padding:10px 16px;transition:background .12s,border-color .12s;display:flex}.tp-cust-row.bz-active,.tp-ticket-row.bz-active,.tp-task-row.bz-active{background:var(--accent-soft);border-left-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}.tp-recent-item:hover,.tp-cust-row:hover,.tp-ticket-row:hover,.tp-task-row:hover{background:var(--bg-sunken);border-left-color:var(--accent)}.tp-cust-avatar{color:#fff;width:32px;height:32px;font-family:var(--font-display);letter-spacing:.02em;border-radius:8px;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid;box-shadow:0 1px 2px #0000001a}.tp-cust-avatar.sm{border-radius:5px;width:22px;height:22px;font-size:9.5px}.tp-cust-body,.tp-ticket-body,.tp-task-body,.tp-recent-body{flex:1;min-width:0}.tp-cust-name,.tp-recent-name,.tp-ticket-name,.tp-task-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.tp-cust-meta,.tp-ticket-meta,.tp-task-meta,.tp-recent-meta{color:var(--text-subtle);flex-wrap:wrap;align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.tp-doc-group+.tp-doc-group{border-top:1px solid var(--border-subtle)}.tp-doc-header{color:var(--text-muted);background:var(--bg-sunken);border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;padding:10px 16px 4px;font-size:11px;display:flex}.tp-doc-id{color:var(--text-subtle);font-size:11px}.tp-doc-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-weight:500;overflow:hidden}.tp-play{width:28px;height:28px;color:var(--text-subtle);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tp-recent-item:hover .tp-play,.tp-task-row:hover .tp-play{color:#fff;background:var(--accent)}.tp-play.primary{background:var(--accent);color:#fff;letter-spacing:.01em;border-radius:14px;align-items:center;gap:4px;width:auto;height:28px;padding:0 12px;font-size:11px;font-weight:600;display:flex}.tp-empty{text-align:center;color:var(--text-subtle);padding:24px 16px;font-size:12px}.tp-running-card{border-bottom:1px solid var(--border);background:linear-gradient(180deg, var(--bg-sunken), transparent);padding:18px 16px}.tp-running-time{font-family:var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:36px;font-weight:600;line-height:1}.tp-running-task{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin-top:10px;font-size:15px;font-weight:600}.tp-running-trail{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:11.5px;display:flex}.tp-running-trail .icon.sm{color:var(--text-subtle)}.tp-desc{border-bottom:1px solid var(--border);background:var(--bg-raised);padding:12px 16px}.tp-desc-head{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.tp-desc-head label{font-family:var(--font-display);color:var(--text);letter-spacing:-.005em;font-size:12px;font-weight:600}.tp-desc-hint{color:var(--text-subtle);margin-left:auto;font-size:10.5px}.tp-desc-area{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;background:var(--bg-raised);width:100%;min-height:60px;max-height:140px;color:var(--text);padding:8px 10px;font-family:inherit;font-size:12.5px;line-height:1.45;transition:border-color .15s}.tp-desc-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px oklch(from var(--accent) l c h / .15);outline:none}.tp-desc-foot{align-items:center;gap:6px;margin-top:8px;display:flex}.tp-desc-count{color:var(--text-subtle);margin-left:auto;font-size:10.5px}.btn.ghost.sm{padding:4px 6px;font-size:11px}.ai-toggle{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .15s;display:flex}.ai-toggle:hover{background:var(--bg-sunken)}.ai-toggle.on{background:linear-gradient(90deg, oklch(from var(--accent) l c h / .06), transparent 80%);border-left:3px solid var(--accent)}.ai-toggle-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.ai-toggle-left>.icon{background:oklch(from var(--accent) l c h / .12);width:32px;height:32px;color:var(--accent);border-radius:8px;flex-shrink:0;padding:6px}.ai-toggle.on .ai-toggle-left>.icon{background:var(--accent);color:#fff}.ai-toggle-title{font-weight:600;font-family:var(--font-display);letter-spacing:-.005em;font-size:13px}.ai-toggle-sub{color:var(--text-subtle);margin-top:1px;font-size:11.5px}.ai-toggle.on .ai-toggle-sub{color:var(--text-muted)}.ai-toggle-switch{flex-shrink:0;position:relative}.ai-toggle-switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:var(--border-strong);border-radius:11px;width:40px;height:22px;transition:background .2s;display:block;position:relative}.switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.ai-toggle.on .switch-track{background:var(--accent)}.ai-toggle.on .switch-thumb{transform:translate(18px)}.ai-minutes{border-bottom:1px solid var(--border);background:oklch(from var(--accent) l c h / .04);padding:10px 16px 12px}.ai-minutes-label{color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:500}.ai-minutes-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip-btn{border:1px solid var(--border);background:var(--bg-raised);font-size:12px;font-family:var(--font-mono);cursor:pointer;color:var(--text-muted);border-radius:999px;padding:5px 10px;transition:all .12s}.chip-btn:hover{border-color:var(--accent);color:var(--accent)}.chip-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.ai-minutes-input{border:1px solid var(--border);width:64px;font-size:12px;font-family:var(--font-mono);text-align:right;background:var(--bg-raised);border-radius:6px;margin-left:auto;padding:4px 8px}.tp-controls{flex-shrink:0;gap:8px;padding:12px 16px;display:flex}.tp-controls .btn.lg{flex:1;justify-content:center;padding:10px 12px;font-size:13px;font-weight:600}.tp-switch{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;margin:0 16px 12px;padding:8px 12px;font-size:12px;transition:all .12s;display:flex}.tp-switch:hover{border-style:solid;border-color:var(--accent);color:var(--accent)}.tp-save-summary{border-bottom:1px solid var(--border);background:var(--bg-sunken);align-items:center;gap:16px;padding:16px;display:flex}.tp-save-time{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:28px;font-weight:600}.tp-save-context{flex:1;min-width:0}.tp-save-task{font-family:var(--font-display);letter-spacing:-.005em;font-size:14px;font-weight:600}.tp-save-trail{color:var(--text-subtle);align-items:center;gap:4px;margin-top:4px;font-size:11px;display:flex}.tp-save-field{border-bottom:1px solid var(--border);padding:12px 16px}.tp-save-field label{color:var(--text-subtle);margin-bottom:6px;font-size:11px;font-weight:600;display:block}.tp-save-field textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;background:var(--bg-raised);width:100%;min-height:72px;padding:8px 10px;font-family:inherit;font-size:12.5px}.tp-save-field .ai-btn{margin-top:8px}.day-timeline{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);position:relative;overflow:hidden}.day-timeline .hours{grid-template-columns:repeat(11,1fr);height:72px;display:grid;position:relative}.day-timeline .hour{border-right:1px solid var(--border-subtle);position:relative}.day-timeline .hour:last-child{border-right:none}.day-timeline .hour-label{font-family:var(--font-mono);color:var(--text-subtle);font-size:10px;position:absolute;bottom:4px;left:4px}.day-timeline .entries{height:44px;position:absolute;top:6px;left:0;right:0}.day-timeline .entry{border-radius:var(--radius-xs);background:var(--accent-soft);border-left:2px solid var(--accent);height:44px;color:var(--accent-text);cursor:pointer;padding:4px 6px;font-size:10px;line-height:1.2;position:absolute;top:0;overflow:hidden}.day-timeline .entry .e-title{font-size:10.5px;font-weight:600}.day-timeline .entry .e-ticket{color:var(--text-muted)}.bars{border-bottom:1px solid var(--border-subtle);align-items:flex-end;gap:10px;height:140px;padding-bottom:22px;display:flex;position:relative}.bars .bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:stretch;height:100%;display:flex;position:relative}.bars .bar-col .bar-fill{background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;position:relative}.bars .bar-col .bar-fill.alt{background:oklch(68% .1 275)}.bars .bar-col .bar-label{text-align:center;font-family:var(--font-mono);color:var(--text-subtle);font-size:10px;position:absolute;bottom:-18px;left:0;right:0}.bars .bar-col .bar-value{text-align:center;font-family:var(--font-mono);color:var(--text-muted);font-size:10px;position:absolute;top:-16px;left:0;right:0}.legend{color:var(--text-muted);gap:14px;margin-top:6px;font-size:11px;display:flex}.legend .sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.pp-grid-card{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.pp-grid-scroll{max-width:100%;overflow:auto visible}.pp-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;font-size:12px}.pp-grid th,.pp-grid td{border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);vertical-align:top;text-align:left;padding:6px 8px}.pp-grid th.pp-h1{background:color-mix(in oklch, #f5d76e 50%, var(--bg-raised));color:#3a2c00;text-transform:none;letter-spacing:0;z-index:4;border-bottom:1px solid color-mix(in oklch, #d4ac0d 40%, var(--border));font-size:11.5px;font-weight:600;position:sticky;top:0}.pp-grid th.pp-cell-doc.pp-h1,.pp-grid th.pp-cell-resp.pp-h1,.pp-grid th.pp-cell-staff.pp-h1,.pp-grid th.pp-cell-status.pp-h1{z-index:5;position:sticky}.pp-grid td.pp-sticky{z-index:2;border-right:1px solid var(--border);position:sticky}.pp-grid .pp-row{height:64px}.pp-cell-doc .pp-doc-id{font-family:var(--font-mono);color:var(--text-subtle);margin-bottom:1px;font-size:10.5px}.pp-cell-doc .pp-doc-title{font-size:12px;font-weight:500;line-height:1.25}.pp-cell-doc .pp-doc-cust{color:var(--text-muted);margin-top:2px;font-size:11px;font-weight:500}.pp-person{align-items:center;gap:6px;display:inline-flex}.pp-person-name{font-size:11.5px}.pp-staff{flex-wrap:wrap;gap:3px;display:flex}.pp-staff-chip{background:var(--bg);border:1px solid var(--border-subtle);border-radius:999px;align-items:center;gap:3px;padding:1px 5px 1px 1px;font-size:10.5px;display:inline-flex}.pp-staff-more{color:var(--text-subtle);align-self:center;padding:0 4px;font-size:10.5px}.pp-status-input{border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;background:0 0;min-height:36px;padding:4px 6px;font-family:inherit;font-size:11.5px;line-height:1.3}.pp-status-input:focus{border-color:var(--accent);background:var(--bg);border-style:solid;outline:none}.pp-cell-kw{cursor:pointer;font-size:10.5px;line-height:1.2;transition:filter .12s}.pp-cell-kw:hover{filter:brightness(.96)}.pp-cell-kw.pp-h1{text-align:center;padding:4px}.pp-cell-kw .pp-kw-num{font-weight:700}.pp-cell-kw .pp-kw-date{opacity:.75;margin-top:1px;font-size:9.5px;font-weight:400}.pp-cell-kw .pp-cell-text{white-space:pre-wrap;word-break:break-word;font-weight:500;display:block}.pp-cell-kw .pp-cell-empty{color:var(--text-subtle);opacity:.4}.pp-cell-kw.pp-today{box-shadow:inset 2px 0 0 var(--accent), inset -2px 0 0 var(--accent)}.pp-doc-link{text-align:left;cursor:pointer;width:100%;color:inherit;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 0;display:block}.pp-doc-link:hover{background:color-mix(in oklch, var(--accent) 8%, transparent)}.pp-doc-link:hover .pp-doc-title{color:var(--accent);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.pp-doc-link .pp-doc-cust{color:var(--text-muted);font-weight:500}.pp-status-btn{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--text);font:inherit;background:0 0;border:1px dashed #0000;flex-direction:column;gap:4px;min-height:48px;padding:6px 8px;display:flex}.pp-status-btn:hover{border-color:var(--border);background:color-mix(in oklch, var(--accent) 5%, transparent)}.pp-status-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.3;display:-webkit-box;overflow:hidden}.pp-status-meta{color:var(--text-subtle);align-items:center;gap:4px;font-size:10.5px;display:inline-flex}.pp-status-empty{color:var(--text-subtle);font-size:12px;font-style:italic}.pp-cell-kw.empty:hover .pp-cell-empty{opacity:.9;color:var(--accent)}.pp-cell-kw .pp-cell-empty{color:var(--text-subtle);opacity:0;font-size:14px;font-weight:600;transition:opacity .15s}.pp-cell-kw.empty:hover{background:color-mix(in oklch, var(--accent) 8%, transparent)!important}.pp-modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:24px;animation:.12s ease-out pp-modal-fade;display:flex;position:fixed;inset:0}@keyframes pp-modal-fade{0%{opacity:0}to{opacity:1}}.pp-modal{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-height:85vh;color:var(--text);flex-direction:column;animation:.14s ease-out pp-modal-pop;display:flex;overflow:hidden;box-shadow:0 24px 60px #00000059}@keyframes pp-modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.pp-modal-cell{max-width:520px}.pp-modal-status{max-width:640px}.pp-modal-head{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 18px;display:flex}.pp-modal-title{font-size:15px;font-weight:600}.pp-modal-sub{color:var(--text-subtle);margin-top:2px;font-size:12px}.pp-modal-close{color:var(--text-subtle);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;font-size:22px;line-height:1}.pp-modal-close:hover{color:var(--text);background:var(--bg-sunken)}.pp-modal-body{flex:1;padding:14px 18px;overflow-y:auto}.pp-modal-foot{border-top:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:8px;padding:12px 18px;display:flex}.pp-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:600}.pp-tone-row{flex-wrap:wrap;gap:6px;display:flex}.pp-tone-btn{border:1px solid var(--border-subtle);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:500}.pp-tone-btn.active{box-shadow:0 0 0 2px color-mix(in oklch, var(--accent) 40%, transparent)}.pp-modal-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.4}.pp-modal-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 18%, transparent);outline:none}.pp-history{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.pp-history-item{border-bottom:1px solid var(--border-subtle);gap:12px;padding:12px 0;display:flex;position:relative}.pp-history-item:last-child{border-bottom:none}.pp-history-bullet{flex-shrink:0;align-items:flex-start;width:60px;padding-top:2px;display:flex}.pp-history-pin{text-transform:uppercase;letter-spacing:.04em;background:color-mix(in oklch, var(--accent) 20%, transparent);color:var(--accent);border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600}.pp-history-body{flex:1;min-width:0}.pp-history-meta{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:4px;font-size:11.5px;display:flex}.pp-history-author{color:var(--text);font-weight:500}.pp-history-date{color:var(--text-subtle)}.pp-history-del{color:var(--text-subtle);cursor:pointer;border-radius:var(--radius-sm);opacity:0;background:0 0;border:none;margin-left:auto;padding:2px;transition:opacity .15s}.pp-history-item:hover .pp-history-del{opacity:1}.pp-history-del:hover{color:#c0392b;background:var(--bg-sunken)}.pp-history-text{white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.45}.pp-history-item.current .pp-history-text{font-weight:500}.schedule{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);overflow:auto hidden}.schedule-head{border-bottom:1px solid var(--border);background:var(--bg-sunken);z-index:2;grid-template-columns:180px repeat(5,1fr);display:grid;position:sticky;top:0}.schedule-head>div{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);border-right:1px solid var(--border-subtle);padding:8px 10px;font-size:11px;font-weight:600}.schedule-head>div:last-child{border-right:none}.schedule-foot{border-top:1px solid var(--border);background:var(--bg-sunken);grid-template-columns:180px repeat(5,1fr);font-size:11px;display:grid}.schedule-foot>div{border-right:1px solid var(--border-subtle);color:var(--text-muted);font-family:var(--font-mono);text-align:right;padding:6px 10px}.schedule-foot>div:first-child{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);font-family:inherit;font-weight:600}.schedule-foot>div:last-child{border-right:none}.schedule-foot .over{color:var(--status-progress);font-weight:600}.schedule-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:180px repeat(5,1fr);min-height:60px;display:grid}.schedule-row:last-child{border-bottom:none}.schedule-person{border-right:1px solid var(--border-subtle);background:var(--bg-sunken);align-items:center;gap:8px;padding:8px 10px;display:flex}.schedule-person .info{flex-direction:column;display:flex}.schedule-person .name{font-size:12.5px;font-weight:500}.schedule-person .cc{color:var(--text-subtle);font-size:10.5px}.schedule-person .load{font-family:var(--font-mono);color:var(--text-muted);margin-left:auto;font-size:10px}.schedule-cell{border-right:1px solid var(--border-subtle);flex-direction:column;gap:3px;padding:4px;display:flex;position:relative}.schedule-cell:last-child{border-right:none}.schedule-cell.today{background:var(--accent-softer)}.schedule-cell.weekend{background:var(--bg-sunken)}.sched-task{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:var(--radius-xs);color:var(--accent-text);cursor:grab;padding:3px 6px;font-size:10.5px;line-height:1.25}.sched-task.amber{background:color-mix(in oklch, var(--status-progress) 10%, white);border-left-color:var(--status-progress);color:var(--status-progress)}.sched-task.green{background:color-mix(in oklch, var(--status-done) 10%, white);border-left-color:var(--status-done);color:var(--status-done)}.sched-task.ts-tone-accent{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-text)}.sched-task.ts-tone-amber{background:color-mix(in oklch, var(--status-progress) 10%, white);border-left-color:var(--status-progress);color:var(--status-progress)}.sched-task.ts-tone-green{background:color-mix(in oklch, var(--status-done) 10%, white);border-left-color:var(--status-done);color:var(--status-done)}.sched-task.ts-tone-violet{color:#6d28d9;background:oklch(95.2676% .0262699 292.717);border-left-color:#8b5cf6}.sched-task.ts-tone-teal{color:#0f766e;background:oklch(95.2027% .0124605 184.704);border-left-color:#0d9488}.sched-task .t-title{font-size:10.5px;font-weight:600}.sched-task .t-meta{color:var(--text-muted);font-size:10px}.sched-task.dragging{opacity:.35}.sched-task:active{cursor:grabbing}.schedule-cell.drop-target{background:color-mix(in oklch, var(--accent) 14%, var(--bg-raised));box-shadow:inset 0 0 0 2px var(--accent)}.schedule-head>.week-break,.schedule-cell.week-break{border-left:2px solid var(--border)}.sched-daycol{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px!important;display:flex!important}.sched-daycol .sched-day-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);font-size:11px;font-weight:600}.sched-daycol .sched-day-sum{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;text-transform:none;font-size:11px}.sched-daycol .sched-day-sum .over{color:var(--status-progress);font-weight:600}.cell-cap{font-size:9.5px;font-family:var(--font-mono);color:var(--text-subtle);letter-spacing:.02em;justify-content:flex-end;min-height:12px;padding:0 2px 2px;display:flex}.cell-cap .cap{color:var(--text-muted)}.cell-cap .cap.over{color:var(--status-progress);font-weight:600}.cell-cap .cap-vac{color:#b15b4a;text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:600}.schedule-cell.vacation{background:var(--bg-sunken);padding:4px}.schedule-cell.vacation.today{background:color-mix(in oklch, var(--accent-softer) 60%, var(--bg-sunken))}.vacation-block{border-radius:var(--radius-sm);border:1px dashed color-mix(in oklch, #b15b4a 35%, var(--border));background:repeating-linear-gradient(45deg, color-mix(in oklch, #e0b4a6 28%, var(--bg-raised)) 0 8px, color-mix(in oklch, #e0b4a6 14%, var(--bg-raised)) 8px 16px);color:#8c4538;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;min-height:56px;font-size:11.5px;font-weight:600;transition:filter .12s;display:flex}.vacation-block:hover{filter:brightness(.97)}.vacation-block .icon{color:#8c4538}.vacation-icon-btn{appearance:none;color:var(--text-subtle);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.vacation-icon-btn:hover{background:var(--bg-sunken);color:#8c4538;border-color:var(--border)}.vacation-icon-btn .icon{width:14px;height:14px}.seg{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);display:inline-flex;overflow:hidden}.seg-btn{appearance:none;color:var(--text-muted);cursor:pointer;border:none;border-right:1px solid var(--border-subtle);background:0 0;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:500}.seg-btn:last-child{border-right:none}.seg-btn:hover{background:var(--bg-sunken);color:var(--text)}.seg-btn.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.vac-day{appearance:none;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-family:inherit;transition:background .12s,border-color .12s,color .12s;display:flex}.vac-day:hover{border-color:color-mix(in oklch, var(--ink) 20%, var(--border))}.vac-day.on{background:color-mix(in oklch, #e0b4a6 30%, var(--bg-raised));color:#7a3b2e;border-color:#b15b4a}.thread{flex-direction:column;gap:14px;display:flex}.msg{gap:10px;display:flex}.msg .msg-body{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex:1;padding:10px 12px}.msg.mine .msg-body{background:var(--accent-softer);border-color:var(--accent-border)}.msg .msg-head{align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.msg .msg-author{font-size:12.5px;font-weight:600}.msg .msg-time{color:var(--text-subtle);font-size:11px;font-family:var(--font-mono)}.msg .msg-text{color:var(--text);font-size:12.5px;line-height:1.5}.msg .msg-text p{margin:0 0 6px}.msg .msg-text p:last-child{margin-bottom:0}.estimate-card{border:1px solid var(--accent-border);background:var(--accent-softer);border-radius:var(--radius-md);padding:14px}.tweak-panel{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-md);z-index:90;font-size:12px;position:fixed;bottom:18px;left:18px}.tweak-head{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:8px 12px;font-weight:600;display:flex}.tweak-body{padding:10px 12px}.tweak-row{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.tweak-row label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);font-size:10px;font-weight:600}.tweak-row select,.tweak-row input[type=text]{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);padding:4px 6px;font-size:12px}.ai-btn{border:1px dashed var(--accent-border);border-radius:var(--radius-sm);background:var(--accent-softer);color:var(--accent-text);cursor:pointer;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.ai-btn:hover{background:var(--accent-soft)}.ai-btn .sparkle{font-size:11px}.modal-backdrop{background:var(--bg-overlay);z-index:200;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--bg-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-width:560px;max-height:90vh;display:flex;overflow:hidden}.modal-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:16px;font-weight:600}.form-row{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.form-row input,.form-row select,.form-row textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);outline:none;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-row textarea{resize:vertical;min-height:80px}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hr{border:none;border-top:1px solid var(--border);margin:16px 0}.flex{display:flex}.items-center{align-items:center}.gap-6{gap:6px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}.text-sm{font-size:11.5px}.text-xs{font-size:10.5px}.fw-500{font-weight:500}.fw-600{font-weight:600}.grow{flex:1}.nowrap{white-space:nowrap}.w-full{width:100%}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.divider-v{background:var(--border);align-self:stretch;width:1px}.empty{text-align:center;color:var(--text-subtle);border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--bg-sunken);padding:32px;font-size:12.5px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.portal .page{max-width:1100px;margin:0 auto}.portal-detail-grid{grid-template-columns:360px 1fr;gap:16px;display:grid}.portal-detail-grid>*{min-width:0}@media (width<=720px){.portal-detail-grid{grid-template-columns:1fr}}.portal-topbar{color:#fff;background:#0f172a;border-bottom-color:#1e293b}.portal-topbar .brand-mark{color:#1e1b4b;background:linear-gradient(135deg,#818cf8 0%,#c4b5fd 100%)}.portal-topbar .brand-name{color:#fff}.portal-topbar .breadcrumbs .crumb{color:#ffffffb8}.portal-topbar .breadcrumbs .crumb.current{color:#fff}.portal-topbar .topbar-search{color:#fff;background:#ffffff14;border:1px solid #ffffff1a}.portal-topbar .topbar-search input{color:var(--text-inverse)}.portal-topbar .topbar-search input::placeholder{color:color-mix(in oklch, var(--text-inverse) 50%, transparent)}.icon{stroke-width:1.75px;flex-shrink:0;width:14px;height:14px}.icon.sm{width:12px;height:12px}.icon.lg{width:16px;height:16px}.sidebar{background:var(--brand-sidebar,var(--bg-raised))}.topbar{background:var(--brand-header,var(--bg-raised));color:var(--brand-header-text,var(--text))}.topbar .breadcrumbs,.topbar .breadcrumbs .crumb{color:color-mix(in oklab, var(--brand-header-text) 65%, transparent)}.topbar .breadcrumbs .crumb.current{color:var(--brand-header-text)}.login-root{background:var(--bg);min-height:100vh;color:var(--text);grid-template-columns:minmax(320px,1fr) minmax(420px,520px);display:grid}@media (width<=860px){.login-root{grid-template-columns:1fr}.login-visual{display:none}.login-form-brand-mobile{display:flex!important}}.login-visual{color:#fff;min-height:100vh;position:relative;overflow:hidden}.login-visual-scrim{background:linear-gradient(#080a198c 0%,#080a19bf 100%);flex-direction:column;justify-content:space-between;gap:32px;padding:40px 44px;display:flex;position:absolute;inset:0}.login-visual-brand .brand{color:#fff}.login-visual-brand .brand-name{color:#fff!important}.login-visual-brand .brand-mark{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);box-shadow:0 8px 22px -4px color-mix(in oklab, var(--accent) 70%, transparent)}.login-visual-quote{max-width:480px}.login-visual-tagline{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin-bottom:14px;font-size:clamp(28px,3.4vw,44px);font-weight:600;line-height:1.08}.login-visual-sub{opacity:.82;max-width:420px;font-size:15px;line-height:1.55}.login-visual-foot{opacity:.7;justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.login-form-wrap{background:var(--bg-raised);justify-content:center;align-items:center;padding:40px 32px;display:flex}.login-form{width:100%;max-width:380px}.login-form-brand-mobile{margin-bottom:24px;display:none}.login-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text);margin:0 0 8px;font-size:26px;font-weight:600}.login-sub{color:var(--text-muted);margin-bottom:26px;font-size:13.5px}.login-sso{color:#fff;border-radius:var(--radius-md);background:#2f2f2f;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:14px;font-weight:500;transition:background .15s,transform .15s;display:inline-flex}.login-sso.hover,.login-sso:hover{background:#1f1f1f}.login-or{text-align:center;color:var(--text-subtle);margin:22px 0 18px;font-size:11.5px;position:relative}.login-or:before,.login-or:after{content:"";background:var(--border);width:calc(50% - 60px);height:1px;position:absolute;top:50%}.login-or:before{left:0}.login-or:after{right:0}.login-or span{background:var(--bg-raised);text-transform:uppercase;letter-spacing:.08em;padding:0 10px}.login-fields{flex-direction:column;gap:14px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field>span{color:var(--text-muted);font-size:12px;font-weight:500}.login-field input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:10px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);background:var(--bg-raised);outline:none}.login-row{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.login-check{cursor:pointer;color:var(--text-muted);align-items:center;gap:6px;display:flex}.login-check input{accent-color:var(--accent)}.login-link{color:var(--accent);font-weight:500;text-decoration:none}.login-link:hover{text-decoration:underline}.login-submit{background:var(--accent);color:#fff;border-radius:var(--radius-md);width:100%;box-shadow:0 2px 4px color-mix(in oklab, var(--accent) 30%, transparent);justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:12px 14px;font-size:14px;font-weight:600;transition:background .15s,transform 50ms;display:inline-flex}.login-submit:hover{background:var(--accent-hover)}.login-submit:active{transform:translateY(1px)}.login-legal{color:var(--text-subtle);text-wrap:pretty;margin-top:22px;font-size:11px;line-height:1.5}.brand-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=980px){.brand-grid{grid-template-columns:1fr}}.brand-upload{border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;background:var(--bg-sunken);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:140px;padding:20px;transition:border-color .15s,background .15s;display:flex}.brand-upload:hover{border-color:var(--accent);background:var(--accent-softer)}.brand-upload.has-image{background:var(--bg-raised);border-style:solid;padding:14px}.brand-upload-preview{object-fit:contain;max-width:100%;max-height:120px}.brand-upload-preview.bg-preview{object-fit:cover;border-radius:var(--radius-sm);aspect-ratio:16/9;width:100%;max-height:180px}.brand-upload-actions{gap:6px;margin-top:8px;display:flex}.brand-upload-empty{color:var(--text-subtle);flex-direction:column;align-items:center;gap:6px;display:flex}.brand-upload-empty .icon{width:28px;height:28px;color:var(--text-faint)}.brand-color-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;padding:10px 0;display:flex}.brand-color-row:last-child{border-bottom:none}.brand-color-swatch{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;flex-shrink:0;width:44px;height:44px;padding:0;position:relative;overflow:hidden}.brand-color-swatch input[type=color]{cursor:pointer;border:none;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;position:absolute;inset:-4px}.brand-color-info{flex:1}.brand-color-info .label{font-size:13px;font-weight:500}.brand-color-info .desc{color:var(--text-subtle);font-size:11.5px}.brand-color-hex{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-sunken);border-radius:var(--radius-xs);text-align:center;border:none;width:90px;padding:4px 8px;font-size:12px}.brand-preview-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-raised);overflow:hidden}.brand-preview-header{background:var(--brand-header);color:var(--brand-header-text);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.brand-preview-body{grid-template-columns:140px 1fr;min-height:180px;display:grid}.brand-preview-sidebar{background:var(--brand-sidebar);color:var(--brand-sidebar-text);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:10px;font-size:11.5px;display:flex}.brand-preview-sidebar .pv-item{border-radius:var(--radius-xs);padding:5px 8px}.brand-preview-sidebar .pv-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:500}.brand-preview-main{flex-direction:column;gap:10px;padding:16px;display:flex}.brand-preview-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.brand-preview-btn.ghost{color:var(--accent);border:1px solid var(--accent-border);background:0 0}.input-text{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text);width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.input-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab, var(--accent) 18%, transparent);outline:none}.day-timeline .entries{min-height:72px;height:auto!important}.day-timeline .entry{flex-direction:column;gap:1px;min-height:72px;display:flex;overflow:hidden;height:auto!important;padding:5px 7px!important}.day-timeline .entry .e-cust{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;font-weight:600;font-family:var(--font-mono);overflow:hidden}.day-timeline .entry .e-title{white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;font-weight:600;overflow:hidden}.day-timeline .entry .e-doc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.day-timeline .entry .e-ticket{color:var(--text-subtle);font-size:9px;font-family:var(--font-mono);margin-top:auto}.day-timeline .entry.pause{background:repeating-linear-gradient(135deg, color-mix(in oklch, var(--muted-soft) 92%, transparent), color-mix(in oklch, var(--muted-soft) 92%, transparent) 8px, color-mix(in oklch, var(--surface) 100%, transparent) 8px, color-mix(in oklch, var(--surface) 100%, transparent) 14px);border:1px dashed var(--border);color:var(--text-muted)}.day-timeline .entry.pause .e-pause{color:var(--text-muted);align-items:center;gap:4px;font-size:10.5px;font-weight:600;display:flex}.day-timeline .entry.pause .e-ticket{color:var(--text-subtle)}tr.pause-row>td{background:color-mix(in oklch, var(--muted-soft) 40%, transparent)}.modal-backdrop{background:color-mix(in oklch, var(--ink) 35%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;justify-content:center;align-items:center;padding:24px;animation:.15s vp-fadeIn;display:flex;position:fixed;inset:0}@keyframes vp-fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);box-shadow:0 24px 60px -12px color-mix(in oklch, var(--ink) 30%, transparent);border-radius:12px;flex-direction:column;width:min(520px,100%);max-height:calc(100vh - 48px);animation:.18s cubic-bezier(.2,.9,.3,1.2) vp-popIn;display:flex}@keyframes vp-popIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.modal.lg{width:min(720px,100%)}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-title{font-size:15px;font-weight:600}.modal-body{padding:18px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--bg-sunken);border-radius:0 0 12px 12px;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.form-grid{gap:12px;display:grid}.form-row{gap:5px;display:grid}.form-row label{color:var(--text-muted);font-size:11px;font-weight:500}.form-row input:not([type=checkbox]),.form-row select,.form-row textarea{border:1px solid var(--border);background:var(--bg-raised);width:100%;color:var(--text);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}html[data-theme=dark] select option,html[data-theme=dark] select optgroup{background:var(--bg-raised);color:var(--text)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 18%, transparent);outline:none}.drawer-backdrop{background:color-mix(in oklch, var(--ink) 30%, transparent);z-index:90;animation:.15s vp-fadeIn;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(520px,100%);box-shadow:-12px 0 40px -8px color-mix(in oklch, var(--ink) 22%, transparent);z-index:95;flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) vp-slideIn;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes vp-slideIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-title{font-size:15px;font-weight:600}.drawer-body{flex:1;gap:16px;padding:20px;display:grid;overflow-y:auto}.toggle-field{border:1px solid var(--border);background:var(--bg-sunken);cursor:pointer;border-radius:8px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.toggle-field:hover{border-color:color-mix(in oklch, var(--ink) 20%, var(--border))}.toggle-field.active{background:color-mix(in oklch, #a855f7 8%, var(--surface));border-color:oklch(62.6846% .232542 303.901/.35)}.toggle-field .tg-switch{background:var(--border);border-radius:999px;flex-shrink:0;width:36px;height:20px;margin-top:2px;transition:background .15s;position:relative}.toggle-field .tg-switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle-field.active .tg-switch{background:#a855f7}.toggle-field.active .tg-switch:after{transform:translate(16px)}.toggle-field .tg-body{flex:1}.toggle-field .tg-label{align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.toggle-field .tg-hint{color:var(--text-muted);margin-top:2px;font-size:11.5px;line-height:1.45}.toggle-field .tg-badge{font-family:var(--font-mono);color:#7e3af2;background:oklch(62.6846% .232542 303.901/.14);border-radius:4px;align-items:center;gap:4px;margin-top:6px;padding:2px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.tp-filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px 6px;display:flex}.tp-filter-chip{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:500;transition:all .12s;display:inline-flex}.tp-filter-chip:hover{border-color:color-mix(in oklch, var(--ink) 18%, var(--border));color:var(--ink)}.tp-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.tp-filter-hint{color:var(--text-subtle);margin-left:auto;font-size:10.5px;font-style:italic}.tp-create-task-row{border:1px dashed color-mix(in oklch, var(--accent) 40%, var(--border));background:color-mix(in oklch, var(--accent) 4%, transparent);color:var(--accent-text,var(--accent));cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin-top:6px;padding:10px 12px;transition:all .12s;display:flex}.tp-create-task-row:hover{background:color-mix(in oklch, var(--accent) 9%, transparent);border-style:solid}.tp-create-icon{background:color-mix(in oklch, var(--accent) 14%, transparent);width:26px;height:26px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tp-create-task-row .tp-task-body .tp-task-name{color:var(--ink);font-size:13px;font-weight:600}.tp-create-task-row .tp-task-body .tp-task-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.tp-adhoc-badge{text-transform:uppercase;letter-spacing:.4px;background:color-mix(in oklch, var(--accent) 14%, transparent);color:var(--accent);vertical-align:middle;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:9.5px;font-weight:600;display:inline-block}.tp-new-task{border:1px solid color-mix(in oklch, var(--accent) 35%, var(--border));background:var(--surface);box-shadow:0 2px 12px -4px color-mix(in oklch, var(--accent) 25%, transparent);border-radius:10px;margin-top:10px;overflow:hidden}.tp-new-task-head{background:color-mix(in oklch, var(--accent) 8%, transparent);color:var(--accent);border-bottom:1px solid color-mix(in oklch, var(--accent) 22%, var(--border));align-items:center;gap:6px;padding:10px 12px;font-size:12.5px;font-weight:600;display:flex}.tp-new-task-body{gap:10px;padding:12px;display:grid}.tp-new-task-foot{border-top:1px solid var(--border);background:var(--bg-sunken);justify-content:flex-end;gap:6px;padding:10px 12px;display:flex}.tp-new-task-me{border:1px solid var(--border);background:var(--bg-sunken);border-radius:6px;align-items:center;gap:6px;padding:7px 10px;display:flex}.modal-backdrop{-webkit-backdrop-filter:blur(3px);z-index:100;background:#0f172a8c;justify-content:center;align-items:center;animation:.15s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-raised,#fff);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:min(560px,100vw - 32px);max-height:calc(100vh - 64px);animation:.18s ease-out modalPopIn;display:flex;overflow:hidden;box-shadow:0 20px 60px -10px #0f172a59,0 8px 20px -6px #0f172a33}@keyframes modalPopIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-head{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.modal-title{color:var(--text);font-size:15px;font-weight:600}.modal-body{background:var(--bg);color:var(--text);padding:16px;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);background:var(--bg-sunken);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.drawer-backdrop{-webkit-backdrop-filter:blur(2px);z-index:90;background:#0f172a73;animation:.15s ease-out modalFadeIn;position:fixed;inset:0}.drawer{background:var(--bg);border-left:1px solid var(--border);z-index:91;flex-direction:column;width:min(560px,100vw - 48px);animation:.22s cubic-bezier(.22,1,.36,1) drawerSlideIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-12px 0 40px -10px #0f172a40}@keyframes drawerSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--border);background:var(--bg-raised,#fff);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.drawer-title{color:var(--text);font-size:16px;font-weight:600}.drawer-body{background:var(--bg);color:var(--text);flex:1;padding:16px 18px;overflow-y:auto}.drawer-foot{border-top:1px solid var(--border);background:var(--bg-sunken);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}:root{--accent-bg:var(--accent-soft)}.vault-detail{padding:20px 22px}.vault-detail-head{border-bottom:1px solid var(--border-subtle);align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.vault-field{border:1px solid var(--border-subtle);background:var(--bg-raised);border-radius:6px;margin-bottom:8px;padding:10px 12px;transition:border-color .12s,background .12s}.vault-field:hover{border-color:var(--border);background:var(--bg)}.vault-field-label{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:10.5px;font-weight:600}.vault-field-row{align-items:center;gap:8px;display:flex}.vault-field-value{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;font-size:13px;overflow:hidden}.vault-field-actions{flex-shrink:0;gap:2px;display:flex}.vault-icon-btn{width:26px;height:26px;color:var(--text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.vault-icon-btn:hover{background:var(--bg-sunken);color:var(--accent)}.vault-notes{border:1px solid var(--border-subtle);background:var(--accent-softer);border-radius:6px;margin-top:14px;padding:12px 14px}.vault-fields{margin-top:4px}.vault-meta{border-top:1px solid var(--border-subtle);flex-direction:column;gap:6px;margin-top:18px;padding-top:14px;display:flex}.vault-meta-row{justify-content:space-between;align-items:center;font-size:11.5px;display:flex}.vault-meta-label{color:var(--text-subtle)}.vault-meta-value{color:var(--text);font-variant-numeric:tabular-nums}.bars{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:8px;padding:8px 4px 0;display:grid}.bar-col{grid-template-rows:auto 1fr auto;place-items:end center;gap:4px;min-width:0;height:100%;display:grid}.bar-value{color:var(--text-subtle);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.bar-fill{border-radius:3px 3px 0 0;align-self:end;width:70%;min-height:3px}.bar-label{color:var(--text-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:10.5px}.bar-label-name{white-space:nowrap;transform-origin:100% 0;color:var(--text-muted);max-width:110px;padding-top:4px;font-size:10.5px;line-height:1.1;position:relative;right:50%;overflow:visible;transform:rotate(-55deg)}.bars-named{padding:8px 4px 48px}.rep-table{border-collapse:collapse;width:100%;font-size:13px}.rep-table thead th{text-align:left;color:var(--text-subtle);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--border-subtle);background:var(--bg-sunken);padding:10px 14px;font-size:11.5px;font-weight:600}.rep-table tbody td,.rep-table tfoot td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px 14px}.rep-table tbody tr:hover{background:var(--bg-sunken)}.rep-table th.num,.rep-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.rep-table tfoot td{border-top:2px solid var(--border);background:var(--bg-sunken);border-bottom:none}.rep-emp{align-items:center;gap:10px;min-width:0;display:flex}.rep-emp-name{color:var(--text);font-weight:600}.rep-emp-role{margin-top:1px}.rep-bar-wrap{width:100%}.rep-bar{background:var(--border-subtle);border-radius:4px;height:8px;position:relative;overflow:hidden}.rep-bar-bill{border-radius:4px 0 0 4px;position:absolute;top:0;bottom:0;left:0}.rep-bar-rest{background:repeating-linear-gradient(-45deg, var(--border), var(--border) 3px, var(--border-subtle) 3px, var(--border-subtle) 6px);position:absolute;top:0;bottom:0}.avatar-circle.sm{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}@media (width<=640px){.modal-backdrop{place-items:stretch stretch;padding:0}.modal,.modal.lg{border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh}}
