@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--font-sans: "Outfit", "Helvetica Neue", sans-serif;--font-display: "Space Grotesk", "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--brand: #0f766e;--brand-strong: #115e59;--brand-light: #14b8a6;--brand-soft: #ccfbf1;--brand-faint: #f0fdfa;--bg: #f4f6fb;--bg-alt: #eef2f7;--surface: #ffffff;--surface-muted: #f2f5f8;--surface-strong: #e9eef5;--surface-hero: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(241, 247, 250, .96));--surface-toolbar: rgba(255, 255, 255, .92);--border: #E5E7EB;--border-strong: #d1d5db;--border-soft: rgba(148, 163, 184, .18);--text: #0f172a;--text-secondary: #334155;--muted: #64748b;--text-disabled: #94a3b8;--success: #16a34a;--success-soft: #dcfce7;--success-strong: #15803d;--danger: #dc2626;--danger-soft: #fee2e2;--danger-strong: #b91c1c;--warning: #d97706;--warning-soft: #fef3c7;--warning-strong: #92400e;--info: #2563eb;--info-soft: #eff6ff;--info-strong: #1d4ed8;--accent: #f59e0b;--purple: #7c3aed;--purple-soft: #ede9fe;--status-active-bg: rgba(22, 163, 74, .11);--status-active-color: #15803d;--status-pending-bg: rgba(245, 158, 11, .12);--status-pending-color: #92400e;--status-inactive-bg: rgba(220, 38, 38, .1);--status-inactive-color: #b91c1c;--status-info-bg: rgba(37, 99, 235, .1);--status-info-color: #1d4ed8;--status-neutral-bg: #f1f5f9;--status-neutral-color: #475569;--status-purple-bg: rgba(124, 58, 237, .1);--status-purple-color: #6d28d9;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-xs: var(--sp-1);--sp-sm: var(--sp-2);--sp-md: var(--sp-3);--sp-lg: var(--sp-4);--sp-xl: var(--sp-5);--sp-2xl: var(--sp-6);--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-body: 13px;--font-size-md: 14px;--font-size-lg: 15px;--font-size-xl: 17px;--font-size-section: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-page-title: 24px;--lh-tight: 1.2;--lh-snug: 1.3;--lh-normal: 1.4;--lh-relaxed: 1.55;--lh-loose: 1.7;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--radius-xs: 3px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-soft: 0 1px 3px rgba(15, 23, 42, .04);--shadow: 0 1px 4px rgba(15, 23, 42, .07);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .1);--shadow-xl: 0 16px 40px rgba(15, 23, 42, .12);--shadow-2xl: 0 24px 64px rgba(15, 23, 42, .15);--elevation-card: var(--shadow-soft);--elevation-raised: var(--shadow-md);--elevation-modal: var(--shadow-2xl);--elevation-hero: 0 16px 42px -24px rgba(15, 23, 42, .28);--btn-h-xs: 24px;--btn-h-sm: 30px;--btn-h-md: 36px;--btn-h-lg: 42px;--btn-h-xl: 48px;--btn-px-xs: 8px;--btn-px-sm: 10px;--btn-px-md: 14px;--btn-px-lg: 18px;--btn-px-xl: 22px;--btn-fs-xs: 11px;--btn-fs-sm: 12px;--btn-fs-md: 13px;--btn-fs-lg: 14px;--input-h-sm: 32px;--input-h-md: 38px;--input-h-lg: 44px;--input-px-sm: 10px;--input-px-md: 12px;--input-px-lg: 14px;--input-fs-sm: 12px;--input-fs-md: 13px;--input-fs-lg: 14px;--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: color-mix(in srgb, var(--brand) 70%, transparent);--touch-target-min: 44px;--skeleton-base: #eef1f6;--skeleton-shine: #dfe4ec;--hero-accent: color-mix(in srgb, var(--brand) 18%, transparent);--hero-accent-strong: color-mix(in srgb, var(--brand-light) 22%, transparent);--page-header-bg: linear-gradient(135deg, rgba(255, 255, 255, .98), rgba(246, 250, 252, .96));--page-header-border: color-mix(in srgb, var(--brand) 10%, var(--border) 90%);--metric-strip-bg: rgba(255, 255, 255, .74);--insight-info-bg: rgba(37, 99, 235, .08);--insight-info-border: rgba(37, 99, 235, .16);--insight-warning-bg: rgba(245, 158, 11, .1);--insight-warning-border: rgba(245, 158, 11, .18);--insight-danger-bg: rgba(220, 38, 38, .08);--insight-danger-border: rgba(220, 38, 38, .18);--insight-success-bg: rgba(22, 163, 74, .08);--insight-success-border: rgba(22, 163, 74, .18);--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-overlay: 400;--z-drawer: 450;--z-modal: 500;--z-toast: 1200}body{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--lh-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s ease,color .2s ease}[data-theme=dark]{--bg: #0f172a;--bg-alt: #1e293b;--surface: #1e293b;--surface-muted: #0f172a;--surface-strong: #334155;--surface-hero: linear-gradient(135deg, rgba(30, 41, 59, .96), rgba(15, 23, 42, .96));--surface-toolbar: rgba(15, 23, 42, .78);--border: #334155;--border-strong: #475569;--border-soft: rgba(148, 163, 184, .18);--text: #f1f5f9;--text-secondary: #cbd5e1;--muted: #94a3b8;--text-disabled: #64748b;--brand: #14b8a6;--brand-strong: #5eead4;--brand-light: #99f6e4;--brand-soft: rgba(20, 184, 166, .14);--brand-faint: rgba(20, 184, 166, .07);--success: #34d399;--success-soft: rgba(52, 211, 153, .12);--success-strong: #6ee7b7;--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--danger-strong: #fca5a5;--warning: #fbbf24;--warning-soft: rgba(245, 158, 11, .14);--warning-strong: #fde68a;--info: #60a5fa;--info-soft: rgba(96, 165, 250, .12);--info-strong: #93c5fd;--accent: #fbbf24;--status-active-bg: rgba(52, 211, 153, .12);--status-active-color: #34d399;--status-pending-bg: rgba(251, 191, 36, .14);--status-pending-color: #fbbf24;--status-inactive-bg: rgba(248, 113, 113, .12);--status-inactive-color: #f87171;--status-info-bg: rgba(96, 165, 250, .12);--status-info-color: #60a5fa;--status-neutral-bg: #1e293b;--status-neutral-color: #94a3b8;--status-purple-bg: rgba(167, 139, 250, .12);--status-purple-color: #a78bfa;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-soft: 0 1px 3px rgba(0, 0, 0, .28);--shadow: 0 1px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .32);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .36);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .4);--shadow-2xl: 0 24px 64px rgba(0, 0, 0, .48);--elevation-hero: 0 18px 44px -24px rgba(0, 0, 0, .62);--skeleton-base: #334155;--skeleton-shine: #475569;--focus-ring-color: color-mix(in srgb, var(--brand-strong) 65%, transparent);--hero-accent: rgba(20, 184, 166, .18);--hero-accent-strong: rgba(94, 234, 212, .12);--page-header-bg: linear-gradient(135deg, rgba(30, 41, 59, .96), rgba(15, 23, 42, .96));--page-header-border: rgba(94, 234, 212, .12);--metric-strip-bg: rgba(15, 23, 42, .54);--insight-info-bg: rgba(96, 165, 250, .1);--insight-info-border: rgba(96, 165, 250, .18);--insight-warning-bg: rgba(251, 191, 36, .1);--insight-warning-border: rgba(251, 191, 36, .18);--insight-danger-bg: rgba(248, 113, 113, .1);--insight-danger-border: rgba(248, 113, 113, .18);--insight-success-bg: rgba(52, 211, 153, .1);--insight-success-border: rgba(52, 211, 153, .18)}[data-theme=dark] body{background:var(--bg);color:var(--text)}[data-theme=dark] .input,[data-theme=dark] .textarea,[data-theme=dark] .select{background:#1e293b;color:#f1f5f9;border-color:#334155}[data-theme=dark] .input::placeholder,[data-theme=dark] .textarea::placeholder{color:#64748b}[data-theme=dark] .topbar{background:#0f172af2;border-bottom-color:#334155}[data-theme=dark] .card{background:#1e293b;border-color:#334155}[data-theme=dark] .card__header{border-bottom-color:#334155}[data-theme=dark] .card__footer{border-top-color:#334155}[data-theme=dark] .card__title{color:#f1f5f9}[data-theme=dark] .table__row{background:#1e293b}[data-theme=dark] .table__row--head{background:#0f172a;box-shadow:0 1px #334155}[data-theme=dark] .table__row:not(.table__row--head):nth-child(odd){background:#0f172a}[data-theme=dark] .table__row:not(.table__row--head){border-color:#33415599}[data-theme=dark] .table__row:not(.table__row--head):hover{background:#14b8a60f;border-color:#14b8a633}[data-theme=dark] .table__empty,[data-theme=dark] .stat-card{background:#1e293b;border-color:#334155}[data-theme=dark] .stat-card__value{color:#f1f5f9}[data-theme=dark] .btn{background:#1e293b;border-color:#475569;color:#cbd5e1;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff0a}[data-theme=dark] .btn:hover:not(:disabled){background:#334155;border-color:#64748b;color:#f1f5f9;box-shadow:0 2px 8px #00000059}[data-theme=dark] .btn--ghost{background:transparent;border-color:#475569;color:#94a3b8}[data-theme=dark] .btn--ghost:hover:not(:disabled){background:#14b8a614;border-color:#14b8a659;color:#5eead4}[data-theme=dark] .ghost-button{color:#94a3b8;border-color:#475569}[data-theme=dark] .ghost-button:hover:not(:disabled){background:#14b8a614;border-color:#14b8a64d;color:#5eead4}[data-theme=dark] .worker-combobox__dropdown{background:#1e293b;border-color:#334155}[data-theme=dark] .worker-combobox__option{color:#f1f5f9}[data-theme=dark] .worker-combobox__option:hover{background:#334155}[data-theme=dark] .list-filters,[data-theme=dark] .multi-select__menu{background:#1e293b;border-color:#334155}[data-theme=dark] .multi-select__option{color:#f1f5f9}[data-theme=dark] .multi-select__option:hover{background:#334155}[data-theme=dark] .select-field__control{background-color:var(--surface);color:var(--text)}[data-theme=dark] .select-field__control option{background:var(--surface);color:var(--text)}[data-theme=dark] .chip--soft{background:#14b8a626;color:var(--brand-strong)}[data-theme=dark] .alert--warning{color:#fbbf24;background:#f59e0b1f;border-color:#f59e0b40}[data-theme=dark] .alert--success{color:var(--success);background:#34d3991a;border-color:#34d39933}[data-theme=dark] .alert--error{color:var(--danger)}[data-theme=dark] .plan-meta{background:var(--surface-muted);color:var(--muted)}[data-theme=dark] .icon-button{background:var(--surface);border-color:var(--border);color:var(--text)}[data-theme=dark] .worker-multi-picker__dropdown{background:var(--surface);border-color:var(--border)}[data-theme=dark] .worker-multi-picker__dropdown-footer{background:var(--surface-muted);border-top-color:var(--border)}[data-theme=dark] .worker-multi-picker__list{background:var(--surface)}[data-theme=dark] .skill-chip{background:var(--surface);color:var(--muted);border-color:var(--border)}[data-theme=dark] .skill-chip--on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong)}[data-theme=dark] .skill-chip:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}[data-theme=dark] .spec-card{background:var(--surface);border-color:var(--border)}[data-theme=dark] .tag-pill{background:var(--brand-soft);color:var(--brand-strong)}[data-theme=dark] .tag-pill__remove{color:var(--brand-strong)}*{box-sizing:border-box}body{margin:0;min-height:100vh}img{max-width:100%;display:block}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-bold);line-height:var(--lh-snug);color:var(--text);margin:0 0 var(--sp-1)}h1{font-size:28px;letter-spacing:-.02em}h2{font-size:var(--font-size-3xl);letter-spacing:-.015em}h3{font-size:var(--font-size-xl);font-weight:var(--fw-semibold)}h4{font-size:var(--font-size-lg);font-weight:var(--fw-semibold)}h5{font-size:var(--font-size-md);font-weight:var(--fw-semibold)}h6{font-size:var(--font-size-body);font-weight:var(--fw-semibold)}p{margin:0 0 var(--sp-2);color:var(--muted);line-height:var(--lh-relaxed)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.page-title{font-family:var(--font-display);font-size:var(--font-size-page-title);font-weight:var(--fw-bold);color:var(--text);line-height:var(--lh-tight);letter-spacing:-.015em}.section-title{font-family:var(--font-display);font-size:var(--font-size-section);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-snug)}.card-title{font-size:var(--font-size-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-snug)}.eyebrow,.overline{font-size:var(--font-size-xs);font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:inline-block;margin-bottom:var(--sp-1);line-height:var(--lh-normal)}.lead{font-size:var(--font-size-lg);font-weight:var(--fw-regular);color:var(--text-secondary);line-height:var(--lh-relaxed)}.text-2xs{font-size:var(--font-size-2xs);line-height:var(--lh-normal)}.text-xs{font-size:var(--font-size-xs);line-height:var(--lh-normal)}.text-sm{font-size:var(--font-size-sm);line-height:var(--lh-normal)}.text-body{font-size:var(--font-size-body)}.text-md{font-size:var(--font-size-md);line-height:var(--lh-normal)}.text-lg{font-size:var(--font-size-lg);line-height:var(--lh-snug)}.text-xl{font-size:var(--font-size-xl);line-height:var(--lh-snug)}.text-muted{color:var(--muted)}.text-secondary{color:var(--text-secondary)}.text-brand{color:var(--brand)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-info{color:var(--info)}.text-disabled{color:var(--text-disabled)}.font-medium{font-weight:var(--fw-medium)}.font-semibold{font-weight:var(--fw-semibold)}.font-bold{font-weight:var(--fw-bold)}.font-mono{font-family:var(--font-mono);font-size:.92em}.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.caption{font-size:var(--font-size-xs);color:var(--muted);line-height:var(--lh-relaxed)}.tabular-nums{font-variant-numeric:tabular-nums;letter-spacing:0}.app-shell{min-height:100vh;position:relative}.skip-link{position:absolute;left:-999px;top:0;z-index:10000;padding:var(--sp-sm) var(--sp-lg);background:var(--brand);color:#fff;font-weight:600;font-size:var(--font-size-sm);border-radius:0 0 var(--radius-md) 0;text-decoration:none}.skip-link:focus{left:8px;top:8px}.sidebar{background:linear-gradient(160deg,#0b1220,#111c33,#0b2436);color:#e2e8f0;padding:14px 10px;display:flex;flex-direction:column;gap:10px;position:fixed;left:0;top:0;height:100vh;width:240px;z-index:40;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.25) transparent}.sidebar::-webkit-scrollbar{width:3px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:#94a3b840;border-radius:3px}.sidebar__brand{display:grid;gap:4px}.sidebar__brand-row{display:flex;align-items:center;gap:8px;min-width:0}.sidebar__logo-img{width:28px;height:28px;object-fit:contain;border-radius:6px;background:#ffffff0f;flex-shrink:0}.sidebar__logo{font-size:15px;font-weight:700;letter-spacing:.03em;min-width:0}.sidebar__meta{font-size:11px;color:#e2e8f099}.sidebar__nav{display:grid;gap:2px}.sidebar__group{display:grid;gap:1px}.sidebar__group-toggle{border:0;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;width:44px;height:var(--touch-target-min);min-height:var(--touch-target-min);min-width:44px;padding:0;border-radius:5px;cursor:pointer;position:static;justify-self:center;align-self:center;margin-right:2px}.sidebar__group-toggle:hover{background:transparent}.sidebar__chevron{width:12px;height:12px;display:block;color:#e2e8f099;transform:rotate(0);transform-origin:50% 50%;transition:transform .2s ease}.sidebar__group-toggle.is-open .sidebar__chevron{transform:rotate(180deg)}.sidebar__section-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e2e8f059;padding:12px 10px 4px;margin-top:4px;pointer-events:none;-webkit-user-select:none;user-select:none}.sidebar__sub-divider{height:1px;background:#94a3b81f;margin:4px 2px}.sidebar__subnav{display:grid;gap:1px;margin-left:8px;margin-right:4px;padding:2px 0 2px 8px;border-left:1px solid rgba(148,163,184,.25)}.sidebar__group-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;min-height:40px;border-radius:6px;padding-right:0;overflow:hidden}.sidebar__group-row .nav-link{display:flex;align-items:center;min-height:40px;padding-right:6px;padding-top:0;padding-bottom:0}.sidebar__group-row.is-active{background:#14b8a626;border-radius:6px}.sidebar__group-row.is-active .nav-link{color:#ccfbf1;background:transparent;font-weight:600}.sidebar__group-row.is-active .sidebar__chevron{color:#ccfbf1}.nav-link{color:#e2e8f0bf;text-decoration:none;font-weight:500;font-size:13px;padding:0 10px;height:40px;display:flex;align-items:center;gap:8px;border-radius:6px;transition:all .15s ease;background:transparent}.nav-link svg,.nav-link .nav-icon{width:16px;height:16px;flex-shrink:0;opacity:.75;transition:opacity .15s ease}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;flex-shrink:0}.nav-link:hover .nav-icon,.nav-link.is-active .nav-icon{opacity:1}.nav-link--sub{padding:0 8px;font-size:12px;border-radius:5px;height:34px}.nav-link:hover{color:#fff;background:#94a3b824}.nav-link.is-active{color:#ccfbf1;background:#14b8a629;font-weight:600}.nav-link--sub.is-active{color:#99f6e4;background:#14b8a621;font-weight:600}.sidebar__footer{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:8px}.nav-link--plan-pinned{flex-wrap:wrap;height:auto;min-height:40px;padding:8px 10px;background:linear-gradient(135deg,#0f766e59,#0ea5e938);border:1px solid rgba(153,246,228,.35);row-gap:4px}.nav-link--plan-pinned:hover{background:linear-gradient(135deg,#0f766e80,#0ea5e952);border-color:#ccfbf173}.nav-link--plan-pinned .nav-link__label{flex:1 1 auto;min-width:0;font-weight:600}.pill--warning{font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#f59e0b;color:#0f172a;margin-left:4px}.app-main{margin-left:240px;display:flex;flex-direction:column;min-width:0;overflow-x:clip;position:relative}.app-main>*{position:relative;z-index:1}.app-main:before{content:"";position:fixed;inset:0 0 auto 240px;height:220px;background:radial-gradient(40% 90% at 18% 0%,color-mix(in srgb,var(--brand) 10%,transparent) 0%,transparent 70%),radial-gradient(36% 88% at 100% 0%,color-mix(in srgb,var(--brand-light) 9%,transparent) 0%,transparent 72%);pointer-events:none;z-index:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px;height:50px;background:#ffffffe6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--brand) 8%,var(--border) 92%);box-shadow:0 8px 24px -24px #0f172a80;position:fixed;top:0;left:240px;right:0;z-index:30}.topbar__title{display:grid;gap:2px}.workspace-switcher{position:relative;margin:2px 0}.workspace-switcher__trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:11px;border:1px solid rgba(148,163,184,.18);background:#ffffff0a;color:#e2e8f0;cursor:pointer;text-align:left;transition:background .14s ease,border-color .14s ease}.workspace-switcher__trigger:hover{background:#ffffff14;border-color:#94a3b857}.workspace-switcher.is-open .workspace-switcher__trigger{background:#ffffff14;border-color:color-mix(in srgb,#2dd4bf 65%,transparent)}.workspace-switcher__icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,#2dd4bf 26%,transparent);color:#ccfbf1;flex-shrink:0}.workspace-switcher__icon svg{width:17px;height:17px}.workspace-switcher__text{display:grid;gap:1px;min-width:0;flex:1}.workspace-switcher__eyebrow{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#e2e8f080}.workspace-switcher__label{font-size:13.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-switcher__caret{width:14px;height:14px;color:#e2e8f099;flex-shrink:0;transition:transform .18s ease}.workspace-switcher.is-open .workspace-switcher__caret{transform:rotate(180deg)}.workspace-switcher__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:transparent;border:0;cursor:default}.workspace-switcher__menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;padding:6px;background:#16233b;border:1px solid rgba(148,163,184,.2);border-radius:12px;box-shadow:0 18px 42px #02061799;animation:ws-menu-in .14s ease}@keyframes ws-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.workspace-switcher__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:#e2e8f0;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .12s ease}.workspace-switcher__item:hover{background:#ffffff12}.workspace-switcher__item.is-active{background:color-mix(in srgb,#2dd4bf 20%,transparent)}.workspace-switcher__item-icon{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:#ffffff0f;color:#e2e8f0d9;flex-shrink:0}.workspace-switcher__item.is-active .workspace-switcher__item-icon{background:color-mix(in srgb,#2dd4bf 38%,transparent);color:#ccfbf1}.workspace-switcher__item-icon svg{width:15px;height:15px}.workspace-switcher__item-label{flex:1;min-width:0}.workspace-switcher__check{width:15px;height:15px;margin-left:auto;color:#2dd4bf;flex-shrink:0}.topbar__title strong{font-size:var(--font-size-md)}.topbar__actions{display:flex;gap:8px;align-items:center}.topbar .ghost-button{color:var(--text);border-color:var(--border)}.topbar .ghost-button:hover{color:var(--text);background:var(--surface-muted);border-color:color-mix(in srgb,var(--border) 60%,var(--text) 15%)}.topbar__title .eyebrow{margin-bottom:0}.icon-button{border:1.5px solid var(--border-strong);background:var(--surface);padding:0 10px;min-width:34px;min-height:34px;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;box-shadow:0 1px 2px #0f172a0f}.icon-button:hover{background:var(--brand-faint);border-color:color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand-strong);box-shadow:0 2px 6px #0f172a1a}.icon-button:active{transform:scale(.97)}.menu-toggle,.overlay{display:none}@media(max-width:1100px){.sidebar{transform:translate(-100%);transition:transform .25s ease;z-index:var(--z-drawer)}.app-shell.is-sidebar-open .sidebar{transform:translate(0)}.app-main{margin-left:0}.app-main:before{inset:0 0 auto 0}.topbar{left:0}.menu-toggle{display:inline-flex;min-width:var(--touch-target-min);min-height:var(--touch-target-min);align-items:center;justify-content:center}.overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;opacity:0;pointer-events:none;transition:opacity .2s ease;border:0;z-index:calc(var(--z-drawer) - 1)}.app-shell.is-sidebar-open .overlay{opacity:1;pointer-events:auto}}@media(max-width:720px){.topbar{padding:0 12px;height:48px}.topbar__actions>.ghost-button{display:none}}.page{padding:var(--sp-3) var(--sp-3) var(--sp-6);padding-top:calc(50px + var(--sp-3))}.page--map{padding:50px var(--sp-3) 0;flex:1;min-height:0;display:flex;flex-direction:column}.page--tasks-workspace-shell,.page--chat-shell{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}.page--chat-shell .page-section{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.page-section{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-3);min-width:0}.page-section>*{min-width:0}.page-section--tight{gap:var(--sp-2)}.page-section--loose{gap:var(--sp-5)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-radius:var(--radius-xl);border:1px solid var(--page-header-border);background:var(--page-header-bg);box-shadow:var(--elevation-hero);position:relative;overflow:hidden}.page-header:before{content:"";position:absolute;inset:0 auto auto 0;width:220px;height:180px;background:radial-gradient(circle at top left,var(--hero-accent) 0%,transparent 72%);pointer-events:none}.page-header__main{display:grid;gap:var(--sp-1);min-width:0;position:relative;z-index:1}.page-title-row{display:flex;align-items:center;gap:2px}.page-header__back{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:5px;margin-left:-5px;border-radius:var(--radius-sm);color:var(--muted);text-decoration:none;line-height:0;transition:color .15s ease,background .15s ease}.page-header__back:hover{color:var(--text);background:var(--surface-muted)}.page-breadcrumbs{margin-bottom:var(--sp-1)}.page-breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1);margin:0;padding:0;list-style:none;font-size:var(--font-size-sm);color:var(--muted)}.page-breadcrumbs li{display:inline-flex;align-items:center;gap:var(--sp-1)}.page-breadcrumbs li:not(:last-child):after{content:"/";color:var(--border);margin-left:var(--sp-1);font-weight:var(--fw-regular)}.page-breadcrumbs a{color:var(--brand);font-weight:var(--fw-medium);text-decoration:none}.page-breadcrumbs a:hover{text-decoration:underline}.page-subtitle{margin:2px 0 0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--lh-relaxed);max-width:72ch}.page-actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center;position:relative;z-index:1}.page-header__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--sp-3)}.page-header__meta-item{display:inline-grid;gap:2px;min-width:108px;padding:8px 10px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid var(--border-soft)}.page-header__meta-item--danger{background:color-mix(in srgb,var(--danger-soft) 60%,var(--surface));border-color:color-mix(in srgb,var(--danger) 18%,transparent)}.page-header__meta-item--warning{background:color-mix(in srgb,var(--warning-soft) 60%,var(--surface));border-color:color-mix(in srgb,var(--warning) 18%,transparent)}.page-header__meta-item--success{background:color-mix(in srgb,var(--success-soft) 60%,var(--surface));border-color:color-mix(in srgb,var(--success) 18%,transparent)}.page-header__meta-label{font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.page-header__meta-value{font-size:var(--font-size-md);line-height:1.2;color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:calc(var(--sp-2) + 2px)}.stat-card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-4);box-shadow:var(--elevation-card);display:grid;gap:var(--sp-1);border:1px solid var(--border);min-height:100px;align-content:center;transition:border-color .12s ease,box-shadow .12s ease}.stat-card__label{font-size:var(--font-size-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);line-height:var(--lh-snug)}.stat-card__value{font-size:var(--font-size-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--text);font-variant-numeric:tabular-nums}.stat-card__delta{font-size:var(--font-size-sm);font-weight:var(--fw-medium);color:var(--muted);margin-top:2px}.stat-card__delta--up{color:var(--success)}.stat-card__delta--down{color:var(--danger)}.stat-card-link{text-decoration:none;display:block}.stat-card-link .stat-card{cursor:pointer}.stat-card-link:hover .stat-card{border-color:#0f766e4d;box-shadow:var(--shadow-md)}.workspace-hero{display:grid;gap:var(--sp-4);padding:clamp(18px,2vw,24px);border-radius:22px;border:1px solid var(--page-header-border);background:var(--surface-hero);box-shadow:var(--elevation-hero);position:relative;overflow:hidden}.workspace-hero:before,.workspace-hero:after{content:"";position:absolute;pointer-events:none;border-radius:999px}.workspace-hero:before{width:220px;height:220px;top:-120px;left:-56px;background:radial-gradient(circle,var(--hero-accent) 0%,transparent 72%)}.workspace-hero:after{width:280px;height:280px;right:-110px;bottom:-180px;background:radial-gradient(circle,var(--hero-accent-strong) 0%,transparent 72%)}.workspace-hero__main,.workspace-hero__body{position:relative;z-index:1}.workspace-hero__main{display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,1.6fr) minmax(220px,.9fr);align-items:start}.workspace-hero__copy{display:grid;gap:var(--sp-3);min-width:0}.workspace-hero__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3);flex-wrap:wrap}.workspace-hero__eyebrow{font-size:10px;font-weight:var(--fw-bold);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-strong)}.workspace-hero__title{margin:0;font-size:clamp(24px,2.7vw,34px);letter-spacing:-.03em}.workspace-hero__subtitle{margin:6px 0 0;font-size:var(--font-size-md);line-height:var(--lh-relaxed);color:var(--text-secondary);max-width:72ch}.workspace-hero__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.workspace-hero__meta{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.workspace-hero__meta-item{display:grid;gap:3px;padding:10px 12px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid var(--border-soft)}.workspace-hero__meta-item--danger{background:color-mix(in srgb,var(--danger-soft) 54%,var(--surface));border-color:color-mix(in srgb,var(--danger) 20%,transparent)}.workspace-hero__meta-item--warning{background:color-mix(in srgb,var(--warning-soft) 54%,var(--surface));border-color:color-mix(in srgb,var(--warning) 20%,transparent)}.workspace-hero__meta-item--success{background:color-mix(in srgb,var(--success-soft) 54%,var(--surface));border-color:color-mix(in srgb,var(--success) 20%,transparent)}.workspace-hero__meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:var(--fw-semibold)}.workspace-hero__meta-value{font-size:var(--font-size-lg);line-height:1.2;color:var(--text)}.workspace-hero__aside{min-width:0}.workspace-hero__body{display:grid;gap:var(--sp-3)}.metric-strip{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr))}.metric-strip__item{display:grid;gap:3px;min-width:0;padding:14px 16px;border-radius:var(--radius-xl);border:1px solid var(--border-soft);background:var(--metric-strip-bg);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.metric-strip__item--link{color:inherit;text-decoration:none;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.metric-strip__item--link:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 20%,var(--border));box-shadow:var(--shadow-md);text-decoration:none}.metric-strip__item--danger{background:color-mix(in srgb,var(--danger-soft) 46%,var(--surface))}.metric-strip__item--warning{background:color-mix(in srgb,var(--warning-soft) 50%,var(--surface))}.metric-strip__item--success{background:color-mix(in srgb,var(--success-soft) 44%,var(--surface))}.metric-strip__item--info{background:color-mix(in srgb,var(--info-soft) 46%,var(--surface))}.metric-strip__label{font-size:10px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.metric-strip__value{font-size:clamp(20px,2vw,28px);letter-spacing:-.03em;line-height:1;color:var(--text);font-family:var(--font-display)}.metric-strip__caption{font-size:var(--font-size-sm);color:var(--muted);line-height:var(--lh-normal)}.insight-callout{border-radius:var(--radius-xl);border:1px solid var(--insight-info-border);background:var(--insight-info-bg);padding:var(--sp-4) var(--sp-5)}.insight-callout--warning{border-color:var(--insight-warning-border);background:var(--insight-warning-bg)}.insight-callout--danger{border-color:var(--insight-danger-border);background:var(--insight-danger-bg)}.insight-callout--success{border-color:var(--insight-success-border);background:var(--insight-success-bg)}.insight-callout__body{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.insight-callout__copy{display:grid;gap:4px;min-width:0}.insight-callout__eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:var(--fw-bold);color:var(--muted)}.insight-callout__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--fw-semibold)}.insight-callout__description{margin:0;font-size:var(--font-size-body);line-height:var(--lh-relaxed);color:var(--text-secondary)}.insight-callout__actions{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}.split-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.split-grid>*{min-width:0}.cols-2,.cols-3,.cols-4{display:grid;gap:var(--sp-3);align-items:start}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-2>*,.cols-3>*,.cols-4>*{min-width:0}.kv-row{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:var(--sp-2) var(--sp-3);align-items:center}.kv-row>*{min-width:0}@media(max-width:768px){.stack-on-mobile{grid-template-columns:1fr!important}}@media(max-width:900px){.cols-3,.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.kv-row{grid-template-columns:1fr;gap:2px}}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4)}.grid-sidebar{display:grid;grid-template-columns:280px 1fr;gap:var(--sp-4);align-items:start}.grid-sidebar--right{grid-template-columns:1fr 280px}.grid-gap{gap:var(--sp-3)}.form-note{margin-top:var(--sp-2);color:var(--muted);font-size:var(--font-size-sm)}.settings-anchor{scroll-margin-top:64px}.dispatch-tasks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.dispatch-task-card{min-width:0}.divider{border:none;border-top:1px solid var(--border);margin:var(--sp-4) 0}.divider--sm{margin:var(--sp-2) 0}.spacer-sm{height:var(--sp-2)}.spacer-md{height:var(--sp-4)}.spacer-lg{height:var(--sp-6)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.flex-1{flex:1;min-width:0}.flex-wrap{flex-wrap:wrap}@media(max-width:900px){.stats-grid,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-sidebar,.grid-sidebar--right{grid-template-columns:1fr}}@media(max-width:1100px)and (min-width:721px){.dispatch-tasks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page{padding:var(--sp-3) var(--sp-3) var(--sp-6);padding-top:calc(56px + var(--sp-3))}.page--tasks-workspace-shell{height:auto;max-height:none;overflow:visible}.page-section{gap:var(--sp-3)}.page-header{padding:var(--sp-4)}.workspace-hero__main{grid-template-columns:1fr}.page--map{padding-top:56px}.dispatch-tasks-grid{grid-template-columns:1fr}.stat-card{padding:calc(var(--sp-2) + 2px) var(--sp-3);min-height:88px}.stat-card__value{font-size:var(--font-size-2xl)}.grid-2{grid-template-columns:1fr}}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.grid-3,.grid-4{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;padding:var(--sp-3)}.page-actions{width:100%;justify-content:flex-start}.workspace-hero{padding:var(--sp-4);border-radius:var(--radius-xl)}.workspace-hero__actions,.insight-callout__actions,.page-header__meta,.workspace-hero__meta{width:100%}}html,body{overscroll-behavior:none}.app-shell{padding-bottom:env(safe-area-inset-bottom,0px)}.topbar{height:calc(50px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}.sidebar{padding-top:calc(14px + env(safe-area-inset-top,0px))}.page{padding-top:calc(50px + env(safe-area-inset-top,0px) + var(--sp-3))}.page--map{padding-top:calc(50px + env(safe-area-inset-top,0px))}.app-main{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}@media(max-width:720px){.topbar{height:calc(48px + env(safe-area-inset-top,0px))}.page,.page--map{padding-top:calc(56px + env(safe-area-inset-top,0px))}}@media(pointer:coarse){.btn--xs,.btn--sm,.btn--icon.btn--xs,.btn--icon.btn--sm{position:relative}.btn--xs:after,.btn--sm:after,.btn--icon.btn--xs:after,.btn--icon.btn--sm:after{content:"";position:absolute;top:50%;right:50%;bottom:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px}.table__cell .btn--xs{min-height:32px;padding:0 10px}}[role=dialog]{padding-bottom:max(16px,env(safe-area-inset-bottom,0px) + 16px)}@media(pointer:coarse){.topbar{min-height:56px}.sidebar__close-btn{min-width:44px;min-height:44px}}.btn,.ghost-button{border:1.5px solid transparent;cursor:pointer;border-radius:var(--radius-md);padding:0 var(--btn-px-md);height:var(--btn-h-md);font-weight:var(--fw-semibold);font-size:var(--btn-fs-md);font-family:var(--font-sans);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;flex-shrink:0;line-height:1;letter-spacing:.01em;position:relative;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .1s ease,opacity .14s ease}.btn:focus-visible,.ghost-button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn{background:var(--surface);color:var(--text-secondary);border-color:var(--border-strong);box-shadow:0 1px 2px #0f172a0f,inset 0 1px #fff9}.btn:hover:not(:disabled){background:var(--surface-muted);border-color:color-mix(in srgb,var(--border-strong) 80%,var(--text) 20%);color:var(--text);box-shadow:0 2px 6px #0f172a1a,inset 0 1px #fff9;transform:translateY(-1px)}.btn:active:not(:disabled){background:var(--surface-strong);transform:translateY(0) scale(.98);box-shadow:inset 0 1px 2px #0f172a1a}.btn--primary{background:linear-gradient(150deg,var(--brand) 0%,var(--brand-strong) 100%);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 2px 8px #0f766e61,0 1px 2px #00000014,inset 0 1px #ffffff26}.btn--primary:hover:not(:disabled){background:linear-gradient(150deg,#0d9488 0%,var(--brand-strong) 100%);box-shadow:0 4px 16px #0f766e7a,0 2px 4px #0000001a;transform:translateY(-1px)}.btn--primary:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 1px 4px #0f766e40}.btn--primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--warning{background:linear-gradient(150deg,#d97706,#b45309);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 2px 8px #d9770661,0 1px 2px #00000014,inset 0 1px #ffffff26}.btn--warning:hover:not(:disabled){background:linear-gradient(150deg,#b45309,#92400e);box-shadow:0 4px 14px #d977067a;transform:translateY(-1px)}.btn--warning:active:not(:disabled){transform:translateY(0) scale(.98)}.btn--warning:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--info{background:linear-gradient(150deg,#2563eb,#1d4ed8);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 2px 8px #2563eb59,0 1px 2px #00000014,inset 0 1px #ffffff26}.btn--info:hover:not(:disabled){background:linear-gradient(150deg,#1d4ed8,#1e40af);box-shadow:0 4px 14px #2563eb73;transform:translateY(-1px)}.btn--info:active:not(:disabled){transform:translateY(0) scale(.98)}.btn--info:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn--ghost:hover:not(:disabled){background:var(--brand-faint);border-color:color-mix(in srgb,var(--brand) 40%,transparent);color:var(--brand-strong)}.btn--ghost:active:not(:disabled){background:var(--brand-soft);transform:scale(.98)}.btn--outline{background:transparent;border-color:color-mix(in srgb,var(--brand) 35%,var(--border) 65%);color:var(--brand-strong)}.btn--outline:hover:not(:disabled){background:var(--brand-faint);border-color:var(--brand);color:var(--brand-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.btn--danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 30%,var(--border) 70%);color:var(--danger)}.btn--danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 10%,transparent)}.btn--danger-solid{background:linear-gradient(150deg,var(--danger) 0%,var(--danger-strong) 100%);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 2px 8px #dc262659,0 1px 2px #00000014,inset 0 1px #ffffff1f}.btn--danger-solid:hover:not(:disabled){background:linear-gradient(150deg,var(--danger-strong) 0%,#7f1d1d 100%);box-shadow:0 4px 14px #dc262673;transform:translateY(-1px)}.btn--danger-solid:active:not(:disabled){transform:translateY(0) scale(.98)}.btn--danger-solid:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--success{background:linear-gradient(150deg,var(--success) 0%,var(--success-strong) 100%);color:#fff;border-color:transparent;font-weight:700;box-shadow:0 2px 8px #16a34a61,0 1px 2px #00000014,inset 0 1px #ffffff26}.btn--success:hover:not(:disabled){background:linear-gradient(150deg,var(--success-strong) 0%,#14532d 100%);box-shadow:0 4px 14px #16a34a73;transform:translateY(-1px)}.btn--success:active:not(:disabled){transform:translateY(0) scale(.98)}.btn--success:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.ghost-button{background:transparent;color:var(--text-secondary);border-color:var(--border);padding:0 var(--btn-px-sm);height:calc(var(--btn-h-md) - 2px)}.ghost-button:hover:not(:disabled){background:var(--brand-faint);border-color:color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand-strong)}.ghost-button:active:not(:disabled){transform:scale(.98)}.sidebar .ghost-button{color:#e2e8f0d9;border-color:#94a3b838}.sidebar .ghost-button:hover{color:#fff;background:#ffffff14;border-color:#e2e8f073}.btn--xs{height:var(--btn-h-xs);padding:0 var(--btn-px-xs);font-size:var(--btn-fs-xs);border-radius:var(--radius-sm);gap:4px}.btn--sm{height:var(--btn-h-sm);padding:0 var(--btn-px-sm);font-size:var(--btn-fs-sm);border-radius:var(--radius-md);gap:4px}.btn--lg{height:var(--btn-h-lg);padding:0 var(--btn-px-lg);font-size:var(--btn-fs-lg);border-radius:var(--radius-md);gap:8px}.btn--xl{height:var(--btn-h-xl);padding:0 var(--btn-px-xl);font-size:15px;font-weight:var(--fw-bold);border-radius:var(--radius-lg);gap:8px}.btn--icon{padding:0;width:var(--btn-h-md);height:var(--btn-h-md);border-radius:var(--radius-md);flex-shrink:0}.btn--icon.btn--sm{width:var(--btn-h-sm);height:var(--btn-h-sm)}.btn--icon.btn--lg{width:var(--btn-h-lg);height:var(--btn-h-lg)}.btn--full{width:100%}.btn:disabled,.ghost-button:disabled{opacity:.42;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn--pro-gated:not(.btn--primary),.ghost-button.btn--pro-gated:not(:disabled){border-color:#14b8a66b;background:linear-gradient(135deg,#0f766e24,#0ea5e917);color:var(--text)}.btn.btn--ghost.btn--pro-gated:hover{background:linear-gradient(135deg,#0f766e33,#0ea5e921);border-color:#14b8a68c}.ghost-button.btn--pro-gated:not(:disabled):hover{background:linear-gradient(135deg,#0f766e2e,#0ea5e91c);border-color:#14b8a673}.btn--primary.btn--pro-gated:not(:disabled){background:linear-gradient(135deg,#0d9488,#0284c7);color:#fff;border:none}.btn--primary.btn--pro-gated:not(:disabled):hover{background:linear-gradient(135deg,#0f766e,#0369a1)}.ghost-button.btn--whatsapp-pro:not(:disabled){background:linear-gradient(135deg,#059669,#0d9488);color:#fff;border:1px solid rgba(5,150,105,.95)}.ghost-button.btn--whatsapp-pro:not(:disabled):hover{background:linear-gradient(135deg,#047857,#0f766e);border-color:#047857}.btn-group{display:inline-flex;align-items:center}.btn-group .btn,.btn-group .ghost-button{border-radius:0}.btn-group .btn:first-child,.btn-group .ghost-button:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.btn-group .btn:last-child,.btn-group .ghost-button:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.btn-group .btn+.btn-group .btn,.btn-group .btn+.btn-group .ghost-button,.btn-group .ghost-button+.btn-group .btn,.btn-group .ghost-button+.btn-group .ghost-button{margin-left:-1px}.form{display:grid;gap:var(--sp-3)}.form-grid{display:grid;gap:var(--sp-2) var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))}.form-field--full{grid-column:1/-1}.form-stack{display:grid;gap:var(--sp-2) var(--sp-3)}.form-field{display:grid;gap:5px;font-size:var(--font-size-body);min-width:0}.form-label{color:var(--muted);font-weight:var(--fw-medium);font-size:var(--font-size-sm);line-height:1.3}.form-label--required:after{content:" *";color:var(--danger)}.form-hint{font-size:var(--font-size-sm);color:var(--text-disabled);margin-top:3px;display:block;line-height:var(--lh-normal)}.form-error-msg{font-size:var(--font-size-sm);color:var(--danger);margin-top:3px;display:block;line-height:var(--lh-normal)}.input,.textarea,.select{width:100%;min-width:0;box-sizing:border-box;padding:0 var(--input-px-md);height:var(--input-h-md);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--input-fs-md);font-family:var(--font-sans);line-height:1;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input::placeholder,.textarea::placeholder{color:var(--text-disabled)}.textarea{height:auto;min-height:90px;padding:var(--sp-2) var(--input-px-md);line-height:var(--lh-relaxed);resize:vertical}.select{width:100%;cursor:pointer}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:color-mix(in srgb,var(--brand) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--surface-muted);color:var(--text-disabled);cursor:not-allowed;border-color:var(--border)}.input--error,.textarea--error,.select--error{border-color:color-mix(in srgb,var(--danger) 55%,transparent)}.input--error:focus,.textarea--error:focus,.select--error:focus{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent)}.input--success,.textarea--success{border-color:color-mix(in srgb,var(--success) 55%,transparent)}.input--sm,.select--sm{height:var(--input-h-sm);padding:0 var(--input-px-sm);font-size:var(--input-fs-sm);border-radius:var(--radius-sm)}.input--lg,.select--lg,.textarea--lg{height:var(--input-h-lg);padding:0 var(--input-px-lg);font-size:var(--input-fs-lg);border-radius:var(--radius-lg)}.textarea--lg{height:auto;min-height:110px;padding:var(--sp-3) var(--input-px-lg)}.input--search{height:40px;padding-left:36px}.input-icon-wrap{position:relative}.input-icon-wrap .input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none;display:inline-flex;align-items:center}.input-icon-wrap .input{padding-left:34px}.select-field{position:relative;width:100%}.select-field__control{width:100%;padding-right:36px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;color:#0f172a}.select-field__icon{position:absolute;right:10px;top:50%;width:14px;height:14px;color:#64748b;transform:translateY(-50%);pointer-events:none;display:inline-flex;align-items:center;justify-content:center}.select-field__icon svg{width:14px;height:14px}.select-field__control option{background:#fff;color:#0f172a}.form-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4, 20px)}.form-actions--start{justify-content:flex-start}.plan-meta{display:grid;gap:4px;font-size:var(--font-size-sm);color:var(--muted);background:var(--surface-muted);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3)}.multi-select{position:relative}.multi-select__trigger{width:100%;text-align:left}.multi-select__menu{position:absolute;z-index:var(--z-dropdown);width:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px;box-shadow:var(--shadow-lg);max-height:260px;overflow:auto}.multi-select__option{display:flex;gap:6px;align-items:flex-start;padding:5px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-body);color:var(--text)}.multi-select__option-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.multi-select__schedule-hint{font-size:var(--font-size-xs);color:var(--muted);font-style:italic;padding:3px 8px 6px;border-bottom:1px solid var(--border);margin:-3px -3px 3px}.multi-select__conflict{font-size:var(--font-size-xs);color:#c2410c;font-weight:var(--fw-medium);line-height:1.35}.multi-select__option input{margin:0}.multi-select__option:hover{background:var(--surface-muted)}.multi-select__option.is-selected{background:var(--brand-soft);color:var(--brand-strong)}.card-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:0 var(--sp-4) var(--sp-3)}.card-filter-bar .form-field{flex:0 1 auto;margin:0;min-width:0}.card-filter-bar .form-label{font-size:11px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0}.card-filter-bar .input{height:var(--btn-h-md);width:auto;min-width:100px}@media(max-width:720px){.card-filter-bar{flex-direction:column;align-items:stretch;padding:var(--sp-3) var(--sp-3)}.card-filter-bar .input{width:100%}}.list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.list-filters__search{flex:1 1 220px;min-width:160px}.list-filters .select-field,.list-filters .ss__wrap{width:auto;flex:0 1 150px;min-width:120px}.list-filters .input,.list-filters .select-field__control,.list-filters .ss__trigger{height:var(--btn-h-md)}.list-filters__clear{flex-shrink:0;white-space:nowrap}.spec-list{display:grid;gap:var(--sp-2)}.spec-list__empty{padding:14px;text-align:center;font-size:var(--font-size-sm);color:var(--muted);font-style:italic;border:1px dashed var(--border);border-radius:var(--radius-sm)}.spec-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);background:var(--surface);display:grid;gap:var(--sp-2) var(--sp-3)}.spec-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.spec-card__title-row{display:flex;align-items:center;gap:var(--sp-2);flex:1}.spec-card__index{width:20px;height:20px;border-radius:50%;background:var(--brand-soft);color:var(--brand-strong);font-size:var(--font-size-xs);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.spec-card__name-input{flex:1;font-weight:var(--fw-semibold)}.spec-card__remove{flex-shrink:0}.spec-card__skills{display:grid;gap:6px;padding-left:28px}.tag-manager{display:grid;gap:var(--sp-2)}.tag-manager__header{display:flex;align-items:baseline;gap:var(--sp-2)}.tag-manager__hint{font-size:var(--font-size-sm);color:var(--muted)}.tag-manager__input-row{display:flex;gap:6px}.tag-manager__input-row .input{flex:1}.tag-manager__tags{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.tag-manager__empty{font-size:var(--font-size-sm);color:var(--muted);font-style:italic}.tag-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;background:var(--brand-soft);color:var(--brand-strong);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--fw-medium)}.tag-pill__remove{background:none;border:none;cursor:pointer;font-size:14px;line-height:1;color:var(--brand-strong);padding:0;opacity:.7}.tag-pill__remove:hover{opacity:1}.crew-header{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}.crew-header__filter-hint{font-size:var(--font-size-sm);color:var(--brand);font-weight:var(--fw-medium)}.skill-picker{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;padding:var(--sp-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);min-height:40px;max-height:140px;overflow-y:auto;-webkit-overflow-scrolling:touch}.skill-chip{padding:3px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--fw-medium);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .12s ease;line-height:1.4}.skill-chip:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.skill-chip--on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-strong);font-weight:var(--fw-semibold)}.worker-multi-picker{display:grid;gap:var(--sp-2)}.worker-multi-picker__anchor{position:relative}.worker-multi-picker__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-overlay);display:flex;flex-direction:column;max-height:min(300px,50vh);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden}.worker-multi-picker__dropdown-footer{flex-shrink:0;padding:6px var(--sp-2);border-top:1px solid var(--border);background:var(--surface-muted)}.form-field:has(.worker-multi-picker--open){position:relative;z-index:600}.worker-multi-picker__chips{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;max-height:6rem;overflow-y:auto;padding:2px;margin:0 -2px}.worker-multi-picker__chip{display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 8px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--fw-medium);background:var(--brand-soft);color:var(--brand-strong);border:1px solid rgba(15,118,110,.25)}.worker-multi-picker__chip-remove{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 2px;font-size:14px;line-height:1;opacity:.75}.worker-multi-picker__chip-remove:hover{opacity:1}.worker-multi-picker__search{width:100%}.worker-multi-picker__list{flex:1;min-height:0;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px;background:var(--surface)}.worker-multi-picker__see-all{justify-self:start;margin-top:0}@media(max-width:900px){.form-grid--2,.form-grid--3,.form-grid--4,.form-grid--5{grid-template-columns:1fr}}.card{background:var(--surface);border-radius:var(--radius-lg);padding:var(--sp-3);box-shadow:var(--elevation-card);border:1px solid var(--border);min-width:0;max-width:100%}.card--flat{box-shadow:none}.card--raised{box-shadow:var(--elevation-raised);border-color:transparent}.card--bordered{border:2px solid var(--border);box-shadow:none}.card--bordered-brand{border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 15%,transparent)}.card--interactive{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.card--interactive:hover{border-color:color-mix(in srgb,var(--brand) 35%,transparent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card--interactive:active{transform:translateY(0);box-shadow:var(--elevation-card)}.card--compact{padding:var(--sp-3)}.section-card--dense{padding:14px 16px;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.card--flush{padding:0;overflow:hidden}.card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.card__header--flush{padding:var(--sp-3) var(--sp-3) var(--sp-2);margin-bottom:0}.card__title{margin:0;font-size:var(--font-size-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-snug)}.card__subtitle{margin:3px 0 0;color:var(--muted);font-size:var(--font-size-sm);line-height:var(--lh-relaxed)}.card__body{min-width:0}.card__footer{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--border)}.card__footer-actions{display:flex;gap:6px;align-items:center}.card__section{padding:var(--sp-4) 0;border-top:1px solid var(--border)}.card__section:first-child{padding-top:0;border-top:none}.card--accent-left{border-left:3px solid var(--brand)}.card--accent-success{border-left:3px solid var(--success)}.card--accent-danger{border-left:3px solid var(--danger)}.card--accent-warning{border-left:3px solid var(--warning)}@media(max-width:640px){.card{padding:var(--sp-3)}.card__header{margin-bottom:calc(var(--sp-2) + 2px);padding-bottom:var(--sp-2)}.card--compact{padding:var(--sp-2)}}.doc-builder{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--sp-4);align-items:start}.doc-builder__main{display:grid;gap:var(--sp-3);min-width:0}.doc-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.doc-section__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.doc-section__heading{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.doc-section__icon{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--brand-faint);color:var(--brand)}.doc-section__icon svg{width:14px;height:14px}.doc-section__title{font-size:var(--font-size-lg);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight)}.doc-section__hint{font-size:var(--font-size-sm);color:var(--muted);margin:1px 0 0}.doc-section__body{padding:var(--sp-4);display:grid;gap:var(--sp-3)}.doc-topbar{display:flex;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}.doc-topbar__field{display:grid;gap:5px}.doc-topbar__field--grow{flex:1 1 auto}.field-label{font-size:var(--font-size-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.doc-number{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.doc-number:focus-within{border-color:color-mix(in srgb,var(--brand) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.doc-number select,.doc-number input{border:0;border-radius:0;height:var(--input-h-md);box-shadow:none}.doc-number select:focus,.doc-number input:focus{box-shadow:none;outline:none}.doc-number select{background:var(--surface-muted);border-right:1px solid var(--border);font-weight:var(--fw-bold);font-size:var(--font-size-body);cursor:pointer;width:auto;padding:0 var(--sp-2)}.doc-number input{width:150px;font-weight:var(--fw-semibold)}.doc-note{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--font-size-body);line-height:var(--lh-normal)}.doc-note--info{background:var(--info-soft);color:var(--info-strong);border:1px solid color-mix(in srgb,var(--info) 22%,transparent)}.doc-note--brand{background:var(--brand-faint);color:var(--brand-strong);border:1px solid var(--brand-soft)}.doc-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-2xs);font-weight:var(--fw-bold);letter-spacing:.02em;padding:2px 8px;border-radius:var(--radius-full);white-space:nowrap}.doc-chip--brand{color:var(--brand-strong);background:var(--brand-soft)}.doc-chip--neutral{color:var(--status-neutral-color);background:var(--status-neutral-bg)}.doc-chip--success{color:var(--success-strong);background:var(--success-soft)}.doc-subpanel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);padding:var(--sp-3);display:grid;gap:var(--sp-2)}.doc-subpanel__title{font-size:var(--font-size-sm);font-weight:var(--fw-semibold);color:var(--text-secondary);display:flex;align-items:center;gap:var(--sp-2)}.doc-subpanel__title small{font-weight:var(--fw-regular);color:var(--muted)}.line-list{display:grid;gap:var(--sp-2)}.line-item{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--sp-3);padding-left:calc(var(--sp-3) + 5px);transition:border-color .15s ease,box-shadow .15s ease}.line-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-md) 0 0 var(--radius-md);background:var(--border-strong);transition:background .15s ease}.line-item:focus-within{border-color:color-mix(in srgb,var(--brand) 45%,transparent);box-shadow:var(--shadow-soft)}.line-item:focus-within:before{background:var(--brand)}.line-item__row{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);align-items:flex-end}.line-item__row+.line-item__row{margin-top:var(--sp-2)}.line-item__index{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--surface-strong);color:var(--muted);font-size:var(--font-size-2xs);font-weight:var(--fw-bold);margin-bottom:9px}.line-item__remove{flex:0 0 auto;width:var(--input-h-md);height:var(--input-h-md);display:grid;place-items:center;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.line-item__remove:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-strong)}.line-item__remove:disabled{opacity:.35;cursor:not-allowed}.field{display:grid;gap:4px;min-width:0}.field__label{font-size:var(--font-size-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.2}.field--grow{flex:1 1 200px}.field--grow-2{flex:2 1 220px}.field--qty{flex:0 1 84px}.field--unit{flex:0 1 88px;max-width:96px}.field--rate{flex:0 1 116px}.field--disc{flex:0 1 100px}.field--disctype{flex:0 1 78px}.field--gst{flex:0 1 84px}.field--hsn{flex:0 1 130px}.field--amount{flex:1 1 110px;text-align:right}.line-item__total{font-weight:var(--fw-bold);font-size:var(--font-size-lg);color:var(--text);padding-top:6px;font-variant-numeric:tabular-nums}.line-item__subnote{font-size:var(--font-size-xs);color:var(--muted);margin-top:2px}.hsn-group{display:flex;gap:4px}.hsn-group .input{min-width:0}.line-add{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border:1px dashed var(--border-strong);background:var(--surface-muted);color:var(--brand);border-radius:var(--radius-md);padding:var(--sp-2);font-size:var(--font-size-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.line-add:hover{border-color:var(--brand);background:var(--brand-faint);color:var(--brand-strong)}.line-empty{text-align:center;padding:var(--sp-5);color:var(--muted);font-size:var(--font-size-body);border:1px dashed var(--border);border-radius:var(--radius-md)}.doc-summary{position:sticky;top:var(--sp-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.doc-summary__head{padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.doc-summary__head-title{font-size:var(--font-size-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.doc-summary__rows{padding:var(--sp-3) var(--sp-4);display:grid;gap:6px}.sum-row{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--font-size-md);color:var(--text-secondary)}.sum-row__label{color:var(--muted)}.sum-row__value{font-variant-numeric:tabular-nums}.sum-row--neg .sum-row__value{color:var(--danger)}.sum-row--pos .sum-row__value{color:var(--success-strong)}.sum-row--strong{font-weight:var(--fw-semibold);color:var(--text)}.sum-divider{height:1px;background:var(--border);margin:var(--sp-1) 0}.sum-divider--dashed{background:none;border-top:1px dashed var(--border)}.doc-summary__total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--brand-faint);border-top:1px solid var(--brand-soft)}.doc-summary__total-label{font-size:var(--font-size-md);font-weight:var(--fw-semibold);color:var(--brand-strong)}.doc-summary__total-value{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--fw-bold);color:var(--brand-strong);font-variant-numeric:tabular-nums}.doc-summary__profit{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);font-size:var(--font-size-sm);border-top:1px solid var(--border);background:var(--surface-muted)}.doc-summary__profit-value{font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.doc-summary__actions{display:grid;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border)}@media(max-width:1080px){.doc-builder{grid-template-columns:1fr}.doc-summary{position:static;box-shadow:var(--shadow-soft)}}@media(max-width:560px){.doc-section__body{padding:var(--sp-3)}.doc-topbar{gap:var(--sp-3)}.doc-number input{width:110px}.field--grow,.field--grow-2{flex-basis:100%}.field--qty,.field--unit,.field--rate,.field--disc,.field--disctype,.field--gst,.field--hsn{flex:1 1 calc(50% - var(--sp-2))}.field--amount{flex:1 1 100%;text-align:left}.line-item__total{padding-top:2px}}.table{display:block;width:100%;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}.table__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(130px,1fr);gap:var(--sp-2);align-items:center;width:100%;padding:0 var(--sp-3);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;min-width:min-content}.table__row+.table__row{margin-top:2px}.table__row--head{background:var(--surface);padding:0 var(--sp-3);font-size:var(--font-size-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);min-height:38px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;box-shadow:0 1px 0 var(--border);margin-bottom:4px;position:sticky;top:0;z-index:var(--z-sticky)}.table__row:not(.table__row--head){border:1px solid color-mix(in srgb,var(--border) 75%,transparent);transition:background-color .12s ease,border-color .12s ease}.table__row:not(.table__row--head):nth-child(odd){background:var(--surface-muted)}.table__row:not(.table__row--head):hover{background:color-mix(in srgb,var(--brand-soft) 20%,var(--surface));border-color:color-mix(in srgb,var(--border) 55%,var(--text) 8%)}.table--compact .table__row{min-height:36px}.table--compact .table__row--head{min-height:32px}.table--compact .table__cell{font-size:var(--font-size-sm)}.table--dense .table__row{min-height:30px;padding:0 var(--sp-2)}.table--dense .table__cell{font-size:var(--font-size-sm)}.table--tasks{overflow-x:auto}.table--tasks .table__row{gap:0;padding:0;grid-template-columns:minmax(280px,2.4fr) minmax(120px,1fr) minmax(110px,.9fr) minmax(112px,auto);width:max(100%,720px);min-width:720px}.table--tasks .table__cell{padding:0 12px}.table--tasks .table__cell:first-child{padding-left:12px;padding-right:8px}.table--tasks .table__cell:last-child{padding-right:12px}.table--tasks .table__cell--actions{justify-content:flex-end;flex-wrap:nowrap}.table--invoices .table__row{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) 90px 80px 100px 100px}.table--invoices.table--has-tasks .table__row{grid-template-columns:minmax(180px,2fr) minmax(100px,1fr) minmax(100px,1fr) 90px 80px 100px 100px}.table--invoices .table__cell--actions{justify-content:flex-end;flex-wrap:nowrap}.table--teams .table__row{grid-template-columns:repeat(7,minmax(90px,1fr));gap:6px 10px;min-width:700px}.table--teams .table__cell--multiline{white-space:normal;line-height:var(--lh-normal);word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.table--teams .table__cell--actions{justify-content:flex-end;flex-wrap:wrap;align-items:center}.table__cell{font-size:var(--font-size-body);font-weight:var(--fw-medium);line-height:var(--lh-normal);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.table__cell--actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:nowrap;min-width:0}.table__cell--right{text-align:right;justify-content:flex-end}.table__cell--center{text-align:center;justify-content:center}.table__cell--mono{font-variant-numeric:tabular-nums;letter-spacing:0}.table__cell-clip{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table__icon-btn{width:30px;height:30px;min-width:30px;padding:0;border-radius:var(--radius-md);transition:background .12s,border-color .12s,color .12s,transform .1s}.table__icon-btn:hover:not(:disabled){background:var(--brand-faint)!important;border-color:color-mix(in srgb,var(--brand) 30%,transparent)!important;color:var(--brand-strong)!important;transform:scale(1.05)}.table__icon-btn:active:not(:disabled){transform:scale(.95)}.table__icon{width:14px;height:14px;display:inline-flex}.table__icon svg{width:14px;height:14px}.table__empty{padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--muted);background:var(--surface-muted);border-radius:var(--radius-sm);border:1px dashed var(--border);font-size:var(--font-size-body);line-height:var(--lh-relaxed)}.table__empty p{margin:0;color:var(--muted)}.user{display:grid;gap:2px}.user__name{font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.user__meta{font-size:var(--font-size-xs);color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:720px){.table{padding-bottom:8px;scroll-padding-inline:var(--sp-2)}.table__row{gap:var(--sp-1);align-items:start;padding:10px var(--sp-2);min-height:40px}.table__row--head{padding:8px var(--sp-2);min-height:0}.table__cell{font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table__cell--actions{position:sticky;right:calc(var(--sp-2) * -1);z-index:2;align-self:stretch;justify-content:flex-end;padding-left:var(--sp-2);background:inherit;box-shadow:-14px 0 12px -12px #0f172a59;white-space:nowrap;overflow:visible;flex-wrap:wrap;row-gap:4px}.table__row--head .table__cell--actions{z-index:3}.table__cell--right,.table__cell--center,.table__cell--mono,.table__cell-clip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user__meta{white-space:normal;overflow:visible;text-overflow:clip}}@media(max-width:640px){.table__row--head{padding:8px var(--sp-2)}.table__empty{padding:18px var(--sp-3)}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table.table{display:table;width:100%;border-collapse:separate;border-spacing:0 2px;font-size:var(--font-size-body);table-layout:auto}table.table thead{position:sticky;top:0;z-index:var(--z-sticky)}table.table thead th{padding:9px 14px;text-align:left;font-size:var(--font-size-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface);box-shadow:0 1px 0 var(--border);white-space:nowrap}table.table thead th:last-child{text-align:right}table.table tbody tr{background:var(--surface);transition:background-color .12s ease}table.table tbody tr:nth-child(odd){background:var(--surface-muted)}table.table tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 20%,var(--surface))}table.table tbody td{padding:10px 14px;vertical-align:middle;font-size:var(--font-size-body);color:var(--text);line-height:var(--lh-normal);border-block:1px solid color-mix(in srgb,var(--border) 75%,transparent)}table.table tbody td:first-child{border-left:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:var(--radius-sm) 0 0 var(--radius-sm)}table.table tbody td:last-child{border-right:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;text-align:right;white-space:nowrap}table.table tbody tr:hover td{border-color:color-mix(in srgb,var(--border) 55%,var(--text) 8%)}table.table.table--compact thead th{padding:7px 12px;font-size:10.5px}table.table.table--compact tbody td{padding:7px 12px;font-size:var(--font-size-sm)}table.table.table--platform-companies{min-width:860px}table.table.table--platform-companies col.col--company{width:18%}table.table.table--platform-companies col.col--owner{width:16%}table.table.table--platform-companies col.col--plan{width:64px}table.table.table--platform-companies col.col--status,table.table.table--platform-companies col.col--modules{width:110px}table.table.table--platform-companies col.col--seats{width:90px}table.table.table--platform-companies col.col--period{width:96px}table.table.table--platform-companies col.col--joined{width:84px}table.table.table--platform-companies col.col--actions{width:80px}table.table.table--platform-renewals{min-width:800px}table.table.table--platform-renewals col.col--company{width:18%}table.table.table--platform-renewals col.col--owner{width:16%}table.table.table--platform-renewals col.col--status{width:110px}table.table.table--platform-renewals col.col--date{width:104px}table.table.table--platform-renewals col.col--urgency{width:90px}table.table.table--platform-renewals col.col--seats{width:72px}table.table.table--platform-renewals col.col--actions{width:140px}table.table.table--platform{min-width:660px}@media(max-width:1100px){table.table.table--sticky-actions th:last-child,table.table.table--sticky-actions td:last-child{position:sticky;right:0;background:inherit;box-shadow:-14px 0 12px -12px #0f172a59}table.table.table--sticky-actions thead th:last-child{background:var(--surface);z-index:calc(var(--z-sticky) + 1)}}[data-theme=dark] table.table tbody tr:hover{background:color-mix(in srgb,var(--brand-soft) 10%,var(--surface))}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.row-actions__inline{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.row-actions__btn--accent{color:#7c3aed}.row-actions__btn--blue{color:#1e40af}.row-actions__btn--whatsapp{color:#16a34a}.row-actions__toggle{display:none;padding:0 8px;font-weight:700;letter-spacing:1px}@media(max-width:1100px){.row-actions__inline{display:none}.row-actions__toggle{display:inline-flex}}.row-actions--menu-only .row-actions__inline{display:none}.row-actions--menu-only .row-actions__toggle{display:inline-flex}.row-actions-menu{position:fixed;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0f172a21,0 2px 6px #0f172a12;min-width:160px;z-index:9999;overflow:hidden;display:flex;flex-direction:column;padding:4px 0}.row-actions-menu__item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 14px;font-size:13px;font-weight:500;line-height:1.4;background:none;border:none;cursor:pointer;color:var(--text);white-space:nowrap;text-decoration:none;transition:background .1s ease}.row-actions-menu__item:hover{background:var(--surface-muted);color:var(--text)}.row-actions-menu__item--danger{color:var(--danger)}.row-actions-menu__item--danger:hover{background:#fff1f2;color:var(--danger)}.row-actions-menu__item--accent{color:#7c3aed}.row-actions-menu__item--accent:hover{background:#f5f3ff;color:#7c3aed}.row-actions-menu__item--blue{color:#1e40af}.row-actions-menu__item--blue:hover{background:#eff6ff;color:#1e40af}.row-actions-menu__item--whatsapp{color:#16a34a}.row-actions-menu__item--whatsapp:hover{background:#f0fdf4;color:#16a34a}.row-actions-menu__item--node{display:block}.row-actions-menu__item--node>*{display:flex!important;align-items:center;width:100%!important;height:auto!important;min-height:0!important;padding:8px 14px!important;font-size:13px!important;font-weight:500!important;background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;letter-spacing:normal!important;text-transform:none!important;cursor:pointer;transition:background .1s ease}.row-actions-menu__item--node:hover>*{background:#f0fdf4!important}.row-actions-menu__divider{height:1px;background:var(--border);margin:4px 0;flex-shrink:0}.context-chips{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}.context-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--fw-medium);background:var(--info-soft, #eff6ff);color:var(--info-strong, #1d4ed8);border:1px solid color-mix(in srgb,var(--info, #2563eb) 20%,transparent);line-height:1.3}.context-chip--green{background:var(--success-soft, #dcfce7);color:var(--success-strong, #15803d);border-color:color-mix(in srgb,var(--success, #16a34a) 20%,transparent)}.context-chip__remove{border:0;background:transparent;cursor:pointer;color:inherit;font-size:15px;line-height:1;padding:0;opacity:.65;display:inline-flex;align-items:center}.context-chip__remove:hover{opacity:1}.list-page-toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:8px 12px;margin-bottom:var(--sp-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.toolbar-card{background:var(--surface-toolbar);border:1px solid color-mix(in srgb,var(--brand) 8%,var(--border) 92%);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toolbar-card--sticky{position:sticky;top:calc(50px + var(--sp-2));z-index:calc(var(--z-sticky) - 10)}.list-page-toolbar .list-filters{flex:1 1 auto;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.list-page-toolbar .list-filters::-webkit-scrollbar{display:none}.list-page-toolbar .list-filters .list-filters__search{flex:1 1 96px;min-width:72px;width:auto}.list-page-toolbar .list-filters .ss__wrap{flex:0 0 auto;width:128px;min-width:96px}.list-page-toolbar .list-filters input[type=date],.list-page-toolbar .list-filters .list-filters__date{flex:0 0 auto;width:112px;min-width:0;font-size:12px;padding-left:6px;padding-right:6px}.list-page-toolbar .list-filters>.btn,.list-page-toolbar .list-filters .list-filters__clear{flex:0 0 auto;white-space:nowrap;padding-left:8px;padding-right:8px;font-size:12px}.list-page-toolbar .list-filters .ss__trigger,.list-page-toolbar .list-filters .input{font-size:12px;padding-left:8px;padding-right:8px}.list-page-toolbar .list-filters--dense .ss__wrap{width:112px;min-width:84px}.list-page-toolbar .list-filters--dense input[type=date],.list-page-toolbar .list-filters--dense .list-filters__date{width:104px}.list-page-toolbar__meta{flex:0 0 auto;font-size:var(--font-size-sm);color:var(--muted);font-weight:var(--fw-medium);white-space:nowrap}@media(max-width:640px){.list-page-toolbar{flex-wrap:wrap;align-items:center;padding:8px 10px;gap:6px}.list-page-toolbar .list-filters{flex:1 1 100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow-x:visible}.list-page-toolbar .list-filters .list-filters__search{grid-column:1/-1;width:100%;min-width:0}.list-page-toolbar .list-filters .ss__wrap{width:100%;min-width:0}.list-page-toolbar .list-filters input[type=date],.list-page-toolbar .list-filters .list-filters__date{width:100%}.list-page-toolbar .list-filters>.btn,.list-page-toolbar .list-filters .list-filters__clear{width:100%;justify-content:center}.list-page-toolbar__meta{margin-left:auto;font-size:11px}.list-page-toolbar .list-filters--dense{overflow-x:visible}}.list-empty-state{padding:var(--sp-2xl) var(--sp-lg);text-align:center;color:var(--muted);background:var(--surface-muted);border-radius:var(--radius-sm);border:1px dashed var(--border)}.list-empty-state__title{margin:0 0 var(--sp-sm);font-size:var(--font-size-md);font-weight:600;color:var(--text)}.list-empty-state__desc{margin:0 0 var(--sp-lg);font-size:var(--font-size-body);line-height:1.5;color:var(--muted)}.list-empty-state__actions{display:flex;gap:var(--sp-sm);justify-content:center;flex-wrap:wrap}.bulk-action-bar{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;padding:10px 14px;margin-bottom:var(--sp-3);border-radius:14px;background:color-mix(in srgb,var(--brand) 8%,var(--surface) 92%);border:1px solid color-mix(in srgb,var(--brand) 26%,var(--border) 74%);box-shadow:0 12px 28px -22px #0f172a66;position:sticky;top:8px;z-index:5}.bulk-action-bar__count{font-size:13px;font-weight:700;color:var(--text)}.bulk-action-bar__actions{display:flex;align-items:center;gap:var(--sp-sm);flex-wrap:wrap;flex:1}.fsm-select-row{cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.fsm-select-row.is-active{background:linear-gradient(180deg,#eff6ffeb,#fffffffa);border-color:#60a5fa6b;box-shadow:inset 0 0 0 1px #60a5fa42}.table__cell--check{display:flex;align-items:center;justify-content:center}.table--customers .table__row{grid-auto-flow:row;grid-template-columns:34px minmax(160px,2fr) minmax(110px,1fr) minmax(90px,1fr) minmax(120px,1.4fr);min-width:620px}.table--workers-select .table__row{grid-auto-flow:row;grid-template-columns:34px minmax(200px,2.4fr) 110px minmax(120px,auto);min-width:560px}.table--workers-select .table__cell--actions{justify-content:flex-end;flex-wrap:nowrap}.status{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--fw-semibold);display:inline-flex;align-items:center;gap:4px;line-height:1.4;white-space:nowrap}.status--active{background:var(--status-active-bg);color:var(--status-active-color)}.status--inactive,.status--cancelled{background:var(--status-inactive-bg);color:var(--status-inactive-color)}.status--pending,.status--warning{background:var(--status-pending-bg);color:var(--status-pending-color)}.status--info,.status--sent,.status--received{background:var(--status-info-bg);color:var(--status-info-color)}.status--neutral,.status--draft{background:var(--status-neutral-bg);color:var(--status-neutral-color)}.status--purple{background:var(--status-purple-bg);color:var(--status-purple-color)}.status--success,.status--paid,.status--approved{background:var(--status-active-bg);color:var(--status-active-color)}.status--overdue{background:var(--status-inactive-bg);color:var(--status-inactive-color)}.status--partial,.status--partially-paid{background:var(--status-pending-bg);color:var(--status-pending-color)}.status__dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.chip{padding:3px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--fw-semibold);background:var(--brand-soft);color:var(--brand-strong);display:inline-flex;align-items:center;justify-content:center;line-height:1.4;white-space:nowrap}.chip--soft{background:#0f766e1f;color:var(--brand-strong)}.chip--neutral{background:var(--surface-strong);color:var(--muted)}.chip--success{background:var(--success-soft);color:var(--success-strong)}.chip--danger{background:var(--danger-soft);color:var(--danger-strong)}.chip--warning{background:var(--warning-soft);color:var(--warning-strong)}.chip--info{background:var(--info-soft);color:var(--info-strong)}.chip--purple{background:var(--purple-soft);color:var(--purple)}.chip--dispatch-status{border-radius:var(--radius-xs);padding:3px 8px;text-transform:capitalize;line-height:1.2}.chip-group{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chip--toggle{display:inline-flex;gap:6px;align-items:center;cursor:pointer;border:1px solid transparent}.chip--toggle input{margin:0}.chip--toggle.is-active{background:var(--brand-strong);color:#fff}.badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:var(--radius-xs);font-size:var(--font-size-2xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1.5}.badge--brand{background:var(--brand);color:#fff}.badge--success{background:var(--success);color:#fff}.badge--danger{background:var(--danger);color:#fff}.badge--warning{background:var(--warning);color:#fff}.badge--info{background:var(--info);color:#fff}.badge--neutral{background:var(--surface-strong);color:var(--muted)}.trial-usage-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--fw-bold);letter-spacing:.02em;border:1px solid rgba(15,118,110,.35);background:linear-gradient(135deg,#0f766e24,#0ea5e914);color:var(--text)}.trial-usage-chip--warn{border-color:#f59e0b8c;background:#f59e0b24;color:#92400e}.trial-usage-chip--danger{border-color:#dc262673;background:#fee2e2d9;color:#991b1b}.alert{display:block;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--fw-medium);border:1px solid transparent;line-height:var(--lh-relaxed)}.alert--error{background:#dc262614;border-color:#dc262633;color:var(--danger)}.alert--warning{background:#f59e0b1a;border-color:#f59e0b33;color:#b45309}.alert--success{background:#16a34a1a;border-color:#16a34a40;color:#15803d}.alert--info{background:#2563eb14;border-color:#2563eb33;color:var(--info-strong)}.alert--neutral{background:var(--surface-muted);border-color:var(--border);color:var(--muted)}.alert--toast{position:fixed;top:58px;right:14px;z-index:var(--z-toast);min-width:280px;max-width:min(460px,100vw - 36px);box-shadow:var(--shadow-xl);animation:alertToastInOut 3s ease forwards;pointer-events:none}@keyframes alertToastInOut{0%{opacity:0;transform:translateY(-8px)}8%{opacity:1;transform:translateY(0)}82%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.banner{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);font-size:var(--font-size-body);font-weight:var(--fw-medium);border:1px solid transparent}.banner__body{flex:1;min-width:0}.banner__actions{flex-shrink:0;display:flex;gap:var(--sp-2)}.banner--warning{background:var(--warning-soft);border-color:#d977064d;color:var(--warning-strong)}.banner--error{background:var(--danger-soft);border-color:#dc262640;color:var(--danger-strong)}.banner--success{background:var(--success-soft);border-color:#16a34a40;color:var(--success-strong)}.banner--info{background:var(--info-soft);border-color:#2563eb33;color:var(--info-strong)}.perm-editor__full-row{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding:4px 0}.perm-editor__checkbox{width:18px;height:18px;flex-shrink:0;margin:0;cursor:pointer;accent-color:var(--brand)}.perm-editor__full-label{margin:0;line-height:1.35;cursor:pointer;font-weight:600;font-size:.95rem}.perm-editor__hint{font-weight:400;color:var(--muted);font-size:.875rem}.perm-editor__toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.perm-editor__table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}.perm-editor__table{width:100%;border-collapse:collapse;font-size:.875rem}.perm-editor__th{text-align:left;padding:10px 12px;background:var(--surface-muted);font-weight:600;border-bottom:1px solid var(--border)}.perm-editor__th--crud{text-align:center;width:72px}.perm-editor__th--feature{min-width:200px}.perm-editor__td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.perm-editor__td--feature{font-weight:500}.perm-editor__td--check{text-align:center}.perm-editor__cell-checkbox{width:17px;height:17px;margin:0;cursor:pointer;accent-color:var(--brand)}.perm-editor__na{color:var(--muted);font-size:.8rem;-webkit-user-select:none;user-select:none}.perm-editor__section-row .perm-editor__section-cell{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--muted);padding-top:14px;padding-bottom:6px;background:var(--surface-strong)}.perm-editor__table tbody tr:last-child .perm-editor__td{border-bottom:none}.dispatch-tasks-grid{display:grid;gap:12px;padding:4px 0}.dispatch-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;background:var(--surface);display:grid;gap:8px;min-width:0;transition:border-color .12s ease}.dispatch-card:hover{border-color:color-mix(in srgb,var(--border) 55%,var(--text) 8%)}.dispatch-card__meta{display:grid;gap:6px;min-width:0}.dispatch-card__title{font-size:14px;font-weight:600;line-height:1.3}.dispatch-card__tags{display:flex;flex-wrap:wrap;gap:5px}.dispatch-card__phone{font-size:12px;color:var(--muted)}.dispatch-chip--assignment{border:1px solid transparent}.dispatch-chip--assignment-assigned{background:#0f766e1f;color:#0f766e;border-color:#0f766e33}.dispatch-chip--assignment-muted{background:#64748b1f;color:#475569;border-color:#64748b2e}.chip--spec{background:#6366f11a;color:#6366f1;font-size:11px;padding:3px 9px;border-radius:999px;font-weight:600}.chip--skill{background:var(--brand-soft);color:var(--brand-strong);font-size:11px;padding:3px 9px;border-radius:999px;font-weight:500}.chip--status-open{background:#6366f11a;color:#6366f1;font-size:12px;padding:4px 10px;border-radius:8px;font-weight:600;text-transform:capitalize}.chip--status-in_progress{background:#f59e0b1f;color:#d97706;font-size:12px;padding:4px 10px;border-radius:8px;font-weight:600;text-transform:capitalize}.chip--status-visit_failed{background:#ef44441f;color:#dc2626;font-size:12px;padding:4px 10px;border-radius:8px;font-weight:600;text-transform:capitalize}.chip--status-completed{background:#16a34a1f;color:var(--success);font-size:12px;padding:4px 10px;border-radius:8px;font-weight:600;text-transform:capitalize}.dispatch-card__crew{display:grid;gap:8px;min-width:0}.dispatch-card__crew>*{min-width:0}.dispatch-card__inputs{grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px!important}.dispatch-card__inputs .form-label{margin-bottom:2px;font-size:11px}.dispatch-card__crew .form-label,.dispatch-card__crew .card__subtitle{overflow-wrap:anywhere}.dispatch-card__inputs .input,.dispatch-card__inputs .select-field__control,.dispatch-card__crew .input,.dispatch-card__crew .select-field__control,.dispatch-card__crew select{min-height:36px;font-size:14px;padding-top:6px;padding-bottom:6px;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.dispatch-card__inputs .form-field{min-width:0;max-width:100%}.dispatch-card__inputs .input{width:100%}.dispatch-card__crew select,.dispatch-card__crew .input[type=time],.dispatch-card__crew .input[type=number]{overflow:hidden;text-overflow:ellipsis}.dispatch-card__empty{font-size:13px;color:var(--muted);font-style:italic}.dispatch-card__crew-list{display:flex;flex-wrap:wrap;gap:6px}.dispatch-crew-chip{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--border);border-radius:999px;font-size:12px;overflow:hidden;background:var(--surface-muted)}.dispatch-crew-chip--main{border-color:var(--brand);background:var(--brand-soft)}.dispatch-crew-chip__name{padding:4px 10px;background:none;border:none;cursor:pointer;font-size:12px;font-weight:500;color:inherit;white-space:nowrap}.dispatch-crew-chip--main .dispatch-crew-chip__name{color:var(--brand-strong);font-weight:600}.dispatch-crew-chip__remove{padding:4px 8px 4px 2px;background:none;border:none;cursor:pointer;font-size:14px;color:var(--muted);line-height:1}.dispatch-crew-chip__remove:hover{color:var(--danger)}.dispatch-card__picker-row{position:relative}.dispatch-card__add-btn{font-size:13px;font-weight:400;line-height:1.2;min-height:34px;width:100%;box-sizing:border-box;justify-content:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);box-shadow:none;text-align:left;cursor:pointer}.dispatch-card__add-btn:hover{transform:none;border-color:#0f766e59}.dispatch-card__add-btn:focus-visible{outline:none;border-color:#0f766e99;box-shadow:0 0 0 3px #0d948826}.dispatch-card__add-btn:disabled{cursor:not-allowed;opacity:.7}.dispatch-selection-panel{display:grid;gap:6px;align-content:start}.dispatch-selection-panel__header{display:block}.dispatch-selection-panel__summary{min-height:34px;font-size:13px;font-weight:400;color:var(--text);line-height:1.4;padding:0 10px;box-sizing:border-box}.dispatch-preview-table-wrap{max-width:100%;overflow-x:auto}.dispatch-preview-table{min-width:880px}.dispatch-preview-table .dispatch-preview-table__row{grid-template-columns:50px minmax(260px,2fr) 110px 120px 120px 120px 120px minmax(190px,1.3fr);align-items:start}.dispatch-preview-table .dispatch-preview-table__row--head{grid-template-columns:50px minmax(260px,2fr) 110px 120px 120px 120px 120px minmax(190px,1.3fr)}.dispatch-preview-table .dispatch-preview-table__cell--task{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}.dispatch-preview-table .dispatch-preview-table__cell--coords{white-space:normal;word-break:break-word}.dispatch-selection-panel__summary--control{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);display:flex;align-items:center;justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dispatch-selection-panel__body{max-height:220px;overflow-y:auto}.dispatch-picker{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow);min-width:100%;width:100%;max-height:300px;display:flex;flex-direction:column;overflow:hidden;padding:0}.dispatch-picker .dispatch-picker__search-row,.dispatch-picker .dispatch-picker__hint{flex-shrink:0}.dispatch-picker>.dispatch-picker__option,.dispatch-picker>.dispatch-picker__list-scroll{overflow-y:auto;flex:1 1 auto}.dispatch-picker__search-row{padding:6px 4px 4px;border-bottom:1px solid var(--border);margin-bottom:2px}.dispatch-picker__search{width:100%;font-size:12px;padding:5px 8px;height:auto}.dispatch-picker__hint{font-size:11px;color:var(--muted);padding:4px 8px 6px;border-bottom:1px solid var(--border);margin-bottom:4px;font-style:italic}.dispatch-picker__list-scroll{overflow-y:auto;flex:1 1 auto}.dispatch-picker__empty{font-size:12px;color:var(--muted);padding:8px 10px}.dispatch-picker__on-leave-badge{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;background:#fef9c3;color:#854d0e;vertical-align:middle;letter-spacing:.02em}.dispatch-picker__conflict{font-size:11px;color:#c2410c;font-weight:500;line-height:1.35;margin-top:2px}.dispatch-picker__option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:13px}.dispatch-picker__option:hover{background:var(--surface-muted)}.dispatch-picker__option.is-selected{background:var(--brand-soft);color:var(--brand-strong)}.dispatch-picker__option input[type=checkbox]{flex-shrink:0}.dispatch-picker__label{display:flex;flex-direction:column;gap:1px}.dispatch-picker__sub{font-size:11px;color:var(--muted);font-weight:400}.is-selected .dispatch-picker__sub{color:var(--brand)}.dispatch-card__footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.dispatch-card__picker-row,.dispatch-selection-panel,.dispatch-card__crew-list{min-width:0}.dispatch-card__save{font-size:12px;padding:5px 14px}.dispatch-card__open{font-size:12px;padding:5px 12px}@media(max-width:1280px){.dispatch-card__inputs{grid-template-columns:1fr}}@media(max-width:720px){.dispatch-card__inputs{grid-template-columns:1fr}}.dispatch-card__field-error{font-size:13px}.dispatch-card__error-list{margin:0;padding-left:1.15em;line-height:1.45;color:var(--text)}.dispatch-card__error-list li+li{margin-top:4px}.dispatch-board__workspace{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start;min-height:0}.dispatch-board__sidebar{position:sticky;top:20px}.dispatch-board__content{min-width:0;max-height:calc(100vh - 140px);display:flex;flex-direction:column;overflow:hidden;padding-right:6px}.dispatch-board__content-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto}.dispatch-map-legend{display:grid;gap:8px;margin-top:12px}.dispatch-map-legend__item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border)}.dispatch-map-legend__item--expandable{display:grid;gap:8px}.dispatch-map-legend__toggle{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.dispatch-map-legend__swatch{width:12px;height:12px;border-radius:999px;flex-shrink:0}.dispatch-map-legend__label{font-size:13px;font-weight:600;color:var(--text)}.dispatch-map-legend__count{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}.dispatch-map-legend__chevron{color:var(--muted);font-weight:700}.dispatch-map-legend__tasks{display:grid;gap:6px}.dispatch-map-legend__task-row{display:grid;grid-template-columns:18px 24px minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:var(--surface)}.dispatch-map-legend__task-index{font-size:11px;color:var(--muted);text-align:center}.dispatch-map-legend__task-title{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-map-legend__task-time{font-size:11px;color:var(--muted)}.dispatch-map-legend__task-changed{font-size:10px;font-weight:600;color:#0f766e;background:#0f766e1f;border:1px solid rgba(15,118,110,.2);border-radius:999px;padding:2px 6px}.dispatch-map-legend__actions{display:flex;justify-content:flex-end}@media(max-width:1080px){.dispatch-board__workspace{grid-template-columns:1fr}.dispatch-board__sidebar{position:static}.dispatch-board__content{max-height:none;overflow:visible;padding-right:0}}.bulk-operations-card{overflow:hidden}.bulk-operations-card__bar{padding:0 1.25rem;border-bottom:1px solid var(--border)}.bulk-operations-card__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:12px 0;margin:0;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;color:inherit}.bulk-operations-card__toggle-text{display:flex;flex-direction:column;gap:2px;min-width:0}.bulk-operations-card__toggle-meta{font-size:13px;color:var(--muted)}.bulk-operations-card__hint{margin:0;display:inline;font-size:inherit}.bulk-operations-card__chevron{flex-shrink:0;font-size:16px;font-weight:700;line-height:1;transition:transform .15s ease;color:var(--muted)}.bulk-operations-card__chevron--collapsed{transform:rotate(180deg)}.bulk-operations-card--collapsed .bulk-operations-card__bar{border-bottom:none}.dispatch-board-toolbar__bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.dispatch-board-toolbar__field{display:flex;flex-direction:column;gap:4px;flex:0 1 160px;min-width:130px}.dispatch-board-toolbar__label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.dispatch-board-toolbar__field .input{height:var(--btn-h-md);margin:0}.dispatch-board-toolbar__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.dispatch-board-toolbar__hint{margin:8px 0 0;font-size:var(--font-size-sm);color:var(--muted);line-height:var(--lh-relaxed)}.dispatch-queue-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px;width:100%;min-width:0;flex-shrink:0;box-sizing:border-box;margin-bottom:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);overflow:visible}.dispatch-queue-toolbar__field{display:flex;flex-direction:column;gap:4px;flex:2 1 220px;min-width:min(100%,160px);max-width:100%}.dispatch-queue-toolbar__field--compact{flex:0 1 180px}.dispatch-queue-toolbar__field .form-label{margin:0;font-size:11px}.dispatch-queue-toolbar__search,.dispatch-queue-toolbar__field .input{width:100%;min-width:0;box-sizing:border-box}.dispatch-queue-toolbar__actions{display:flex;align-items:center;flex:0 0 auto;margin-left:auto}.bulk-operations-layout{display:grid;gap:16px 20px;padding:0 1.25rem 1rem;align-items:start}@media(min-width:920px){.bulk-operations-layout--with-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}.bulk-operations-layout__form{min-width:0;display:flex;flex-direction:column;gap:10px}.bulk-operations-layout__actions{display:flex;gap:8px;flex-wrap:wrap}.bulk-operations-layout__preview{min-width:0}.bulk-schedule-preview{--bulk-preview-radius: 10px;max-height:min(260px,38vh);overflow-x:auto;overflow-y:auto;border:1px solid var(--border);border-radius:var(--bulk-preview-radius);background:var(--surface);box-shadow:0 1px 2px #0f172a0f}.bulk-schedule-preview__header{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--text);line-height:1.35}.bulk-schedule-preview__thead{display:grid;grid-template-columns:32px 1fr minmax(6.75rem,auto) 36px;align-items:center;gap:8px;padding:8px 10px;position:sticky;top:0;z-index:2;background:var(--surface-muted);border-bottom:1px solid var(--border);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.bulk-schedule-preview__th{min-width:0}.bulk-schedule-preview__th--idx{text-align:center}.bulk-schedule-preview__th--time{text-align:right;font-variant-numeric:tabular-nums}.bulk-schedule-preview__th--action{width:36px;padding:0;pointer-events:none}.bulk-schedule-preview__row{display:grid;grid-template-columns:32px 1fr minmax(6.75rem,auto) 36px;align-items:center;gap:8px;min-height:38px;padding:6px 10px;border-bottom:1px solid var(--border);cursor:grab;transition:background-color .12s ease}.bulk-schedule-preview__row:nth-child(2n){background:color-mix(in srgb,var(--surface-muted) 45%,var(--surface))}.bulk-schedule-preview__row:last-child{border-bottom:none}.bulk-schedule-preview__row:hover{background:color-mix(in srgb,var(--surface-muted) 65%,var(--surface))}.bulk-schedule-preview__row:active{cursor:grabbing}.bulk-schedule-preview__row--warn{box-shadow:inset 3px 0 #ea580c}.bulk-schedule-preview__warnings{grid-column:1/-1;margin:4px 0 2px;padding:0 0 0 1.1rem;font-size:11px;line-height:1.4;color:#9a3412;list-style:disc}.bulk-schedule-preview__warnings li+li{margin-top:2px}.bulk-schedule-preview__idx{display:inline-flex;align-items:center;justify-content:center;justify-self:center;width:24px;height:24px;border-radius:7px;background:var(--surface);border:1px solid var(--border);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.bulk-schedule-preview__title{min-width:0;font-size:13px;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bulk-schedule-preview__time{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;white-space:nowrap}.bulk-schedule-preview__remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;transition:color .12s ease,background-color .12s ease}.bulk-schedule-preview__remove:hover{color:#dc2626;background:#dc26261a}.bulk-schedule-preview__remove:focus-visible{outline:2px solid rgba(13,148,136,.55);outline-offset:1px}.notif-bell{position:relative}.notif-bell__button,.topbar-icon-btn{position:relative;border:1px solid var(--border);background:var(--surface);border-radius:999px;width:34px;height:34px;flex-shrink:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);transition:color .15s ease,border-color .15s ease,background .15s ease}.notif-bell__button:hover,.topbar-icon-btn:hover{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 40%,var(--border));background:var(--brand-faint)}.notif-bell__button:focus-visible,.topbar-icon-btn:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.notif-bell__badge{position:absolute;top:-5px;right:-5px;min-width:16px;height:16px;border-radius:999px;background:#dc2626;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}.notif-panel{position:fixed;right:0;top:56px;bottom:0;width:min(420px,96vw);background:#fff;border-left:1px solid var(--border);box-shadow:-4px 0 20px #0f172a14;z-index:35;padding:12px;display:flex;flex-direction:column;overflow:hidden;transform:translate(100%);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .16s ease}.notif-panel.is-open{transform:translate(0);opacity:1;pointer-events:auto}.notif-panel__head{flex-shrink:0;display:flex;justify-content:space-between;gap:8px;align-items:baseline}.notif-panel__tabs{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.notif-panel__tab{border:1px solid var(--border);background:#fff;border-radius:6px;height:30px;cursor:pointer;font-size:12px}.notif-panel__tab.is-active{background:#e0e7ff;border-color:#c7d2fe;color:#312e81}.notif-panel__meta{flex-shrink:0;font-size:11px;color:var(--muted)}.notif-panel__bulk{flex-shrink:0;display:flex;gap:6px;margin:8px 0}.notif-panel__empty,.notif-panel__loading{font-size:13px;color:var(--muted);padding:6px 0}.notif-panel__group{flex:1;min-height:0;overflow-y:auto;padding-right:2px}.notif-panel__overlay{display:none;position:fixed;top:56px;left:0;right:0;bottom:0;background:#0f172a2e;z-index:34;cursor:default}.notif-panel__overlay.is-open{display:block}.notif-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;margin-bottom:6px}.notif-item--important{border-color:#f59e0b;background:#fffbeb}.notif-item__title{font-weight:600;font-size:13px}.notif-item__msg{font-size:12px;color:var(--muted);margin-top:3px}.notif-item__actions{margin-top:6px;display:flex;gap:8px}.notif-item__actions button,.notif-item__actions a{border:0;background:none;color:#1d4ed8;padding:0;cursor:pointer;font-size:12px;text-decoration:none}@media(max-width:720px){.notif-panel{top:56px;bottom:0;width:100vw}}.branded-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1rem;color:#3b82f6}.branded-spinner__wrap{position:relative;width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center}.branded-spinner__ring{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid rgba(59,130,246,.15);border-top-color:#3b82f6d9;border-radius:50%;animation:branded-spinner-rotate .85s linear infinite}.branded-spinner__logo{position:relative;z-index:1;width:2.25rem;height:2.25rem;object-fit:contain;animation:branded-spinner-pulse 1.1s ease-in-out infinite}.branded-spinner__fallback{position:relative;z-index:1;animation:branded-spinner-rotate .9s linear infinite}.branded-spinner__label{margin:0;font-size:.9375rem;color:#6b7280;text-align:center}@keyframes branded-spinner-rotate{to{transform:rotate(360deg)}}@keyframes branded-spinner-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(.94)}}.portal-session-boot{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.portal-session-boot--error{align-content:center}.reassign-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:100;display:flex;justify-content:flex-end;animation:rp-fade-in .18s ease}@keyframes rp-fade-in{0%{opacity:0}to{opacity:1}}.reassign-panel{width:min(480px,100vw);height:100%;display:flex;flex-direction:column;background:var(--surface);box-shadow:-4px 0 32px #0f172a2e;animation:rp-slide-in .22s ease}@keyframes rp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.reassign-panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.reassign-panel__title{font-size:14px;font-weight:700;color:var(--text);margin:0 0 2px;line-height:1.3}.reassign-panel__close{border:0;background:transparent;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px;flex-shrink:0;margin-top:-2px}.reassign-panel__close:hover{background:var(--surface-muted);color:var(--text)}.reassign-panel__body{padding:10px 14px;border-bottom:1px solid var(--border);display:grid;gap:8px;flex-shrink:0}.reassign-panel__list-header{padding:10px 20px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0}.reassign-panel__list{flex:1;overflow-y:auto;padding:0 12px 12px;display:grid;gap:6px;align-content:start}.reassign-panel__worker{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:start;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .14s ease,background .14s ease}.reassign-panel__worker:hover{border-color:var(--brand);background:var(--brand-soft)}.reassign-panel__worker.is-selected{border-color:var(--brand);background:color-mix(in srgb,var(--brand-soft) 60%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}.reassign-panel__worker-name{font-weight:600;font-size:14px;color:var(--text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.reassign-panel__worker-meta{font-size:12px;color:var(--muted);margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}.reassign-panel__score-bar{width:60px;height:6px;background:var(--surface-muted);border-radius:999px;overflow:hidden;margin-top:6px;align-self:center}.reassign-panel__score-fill{height:100%;border-radius:999px;background:var(--brand);transition:width .2s ease}.reassign-panel__badge-match{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#d1fae5;color:#065f46;white-space:nowrap}.reassign-panel__badge-warn{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#fef3c7;color:#92400e;white-space:nowrap}.reassign-panel__empty{padding:32px 20px;text-align:center;color:var(--muted);font-size:13px}.reassign-panel__loading{padding:24px 20px;text-align:center;color:var(--muted);font-size:13px}.reassign-panel__footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border);flex-shrink:0}.coverage-widget{display:grid;gap:10px}.coverage-row{display:grid;grid-template-columns:minmax(110px,180px) 1fr 80px;align-items:center;gap:10px}.coverage-row__label{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coverage-row__bar-track{height:8px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.coverage-row__bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.coverage-row__bar-fill--ok{background:#16a34a}.coverage-row__bar-fill--low{background:#d97706}.coverage-row__bar-fill--risk{background:#dc2626}.coverage-row__meta{font-size:12px;color:var(--muted);white-space:nowrap;text-align:right}.workload-widget{display:grid;gap:8px}.workload-row{display:grid;grid-template-columns:minmax(110px,160px) 1fr 28px;align-items:center;gap:10px}.workload-row__label{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workload-row__bar-track{height:8px;background:var(--surface-muted);border-radius:999px;overflow:hidden}.workload-row__bar-fill{height:100%;border-radius:999px;transition:width .3s ease}.workload-row__bar-fill--green{background:#16a34a}.workload-row__bar-fill--amber{background:#d97706}.workload-row__bar-fill--red{background:#dc2626}.workload-row__count{font-size:12px;font-weight:600;text-align:right}.workload-available-toggle{background:transparent;border:0;color:var(--muted);font-size:12px;cursor:pointer;padding:4px 0;text-align:left}.workload-available-toggle:hover{color:var(--text)}.workload-available-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.task-pipeline{display:flex;align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft)}.task-pipeline__stage{flex:1;text-decoration:none;display:block;min-width:0}.task-pipeline__stage:not(:last-of-type){border-right:1px solid var(--border)}.task-pipeline__inner{padding:10px 14px;text-align:center;cursor:pointer;transition:background-color .12s ease;height:100%}.task-pipeline__stage:hover .task-pipeline__inner{background:var(--surface-muted)}.task-pipeline__value{font-size:22px;font-weight:700;line-height:1.1}.task-pipeline__label{font-size:11px;color:var(--muted);margin-top:2px;font-weight:500}.task-pipeline__arrow{display:flex;align-items:center;padding:0 8px;color:var(--border);font-size:18px;flex-shrink:0;pointer-events:none}.task-pipeline__value--open{color:#d97706}.task-pipeline__value--inprogress{color:#2563eb}.task-pipeline__value--done{color:#16a34a}.urgency-grid{display:flex;flex-wrap:wrap;gap:10px}.urgency-card{border-radius:7px;padding:8px 14px;display:flex;flex-direction:column;align-items:center;min-width:90px;cursor:pointer;text-decoration:none;text-align:center;transition:border-color .12s ease}.urgency-card:hover{filter:brightness(.97)}.urgency-card--red{background:#fef2f2;border:1px solid rgba(220,38,38,.2);color:#dc2626}.urgency-card--amber{background:#fffbeb;border:1px solid rgba(245,158,11,.2);color:#d97706}.urgency-card--green{background:#f0fdf4;border:1px solid rgba(22,163,74,.2);color:#16a34a}.urgency-card__value{font-size:20px;font-weight:700;line-height:1.1}.urgency-card__label{font-size:12px;font-weight:600;margin-top:2px}.urgency-card__cta{font-size:11px;opacity:.75;margin-top:2px}.dashboard-date-range{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.dashboard-date-range__label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500}.dashboard-date-range__input{width:148px;flex-shrink:0}.worker-combobox{position:relative}.worker-combobox__input{width:100%}.worker-combobox__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow);max-height:240px;overflow-y:auto;display:flex;flex-direction:column}.worker-combobox__option{display:flex;flex-direction:column;gap:2px;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text);border-bottom:1px solid var(--border)}.worker-combobox__option:last-child{border-bottom:none}.worker-combobox__option:hover,.worker-combobox__option:focus-visible{background:var(--surface-muted);outline:none}.worker-combobox__option--selected{background:var(--brand-soft);color:var(--brand-strong)}.worker-combobox__name{font-weight:500}.worker-combobox__sub{font-size:11px;color:var(--muted)}.worker-combobox__leave-badge{display:inline-block;margin-left:6px;font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;background:#fef9c3;color:#854d0e;vertical-align:middle}.worker-combobox__empty{padding:10px 12px;font-size:13px;color:var(--muted)}.worker-combobox__show-all{width:100%;border-top:1px solid var(--border);border-radius:0;font-size:12px}.ss__wrap{position:relative;width:100%}.ss__trigger{display:flex!important;align-items:center;cursor:pointer!important}.ss__trigger--open{border-color:color-mix(in srgb,var(--brand) 55%,transparent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)!important}.ss__dropdown{background:var(--surface);border:1.5px solid color-mix(in srgb,var(--brand) 40%,var(--border));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;animation:ss-in .12s ease}@keyframes ss-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ss__search-wrap{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-muted)}.ss__search{flex:1;border:none;background:transparent;outline:none;font-size:var(--font-size-sm);color:var(--text);font-family:var(--font-sans);min-width:0}.ss__search::placeholder{color:var(--text-disabled)}.ss__list{max-height:220px;overflow-y:auto;padding:4px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.25) transparent}.ss__list::-webkit-scrollbar{width:4px}.ss__list::-webkit-scrollbar-track{background:transparent}.ss__list::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}.ss__option{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:var(--font-size-body);color:var(--text);cursor:pointer;transition:background .08s ease,color .08s ease}.ss__option--hi{background:var(--surface-strong)}.ss__option--selected{color:var(--brand);font-weight:var(--fw-semibold)}.ss__option--hi.ss__option--selected{background:var(--brand-faint)}.ss__option--disabled{color:var(--text-disabled);cursor:not-allowed;pointer-events:none}.ss__group{padding:6px 10px 2px;font-size:var(--font-size-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ss__empty{padding:12px 10px;font-size:var(--font-size-sm);color:var(--muted);text-align:center}[data-theme=dark] .ss__dropdown{background:var(--surface);border-color:color-mix(in srgb,var(--brand) 35%,var(--border));box-shadow:0 8px 32px #0006}[data-theme=dark] .ss__search-wrap{background:var(--surface-muted);border-bottom-color:var(--border)}[data-theme=dark] .ss__search,[data-theme=dark] .ss__option{color:var(--text)}[data-theme=dark] .ss__option--hi{background:var(--surface-strong)}[data-theme=dark] .ss__option--selected{color:var(--brand)}[data-theme=dark] .ss__option--hi[data-theme=dark] .ss__option--selected{background:var(--brand-soft)}.input--sm .ss__trigger,.ss__trigger.input--sm{height:var(--input-h-sm);padding:0 var(--input-px-sm);font-size:var(--input-fs-sm);border-radius:var(--radius-sm)}.input--lg .ss__trigger,.ss__trigger.input--lg{height:var(--input-h-lg);padding:0 var(--input-px-lg);font-size:var(--input-fs-lg)}.call-toast{position:fixed;bottom:24px;right:24px;z-index:11000;max-width:360px;padding:12px 16px;border-radius:12px;background:var(--danger);color:#fff;box-shadow:0 12px 32px #0000002e;font-weight:500}.call-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 30% 20%,#0f172ad9,#020617f2);animation:callFadeIn .2s ease}@keyframes callFadeIn{0%{opacity:0}to{opacity:1}}.call-card{width:100%;max-width:420px;background:linear-gradient(160deg,#0f172a,#111c30 60%,#0b1220);color:#fff;border-radius:24px;padding:32px 24px 24px;box-shadow:0 28px 64px #00000073,0 0 0 1px #ffffff0f;text-align:center}.call-card__tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;color:#ffffff8c;margin-bottom:18px}.call-card__avatar-wrap{position:relative;width:132px;height:132px;margin:4px auto 20px;display:flex;align-items:center;justify-content:center}.call-card__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#22c55e47;animation:callPulse 1.8s ease-out infinite}.call-card__ring--2{animation-delay:.6s;background:#22c55e2e}.call-card__ring--3{animation-delay:1.2s;background:#22c55e1a}@keyframes callPulse{0%{transform:scale(.95);opacity:.6}to{transform:scale(1.7);opacity:0}}.call-card__avatar{position:relative;width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#0f766e,#14b8a6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:36px;font-weight:700;letter-spacing:1px;box-shadow:0 0 0 3px #ffffff14}.call-card__name{font-size:22px;font-weight:700;margin:2px 0 4px}.call-card__sub{font-size:13px;color:#ffffffa6;margin:0}.call-card__status{margin:14px 0 0;font-size:14px;color:#ffffffd9;font-variant-numeric:tabular-nums;letter-spacing:.5px}.call-card__status--err{color:#fca5a5}.call-card__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;vertical-align:middle}.call-card__dot--ringing{background:#f59e0b;animation:blink 1s infinite}.call-card__dot--live{background:#22c55e}.call-card__dot--err{background:#ef4444}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.call-card__controls{display:flex;justify-content:center;gap:16px;margin:24px 0 8px}.call-btn{position:relative;width:56px;height:56px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;box-shadow:0 6px 18px #00000059}.call-btn:disabled{opacity:.5;cursor:not-allowed}.call-btn:not(:disabled):hover{transform:translateY(-1px)}.call-btn:not(:disabled):active{transform:scale(.96)}.call-btn--end{background:#dc2626}.call-btn--accept{background:#16a34a;width:64px;height:64px}.call-btn--decline{background:#dc2626;width:64px;height:64px}.call-btn--mute{background:#ffffff1a}.call-btn--mute.is-on{background:#f1f5f9;color:#0f172a}.call-btn__label{display:block;font-size:11px;font-weight:600;color:#ffffffb3;text-align:center;margin-top:6px;letter-spacing:.4px}.call-card__link{display:inline-block;margin-top:6px;font-size:12px;color:#5eead4;text-decoration:none}.call-card__link:hover{color:#99f6e4;text-decoration:underline}.call-mini{position:fixed;bottom:20px;left:20px;z-index:9998;display:flex;align-items:center;gap:8px;padding:6px 6px 6px 14px;background:#0f172a;color:#fff;border-radius:999px;box-shadow:0 12px 28px #0000004d;border:0;font-family:inherit}.call-mini__expand{display:inline-flex;align-items:center;gap:10px;background:transparent;border:0;color:inherit;padding:4px 4px 4px 0;cursor:pointer;font:inherit}.call-mini__expand:hover .call-mini__text{color:#99f6e4}.call-mini__dot{width:10px;height:10px;border-radius:50%;background:#22c55e}.call-mini__text{font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}.call-mini__end{width:32px;height:32px;border-radius:50%;background:#dc2626;border:0;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s}.call-mini__end:hover{background:#b91c1c}.call-icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--brand);cursor:pointer;transition:background-color .12s ease,transform .12s ease,box-shadow .12s ease}.call-icon-btn:hover:not(:disabled){background:var(--brand-faint)}.call-icon-btn:active:not(:disabled){transform:scale(.95)}.call-icon-btn:disabled{opacity:.5;cursor:not-allowed}.call-icon-btn--online{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}.call-icon-btn--online:hover:not(:disabled){background:#dcfce7;box-shadow:0 0 0 3px #16a34a26}.call-icon-btn__pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid #22c55e;animation:iconPulse 2s ease-out infinite;pointer-events:none}@keyframes iconPulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.call-icon-btn__dot{position:absolute;top:1px;right:1px;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--bg, #fff)}.call-icon-btn__dot--online{background:#22c55e}.call-icon-btn__dot--offline{background:#94a3b8}.call-icon-btn__dot--in_call{background:#f59e0b}.call-icon-btn__dot--unknown{background:#cbd5e1}.call-worker-btn{position:relative;display:inline-flex;align-items:center;gap:7px;padding:0 14px 0 10px;height:36px;border-radius:999px;border:0;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease;overflow:hidden}.call-worker-btn:not(:disabled):hover{transform:translateY(-1px)}.call-worker-btn:not(:disabled):active{transform:scale(.97)}.call-worker-btn:disabled{opacity:.55;cursor:not-allowed}.call-worker-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#ffffff40;flex-shrink:0}.call-worker-btn__text{flex:1;text-align:left}.call-worker-btn__badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;background:#fff3;flex-shrink:0}.call-worker-btn--online{background:linear-gradient(135deg,#16a34a,#059669);color:#fff;box-shadow:0 4px 14px #16a34a66}.call-worker-btn__ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;border:2px solid rgba(34,197,94,.6);animation:workerBtnPulse 2.2s ease-out infinite;pointer-events:none}@keyframes workerBtnPulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}.call-worker-btn--offline{background:var(--surface-raised, #f1f5f9);color:var(--text-secondary, #64748b);box-shadow:0 1px 4px #00000014;border:1px solid var(--border, #e2e8f0)}.call-worker-btn--offline .call-worker-btn__icon{background:#00000012}.call-worker-btn--busy-state{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;box-shadow:0 4px 14px #d9770659;cursor:not-allowed}.call-worker-btn--unknown{background:var(--brand, #4f46e5);color:#fff}.call-ghost-btn{display:inline-flex;align-items:center;gap:4px}.fsm-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px}.fsm-summary-strip--compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}.fsm-summary-card{display:grid;gap:6px;padding:14px 16px;background:color-mix(in srgb,var(--surface) 88%,white 12%);border:1px solid color-mix(in srgb,var(--border) 82%,white 18%);border-radius:16px;box-shadow:0 10px 30px -18px #0f172a33}.fsm-summary-card__label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fsm-summary-card__value{font-family:Space Grotesk,Outfit,sans-serif;font-size:24px;line-height:1.1;color:var(--text)}.fsm-summary-card--danger{background:linear-gradient(180deg,#fef2f2f5,#ffffffeb);border-color:#f8717152}.fsm-summary-card--danger .fsm-summary-card__value{color:#b91c1c}.fsm-summary-card--warning{background:linear-gradient(180deg,#fff7edf5,#ffffffeb);border-color:#fb923c47}.fsm-summary-card--warning .fsm-summary-card__value{color:#c2410c}.fsm-summary-card--info{background:linear-gradient(180deg,#eff6fff5,#ffffffeb);border-color:#60a5fa47}.fsm-summary-card--info .fsm-summary-card__value{color:#1d4ed8}.fsm-summary-card--success{background:linear-gradient(180deg,#ecfdf5f5,#ffffffeb);border-color:#4ade8047}.fsm-summary-card--success .fsm-summary-card__value{color:#15803d}.fsm-workspace-shell{display:grid;gap:14px;margin-bottom:14px}.fsm-workspace-shell__hero{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding:18px 20px;border-radius:18px;border:1px solid color-mix(in srgb,var(--border) 70%,white 30%);background:radial-gradient(circle at top right,color-mix(in srgb,var(--brand) 10%,transparent) 0%,transparent 46%),linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,white 8%) 0%,var(--surface) 100%);box-shadow:0 16px 42px -24px #0f172a3d}.fsm-workspace-shell__eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-strong, var(--brand));margin-bottom:6px}.fsm-workspace-shell__title{margin:0;font-size:24px;line-height:1.1;font-family:Space Grotesk,Outfit,sans-serif;letter-spacing:-.03em}.fsm-workspace-shell__subtitle{margin:8px 0 0;max-width:720px;font-size:13px;line-height:1.6;color:var(--muted)}.fsm-workspace-shell__actions{display:flex;gap:8px;flex-wrap:wrap}.fsm-command-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.95fr);gap:16px}.fsm-command-rail{display:grid;gap:16px}.fsm-command-list{display:grid;gap:10px}.fsm-command-list--compact{gap:8px}.fsm-command-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 85%,white 15%);background:color-mix(in srgb,var(--surface) 92%,white 8%);text-decoration:none;color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.fsm-command-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 25%,var(--border));box-shadow:0 16px 32px -24px #0f172a47}.fsm-command-item>span:first-child{display:grid;gap:3px;min-width:0}.fsm-command-item strong{font-size:13px;line-height:1.35}.fsm-command-item small{font-size:12px;color:var(--muted)}.fsm-command-item__value{display:grid;justify-items:end;gap:2px;font-family:Space Grotesk,Outfit,sans-serif;font-size:22px;font-weight:700;line-height:1;color:var(--text)}.fsm-command-item__value em{font-style:normal;font-size:11px;font-weight:600;color:var(--brand-strong, var(--brand))}.fsm-command-empty{padding:18px;border:1px dashed color-mix(in srgb,var(--border) 85%,white 15%);border-radius:14px;color:var(--muted);font-size:13px;background:color-mix(in srgb,var(--surface-muted) 82%,white 18%)}.fsm-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fsm-meta-grid>div{display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,white 10%);border:1px solid color-mix(in srgb,var(--border) 84%,white 16%)}.fsm-meta-grid strong{font-size:18px;font-family:Space Grotesk,Outfit,sans-serif}.fsm-meta-grid__label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fsm-master-detail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.9fr);gap:16px;align-items:start}.page-section--tasks-workspace{display:flex;flex-direction:column;flex:1;gap:var(--sp-3);min-height:0;height:100%;overflow:hidden}.page-section--tasks-workspace>.fsm-master-detail--tasks{flex:1;min-height:0}.fsm-master-detail__main,.fsm-master-detail__aside{min-width:0}.fsm-master-detail--tasks{align-items:stretch;height:100%;min-height:0;overflow:hidden}.fsm-master-detail__main--tasks,.fsm-master-detail__aside--tasks{min-height:0;height:100%}.fsm-master-detail__main--tasks{display:flex;flex-direction:column;gap:12px;padding-bottom:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.fsm-master-detail__aside--tasks{position:static;align-self:stretch;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.fsm-master-detail__main--tasks::-webkit-scrollbar,.fsm-master-detail__aside--tasks::-webkit-scrollbar{display:none}.fsm-main-intro{display:grid;gap:10px}.fsm-main-intro .page-header{margin-bottom:2px}.fsm-main-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:4px 0 6px}.fsm-main-actions>*{flex:0 0 auto}.fsm-inspector{position:sticky;top:18px;display:grid;gap:16px;padding:18px;border-radius:18px;box-shadow:0 18px 42px -28px #0f172a57}.fsm-master-detail--tasks .fsm-inspector{position:static;height:auto;min-height:0;margin-top:0;overflow:visible}.fsm-inspector__header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.fsm-inspector__eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.fsm-inspector__title{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.02em}.fsm-inspector__subtitle{margin:6px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.fsm-inspector__chips{display:flex;gap:6px;flex-wrap:wrap}.fsm-inspector__actions{display:flex;gap:8px;flex-wrap:wrap}.fsm-inspector__section{display:grid;gap:12px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--border) 82%,white 18%)}.fsm-inspector__section-title{margin:0;font-size:13px;font-weight:700;letter-spacing:-.01em}.fsm-inspector__meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fsm-inspector__meta-grid>div{display:grid;gap:4px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--surface-muted) 78%,white 22%);border:1px solid color-mix(in srgb,var(--border) 84%,white 16%)}.fsm-inspector__meta-stack{display:grid;gap:10px}.fsm-inspector__meta-stack>div{display:grid;gap:4px}.fsm-inspector__meta-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.fsm-inspector__empty{display:grid;gap:8px}.fsm-task-row{transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.fsm-task-row.is-active{background:linear-gradient(180deg,#eff6ffeb,#fffffffa);border-color:#60a5fa6b;box-shadow:inset 0 0 0 1px #60a5fa42}@media(max-width:1100px){.fsm-command-grid,.fsm-master-detail{grid-template-columns:1fr}.page-section--tasks-workspace{min-height:0;overflow:visible}.fsm-master-detail--tasks,.fsm-master-detail__main--tasks,.fsm-master-detail__aside--tasks,.fsm-master-detail--tasks .fsm-inspector{min-height:auto;height:auto;overflow:visible}.fsm-master-detail__main--tasks{padding-right:0}.fsm-master-detail__aside--tasks{position:static;padding-right:0;overflow:visible}.fsm-inspector{position:static}}@media(max-width:720px){.page-section--tasks-workspace{height:auto;overflow:visible}.md-mobile{display:block}.md-mobile__detail{display:block;animation:md-detail-in .18s ease}.md-mobile__back{position:sticky;top:0;z-index:6;display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:8px 12px;font-size:14px;font-weight:600;color:var(--brand, #2563eb);background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer}.md-mobile__back span{font-size:16px;line-height:1}.md-mobile__detail .fsm-inspector{position:static;box-shadow:none}@keyframes md-detail-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.fsm-workspace-shell__hero{padding:16px;border-radius:16px}.fsm-workspace-shell__title{font-size:20px}.fsm-meta-grid,.fsm-inspector__meta-grid{grid-template-columns:1fr}.fsm-summary-card{padding:12px 14px}.fsm-summary-card__value{font-size:21px}}:root{--chart-grid: rgba(15, 23, 42, .07);--chart-grid-strong: rgba(15, 23, 42, .18);--chart-axis: #94a3b8;--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 10px 30px -12px rgba(15, 23, 42, .18), 0 2px 6px -2px rgba(15, 23, 42, .08)}[data-theme=dark]{--chart-grid: rgba(226, 232, 240, .1);--chart-grid-strong: rgba(226, 232, 240, .28);--chart-axis: #64748b;--glass-bg: rgba(22, 32, 51, .66);--glass-border: rgba(148, 163, 184, .18);--glass-shadow: 0 12px 34px -14px rgba(0, 0, 0, .6), 0 2px 8px -3px rgba(0, 0, 0, .4)}.dashboard-premium{position:relative;display:grid;gap:18px}.dashboard-premium:before{content:"";position:absolute;inset:-40px -20px auto -20px;height:320px;background:radial-gradient(60% 120% at 12% 0%,color-mix(in srgb,var(--brand) 18%,transparent) 0%,transparent 60%),radial-gradient(50% 120% at 92% 0%,color-mix(in srgb,var(--brand-light, #14b8a6) 16%,transparent) 0%,transparent 60%);filter:blur(6px);z-index:0;pointer-events:none}.dashboard-premium>*{position:relative;z-index:1}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border:1px solid var(--glass-border);border-radius:18px;box-shadow:var(--glass-shadow);padding:18px;transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease}.glass-card--hover:hover{transform:translateY(-3px);box-shadow:0 18px 44px -16px #0f172a47,0 4px 10px -3px #0f172a1a}.glass-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.glass-card__title{font-size:14px;font-weight:700;letter-spacing:-.01em;margin:0}.glass-card__subtitle{font-size:12px;color:var(--muted);margin:2px 0 0}.dash-grid{display:grid;gap:16px}.dash-grid--kpi{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}.dash-grid--2{grid-template-columns:1.6fr 1fr}.dash-grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.dash-grid--2,.dash-grid--3{grid-template-columns:1fr}}.insights-health-grid{display:grid;grid-template-columns:minmax(200px,240px) 1fr;gap:18px;align-items:center}@media(max-width:720px){.insights-health-grid{grid-template-columns:1fr}}.kpi-card{--kpi-accent: var(--brand);padding:16px 16px 14px;display:grid;gap:6px;position:relative;overflow:hidden}.kpi-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--kpi-accent),transparent);opacity:.9}.kpi-card__top{display:flex;align-items:center;justify-content:space-between}.kpi-card__label{font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.kpi-card__delta{font-size:11px;font-weight:700}.kpi-card__value{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1;font-family:Space Grotesk,Outfit,sans-serif}.kpi-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.kpi-card__sub{font-size:11.5px;color:var(--muted)}.kpi-card__spark{opacity:.95}.chart-axis{font-size:10px;fill:var(--chart-axis);font-weight:500}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.chart-legend--stack{flex-direction:column;gap:8px;margin-top:0}.chart-legend__item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary, #475569)}.chart-legend__item i{width:10px;height:10px;border-radius:3px;display:inline-block}.chart-legend__item b{margin-left:auto;font-weight:700;color:var(--text)}.chart-area{position:relative}.chart-area svg{display:block;width:100%;max-width:100%}.chart-tip{position:absolute;top:6px;transform:translate(-50%);background:var(--surface, #fff);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px -8px #0f172a40;padding:8px 10px;pointer-events:none;min-width:120px;z-index:3}.chart-tip__title{font-size:11px;font-weight:700;color:var(--muted);margin-bottom:4px}.chart-tip__row{display:flex;align-items:center;gap:6px;font-size:12px}.chart-tip__dot{width:8px;height:8px;border-radius:99px}.chart-tip__name{color:var(--text-secondary, #475569)}.chart-tip__val{margin-left:auto;font-weight:700}.chart-donut{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donut-center-val{font-size:20px;font-weight:800;fill:var(--text);font-family:Space Grotesk,sans-serif}.donut-center-lbl{font-size:10px;fill:var(--muted);text-transform:uppercase;letter-spacing:.06em}.chart-gauge{display:grid;place-items:center}.gauge-val{font-size:26px;font-weight:800;fill:var(--text);font-family:Space Grotesk,sans-serif}.gauge-lbl{font-size:10px;fill:var(--muted);text-transform:uppercase;letter-spacing:.06em}.chart-funnel{display:grid;gap:12px}.funnel-row__head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:5px}.funnel-row__label{font-weight:600;color:var(--text-secondary, #475569)}.funnel-row__val{font-weight:700}.funnel-row__val em{font-style:normal;color:var(--muted);font-weight:600;margin-left:4px}.funnel-row__track{height:26px;background:var(--chart-grid);border-radius:8px;overflow:hidden}.funnel-row__bar{height:100%;border-radius:8px;transition:width .6s cubic-bezier(.2,.7,.2,1)}.chart-heatmap{overflow-x:auto}.heatmap-grid{display:grid;gap:4px;min-width:360px}.heatmap-col-lbl,.heatmap-row-lbl{font-size:10px;color:var(--muted);display:flex;align-items:center}.heatmap-col-lbl{justify-content:center}.heatmap-cell{aspect-ratio:1.6;border-radius:5px;min-height:18px;transition:transform .12s ease}.heatmap-cell:hover{transform:scale(1.12)}.chart-treemap{display:flex;gap:4px;border-radius:12px;overflow:hidden}.treemap-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:10px;color:#fff;border-radius:8px;overflow:hidden;min-width:0;transition:filter .18s ease}.treemap-tile:hover{filter:brightness(1.08)}.treemap-tile__label{font-size:11px;font-weight:600;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.treemap-tile__val{font-size:15px;font-weight:800}.dash-actions{display:flex;gap:10px;flex-wrap:wrap}.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.workspace-head__title{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0;font-family:Space Grotesk,Outfit,sans-serif}.workspace-tabs{display:flex;gap:6px;padding:6px;border:1px solid color-mix(in srgb,var(--brand) 10%,var(--border) 90%);background:color-mix(in srgb,var(--surface) 84%,transparent);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);overflow-x:auto;scrollbar-width:none;margin-bottom:14px}.workspace-tabs::-webkit-scrollbar{display:none}.workspace-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;padding:10px 16px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;flex:0 0 auto;border-radius:var(--radius-lg);transition:color .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.workspace-tab:hover{color:var(--text)}.workspace-tab.is-active{color:var(--brand-strong, var(--brand));border-color:color-mix(in srgb,var(--brand) 16%,transparent);background:color-mix(in srgb,var(--brand-soft) 65%,var(--surface));box-shadow:inset 0 1px #ffffff7a}.workspace-subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;padding:2px 0}.workspace-body>.page-section{padding-top:0}.page-section.workspace--fill{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.workspace--fill>.workspace-tabs,.workspace--fill>.workspace-subtabs{flex:0 0 auto}.workspace--fill>.workspace-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.workspace--fill>.workspace-body>.page-section--tasks-workspace{flex:1}@media(max-width:720px){.page-section.workspace--fill,.workspace--fill>.workspace-body{height:auto;min-height:0;overflow:visible}}@media(max-width:560px){.chart-area svg{height:200px}.kpi-card__value{font-size:22px}.glass-card{padding:14px;border-radius:14px}}.login{--surface: #131d2e;--surface-muted: #0e1726;--border: rgba(148, 163, 184, .16);--border-strong: rgba(148, 163, 184, .3);--text: #f1f5f9;--text-secondary: #cbd5e1;--muted: #94a3b8;--accent: #2dd4bf;position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:max(clamp(16px,4vh,32px),env(safe-area-inset-top)) max(clamp(16px,4vw,32px),env(safe-area-inset-right)) max(clamp(16px,4vh,32px),env(safe-area-inset-bottom)) max(clamp(16px,4vw,32px),env(safe-area-inset-left));overflow-x:hidden;overflow-y:auto;isolation:isolate;color:var(--text);background:radial-gradient(1100px 620px at 18% -8%,rgba(20,184,166,.16),transparent 60%),radial-gradient(900px 560px at 92% 108%,rgba(14,165,233,.14),transparent 58%),linear-gradient(160deg,#0a0f1c,#0b1322 48%,#0a111e);animation:login-page-fade .5s ease both}.login:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;top:50%;left:50%;transform:translate(-50%,-58%);background:radial-gradient(circle,rgba(20,184,166,.22),transparent 62%);filter:blur(28px);pointer-events:none;animation:login-glow-breathe 7s ease-in-out infinite}.login__card{position:relative;margin:auto;width:min(444px,94vw);background:linear-gradient(180deg,#ffffff09,#fff0),var(--surface);border:1px solid var(--border);border-radius:var(--radius-2xl);padding:clamp(24px,3.5vw,36px);display:grid;gap:var(--sp-4);box-shadow:0 1px #ffffff0d inset,0 24px 64px -24px #000000bf,0 0 0 1px #14b8a60a,0 0 80px -40px #14b8a666;animation:login-card-enter .6s cubic-bezier(.22,1,.36,1) both;animation-delay:.08s}.login__card:after{content:"";position:absolute;inset:0 0 auto 0;height:1px;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;background:linear-gradient(90deg,transparent,rgba(45,212,191,.55),transparent)}.login__brand{display:grid;gap:var(--sp-1)}.login__brand .eyebrow{color:var(--brand-light);font-weight:var(--fw-bold);font-size:var(--font-size-2xs);letter-spacing:.18em;text-transform:uppercase}.login__brand h1{margin:1px 0 0;font-family:var(--font-display);font-size:clamp(26px,4vw,31px);font-weight:var(--fw-bold);line-height:1.1;letter-spacing:-.02em;color:#f8fafc}.login__brand p{margin:3px 0 0;color:var(--text-secondary);font-size:var(--font-size-body);line-height:var(--lh-normal);max-width:40ch}.login .form{display:grid;gap:var(--sp-3)}.login .form-label{color:var(--text-secondary);font-weight:var(--fw-medium);font-size:var(--font-size-body);margin-bottom:2px}.login .form-label a{color:var(--accent);text-decoration:none;transition:color .16s ease}.login .form-label a:hover{color:#5eead4}.login .input{height:52px;padding:0 var(--sp-4);font-size:var(--font-size-lg);color:var(--text);background:#16202f;border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.login .input::placeholder{color:#64748b}.login .input:hover:not(:focus){border-color:var(--border-strong)}.login .input:focus{outline:none;background:#182436;border-color:#2dd4bfb3;box-shadow:0 0 0 4px #14b8a629,0 0 22px -6px #14b8a673}.login .input:-webkit-autofill,.login .input:-webkit-autofill:hover,.login .input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px #16202f inset;caret-color:var(--text);transition:background-color 9999s ease-in-out 0s}.login .btn--primary{width:100%;height:52px;margin-top:0;border:0;border-radius:var(--radius-lg);font-size:var(--font-size-lg);font-weight:var(--fw-semibold);letter-spacing:.01em;color:#04201d;background:linear-gradient(135deg,#14b8a6,#2dd4bf 52%,#5eead4);box-shadow:0 10px 26px -10px #14b8a6a6,0 2px 6px -2px #0006,0 1px #ffffff40 inset;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .2s ease,filter .2s ease}.login .btn--primary:hover:not(:disabled){transform:translateY(-2px);filter:saturate(1.06);box-shadow:0 12px 26px -10px #14b8a66b,0 3px 8px -2px #00000073,0 1px #ffffff4d inset}.login .btn--primary:active:not(:disabled){transform:translateY(0) scale(.985);box-shadow:0 6px 16px -8px #14b8a699,0 1px #fff3 inset}.login .btn--primary:disabled{opacity:.55;cursor:progress;box-shadow:none}.login .ghost-button{width:100%;height:44px;border-radius:var(--radius-md);border:1px solid var(--border);background:#ffffff05;color:var(--text-secondary);font-size:var(--font-size-md);font-weight:var(--fw-medium);transition:border-color .16s ease,background .16s ease,color .16s ease}.login .ghost-button:hover:not(:disabled){border-color:#2dd4bf66;background:#14b8a614;color:#5eead4}.login .ghost-button:disabled{opacity:.5}.login__card>form+div{margin-top:0!important;gap:var(--sp-2)!important;padding-top:var(--sp-3);border-top:1px solid var(--border)}.login a{color:var(--accent)}.login a:hover{color:#5eead4}.login .alert--error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#fca5a5}.login .card__subtitle{color:var(--muted)}@keyframes login-page-fade{0%{opacity:0}to{opacity:1}}@keyframes login-card-enter{0%{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes login-glow-breathe{0%,to{opacity:.7;transform:translate(-50%,-58%) scale(1)}50%{opacity:1;transform:translate(-50%,-58%) scale(1.08)}}@media(max-width:480px){.login{padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.login__card{width:100%}}@media(prefers-reduced-motion:reduce){.login,.login__card{animation:none}.login:before{animation:none}.login .btn--primary:hover:not(:disabled),.login .btn--primary:active:not(:disabled){transform:none}}.settings-hub__card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 88%,transparent);text-decoration:none;color:inherit;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.settings-hub__card:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--border));box-shadow:0 14px 34px -20px #0f172a66;transform:translateY(-2px);background:color-mix(in srgb,var(--brand-faint) 40%,var(--surface))}.settings-hub__icon{flex-shrink:0;width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--brand-soft);color:var(--brand-strong)}.settings-hub__body{display:flex;flex-direction:column;min-width:0;flex:1}.settings-hub__title{font-size:var(--font-size-md);font-weight:var(--fw-semibold);color:var(--text);line-height:1.3}.settings-hub__desc{font-size:var(--font-size-sm);color:var(--muted);line-height:1.4;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.settings-hub__chev{flex-shrink:0;font-size:22px;line-height:1;color:var(--muted);transition:color .15s ease,transform .15s ease}.settings-hub__card:hover .settings-hub__chev{color:var(--brand);transform:translate(2px)}.settings-hub__section{display:grid;gap:12px}.settings-hub__section-title{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.leave-approvals__summary{padding:14px 18px;margin-bottom:16px}.leave-approvals__layout{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(300px,380px);align-items:start}.leave-approvals__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.leave-approvals__item{margin-bottom:0;padding:10px 12px}.leave-approvals__item--active{outline:2px solid rgba(59,130,246,.35)}.leave-approvals__item-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px}.leave-approvals__worker{margin:0 0 4px;font-size:14px;font-weight:600}.leave-approvals__meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.leave-approvals__badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;color:#fff;background:var(--brand)}.leave-approvals__dates{font-weight:500;color:var(--text)}.leave-approvals__status{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.leave-approvals__status--pending{color:#92400e;background:#fef3c7}.leave-approvals__status--approved{color:#065f46;background:#d1fae5}.leave-approvals__status--rejected{color:#991b1b;background:#fee2e2}.leave-approvals__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.leave-approvals__note{margin-top:14px;padding-top:14px;border-top:1px solid rgba(226,232,240,.9)}.leave-approvals__note-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:6px}.leave-approvals__note p{margin:0;font-size:13px;line-height:1.45}.leave-approvals__empty .card__header{margin-bottom:0}.leave-approvals__detail{position:sticky;top:12px}.leave-approvals__kv{margin:12px 0;display:grid;gap:6px 12px;grid-template-columns:1fr auto;align-items:center}.leave-approvals__kv span{font-size:12px;color:var(--muted)}.leave-approvals__kv strong{text-align:right;font-size:13px}.leave-approvals__timeline{margin:14px 0;padding:12px;border:1px solid rgba(226,232,240,.9);border-radius:10px;background:#f8fafccc}.leave-approvals__timeline h3,.leave-approvals__balance h3{margin:0 0 8px;font-size:14px}.leave-approvals__timeline ul{margin:0;padding-left:18px}.leave-approvals__timeline li{margin:4px 0}.leave-approvals__balance{margin-top:14px;padding-top:14px;border-top:1px solid rgba(226,232,240,.9)}.leave-approvals__balance p{margin:0 0 8px;font-size:13px}.leave-approvals__field{margin-top:12px}.leave-approvals__field input,.leave-approvals__field textarea{width:100%}@media(max-width:640px){.leave-approvals__actions{width:100%;justify-content:flex-start}}@media(max-width:1024px){.leave-approvals__layout{grid-template-columns:1fr}.leave-approvals__detail{position:static}}.action-inbox{display:grid;gap:16px}.action-inbox__metrics{display:grid;gap:12px}.action-inbox__metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.action-inbox__metric-grid>div{border:1px solid var(--border);border-radius:10px;padding:10px 12px;background:var(--surface-muted)}.action-inbox__metric-grid strong{display:block;font-size:20px;line-height:1.1}.action-inbox__metric-grid span{font-size:12px;color:var(--muted)}.action-inbox__section{display:grid;gap:8px}@media(max-width:800px){.action-inbox__metric-grid{grid-template-columns:1fr}}.compliance-page__explain{margin-bottom:24px;padding:18px 20px;border-radius:12px;border:1px solid var(--border);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 6%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--surface-muted) 82%,var(--surface)),var(--surface));font-size:13px;line-height:1.55;color:var(--text)}.compliance-page__explain strong{color:var(--text)}.compliance-page__explain p+p{margin-top:10px}.compliance-page__table-subtitle{margin-bottom:0;line-height:1.45;color:var(--muted);font-size:13px}.compliance-page__legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:16px;padding:0 2px;font-size:12px;color:var(--muted)}.compliance-page__legend-item{display:inline-flex;align-items:center;gap:6px}.compliance-page__legend-item:before{content:"";width:10px;height:10px;border-radius:3px;flex-shrink:0}.compliance-page__legend-item--met:before{background:#059669}.compliance-page__legend-item--partial:before{background:#d97706}.compliance-page__legend-item--absent:before{background:#dc2626}.compliance-page__legend-item--exempt:before{background:#64748b}.compliance-page__legend-item--reg:before{background:#2563eb}.compliance-page__legend-item--upcoming:before{background:#0ea5e9}.compliance-page__stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-bottom:24px}.compliance-page__stat{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-height:128px;border-radius:12px;padding:16px 18px;border:1px solid var(--border);background:var(--surface);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 5%,transparent)}.compliance-page__stat--warn{border-color:color-mix(in srgb,#d97706 35%,var(--border));background:color-mix(in srgb,#fff7ed 55%,var(--surface))}.compliance-page__stat--ok{border-color:color-mix(in srgb,#059669 30%,var(--border));background:color-mix(in srgb,#ecfdf5 50%,var(--surface))}.compliance-page__stat--neutral{border-color:var(--border);background:var(--surface-muted)}.compliance-page__stat--info{border-color:color-mix(in srgb,#0ea5e9 28%,var(--border));background:color-mix(in srgb,#f0f9ff 55%,var(--surface))}.compliance-page__stat--money{border-color:color-mix(in srgb,#7c3aed 28%,var(--border));background:color-mix(in srgb,#f5f3ff 45%,var(--surface))}.compliance-page__stat-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);line-height:1.3;margin:0}.compliance-page__stat-value{display:block;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;color:var(--text);margin:0}.compliance-page__stat-value--currency{color:#5b21b6}.compliance-page__stat--warn .compliance-page__stat-value--currency{color:#b45309}.compliance-page__stat--money .compliance-page__stat-value--currency{color:#6d28d9}.compliance-page__stat-hint{display:block;margin:auto 0 0;padding-top:2px;font-size:12px;color:var(--muted);line-height:1.45}.compliance-page__table-wrap{display:block;overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 4%,transparent)}.compliance-page__row{display:grid;grid-template-columns:108px 1fr 88px 88px 88px minmax(120px,1fr) minmax(100px,.9fr);gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.compliance-page__row:last-child{border-bottom:none}.compliance-page__row--head{background:var(--surface-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.compliance-page__row:not(.compliance-page__row--head):nth-child(2n){background:color-mix(in srgb,var(--surface-muted) 35%,var(--surface))}.compliance-page__cell-num{font-variant-numeric:tabular-nums}.compliance-page__badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compliance-page__badge--met{background:#d1fae5;color:#065f46}.compliance-page__badge--partial{background:#ffedd5;color:#9a3412}.compliance-page__badge--absent{background:#fee2e2;color:#991b1b}.compliance-page__badge--exempt{background:#e2e8f0;color:#475569}.compliance-page__badge--regpend{background:#dbeafe;color:#1e40af}.compliance-page__badge--regok{background:#e0e7ff;color:#3730a3}.compliance-page__badge--upcoming{background:#e0f2fe;color:#0c4a6e}@media(max-width:1100px){.compliance-page__row,.compliance-page__row--head{grid-template-columns:96px 1fr 72px 72px 72px 1fr;grid-auto-rows:auto}.compliance-page__row .compliance-page__cell--lop,.compliance-page__row--head .compliance-page__cell--lop{grid-column:1/-1;padding-top:4px;font-size:12px;color:var(--muted)}}.pay-calendar{display:grid;gap:16px}.pay-calendar__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pay-calendar__metric{display:grid;gap:6px;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,white 8%),var(--surface)),var(--surface);box-shadow:var(--shadow-soft)}.pay-calendar__metric--success{border-color:color-mix(in srgb,var(--success) 20%,var(--border))}.pay-calendar__metric--warning{border-color:color-mix(in srgb,var(--warning) 24%,var(--border))}.pay-calendar__metric--danger{border-color:color-mix(in srgb,var(--danger) 24%,var(--border))}.pay-calendar__metric-label,.pay-calendar__info-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.pay-calendar__metric-value{font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.1}.pay-calendar__metric-hint{font-size:var(--font-size-sm);color:var(--muted);line-height:var(--lh-relaxed)}.pay-calendar__toolbar-card{padding:14px 16px}.pay-calendar__toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.pay-calendar__toolbar-title{display:block;font-size:var(--font-size-lg)}.pay-calendar__toolbar-copy{margin:4px 0 0;color:var(--muted);font-size:var(--font-size-sm)}.pay-calendar__toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pay-calendar__action-days{display:grid;gap:10px}.pay-calendar__action-day{display:grid;gap:8px;width:100%;text-align:left;padding:14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text)}.pay-calendar__action-day-head,.pay-calendar__info-card-head,.pay-day-modal__entry-head,.pay-day-modal__worker-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.pay-calendar__action-day-meta,.pay-day-modal__entry-meta,.pay-day-modal__worker-meta{display:flex;gap:8px 12px;flex-wrap:wrap;color:var(--muted);font-size:var(--font-size-sm)}.pay-calendar__action-day-badges,.pay-calendar__day-badges,.pay-calendar__legend{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.pay-calendar__text-danger{color:var(--danger-strong, #b91c1c)}.pay-calendar__text-muted,.pay-calendar__empty{color:var(--muted)}.pay-calendar__calendar-head{margin-bottom:12px}.pay-calendar__grid-scroll{overflow-x:auto;padding-bottom:6px}.pay-calendar__weekday-row,.pay-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));gap:8px;min-width:700px}.pay-calendar__weekday{font-size:11px;font-weight:700;color:var(--muted);text-align:center}.pay-calendar__day{min-height:106px;width:100%;padding:8px;text-align:left;cursor:pointer;border:1px solid var(--border);border-radius:10px;background:var(--surface);display:flex;flex-direction:column;gap:4px;color:var(--text)}.pay-calendar__day--today{border-width:2px;border-color:var(--brand, #0f766e);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 20%,transparent)}.pay-calendar__day--off{background:var(--surface-muted, #f2f5f8)}.pay-calendar__day--attention{border-color:color-mix(in srgb,var(--danger) 28%,var(--border))}.pay-calendar__day--empty{min-height:106px;border:1px dashed color-mix(in srgb,var(--border) 75%,transparent);background:transparent;cursor:default}.pay-calendar__day-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pay-calendar__day-number{font-weight:700;font-size:13px}.pay-calendar__day-icons{display:inline-flex;gap:4px;align-items:center}.pay-calendar__day-note,.pay-calendar__day-muted,.pay-calendar__day-pay-status{font-size:10px}.pay-calendar__day-note{color:var(--muted)}.pay-calendar__day-muted{color:var(--text-disabled, #94a3b8)}.pay-calendar__day-worked{font-size:11px;color:var(--text-secondary)}.pay-calendar__day-worked--attention{color:var(--danger-strong, #b91c1c)}.pay-calendar__due-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:700;line-height:1.5;padding:1px 5px;border-radius:999px}.pay-calendar__day-pay-status{color:var(--success-strong, #15803d)}.pay-calendar__legend{margin-top:12px;color:var(--muted);font-size:11px}.pay-calendar__info-list,.pay-calendar__who-list,.pay-day-modal__entry-list,.pay-day-modal__worker-list{display:grid;gap:10px}.pay-calendar__info-card,.pay-calendar__who-card,.pay-day-modal__entry-card,.pay-day-modal__worker-card,.pay-day-modal__due-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted)}.pay-calendar__info-card{padding:14px;display:grid;gap:12px}.pay-calendar__info-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pay-calendar__info-actions{display:flex;justify-content:flex-end}.pay-calendar__who-group+.pay-calendar__who-group{margin-top:16px}.pay-calendar__who-group-head h3{margin:0;font-size:14px}.pay-calendar__who-group-head p{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--muted)}.pay-calendar__who-card{display:grid;gap:4px;padding:12px 14px}.pay-calendar__who-card span{color:var(--muted);font-size:var(--font-size-sm)}.pay-day-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:16px;background:#0f172a73}.pay-day-modal__panel{width:min(720px,96vw);max-height:90vh;overflow-y:auto;padding:20px}.pay-day-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:2;background:var(--surface);margin:-20px -20px 14px;padding:20px 20px 12px;border-bottom:1px solid var(--border)}.pay-day-modal__due-card{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:8px}.pay-day-modal__due-card.is-active{border-width:2px;border-color:var(--brand, #0f766e);background:color-mix(in srgb,var(--brand-soft) 30%,var(--surface))}.pay-day-modal__entry-card{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;cursor:pointer}.pay-day-modal__entry-check{padding-top:3px}.pay-day-modal__entry-body{display:grid;gap:6px}.pay-day-modal__run-actions{display:flex;gap:8px;align-items:center;margin-top:12px;flex-wrap:wrap}.pay-day-modal__worker-card{display:grid;gap:8px;padding:12px}@media(max-width:900px){.pay-calendar__summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.pay-calendar__toolbar-actions,.pay-day-modal__run-actions{width:100%}.pay-day-modal{padding:max(8px,env(safe-area-inset-top)) 0 0;align-items:stretch}.pay-day-modal__panel{width:100vw;max-height:100vh;max-height:calc(100dvh - env(safe-area-inset-top));border-radius:12px 12px 0 0;padding:14px}.pay-day-modal__head{margin:-14px -14px 10px;padding:12px 14px 8px}.pay-day-modal__head h3{font-size:15px}}@media(max-width:640px){.pay-calendar__summary,.pay-calendar__info-card-grid{grid-template-columns:1fr}.pay-calendar__toolbar-card,.pay-calendar__calendar-card{padding:14px}.pay-calendar__day,.pay-calendar__day--empty{min-height:96px}.pay-day-modal__head{align-items:stretch}}@media(pointer:coarse){:root{--input-fs-sm: 16px;--input-fs-md: 16px;--input-fs-lg: 16px;--input-h-sm: 36px;--input-h-md: 42px;--input-h-lg: 46px}input,select,textarea,[contenteditable=true],[contenteditable=plaintext-only]{font-size:16px!important}input[type=checkbox],input[type=radio],input[type=range],input[type=color],input[type=file]{font-size:inherit!important}.input--inline{height:var(--input-h-sm)}}html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{touch-action:manipulation}
