*,*:before,*:after{box-sizing:border-box}:root{--bg:#f8fafc;--bg-alt:#e2e8f0;--bg-2:#ffffff;--bg-3:#f1f5f9;--text:#0f172a;--muted:#475569;--fg-2:#64748b;--fg-3:#94a3b8;--card:#ffffff;--card-bg:#ffffff;--bg-subtle:rgba(148,163,184,.04);--surface-soft:rgba(148,163,184,.08);--border:#e2e8f0;--accent:#3b82f6;--accent-contrast:#fff;--primary:#3b82f6;--accent-hover:#2563eb;--focus:#93c5fd;--danger:#dc2626;--warning:#f59e0b;--success:#16a34a;--shadow:0 10px 20px rgba(2,6,23,.06);--radius:14px;--overlay-bg:rgba(0,0,0,.6);--overlay-blur:4px;color-scheme:light}[data-theme=dark]{--bg:#0b1220;--bg-alt:#1e293b;--bg-2:#0f172a;--bg-3:#1e293b;--text:#e5e7eb;--muted:#94a3b8;--fg-2:#cbd5e1;--fg-3:#94a3b8;--card:#0f172a;--card-bg:#0f172a;--bg-subtle:rgba(255,255,255,.04);--surface-soft:rgba(255,255,255,.08);--border:#1f2937;--accent:#60a5fa;--accent-contrast:#0b1220;--primary:#60a5fa;--accent-hover:#3b82f6;--focus:#93c5fd;--danger:#ef4444;--warning:#fbbf24;--success:#22c55e;--shadow:0 10px 20px rgba(0,0,0,.35);--radius:14px;--overlay-bg:rgba(0,0,0,.88);--overlay-blur:8px;color-scheme:dark}[data-theme=light]{--bg:#f8fafc;--bg-alt:#e2e8f0;--bg-2:#ffffff;--bg-3:#f1f5f9;--text:#0f172a;--muted:#475569;--fg-2:#64748b;--fg-3:#94a3b8;--card:#ffffff;--card-bg:#ffffff;--bg-subtle:rgba(148,163,184,.04);--surface-soft:rgba(148,163,184,.08);--border:#e2e8f0;--accent:#3b82f6;--accent-contrast:#fff;--primary:#3b82f6;--accent-hover:#2563eb;--focus:#93c5fd;--danger:#dc2626;--warning:#f59e0b;--success:#16a34a;--shadow:0 10px 20px rgba(2,6,23,.06);--radius:14px;--overlay-bg:rgba(0,0,0,.6);--overlay-blur:4px;color-scheme:light}[data-theme=light] body,:root body{background:#1a1a2e}[data-theme=light] #root,:root #root{background:#f8fafc}[data-theme=christmas]{--bg:#0f1c14;--bg-alt:#1a3324;--bg-2:#1a2d22;--bg-3:#1a3324;--text:#fef5e7;--muted:#9dc4a8;--fg-2:#c8e0cc;--fg-3:#9dc4a8;--card:#1a2d22;--card-bg:#1a2d22;--bg-subtle:rgba(255,255,255,.04);--surface-soft:rgba(255,255,255,.08);--border:#2d5a3e;--accent:#c41e3a;--accent-contrast:#fff;--primary:#c41e3a;--accent-hover:#a01828;--focus:#ff6b85;--danger:#ef4444;--warning:#fbbf24;--success:#22c55e;--shadow:0 10px 30px rgba(196,30,58,.25);--radius:14px;--overlay-bg:rgba(0,0,0,.88);--overlay-blur:8px;color-scheme:dark}[data-theme=christmas] body{background-image:radial-gradient(circle at 20% 50%,rgba(196,30,58,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(45,90,62,.05) 0%,transparent 50%)}[data-theme=retro]{--bg:#000000;--bg-alt:#0d1a0d;--bg-2:#0a0a0a;--bg-3:#0d1a0d;--text:#00ff00;--muted:#00aa00;--fg-2:#00dd00;--fg-3:#00aa00;--card:#0a0a0a;--card-bg:#0a0a0a;--bg-subtle:rgba(0,255,0,.04);--surface-soft:rgba(0,255,0,.08);--border:#00ff00;--accent:#00ff00;--accent-contrast:#000;--primary:#00ff00;--accent-hover:#00cc00;--focus:#00ff00;--danger:#ff0000;--warning:#ffff00;--success:#00ff00;--shadow:0 0 20px rgba(0,255,0,.2);--radius:4px;--overlay-bg:rgba(0,0,0,.88);--overlay-blur:8px;color-scheme:dark}[data-theme=retro] *{font-family:Courier New,Courier,monospace!important;letter-spacing:.5px}[data-theme=retro] body{background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,0,.03) 2px,rgba(0,255,0,.03) 4px)}[data-theme=retro] .sqr-btn,[data-theme=retro] .modal-content,[data-theme=retro] .drawer-content{box-shadow:0 0 10px #00ff004d}[data-theme=gamer]{--bg:#0d0a14;--bg-alt:#1a1528;--bg-2:#1a1528;--bg-3:#251f38;--text:#e0deff;--muted:#9d8fdb;--fg-2:#c5bfef;--fg-3:#9d8fdb;--card:#1a1528;--card-bg:#1a1528;--bg-subtle:rgba(176,38,255,.04);--surface-soft:rgba(176,38,255,.08);--border:#5a4d9c;--accent:#b026ff;--accent-contrast:#fff;--primary:#b026ff;--accent-hover:#9020d9;--focus:#ff00ff;--danger:#ff0055;--warning:#ffcc00;--success:#00ff88;--shadow:0 10px 40px rgba(176,38,255,.3);--radius:12px;--overlay-bg:rgba(0,0,0,.88);--overlay-blur:8px;color-scheme:dark}[data-theme=gamer] body{background-image:radial-gradient(circle at 10% 20%,rgba(176,38,255,.08) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(0,255,255,.06) 0%,transparent 40%)}[data-theme=gamer] .sqr-btn:hover,[data-theme=gamer] .modal-content,[data-theme=gamer] .drawer-content{box-shadow:0 0 20px #b026ff66,0 0 40px #0ff3}[data-theme=sentrac]{--bg:#000000;--bg-alt:#1a1a1a;--bg-2:#0f0f0f;--bg-3:#1a1a1a;--text:#e5e7eb;--muted:#94a3b8;--fg-2:#cbd5e1;--fg-3:#94a3b8;--card:#0f0f0f;--card-bg:#0f0f0f;--bg-subtle:rgba(255,255,255,.04);--surface-soft:rgba(255,255,255,.08);--border:#1f2937;--accent:#8224E3;--accent-contrast:#fff;--primary:#8224E3;--accent-hover:#6b1cb8;--focus:#a855f7;--danger:#ef4444;--warning:#fbbf24;--success:#22c55e;--shadow:0 10px 20px rgba(0,0,0,.35);--radius:14px;--overlay-bg:rgba(0,0,0,.88);--overlay-blur:8px;color-scheme:dark}[data-theme=sentrac] body{background:#000;font-family:Play,ui-sans-serif,system-ui,-apple-system,sans-serif}[data-theme=sentrac] .app-nav__title,[data-theme=sentrac] .app-logo-text,[data-theme=sentrac] .auth-brand-title{font-family:Play,sans-serif!important}[data-theme=sentrac] .app-sidebar,[data-theme=sentrac] .app-topbar,[data-theme=sentrac] .app-nav,[data-theme=sentrac] .mobile-nav-pill,[data-theme=sentrac] .mobile-nav-dropdown{font-family:Play,ui-sans-serif,system-ui,-apple-system,sans-serif!important}[data-theme=glass]{--bg:#09090b;--bg-alt:#18181b;--bg-2:#18181b;--bg-3:#27272a;--text:#fafafa;--muted:#a1a1aa;--card:#18181b;--card-bg:#18181b;--bg-subtle:rgba(255, 255, 255, .02);--surface-soft:rgba(255, 255, 255, .05);--border:#27272a;--fg:#fafafa;--fg-2:#a1a1aa;--fg-3:#71717a;--fg-dim:#a1a1aa;--fg-muted:#71717a;--error:#ef4444;--accent:#3b82f6;--accent-contrast:#fff;--accent-soft:rgba(59, 130, 246, .15);--primary:#3b82f6;--primary-soft:rgba(59, 130, 246, .15);--accent-hover:#2563eb;--focus:#60a5fa;--danger:#ef4444;--warning:#f59e0b;--success:#22c55e;--shadow: 0 1px 2px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--radius:12px;--radius-sm:8px;--radius-lg:16px;--overlay-bg:rgba(0, 0, 0, .75);--overlay-blur:8px;color-scheme:dark}[data-theme=glass] body{background:#09090b}[data-theme=glass] .sqr-card,[data-theme=glass] .drawer-content,[data-theme=glass] .modal-content,[data-theme=glass] .data-table{background:#18181b;border:1px solid #27272a;box-shadow:var(--shadow);border-radius:var(--radius)}[data-theme=glass] .modal-content,[data-theme=glass] .drawer-content{background:#1f1f23;border:1px solid #3f3f46;box-shadow:var(--shadow-lg)}[data-theme=glass] .btn--primary,[data-theme=glass] .btn-primary{background:#3b82f6;border:2px solid transparent;box-shadow:0 1px 2px #0000001a;border-radius:var(--radius-sm);transition:all .2s ease;color:#fff!important;font-weight:600;position:relative;overflow:hidden}[data-theme=glass] .btn--primary:hover,[data-theme=glass] .btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f659}[data-theme=glass] .btn--primary:active,[data-theme=glass] .btn-primary:active{transform:scale(.98)}[data-theme=glass] .btn--primary:before,[data-theme=glass] .btn-primary:before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(90deg,transparent,#60a5fa,#3b82f6,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .2s ease}[data-theme=glass] .btn--primary:hover:before,[data-theme=glass] .btn-primary:hover:before{opacity:1;animation:border-trace 1.5s linear infinite}@keyframes border-trace{0%{background-position:0% 50%}to{background-position:200% 50%}}[data-theme=glass] .btn--primary:before,[data-theme=glass] .btn-primary:before{background-size:200% 100%}[data-theme=glass] .btn--secondary,[data-theme=glass] .btn--ghost{background:transparent;border:1px solid #3f3f46;color:#fafafa}[data-theme=glass] .btn--secondary:hover,[data-theme=glass] .btn--ghost:hover{background:#ffffff0d;border-color:#52525b}[data-theme=glass] .btn--accent{background:#3b82f6;color:#fff!important}[data-theme=glass] .btn--accent:hover{background:#2563eb}[data-theme=glass] .btn--danger{background:#ef4444;color:#fff!important}[data-theme=glass] .btn--danger:hover{background:#dc2626}[data-theme=glass] .btn--success{background:#22c55e;color:#fff!important}[data-theme=glass] .btn--success:hover{background:#16a34a}[data-theme=glass] input,[data-theme=glass] select,[data-theme=glass] textarea,[data-theme=glass] .form-input,[data-theme=glass] .form-select{background:#09090b;border:1px solid #3f3f46;border-radius:var(--radius-sm);color:#fafafa;transition:border-color .15s ease}[data-theme=glass] input:focus,[data-theme=glass] select:focus,[data-theme=glass] textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f633}[data-theme=glass] .app-sidebar,[data-theme=glass] .app-topbar,[data-theme=glass] .app-nav{background:#09090b;border-color:#27272a}[data-theme=glass] .nav-item:hover,[data-theme=glass] .sqr-nav a:hover{background:#ffffff0d}[data-theme=glass] .nav-item.active,[data-theme=glass] .sqr-nav a[aria-current=page]{background:#3b82f6;color:#fff}[data-theme=glass] .stat-card,[data-theme=glass] .metric-card{background:#18181b;border:1px solid #27272a;box-shadow:var(--shadow);border-radius:var(--radius)}[data-theme=glass] .stat-card:hover,[data-theme=glass] .metric-card:hover{border-color:#3f3f46;box-shadow:var(--shadow-md)}[data-theme=glass] .visitor-tile,[data-theme=glass] .visitor-card,[data-theme=glass] .dashboard-tile{background:#18181b;border:1px solid #27272a;border-radius:var(--radius)}[data-theme=glass] .stat-card.onsite,[data-theme=glass] .stat-card--success{border-left:3px solid #22c55e}[data-theme=glass] .stat-card.checkout,[data-theme=glass] .stat-card--info{border-left:3px solid #3b82f6}[data-theme=glass] .stat-card.attention,[data-theme=glass] .stat-card--warning{border-left:3px solid #f59e0b}[data-theme=glass] .stat-card--danger{border-left:3px solid #ef4444}[data-theme=glass] .data-table thead{background:#0f0f11}[data-theme=glass] .data-table th{color:#a1a1aa;font-weight:600;border-bottom:1px solid #27272a}[data-theme=glass] .data-table td{border-bottom:1px solid #1f1f23}[data-theme=glass] .data-table tbody tr:hover{background:#ffffff05}[data-theme=glass] .visitor-dashboard .stat-card{background:#18181b!important;border:1px solid #27272a!important;border-left-width:3px!important}[data-theme=glass] .visitor-dashboard .stat-card:before{display:none}[data-theme=glass] .visitor-dashboard .stat-card:hover{background:#1f1f23!important;box-shadow:var(--shadow-md)}[data-theme=glass] .visitor-dashboard .stat-card.onsite{border-left-color:#22c55e!important}[data-theme=glass] .visitor-dashboard .stat-card.checkout{border-left-color:#3b82f6!important}[data-theme=glass] .visitor-dashboard .stat-card.attention{border-left-color:#71717a!important}[data-theme=glass] .visitor-dashboard .stat-card.attention.warning{border-left-color:#f59e0b!important}[data-theme=glass] .visitor-dashboard .stat-icon{background:#ffffff0d!important}[data-theme=glass] .visitor-dashboard .stat-card.onsite .stat-icon{color:#22c55e!important}[data-theme=glass] .visitor-dashboard .stat-card.checkout .stat-icon{color:#3b82f6!important}[data-theme=glass] .visitor-dashboard .stat-card.attention .stat-icon{color:#71717a!important}[data-theme=glass] .visitor-dashboard .stat-card.attention.warning .stat-icon{color:#f59e0b!important}[data-theme=glass] .visitor-dashboard .stat-value{color:#fafafa!important}[data-theme=glass] .visitor-dashboard .stat-label{color:#a1a1aa!important}[data-theme=glass] .metric-card{background:#18181b;border:1px solid #27272a;box-shadow:var(--shadow)}[data-theme=glass] .metric-card:hover{border-color:#3f3f46;box-shadow:var(--shadow-md)}[data-theme=glass] .metric-card:before{background:var(--accent)}[data-theme=glass] .metric-value{color:#fafafa}[data-theme=glass] .metric-label{color:#a1a1aa}[data-theme=glass] .metric-trend{background:#22c55e26;color:#22c55e}[data-theme=glass] .metric-trend.trend-down{background:#ef444426;color:#ef4444}[data-theme=glass] .metric-card.metric-rose{box-shadow:var(--shadow);border-color:#f43f5e4d}[data-theme=glass] .metric-card.metric-rose:hover{box-shadow:var(--shadow-md);border-color:#f43f5e80}[data-theme=glass] .metric-card.metric-amber{box-shadow:var(--shadow);border-color:#f973164d}[data-theme=glass] .metric-card.metric-amber:hover{box-shadow:var(--shadow-md);border-color:#f9731680}[data-theme=glass] .metric-card.metric-emerald{box-shadow:var(--shadow);border-color:#10b9814d}[data-theme=glass] .metric-card.metric-emerald:hover{box-shadow:var(--shadow-md);border-color:#10b98180}[data-theme=glass] .visitor-card{background:#18181b;border:1px solid #27272a;border-radius:12px}[data-theme=glass] .visitor-card:hover{border-color:#3f3f46;box-shadow:var(--shadow-md)}[data-theme=glass] .visitor-card.needs-attention{border-left:3px solid #f59e0b}[data-theme=glass] .visitor-card .visitor-name{color:#fafafa}[data-theme=glass] .visitor-card .visitor-company,[data-theme=glass] .visitor-card .visitor-host{color:#a1a1aa}[data-theme=glass] .form-preview-panel{background:#18181b;border:1px solid #27272a}[data-theme=glass] .form-preview-panel .preview-header{background:#0f0f11;border-bottom:1px solid #27272a}[data-theme=glass] .form-preview-panel .preview-header h3{color:#fafafa}[data-theme=glass] .form-preview-panel .preview-mode-btn{background:#27272a;border-color:#3f3f46;color:#a1a1aa}[data-theme=glass] .form-preview-panel .preview-mode-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}[data-theme=glass] .form-preview-panel .preview-content{background:#18181b}[data-theme=glass] .form-preview-panel .preview-field label{color:#a1a1aa}[data-theme=glass] .form-preview-panel .preview-field input,[data-theme=glass] .form-preview-panel .preview-field select,[data-theme=glass] .form-preview-panel .preview-field textarea{background:#09090b;border:1px solid #3f3f46;color:#fafafa}[data-theme=glass] .conditions-editor{background:#18181b;border:1px solid #27272a}[data-theme=glass] .conditions-editor .condition-row{background:#0f0f11;border:1px solid #27272a}[data-theme=glass] .mapboxgl-map,[data-theme=glass] .leaflet-container,[data-theme=glass] .mapboxgl-map img,[data-theme=glass] .leaflet-container img,[data-theme=glass] .mapboxgl-marker,[data-theme=glass] .leaflet-marker-icon{filter:invert(1) hue-rotate(180deg)}[data-theme=glass] .app-logo[data-has-dark-logo=true] .logo-light{display:none}[data-theme=glass] .app-logo[data-has-dark-logo=true] .logo-dark{display:block}[data-theme=glass] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=glass] ::-webkit-scrollbar-track{background:#18181b}[data-theme=glass] ::-webkit-scrollbar-thumb{background:#3f3f46;border-radius:4px}[data-theme=glass] ::-webkit-scrollbar-thumb:hover{background:#52525b}@media (prefers-color-scheme: dark){:root:not([data-theme]){--bg:#0b1220;--bg-alt:#1e293b;--bg-2:#0f172a;--bg-3:#1e293b;--text:#e5e7eb;--muted:#94a3b8;--fg-2:#cbd5e1;--fg-3:#94a3b8;--card:#0f172a;--card-bg:#0f172a;--bg-subtle:rgba(255,255,255,.04);--surface-soft:rgba(255,255,255,.08);--border:#1f2937;--accent:#60a5fa;--accent-contrast:#0b1220;--primary:#60a5fa;--accent-hover:#3b82f6;--focus:#93c5fd;--danger:#ef4444;--warning:#fbbf24;--success:#22c55e;--shadow:0 10px 20px rgba(0,0,0,.35);--radius:14px;--overlay-bg:rgba(0,0,0,.88);--overlay-blur:8px;color-scheme:dark}}html,body{height:100%;overflow-x:hidden;max-width:100vw}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.sqr-header{position:sticky;top:0;z-index:1000;backdrop-filter:saturate(180%) blur(10px);background:color-mix(in oklab,var(--bg) 88%,transparent);border-bottom:1px solid var(--border)}[data-theme=dark] .sqr-header{background:color-mix(in oklab,var(--bg) 82%,transparent)}.sqr-shell{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px 16px}.sqr-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.2px;color:var(--text);text-decoration:none}.sqr-brand .dot{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 35%,transparent)}.sqr-nav{justify-self:center;display:inline-flex;gap:10px;align-items:center;padding:4px;border:1px solid var(--border);background:var(--card);border-radius:999px;box-shadow:var(--shadow)}.sqr-nav a{display:inline-block;padding:8px 12px;border-radius:999px;color:var(--muted)}.sqr-nav a[aria-current=page]{color:var(--accent-contrast);background:var(--accent)}.sqr-nav a:hover{text-decoration:none;background:color-mix(in oklab,var(--accent) 12%,var(--card));color:var(--text)}.sqr-actions{justify-self:end;display:inline-flex;align-items:center;gap:8px}.sqr-page{max-width:1200px;margin:18px auto;padding:0 16px 24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sqr-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}:root{--sidebar-width: 240px;--sidebar-collapsed-width: 96px;--topbar-height: 64px;--app-nav-current-width: var(--sidebar-width);--nav-surface: var(--card);--surface: var(--card);--fg: var(--text);--fg-dim: var(--muted);--fg-muted: var(--muted);--sidebar-border: var(--border);--nav-shadow: var(--shadow);--nav-shadow-floating: var(--shadow);--border-subtle: rgba(148, 163, 184, .12);--scrim-bg: rgba(15, 23, 42, .45);--bg-secondary: var(--bg-alt);--bg-tertiary: var(--card);--bg-highlight: color-mix(in oklab, var(--accent) 10%, var(--bg));--bg-hover: var(--surface-soft);--text-primary: var(--text);--text-secondary: var(--muted);--text-tertiary: var(--muted);--primary-light: color-mix(in oklab, var(--accent) 15%, transparent);--accent-soft: color-mix(in oklab, var(--accent) 15%, transparent)}body.has-app-sidebar{--app-nav-current-width: var(--sidebar-width);padding-left:var(--sidebar-width);transition:padding-left .28s ease}body.has-app-sidebar.app-sidebar-collapsed{--app-nav-current-width: var(--sidebar-collapsed-width);padding-left:var(--sidebar-collapsed-width)}body.has-app-sidebar.app-sidebar-open{overflow:hidden}body.has-app-topbar{transition:padding-top .28s ease}@media (max-width: 960px){body.has-app-sidebar,body.has-app-sidebar.app-sidebar-collapsed{padding-left:0}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}.flash-container{position:fixed;top:80px;right:20px;z-index:99999;display:flex;flex-direction:column;gap:12px;max-width:420px;pointer-events:none}.flash-toast{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;box-shadow:0 8px 20px #00000026;backdrop-filter:blur(8px);animation:flash-slide-in .3s ease;pointer-events:auto;border:1px solid;min-width:320px}@keyframes flash-slide-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.flash-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.flash-message{flex:1;font-size:.95rem;line-height:1.5;word-break:break-word}.flash-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;opacity:.6;transition:all .2s ease;color:inherit}.flash-close:hover{opacity:1;background:#0000001a}.flash-close:active{transform:scale(.9)}.flash-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}.flash-success{background:#22c55e1f;border-color:#22c55e59;color:#16a34a}[data-theme=dark] .flash-success{background:#22c55e26;border-color:#22c55e66;color:#22c55e}.flash-error{background:#ef44441f;border-color:#ef444459;color:#dc2626}[data-theme=dark] .flash-error{background:#140a0cf2;border-color:#dc262680;color:#fca5a5}.flash-info{background:color-mix(in oklab,var(--accent) 12%,transparent);border-color:color-mix(in oklab,var(--accent) 35%,transparent);color:var(--accent)}[data-theme=dark] .flash-info{background:color-mix(in oklab,var(--accent) 15%,transparent);border-color:color-mix(in oklab,var(--accent) 40%,transparent);color:var(--primary)}.flash-warning{background:#f973161f;border-color:#f9731659;color:#ea580c}[data-theme=dark] .flash-warning{background:#140e08f2;border-color:#fb923c80;color:#fdba74}@media (max-width: 768px){.flash-container{top:70px;right:12px;left:12px;max-width:none}.flash-toast{min-width:0;width:100%}.flash-message{font-size:.9rem}}.modal-overlay{position:fixed;inset:0;z-index:10003;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-overlay-fade-in .2s ease;backdrop-filter:blur(4px)}html[data-theme=dark] .modal-overlay{background:#000000a6}@keyframes modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:8px;box-shadow:0 20px 50px #0000004d;max-height:90vh;display:flex;flex-direction:column;animation:modal-slide-in .3s ease;position:relative}html[data-theme=dark] .modal-content{background:#0f172a;border-color:#1f2937}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:600px}.modal-large{width:100%;max-width:800px}.modal-xlarge{width:100%;max-width:1000px}.modal-xxlarge{width:100%;max-width:1200px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 20px 12px;border-radius:8px 8px 0 0;flex-shrink:0}.modal-title{margin:0;font-size:18px;font-weight:600;color:var(--text, #0f172a);line-height:1.4;flex:1}.modal-header-actions{display:flex;gap:6px;align-items:center}.modal-close-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--muted);font-size:16px;font-weight:400;line-height:1;cursor:pointer;transition:all .2s ease;flex-shrink:0}.modal-close-btn:hover{background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent, var(--accent));color:var(--text)}.modal-close-btn:active{background:var(--surface-soft, rgba(148, 163, 184, .12))}.modal-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-body{flex:1;overflow-y:auto;padding:16px 20px;color:var(--text, #0f172a)}.modal-body:has(.dropdown){overflow:visible}.modal-body .dropdown__menu,.modal-body .dropdown__custom .dropdown__menu{position:fixed;z-index:9999}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--muted, #94a3b8)}.modal-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px 20px;border-radius:0 0 8px 8px;flex-shrink:0}@media (max-width: 1280px){.modal-overlay{padding:100px 0 0;top:0;left:0;right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));align-items:flex-end}.modal-content{width:100%;max-width:100%;max-height:calc(100vh - 178px - env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;animation:modal-slide-up .3s cubic-bezier(.4,0,.2,1)}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px 20px 12px;border-radius:20px 20px 0 0}.modal-title{font-size:1.1rem}.modal-body{padding:16px 20px}.modal-footer{padding:12px 20px 20px;flex-wrap:wrap}.modal-footer>*{flex:1 1 auto;min-width:100px}}.sqr-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:1px solid var(--accent);border-radius:4px;color:var(--accent);font-weight:500;font-size:13px;letter-spacing:.01em;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;min-height:32px;padding:6px 12px;white-space:nowrap;font-family:inherit}.sqr-btn svg{width:16px;height:16px;flex-shrink:0}.sqr-btn .btn-icon{display:inline-flex;align-items:center;justify-content:center}.sqr-btn.icon-only{padding:6px;min-width:32px}.sqr-btn.large svg{width:18px;height:18px}.sqr-btn.small svg{width:14px;height:14px}.sqr-btn:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 90%,#000)}.sqr-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sqr-btn:active:not(:disabled){background:color-mix(in oklab,var(--accent) 12%,transparent)}.sqr-btn:disabled{opacity:.5;cursor:not-allowed}.sqr-btn.primary{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#fff}.sqr-btn.primary svg{stroke:#fff}.sqr-btn.primary:hover:not(:disabled){background:color-mix(in oklab,var(--accent, #3b82f6) 85%,#000);border-color:color-mix(in oklab,var(--accent, #3b82f6) 85%,#000)}.sqr-btn.primary:active:not(:disabled){background:color-mix(in oklab,var(--accent, #3b82f6) 75%,#000);border-color:color-mix(in oklab,var(--accent, #3b82f6) 75%,#000)}.sqr-btn.secondary{background:var(--pill, var(--card));color:var(--fg, var(--text));border-color:var(--border)}.sqr-btn.secondary:hover:not(:disabled){background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent)}.sqr-btn.secondary:active:not(:disabled){background:var(--surface-soft, rgba(148, 163, 184, .12))}.sqr-btn.ghost{background:transparent;color:var(--text, var(--fg, #e5e7eb));border-color:var(--border)}.sqr-btn.ghost:hover:not(:disabled){background:var(--surface-soft, rgba(148, 163, 184, .06));border-color:var(--accent);color:var(--text, var(--fg, #e5e7eb))}.sqr-btn.ghost:active:not(:disabled){background:var(--surface-soft, rgba(148, 163, 184, .1))}[data-theme=dark] .sqr-btn.ghost,[data-theme=sentrac] .sqr-btn.ghost,[data-theme=gamer] .sqr-btn.ghost,[data-theme=retro] .sqr-btn.ghost,[data-theme=christmas] .sqr-btn.ghost{color:var(--text, #e5e7eb)}.sqr-btn.accent{background:transparent;border:1.5px solid var(--accent);color:var(--accent)}.sqr-btn.accent svg{stroke:var(--accent)}.sqr-btn.accent:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 90%,#000)}.sqr-btn.accent:active:not(:disabled){background:color-mix(in oklab,var(--accent) 12%,transparent)}.sqr-btn.danger{background:transparent;border:1.5px solid var(--danger);color:var(--danger)}.sqr-btn.danger svg{stroke:var(--danger)}.sqr-btn.danger:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.sqr-btn.danger:hover:not(:disabled) svg{stroke:#fff}.sqr-btn.danger:active:not(:disabled){background:color-mix(in oklab,var(--danger) 90%,#000);border-color:color-mix(in oklab,var(--danger) 90%,#000);color:#fff}.sqr-btn.danger:active:not(:disabled) svg{stroke:#fff}.sqr-btn.danger:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.sqr-btn.success{background:transparent;border:1.5px solid var(--success, #22c55e);color:var(--success, #22c55e)}.sqr-btn.success svg{stroke:var(--success, #22c55e)}.sqr-btn.success:hover:not(:disabled){background:var(--success, #22c55e);border-color:var(--success, #22c55e);color:#fff}.sqr-btn.success:hover:not(:disabled) svg{stroke:#fff}.sqr-btn.success:active:not(:disabled){background:color-mix(in oklab,var(--success, #22c55e) 85%,#000);border-color:color-mix(in oklab,var(--success, #22c55e) 85%,#000);color:#fff}.sqr-btn.success:active:not(:disabled) svg{stroke:#fff}.sqr-btn.success:focus-visible{outline:2px solid var(--success, #22c55e);outline-offset:2px}@media (max-width: 640px){.sqr-btn{min-height:36px;font-size:14px}}.sqr-icon-btn{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;margin:0;background:transparent;border:none;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--muted);cursor:pointer;transition:background .2s ease,color .2s ease,transform .1s ease}.sqr-icon-btn:focus{outline:none;border:1px solid var(--accent)}.sqr-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sqr-icon-btn:hover:not(:disabled){background:#94a3b81a;color:var(--text)}.sqr-icon-btn:active:not(:disabled){transform:scale(.95);outline:none}.sqr-icon-btn:disabled,.sqr-icon-btn-disabled{opacity:.4;cursor:not-allowed;transform:none!important}.sqr-icon-btn svg{width:14px;height:14px;stroke-width:2}.sqr-icon-btn-accent{color:var(--accent)}.sqr-icon-btn-accent:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.sqr-icon-btn-accent:focus{border-color:var(--accent)}.sqr-icon-btn-danger{color:#ef4444}.sqr-icon-btn-danger:hover:not(:disabled){background:#ef44441a;color:#dc2626}.sqr-icon-btn-danger:focus{border-color:#ef4444}@media (max-width: 640px){.sqr-icon-btn{width:40px;height:40px;min-width:40px;min-height:40px}.sqr-icon-btn svg{width:16px;height:16px}}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;letter-spacing:.01em;border-radius:10px;color:#fff;position:absolute;top:-4px;right:-4px;box-shadow:0 1px 3px #00000026;z-index:10;pointer-events:none}.badge-primary{background:linear-gradient(135deg,#ef4444,#dc2626)}.badge-secondary{background:linear-gradient(135deg,#6b7280,#4b5563)}.badge-success{background:linear-gradient(135deg,#10b981,#059669)}.badge-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.badge-small{min-width:14px;height:14px;padding:0 4px;font-size:9px;border-radius:7px;top:-3px;right:-3px}.badge-large{min-width:24px;height:24px;padding:0 8px;font-size:13px;border-radius:12px;top:-6px;right:-6px}@keyframes badge-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.badge{animation:badge-pulse .3s ease-out}.notification-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;width:400px;max-width:90vw;max-height:600px;background:var(--card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #0000001f,0 4px 12px #00000014;padding:12px;animation:slideDown .2s ease;z-index:10000;display:flex;flex-direction:column}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);margin-bottom:12px}.notification-dropdown-title{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.notification-dropdown-content{flex:1;overflow-y:auto;max-height:500px}.notification-dropdown-content::-webkit-scrollbar{width:8px}.notification-dropdown-content::-webkit-scrollbar-track{background:transparent}.notification-dropdown-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.notification-dropdown-content::-webkit-scrollbar-thumb:hover{background:var(--muted)}.notification-dropdown-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--fg-muted);font-size:14px}.notification-dropdown-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.notification-dropdown-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;text-align:center}.notification-dropdown-empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:50%;color:var(--fg-muted);margin-bottom:4px}.notification-dropdown-empty-icon svg{width:24px;height:24px}.notification-dropdown-empty h4{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.notification-dropdown-empty p{margin:0;font-size:14px;color:var(--fg-muted)}.notification-section{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.notification-section-title{margin:0;padding:0 4px;font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.notification-list{display:flex;flex-direction:column;gap:6px}.notification-item{position:relative;display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.notification-item:hover{background:var(--bg-secondary);border-color:var(--border-hover);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.notification-item:hover .notification-delete-button{opacity:1}.notification-item.unread{background:color-mix(in oklab,var(--accent) 4%,transparent);border-color:color-mix(in oklab,var(--accent) 20%,transparent)}.notification-item.unread:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 30%,transparent)}.notification-unread-dot{position:absolute;top:8px;left:8px;width:8px;height:8px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.notification-icon-badge{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:8px;color:var(--primary)}.notification-icon-badge.confirmed,.notification-icon-badge.confirmed svg{color:#10b981!important}.notification-icon-badge.declined,.notification-icon-badge.declined svg{color:#ef4444!important}.notification-icon-badge svg{width:18px;height:18px}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.notification-title{margin:0;font-size:14px;font-weight:600;color:var(--fg);line-height:1.4}.notification-timestamp{flex-shrink:0;font-size:11px;color:var(--fg-muted);white-space:nowrap}.notification-message{margin:0;font-size:13px;color:var(--fg-muted);line-height:1.5;word-break:break-word}.notification-delete-button{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--fg-muted);cursor:pointer;opacity:0;transition:all .15s ease;padding:0;margin-left:auto}.notification-delete-button svg{width:14px;height:14px}.notification-delete-button:hover{background:color-mix(in oklab,var(--danger) 10%,transparent);border-color:color-mix(in oklab,var(--danger) 40%,transparent);color:var(--danger)}.notification-delete-button:active{transform:scale(.95)}@media (max-width: 768px){.notification-dropdown-menu{position:fixed;top:calc(60px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);right:auto;width:calc(100vw - 32px);max-height:calc(100vh - 140px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));z-index:9999}.notification-item{padding:10px}.notification-icon-badge{width:32px;height:32px}.notification-icon-badge svg{width:16px;height:16px}.notification-title{font-size:13px}.notification-message{font-size:12px}.notification-timestamp{font-size:10px}.notification-delete-button{opacity:.6}.notification-delete-button:active{opacity:1}}.notification-button-container{position:relative}.notification-button{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.notification-button:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}.notification-button:active{transform:scale(.95)}.notification-button-icon{display:flex;align-items:center;justify-content:center;color:var(--fg-dim);transition:color .15s ease}.notification-button-icon svg{width:20px;height:20px;stroke-width:1.6}.notification-button:hover .notification-button-icon{color:var(--accent)}.notification-button:focus{outline:2px solid var(--primary);outline-offset:2px}@media (max-width: 768px){.notification-button{width:36px;height:36px}.notification-button-icon svg{width:20px;height:20px}}.matrix-rain-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none;animation:matrix-fade-out 5s ease-out forwards;overflow:hidden}.matrix-rain-canvas{display:block;width:100%;height:100%;background:#000}@keyframes matrix-fade-out{0%{opacity:1}70%{opacity:1}to{opacity:0}}@media (max-width: 768px){.matrix-rain-wrapper{animation-duration:4s}}.theme-switcher{position:relative;display:inline-flex}.theme-switcher__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:500;min-height:36px}.theme-switcher__trigger:hover{background:var(--hover-bg, rgba(148, 163, 184, .08));border-color:var(--accent)}.theme-switcher__trigger.is-open{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,transparent)}.theme-switcher__icon{font-size:18px;line-height:1}.theme-switcher__label{white-space:nowrap}.theme-switcher__chevron{color:var(--muted);transition:transform .2s ease}.theme-switcher__trigger.is-open .theme-switcher__chevron{transform:rotate(180deg)}.theme-switcher__backdrop{position:fixed;inset:0;z-index:999}.theme-switcher__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000;overflow:hidden;animation:theme-menu-slide-in .2s ease}@keyframes theme-menu-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.theme-switcher__header{padding:12px 16px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.theme-switcher__option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text);cursor:pointer;transition:background .2s ease;text-align:left}.theme-switcher__option:hover{background:var(--hover-bg, rgba(148, 163, 184, .08))}.theme-switcher__option.is-active{background:color-mix(in oklab,var(--accent) 12%,transparent)}.theme-switcher__option-icon{font-size:24px;line-height:1;flex-shrink:0}.theme-switcher__option-content{flex:1;min-width:0}.theme-switcher__option-name{font-size:14px;font-weight:600;color:var(--text);line-height:1.4}.theme-switcher__option-desc{font-size:12px;color:var(--muted);line-height:1.4}.theme-switcher__check{color:var(--accent);flex-shrink:0}@media (max-width: 640px){.theme-switcher__menu{right:auto;left:0;min-width:240px}.theme-switcher__label{display:none}}.clock-in-out-modal{display:flex;flex-direction:column;gap:16px}.shift-details-card{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 15%,transparent),color-mix(in oklab,var(--accent) 5%,transparent));border:2px solid color-mix(in oklab,var(--accent) 20%,transparent);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:8px}.shift-date{font-size:14px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.shift-type-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.shift-type{font-size:20px;font-weight:600;color:var(--text)}.pay-multiplier{display:inline-block;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;letter-spacing:.3px}.shift-time{font-size:16px;color:var(--muted);font-weight:500}.shift-location,.shift-route{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}.shift-location .icon,.shift-route .icon{flex-shrink:0;opacity:.6}.gps-loading,.gps-captured,.gps-error{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;font-size:13px;font-weight:500}.gps-loading{background:color-mix(in oklab,var(--accent) 10%,transparent);border:1px solid color-mix(in oklab,var(--accent) 20%,transparent);color:var(--accent)}.gps-captured{background:color-mix(in oklab,#22c55e 10%,transparent);border:1px solid color-mix(in oklab,#22c55e 20%,transparent);color:#16a34a}.gps-error{background:color-mix(in oklab,#f59e0b 10%,transparent);border:1px solid color-mix(in oklab,#f59e0b 20%,transparent);color:#d97706}.icon-check,.icon-alert{flex-shrink:0}.spinner-small{width:16px;height:16px;border:2px solid color-mix(in oklab,var(--accent) 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.clock-in-confirmation{display:flex;align-items:center;gap:8px;padding:12px 16px;background:color-mix(in oklab,#22c55e 10%,transparent);border:1px solid color-mix(in oklab,#22c55e 20%,transparent);border-radius:8px;color:#16a34a;font-size:14px;font-weight:500;animation:slideIn .3s ease}.shift-timer{display:flex;align-items:center;gap:10px;padding:16px 20px;background:color-mix(in oklab,#22c55e 8%,transparent);border:2px solid color-mix(in oklab,#22c55e 20%,transparent);border-radius:12px;animation:slideIn .3s ease}.timer-dot{width:10px;height:10px;background:#22c55e;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}.timer-text{font-size:17px;font-weight:600;color:#16a34a;font-variant-numeric:tabular-nums}.modal-actions{display:flex;flex-direction:column;gap:12px;margin-top:8px}.btn-clock-in,.btn-clock-out{width:100%;padding:16px 24px;font-size:16px;font-weight:600;border-radius:12px;transition:all .2s ease;border:none}.btn-clock-in{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e40}.btn-clock-in:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #22c55e59}.btn-clock-in:active:not(:disabled){transform:scale(.98)}.btn-clock-out{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;box-shadow:0 4px 12px color-mix(in oklab,var(--accent) 25%,transparent)}.btn-clock-out:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px color-mix(in oklab,var(--accent) 35%,transparent)}.btn-clock-out:active:not(:disabled){transform:scale(.98)}.btn-clock-in:disabled,.btn-clock-out:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.shift-details-card{padding:16px}.shift-type{font-size:18px}.shift-time{font-size:14px}.timer-text{font-size:16px}.btn-clock-in,.btn-clock-out{min-height:48px}}.shift-selection-modal{display:flex;flex-direction:column;gap:20px}.modal-description{font-size:14px;color:var(--fg-muted);margin:0 0 12px}.shift-options{display:flex;flex-direction:column;gap:24px}.shift-section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted);margin:0;padding-bottom:8px;border-bottom:1px solid var(--border)}.shift-option{width:100%;padding:16px;background:var(--bg);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left;display:block}.shift-option:hover{border-color:var(--primary);background:var(--bg-muted);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.shift-option.selected{border-color:var(--primary);background:var(--primary-bg);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 10%,transparent)}.shift-option-content{display:flex;flex-direction:column;gap:8px}.shift-option-header{display:flex;justify-content:space-between;align-items:center}.shift-type-badge{display:inline-block;padding:4px 12px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.unscheduled-badge{background:linear-gradient(135deg,#f59e0b,#d97706)}.check-icon{color:var(--primary);flex-shrink:0}.shift-date{font-size:13px;font-weight:600;color:var(--fg);margin-top:4px}.shift-time{font-size:14px;font-weight:500;color:var(--fg)}.shift-location,.shift-route{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--fg-muted)}.shift-location .icon,.shift-route .icon{flex-shrink:0;opacity:.7}.unscheduled-option .shift-description{font-size:13px;color:var(--fg-muted);line-height:1.5}.shift-use-cases{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.use-case-tag{display:inline-block;padding:3px 8px;background:var(--bg-muted);border:1px solid var(--border);color:var(--fg-muted);font-size:11px;font-weight:500;border-radius:4px}.info-box{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--info-bg);border:1px solid var(--info);border-radius:8px;font-size:13px;color:var(--fg)}.info-icon{flex-shrink:0;color:var(--info);margin-top:2px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--border)}@media (max-width: 600px){.shift-option{padding:14px}.shift-type-badge{font-size:11px;padding:3px 10px}.shift-date{font-size:12px}.shift-time{font-size:13px}.use-case-tag{font-size:10px;padding:2px 6px}}.shift-option{animation:slideIn .2s ease forwards}.shift-option:nth-child(1){animation-delay:0s}.shift-option:nth-child(2){animation-delay:.05s}.shift-option:nth-child(3){animation-delay:.1s}.shift-option:nth-child(4){animation-delay:.15s}.site-autocomplete,.site-autocomplete-input-wrapper{position:relative;width:100%}.site-autocomplete-input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:.95rem;transition:border-color .2s,box-shadow .2s}.site-autocomplete-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #0073e61a}.site-autocomplete-input:disabled{background:var(--hover);cursor:not-allowed;opacity:.6}.site-autocomplete-input.has-error{border-color:var(--danger)}.site-autocomplete-input::placeholder{color:var(--fg-dim)}.site-autocomplete-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:4px;border:none;background:transparent;color:var(--fg-dim);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.site-autocomplete-clear:hover{background:var(--hover);color:var(--fg)}.site-autocomplete-clear:active{transform:translateY(-50%) scale(.9)}.site-autocomplete-error{margin-top:4px;padding:4px 8px;font-size:.85rem;color:var(--danger);background:#ff3b301a;border-radius:4px}.site-autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #00000026;z-index:1000}.site-autocomplete-item{padding:12px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.site-autocomplete-item:last-child{border-bottom:none}.site-autocomplete-item:hover,.site-autocomplete-item.highlighted{background:var(--hover)}.site-autocomplete-item-primary{font-weight:500;font-size:.95rem;color:var(--fg);margin-bottom:2px}.site-autocomplete-item-secondary{font-size:.85rem;color:var(--fg-dim);margin-bottom:2px}.site-autocomplete-item-tertiary{font-size:.8rem;color:var(--fg-dim);margin-top:2px;opacity:.8}.site-autocomplete-empty{padding:12px 14px;color:var(--fg-dim);font-size:.9rem;text-align:center}.site-autocomplete-loading{margin-top:4px;padding:6px 8px;font-size:.85rem;color:var(--fg-dim);font-style:italic}.site-autocomplete-item.highlighted{background:var(--hover);border-left:3px solid var(--primary);padding-left:11px}.site-autocomplete-dropdown::-webkit-scrollbar{width:8px}.site-autocomplete-dropdown::-webkit-scrollbar-track{background:var(--bg)}.site-autocomplete-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.site-autocomplete-dropdown::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}@media (max-width: 768px){.site-autocomplete-dropdown{max-height:240px}.site-autocomplete-item{padding:10px 12px}.site-autocomplete-input{font-size:16px}}.leave-request-form{display:flex;flex-direction:column;gap:1.5rem}.leave-request-form .form-group{display:flex;flex-direction:column;gap:.5rem}.leave-request-form label{font-weight:500;font-size:.875rem;color:var(--text-primary)}.leave-request-form .required{color:var(--error-color, #dc2626)}.leave-request-form input[type=date],.leave-request-form select,.leave-request-form textarea{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--input-bg, var(--bg));color:var(--text-primary);transition:border-color .2s}.leave-request-form input:focus,.leave-request-form select:focus,.leave-request-form textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha, color-mix(in oklab, var(--accent) 10%, transparent))}.leave-request-form input:disabled,.leave-request-form select:disabled,.leave-request-form textarea:disabled{opacity:.6;cursor:not-allowed}.leave-request-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.leave-type-info{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.leave-type-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;color:#fff;text-transform:uppercase}.info-text{font-size:.75rem;color:var(--text-secondary)}.conflict-preview{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.conflict-preview.loading{background:var(--bg-secondary);color:var(--text-secondary)}.conflict-preview.warning{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}.conflict-preview.success{background:#d1fae5;color:#065f46;border:1px solid #34d399}.conflict-preview .icon{font-size:1.25rem}.conflict-preview .spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .6s linear infinite}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{margin-top:.125rem;cursor:pointer}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed}.help-text{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.loading-indicator{padding:.75rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}@media (prefers-color-scheme: dark){.conflict-preview.warning{background:#d9770633;color:#fbbf24}.conflict-preview.success{background:#10b98133;color:#34d399}}.drawer-overlay{position:fixed;inset:0;top:var(--topbar-height, 64px);z-index:10001;background:var(--overlay-bg, rgba(0, 0, 0, .4));animation:drawer-overlay-fade-in .3s ease}@keyframes drawer-overlay-fade-in{0%{opacity:0}to{opacity:1}}.drawer-content{position:fixed;top:var(--topbar-height, 64px);bottom:0;z-index:10002;background:var(--card, #ffffff);border:1px solid var(--border, #e2e8f0);box-shadow:-4px 0 24px #00000026;display:flex;flex-direction:column;overflow:hidden}.drawer-right{right:0;border-left:1px solid var(--border, #e2e8f0);animation:drawer-slide-in-right .3s ease}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-left{left:0;border-right:1px solid var(--border, #e2e8f0);box-shadow:4px 0 24px #00000026;animation:drawer-slide-in-left .3s ease}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-small{width:320px}.drawer-medium{width:480px}.drawer-large{width:640px}.drawer-xlarge{width:800px}.drawer-xxlarge{width:calc(100vw - 280px);max-width:1400px}.drawer-full{width:calc(100vw - 80px);max-width:1600px}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 20px 12px;flex-shrink:0;padding-top:max(24px,env(safe-area-inset-top,24px))}.drawer-title{margin:0;font-size:18px;font-weight:600;color:var(--text, #0f172a);line-height:1.4;flex:1}.drawer-header-actions{display:flex;gap:6px;align-items:center}.drawer-close-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border, #e2e8f0);border-radius:4px;color:var(--muted);font-size:16px;font-weight:400;line-height:1;cursor:pointer;transition:all .2s ease;flex-shrink:0}.drawer-close-btn:hover{background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent, var(--accent));color:var(--text)}.drawer-close-btn:active{background:var(--surface-soft, rgba(148, 163, 184, .12))}.drawer-close-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.drawer-body{flex:1;overflow-y:auto;padding:16px 20px;color:var(--text, #0f172a)}.drawer-body::-webkit-scrollbar{width:8px}.drawer-body::-webkit-scrollbar-track{background:transparent}.drawer-body::-webkit-scrollbar-thumb{background:var(--border, #e2e8f0);border-radius:4px}.drawer-body::-webkit-scrollbar-thumb:hover{background:var(--muted, #94a3b8)}.drawer-footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px 20px;flex-shrink:0}@media (max-width: 1280px){.drawer-overlay{bottom:calc(58px + env(safe-area-inset-bottom,0px))}.drawer-content{width:100%!important;max-width:100%;top:auto;bottom:0;max-height:calc(100vh - 78px - env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;box-shadow:0 -4px 24px #00000026;animation:drawer-slide-up-mobile .3s cubic-bezier(.4,0,.2,1)}.drawer-right,.drawer-left{left:0;right:0}.drawer-header{padding:20px 20px 12px}.drawer-title{font-size:16px}.drawer-body{padding:16px 20px}.drawer-footer{padding:12px 20px 20px;flex-direction:column-reverse}.drawer-footer>*{width:100%}}@keyframes drawer-slide-up-mobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 767px),(display-mode: standalone){.drawer-overlay{top:calc(60px + env(safe-area-inset-top,0px));bottom:calc(58px + env(safe-area-inset-bottom,0px))}.drawer-content{top:calc(60px + env(safe-area-inset-top,0px));bottom:calc(58px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 118px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 118px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.drawer-full{width:100%!important;max-width:100%!important;inset:0!important;max-height:none!important;border-left:none;border-right:none;border-radius:0!important;animation:drawer-fade-in .2s ease}.drawer-full .drawer-header{padding-top:20px}.drawer-full .drawer-body{padding-bottom:16px}.drawer-medium,.drawer-large,.drawer-xlarge,.drawer-xxlarge{width:100%;max-width:100%;left:0;right:0;border-left:none;border-right:none;border-radius:16px 16px 0 0}}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.todo-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;transition:all .15s ease}.todo-item:hover{border-color:var(--border-hover, var(--border));box-shadow:0 1px 3px #0000000d}.todo-item.is-completed{opacity:.6}.todo-item.is-completed .todo-item__title{text-decoration:line-through;color:var(--fg-muted)}.todo-item.priority-high{border-left:3px solid var(--warning, #f59e0b)}.todo-item.priority-low{border-left:3px solid var(--fg-muted)}.todo-item__main{display:flex;align-items:flex-start;gap:10px;padding:10px 12px}.todo-item__checkbox{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;background:var(--bg);border:2px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.todo-item__checkbox:hover{border-color:var(--primary);background:var(--primary-bg, rgba(37, 99, 235, .05))}.todo-item__checkbox.is-checked{background:var(--primary);border-color:var(--primary)}.todo-item__checkbox svg{width:12px;height:12px;color:#fff}.todo-item__content{flex:1;min-width:0;cursor:default}.todo-item__content[role=button]{cursor:pointer}.todo-item__title-row{display:flex;align-items:center;gap:6px}.todo-item__title{font-size:14px;font-weight:500;color:var(--fg);word-break:break-word}.todo-item__link-indicator{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--primary);opacity:.7}.todo-item__link-indicator svg{width:12px;height:12px}.todo-item__meta{display:flex;align-items:center;gap:8px;margin-top:4px;font-size:12px}.todo-item__due{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.todo-item__due--danger{background:#ef44441a;color:var(--danger)}.todo-item__due--warning{background:#f59e0b1a;color:var(--warning, #f59e0b)}.todo-item__due--info{background:#3b82f61a;color:var(--info, #3b82f6)}.todo-item__due--default{background:var(--bg-muted);color:var(--fg-muted)}.todo-item__due--muted{color:var(--fg-muted)}.todo-item__priority{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.todo-item__priority--high{background:#f59e0b1a;color:var(--warning, #f59e0b)}.todo-item__linked-label{color:var(--fg-muted);font-size:11px}.todo-item__actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease}.todo-item:hover .todo-item__actions,.todo-item.is-expanded .todo-item__actions{opacity:1}.todo-item__expand,.todo-item__delete,.todo-item__convert{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.todo-item__expand:hover,.todo-item__delete:hover,.todo-item__convert:hover{background:var(--bg-muted);color:var(--fg)}.todo-item__delete:hover{color:var(--danger)}.todo-item__convert:hover{color:var(--primary, #3b82f6)}.todo-item__expand svg,.todo-item__delete svg,.todo-item__convert svg{width:16px;height:16px}.todo-item__expand.is-expanded{transform:rotate(180deg)}.todo-item__expanded{padding:12px 12px 12px 42px;border-top:1px solid var(--border);margin-top:8px}.todo-item__notes{margin-bottom:12px}.todo-item__notes-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.todo-item__notes-header svg{width:12px;height:12px}.todo-item__notes-content{font-size:13px;color:var(--fg);line-height:1.5;white-space:pre-wrap;word-break:break-word}.todo-item__linked{background:var(--bg-muted);border-radius:6px;padding:10px}.todo-item__linked-header{display:flex;align-items:flex-start;gap:6px;font-size:12px;font-weight:500;color:var(--fg);margin-bottom:8px}.todo-item__linked-header svg{flex-shrink:0;width:14px;height:14px;margin-top:1px;color:var(--primary)}.todo-item__linked-status{display:flex;align-items:center;gap:8px;margin-bottom:8px}.todo-item__status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.todo-item__status-badge--info{background:#3b82f61a;color:var(--info, #3b82f6)}.todo-item__status-badge--primary{background:var(--primary-bg, rgba(37, 99, 235, .1));color:var(--primary)}.todo-item__status-badge--warning{background:#f59e0b1a;color:var(--warning, #f59e0b)}.todo-item__status-badge--success{background:#10b9811a;color:var(--success, #10b981)}.todo-item__status-badge--muted{background:var(--bg-muted);color:var(--fg-muted)}.todo-item__archived-badge{padding:2px 6px;background:var(--bg);border-radius:4px;font-size:10px;color:var(--fg-muted)}.todo-item__activity{display:flex;flex-wrap:wrap;gap:4px;font-size:12px;color:var(--fg-muted);margin-bottom:10px}.todo-item__activity-user{font-weight:500;color:var(--fg)}.todo-item__activity-preview{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo-item__activity-time{flex-shrink:0;font-size:11px}.todo-item__linked-actions{display:flex;gap:8px}.todo-item__open-link{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-size:11px;font-weight:500;color:var(--fg);text-decoration:none;transition:all .15s ease}.todo-item__open-link:hover{background:var(--primary);border-color:var(--primary);color:#fff}.todo-item__open-link svg{width:12px;height:12px}.todo-item__resolved-prompt{margin-top:10px;padding:8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px}.todo-item__resolved-prompt>span{display:block;color:var(--fg-muted);margin-bottom:8px}.todo-item__resolved-actions{display:flex;gap:8px}.todo-item__resolved-actions button{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.todo-item__resolved-actions button:first-child{background:var(--success, #10b981);border:none;color:#fff}.todo-item__resolved-actions button:last-child{background:var(--bg);border:1px solid var(--border);color:var(--fg-muted)}.todo-item__resolved-actions button:hover{opacity:.9}.todo-item__edit-btn{opacity:0;padding:2px;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;transition:opacity .15s,color .15s;flex-shrink:0}.todo-item:hover .todo-item__edit-btn{opacity:1}.todo-item__edit-btn:hover{color:var(--primary)}.todo-item__edit-btn svg{width:12px;height:12px}.todo-item__title-edit{display:flex;align-items:center;gap:6px;flex:1}.todo-item__title-edit input{flex:1;padding:4px 8px;border:1px solid var(--primary);border-radius:4px;background:var(--bg);color:var(--fg);font-size:14px;font-weight:500;outline:none}.todo-item__title-edit button{width:24px;height:24px;padding:0;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.todo-item__title-edit button:first-of-type{background:var(--success, #10b981);color:#fff}.todo-item__title-edit button:first-of-type:hover{background:#059669}.todo-item__title-edit button:last-of-type{background:var(--bg-muted, #f1f5f9);color:var(--fg-muted)}.todo-item__title-edit button:last-of-type:hover{background:var(--border);color:var(--fg)}.todo-item__title-edit button svg{width:14px;height:14px}.todo-item__action-buttons{display:flex;gap:2px;padding:0 12px 10px 42px}.todo-item__icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.todo-item__icon-btn:hover{background:var(--bg-muted, #f1f5f9);color:var(--fg)}.todo-item__icon-btn.has-value{color:var(--primary)}.todo-item__icon-btn.priority-high{color:var(--warning, #f59e0b)}.todo-item__icon-btn.priority-low{color:var(--fg-muted);opacity:.6}.todo-item__icon-btn.mark-done:hover{background:#10b98126;color:var(--success, #10b981)}.todo-item__icon-btn.is-done{color:var(--success, #10b981)}.todo-item__icon-btn.is-done:hover{background:#f59e0b26;color:var(--warning, #f59e0b)}.todo-item__icon-btn.team:hover{background:#3b82f626;color:var(--primary, #3b82f6)}.todo-item__icon-btn.delete:hover{background:#ef444426;color:var(--danger, #ef4444)}.todo-item__icon-btn svg{width:16px;height:16px}.todo-item__inline-edit{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-muted, #f1f5f9);border-radius:6px}.todo-item__inline-edit input[type=date]{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:12px;min-width:130px}.todo-item__inline-edit button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.todo-item__inline-edit button:first-of-type{background:var(--success, #10b981);color:#fff}.todo-item__inline-edit button:first-of-type:hover{background:#059669}.todo-item__inline-edit button:hover{background:var(--bg);color:var(--fg)}.todo-item__inline-edit button.clear-btn:hover{color:var(--danger, #ef4444)}.todo-item__inline-edit button svg{width:14px;height:14px}.todo-item__inline-edit.priority-edit{gap:2px}.todo-item__inline-edit .priority-option{padding:4px 8px;font-size:11px;font-weight:500;background:transparent;width:auto}.todo-item__inline-edit .priority-option:hover{background:var(--bg)}.todo-item__inline-edit .priority-option.active{background:var(--primary);color:#fff}@media (max-width: 480px){.todo-item__main{padding:8px 10px}.todo-item__actions{opacity:1}.todo-item__expanded{padding-left:32px}.todo-item__action-buttons{padding-left:32px;flex-wrap:wrap}.todo-item__edit-btn{opacity:.6}}@media (hover: none){.todo-item__edit-btn{opacity:.6}}.quick-add-todo{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border);margin:-16px -16px 16px}.quick-add-todo__form{display:flex;flex-direction:column;gap:10px;flex:1}.quick-add-todo__input-row{display:flex;align-items:center;gap:10px}.quick-add-todo__input-row:focus-within .quick-add-todo__icon{color:var(--accent)}.quick-add-todo__icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--fg-muted)}.quick-add-todo__icon svg{width:16px;height:16px}.quick-add-todo__input{flex:1;min-width:0;padding:0;margin:0;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-appearance:none;appearance:none;font-size:14px;color:var(--fg);min-height:unset;height:auto}.quick-add-todo__input:focus{border:none!important;outline:none!important;box-shadow:none!important}.quick-add-todo__input::placeholder{color:var(--fg-muted)}.quick-add-todo__submit{padding:4px 12px;background:var(--primary);border:none;border-radius:6px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s ease}.quick-add-todo__submit:hover{background:var(--primary-hover, var(--primary));opacity:.9}.quick-add-todo__submit:disabled{opacity:.5;cursor:not-allowed}.quick-add-todo__options{display:flex;flex-direction:column;gap:8px;padding:8px 0 0}.quick-add-todo__option{display:flex;align-items:center;gap:10px}.quick-add-todo__option-label{display:flex;align-items:center;gap:4px;min-width:60px;font-size:12px;font-weight:500;color:var(--fg-muted)}.quick-add-todo__option-label svg{width:14px;height:14px}.quick-add-todo__date-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.quick-add-todo__preset{padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--fg);cursor:pointer;transition:all .15s ease}.quick-add-todo__preset:hover{background:var(--bg-muted)}.quick-add-todo__preset.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.quick-add-todo__date-input{padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--fg);cursor:pointer}.quick-add-todo__date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.quick-add-todo__clear-date{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:4px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.quick-add-todo__clear-date:hover{background:var(--bg-muted);color:var(--danger)}.quick-add-todo__clear-date svg{width:14px;height:14px}.quick-add-todo__priority-options{display:flex;gap:6px}.quick-add-todo__priority{padding:4px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s ease}.quick-add-todo__priority:hover{background:var(--bg-muted)}.quick-add-todo__priority.is-active{border-color:currentColor}.quick-add-todo__priority--low{color:var(--fg-muted)}.quick-add-todo__priority--low.is-active{background:var(--bg-muted)}.quick-add-todo__priority--medium{color:var(--fg)}.quick-add-todo__priority--medium.is-active{background:var(--bg-muted);border-color:var(--fg-muted)}.quick-add-todo__priority--high{color:var(--warning, #f59e0b)}.quick-add-todo__priority--high.is-active{background:#f59e0b1a;border-color:var(--warning, #f59e0b)}@media (max-width: 480px){.quick-add-todo{padding:10px 12px;margin:-16px -12px 12px}.quick-add-todo__option{flex-direction:column;align-items:flex-start;gap:6px}.quick-add-todo__option-label{min-width:unset}.quick-add-todo__date-options,.quick-add-todo__priority-options{width:100%}.quick-add-todo__preset,.quick-add-todo__priority{flex:1;text-align:center}}.assigned-item{display:flex;align-items:stretch;background:var(--card, var(--bg));border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:all .15s ease}.assigned-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.assigned-item__priority-bar{width:4px;flex-shrink:0}.assigned-item__body{flex:1;padding:12px;min-width:0}.assigned-item__header{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.assigned-item__type{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.assigned-item__type--task{background:#8b5cf626;color:#8b5cf6}.assigned-item__type--ticket{background:#3b82f626;color:#3b82f6}.assigned-item__number{font-size:11px;font-weight:500;color:var(--fg-muted)}.assigned-item__status{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:capitalize}.assigned-item__priority-badge{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase}.assigned-item__title{font-size:14px;font-weight:500;color:var(--fg);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.assigned-item__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px;margin-bottom:8px}.assigned-item__category{display:flex;align-items:center;gap:4px;color:var(--fg-muted)}.assigned-item__category-dot{width:6px;height:6px;border-radius:50%}.assigned-item__customer{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.assigned-item__due{display:flex;align-items:center;gap:3px;font-weight:500}.assigned-item__due svg{width:12px;height:12px}.assigned-item__people{display:flex;align-items:center;gap:12px;margin-top:8px}.assigned-item__label{font-size:10px;font-weight:500;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px}.assigned-item__assignee,.assigned-item__team{display:flex;align-items:center;gap:6px}.assigned-item__avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0}.assigned-item__avatar--assignee{background:linear-gradient(135deg,#f59e0b,#ef4444)}.assigned-item__avatar--team{background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);margin-left:-6px;border:2px solid var(--card, var(--bg))}.assigned-item__avatar--team:nth-child(2){margin-left:0}.assigned-item__assignee-name{font-size:12px;font-weight:600;color:var(--fg)}.assigned-item__team-more{font-size:10px;color:var(--fg-muted);margin-left:4px}.assigned-item__end{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;padding:12px 12px 12px 0}.assigned-item__add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:var(--surface, var(--bg));border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease;opacity:.7}.assigned-item__add-btn:hover{opacity:1;border-color:var(--accent);color:var(--accent);background:#3b82f61a}.assigned-item__add-btn svg{width:14px;height:14px}.assigned-item__messages{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--fg-muted)}.assigned-item__messages svg{width:14px;height:14px}@media (max-width: 480px){.assigned-item__body{padding:10px}.assigned-item__end{padding:10px 10px 10px 0}}.todo-drawer{display:flex;flex-direction:column;height:100%;overflow:hidden}.todo-drawer__tabs{display:flex;gap:4px;padding:0 16px;margin-bottom:16px;border-bottom:1px solid var(--border)}.todo-drawer__tab{display:flex;align-items:center;gap:6px;padding:10px 12px;background:none;border:none;border-bottom:2px solid transparent;color:var(--fg-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.todo-drawer__tab:hover{color:var(--fg)}.todo-drawer__tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.todo-drawer__tab svg{width:16px;height:16px}.todo-drawer__tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--bg-muted);border-radius:9px;font-size:11px;font-weight:600}.todo-drawer__tab.is-active .todo-drawer__tab-badge{background:var(--primary);color:#fff}.todo-drawer__content{flex:1;overflow-y:auto;padding:0 16px}.todo-drawer__loading,.todo-drawer__error,.todo-drawer__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--fg-muted)}.todo-drawer__empty svg,.todo-drawer__error svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.todo-drawer__empty p,.todo-drawer__error span{font-size:14px;font-weight:500;margin:0 0 4px;color:var(--fg)}.todo-drawer__empty span{font-size:13px;color:var(--fg-muted)}.todo-drawer__error button{margin-top:12px;padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer}.todo-section{margin-bottom:8px}.todo-section__header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 0;background:none;border:none;color:var(--fg-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:color .15s ease}.todo-section__header:hover{color:var(--fg)}.todo-section__icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px}.todo-section__icon svg{width:14px;height:14px}.todo-section__title{flex:1;text-align:left}.todo-section__count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--bg-muted);border-radius:9px;font-size:10px;font-weight:600}.todo-section__chevron{width:16px;height:16px;transition:transform .2s ease}.todo-section__chevron svg{width:14px;height:14px}.todo-section__chevron.is-open{transform:rotate(180deg)}.todo-section__content{padding-left:4px}.todo-section--danger .todo-section__header{color:var(--danger)}.todo-section--danger .todo-section__count{background:var(--danger-bg, rgba(239, 68, 68, .1));color:var(--danger)}.todo-section--warning .todo-section__header{color:var(--warning, #f59e0b)}.todo-section--warning .todo-section__count{background:#f59e0b1a;color:var(--warning, #f59e0b)}.todo-section--info .todo-section__header{color:var(--info, #3b82f6)}.todo-section--info .todo-section__count{background:#3b82f61a;color:var(--info, #3b82f6)}.todo-section--primary .todo-section__header{color:var(--primary)}.todo-section--primary .todo-section__count{background:var(--primary-bg, rgba(37, 99, 235, .1));color:var(--primary)}.todo-section--success .todo-section__header{color:var(--success, #10b981)}.todo-section--success .todo-section__count{background:#10b9811a;color:var(--success, #10b981)}.todo-section--muted .todo-section__header{color:var(--fg-muted)}.todo-drawer__assigned-list{display:flex;flex-direction:column;gap:8px}.todo-drawer__footer{display:flex;align-items:center;justify-content:center;padding:12px 16px;border-top:1px solid var(--border)}.todo-drawer__refresh{display:flex;align-items:center;gap:6px;padding:6px 12px;background:none;border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);font-size:12px;cursor:pointer;transition:all .15s ease}.todo-drawer__refresh:hover{background:var(--bg-muted);color:var(--fg)}.todo-drawer__refresh svg{width:14px;height:14px}@media (max-width: 480px){.todo-drawer__tabs{padding:0 12px}.todo-drawer__tab{padding:8px 10px;font-size:12px}.todo-drawer__tab span{display:none}.todo-drawer__tab svg{width:18px;height:18px}.todo-drawer__content{padding:0 12px}}.ticket-inbox-panel{position:absolute;top:calc(100% + 8px);right:0;width:380px;max-height:480px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;z-index:1000;overflow:hidden;animation:inbox-slide-in .15s ease-out}@keyframes inbox-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.inbox-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.inbox-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--fg)}.inbox-title svg{color:var(--accent)}.inbox-unread-badge{background:var(--danger, #ef4444);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.inbox-mark-all-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s}.inbox-mark-all-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.inbox-content{flex:1;overflow-y:auto;min-height:200px;max-height:360px}.inbox-loading{display:flex;align-items:center;justify-content:center;padding:40px}.inbox-loading .spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.inbox-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.inbox-empty-icon{color:var(--fg-dim);opacity:.5;margin-bottom:12px}.inbox-empty-icon svg{width:40px;height:40px}.inbox-empty p{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--fg-muted)}.inbox-empty small{font-size:12px;color:var(--fg-dim)}.inbox-list{display:flex;flex-direction:column}.inbox-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;transition:background .1s}.inbox-item:last-child{border-bottom:none}.inbox-item:hover{background:var(--surface-soft)}.inbox-item.is-read{opacity:.7}.inbox-item.is-read:hover{opacity:1}.inbox-item-indicator{width:8px;flex-shrink:0;padding-top:4px}.unread-dot{display:block;width:8px;height:8px;background:var(--accent);border-radius:50%}.inbox-item-content{flex:1;min-width:0}.inbox-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.inbox-item-number{font-size:12px;font-weight:600;color:var(--accent);flex-shrink:0}.inbox-item-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.inbox-item-badge svg{width:12px;height:12px}.inbox-item-time{font-size:11px;color:var(--fg-dim);white-space:nowrap;margin-left:auto}.inbox-item-title{font-size:13px;font-weight:600;color:var(--fg);margin-bottom:4px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inbox-item-preview{font-size:12px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-bottom:4px}.inbox-item-from{font-size:11px;color:var(--fg-dim)}.inbox-footer{padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-soft)}.inbox-view-all-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.inbox-view-all-btn:hover{background:var(--accent-hover, var(--accent));filter:brightness(1.1)}.inbox-view-all-btn svg{opacity:.8}@media (max-width: 480px){.ticket-inbox-panel{position:fixed;inset:auto 0 0;width:100%;max-height:70vh;border-radius:16px 16px 0 0;animation:inbox-slide-up .2s ease-out}@keyframes inbox-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.tenant-switcher{position:relative}.tenant-switcher__trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;max-width:200px}.tenant-switcher__trigger:hover{background:var(--surface-hover);border-color:var(--accent)}.tenant-switcher__trigger.is-open{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.tenant-switcher__trigger:disabled{opacity:.7;cursor:not-allowed}.tenant-switcher__icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--accent);flex-shrink:0}.tenant-switcher__icon svg{width:100%;height:100%}.tenant-switcher__name{flex:1;min-width:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:left}.tenant-switcher__chevron{display:flex;align-items:center;justify-content:center;width:14px;height:14px;color:var(--muted);transition:transform .15s ease;flex-shrink:0}.tenant-switcher__chevron svg{width:100%;height:100%}.tenant-switcher__trigger.is-open .tenant-switcher__chevron{transform:rotate(180deg)}.tenant-switcher__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;max-width:300px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px -4px #00000026;z-index:1000;overflow:hidden}.tenant-switcher__header{padding:10px 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border)}.tenant-switcher__list{max-height:280px;overflow-y:auto}.tenant-switcher__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;cursor:pointer;transition:background .1s ease;text-align:left}.tenant-switcher__item:hover:not(:disabled){background:var(--surface-soft)}.tenant-switcher__item.is-current{background:var(--accent-soft)}.tenant-switcher__item:disabled{opacity:.5;cursor:not-allowed}.tenant-switcher__item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--surface-soft);border-radius:6px;color:var(--muted);flex-shrink:0}.tenant-switcher__item.is-current .tenant-switcher__item-icon{background:var(--accent);color:#fff}.tenant-switcher__item-icon svg{width:18px;height:18px}.tenant-switcher__item-info{flex:1;min-width:0}.tenant-switcher__item-name{display:block;font-size:14px;font-weight:500;color:var(--fg);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tenant-switcher__item-role{display:block;font-size:12px;color:var(--muted);margin-top:1px}.tenant-switcher__item-check{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--accent);flex-shrink:0}.tenant-switcher__item-check svg{width:100%;height:100%}.tenant-switcher__loading{padding:10px 14px;text-align:center;font-size:13px;color:var(--muted);border-top:1px solid var(--border);background:var(--surface-soft)}@media (max-width: 640px){.tenant-switcher__trigger{padding:6px 8px;max-width:140px}.tenant-switcher__name{font-size:12px}.tenant-switcher__dropdown{right:-20px;min-width:200px}}.app-topbar{position:fixed;top:0;left:var(--app-nav-current-width, var(--sidebar-width, 240px));right:0;height:var(--topbar-height);background:var(--nav-surface, var(--bg));border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;gap:16px;z-index:205;transition:left var(--sidebar-transition, .3s ease),width var(--sidebar-transition, .3s ease)}.app-topbar__brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.app-topbar__brand-logo{width:28px;height:28px;flex-shrink:0;color:var(--accent)}.app-topbar__brand-logo svg,.app-topbar__brand-logo img{width:100%;height:100%;object-fit:contain}.app-topbar__brand-text{display:flex;align-items:baseline;gap:6px;font-size:15px;letter-spacing:-.01em}.app-topbar__brand-name{font-weight:700;color:var(--fg)}.app-topbar__brand-tagline{font-weight:400;color:var(--fg-dim)}:root[data-sidebar=collapsed] .app-topbar{left:var(--sidebar-collapsed, 64px)}:root[data-sidebar=expanded] .app-topbar{left:var(--sidebar-expanded, 240px)}.app-topbar__inner{width:100%;display:flex;align-items:center;gap:20px}.app-topbar__left,.app-topbar__center,.app-topbar__right{display:flex;align-items:center;gap:8px}.app-topbar__icon-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--fg-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease;position:relative}.app-topbar__icon-btn:hover{background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.app-topbar__icon-btn svg{width:20px;height:20px;stroke-width:1.6}.app-topbar__icon-btn .topbar-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;background:var(--error, #ef4444);color:#fff;font-size:10px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center}.app-topbar__badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;background:var(--warning, #f59e0b);color:#fff;font-size:10px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;line-height:1}.app-topbar__badge--danger{background:var(--error, #ef4444)}.app-topbar__divider{width:1px;height:24px;background:var(--border);margin:0 4px}.app-topbar__inbox-wrapper{position:relative;display:flex;align-items:center}.app-topbar__icon-btn--inbox.is-active{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.app-topbar__center{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:16px}.app-topbar__hamburger{display:none;width:40px;height:40px;border-radius:8px;border:none;background:transparent;color:var(--fg-dim);cursor:pointer;transition:background .15s ease,color .15s ease;flex-shrink:0}.app-topbar__hamburger:hover{background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.app-topbar__hamburger svg{width:20px;height:20px;stroke-width:1.6}.app-topbar__logo{display:none;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.app-topbar__logo-img{height:32px;width:auto;object-fit:contain}.app-topbar__title{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar__tenant{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.module-switcher__wrapper{position:relative;display:flex}.module-switcher__wrapper--mobile{display:none}.module-switcher__wrapper--desktop{display:flex}@media (max-width: 960px){.module-switcher__wrapper--desktop{display:none}.module-switcher__wrapper--mobile{display:flex}}.module-switcher{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.module-switcher:hover,.module-switcher:focus-visible{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 60%,transparent);box-shadow:0 18px 32px color-mix(in oklab,var(--accent) 16%,transparent);outline:none}.module-switcher:active{transform:scale(.98);outline:none}.module-switcher__icon{width:34px;height:34px;border-radius:12px;background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,color .2s ease}.module-switcher__icon svg{width:18px;height:18px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.module-switcher__content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.module-switcher__label{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.module-switcher__meta{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.module-switcher__chevron{width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:var(--fg-dim);transition:transform .2s ease,color .2s ease}.module-switcher__chevron svg{width:10px;height:10px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.module-switcher.is-open .module-switcher__chevron{transform:rotate(180deg);color:var(--accent)}.module-switcher__dropdown{position:absolute;top:calc(100% + 12px);left:0;min-width:280px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--nav-shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:220}@media (max-width: 960px){.module-switcher__wrapper--mobile .module-switcher__dropdown{left:auto;right:0}}.module-switcher__dropdown--open{opacity:1;transform:translateY(0);pointer-events:auto}.module-switcher__dropdown-inner{display:flex;flex-direction:column;padding:12px;gap:8px}.module-switcher__list{display:flex;flex-direction:column;gap:6px}.module-switcher__item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:none;background:transparent;color:var(--fg);transition:background .2s ease,transform .2s ease,box-shadow .2s ease;font-size:13px;font-weight:500;cursor:pointer;width:100%;text-align:left}.module-switcher__item:hover,.module-switcher__item:focus-visible{background:color-mix(in oklab,var(--accent) 8%,transparent);transform:translateY(-1px);box-shadow:0 14px 24px color-mix(in oklab,var(--accent) 14%,transparent);outline:none}.module-switcher__item.is-active{background:color-mix(in oklab,var(--accent) 12%,transparent);box-shadow:0 18px 32px color-mix(in oklab,var(--accent) 18%,transparent)}.module-switcher__item-icon{width:28px;height:28px;border-radius:10px;background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.module-switcher__item-icon svg{width:16px;height:16px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.module-switcher__item-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.module-switcher__item-title{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-switcher__item-subtitle{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.module-switcher__item-badge{display:none;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent)}.module-switcher__item.is-active .module-switcher__item-badge{display:inline-flex;align-items:center}.mobile-nav-wrapper{position:relative;display:none}.mobile-nav-pill{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:13px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.mobile-nav-pill:hover,.mobile-nav-pill:focus-visible{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 60%,transparent);box-shadow:0 18px 32px color-mix(in oklab,var(--accent) 16%,transparent);outline:none}.mobile-nav-pill:active{transform:scale(.98);outline:none}.mobile-nav-pill__icon{width:34px;height:34px;border-radius:12px;background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,color .2s ease}.mobile-nav-pill__icon svg{width:18px;height:18px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mobile-nav-pill__content{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.mobile-nav-pill__label{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.mobile-nav-pill__chevron{width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:var(--fg-dim);transition:transform .2s ease,color .2s ease}.mobile-nav-pill__chevron svg{width:10px;height:10px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mobile-nav-pill.is-open .mobile-nav-pill__chevron{transform:rotate(180deg);color:var(--accent)}.mobile-nav-pill__dropdown{position:absolute;top:calc(100% + 12px);left:0;min-width:280px;max-width:90vw;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--nav-shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:220;max-height:calc(100vh - 120px);overflow-y:auto}.mobile-nav-pill__dropdown--open{opacity:1;transform:translateY(0);pointer-events:auto}.mobile-nav-pill__dropdown-inner{display:flex;flex-direction:column;padding:12px;gap:8px}.mobile-nav-pill__section{margin-bottom:16px}.mobile-nav-pill__section:last-of-type{margin-bottom:0}.mobile-nav-pill__section-header{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fg);opacity:.9;border-bottom:1px solid var(--border);margin-bottom:4px}.mobile-nav-pill__section-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--accent);opacity:.8}.mobile-nav-pill__section-label{flex:1}.mobile-nav-pill__heading{padding:12px 12px 4px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);opacity:.85;margin-top:8px}.mobile-nav-pill__heading:first-child{margin-top:0}.mobile-nav-pill__action{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:transparent;border:none;cursor:pointer;transition:background .2s ease;width:100%;text-align:left;color:var(--fg)}.mobile-nav-pill__action:hover,.mobile-nav-pill__action:focus-visible{background:color-mix(in oklab,var(--accent) 6%,transparent);outline:none}.mobile-nav-pill__action-icon{width:32px;height:32px;border-radius:10px;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.mobile-nav-pill__action-icon svg{width:18px;height:18px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mobile-nav-pill__avatar{width:32px;height:32px;border-radius:10px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.mobile-nav-pill__action-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.mobile-nav-pill__action-label{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--fg)}.mobile-nav-pill__action-meta{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.mobile-nav-pill__action--theme .theme-icon{display:none}[data-theme=dark] .mobile-nav-pill__action--theme .theme-icon--moon,[data-theme=light] .mobile-nav-pill__action--theme .theme-icon--sun{display:block}body:not([data-theme]) .mobile-nav-pill__action--theme .theme-icon--sun{display:block}.topbar-profile__wrapper{position:relative;display:flex;align-items:center;gap:8px}.topbar-profile{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:50%;border:none;background:transparent;cursor:pointer;transition:transform .15s ease}.topbar-profile:hover{transform:scale(1.05)}.topbar-profile:active{transform:scale(.95)}.topbar-profile.is-open{transform:scale(1.05)}.topbar-profile__avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 30%,transparent);transition:box-shadow .15s ease,transform .15s ease}.topbar-profile:hover .topbar-profile__avatar{box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 50%,transparent)}.topbar-profile__text,.topbar-profile__chevron{display:none}.topbar-profile__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--nav-shadow);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;z-index:220}.topbar-profile__dropdown--open{opacity:1;transform:translateY(0);pointer-events:auto}.topbar-profile__dropdown-inner{display:flex;flex-direction:column;padding:12px}.topbar-profile__header{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--border-subtle, rgba(148, 163, 184, .12));margin-bottom:8px}.topbar-profile__avatar-large{width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.topbar-profile__info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.topbar-profile__name{font-size:14px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-profile__meta{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim)}.topbar-profile__actions{display:flex;flex-direction:column;gap:4px}.topbar-profile__action{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:transparent;border:none;cursor:pointer;transition:background .2s ease,transform .2s ease;width:100%;text-align:left;color:var(--fg);font-size:13px;font-weight:500}.topbar-profile__action:hover,.topbar-profile__action:focus-visible{background:color-mix(in oklab,var(--accent) 8%,transparent);transform:translateY(-1px);outline:none}.topbar-profile__action svg{width:18px;height:18px;stroke-width:1.6;color:var(--accent);flex-shrink:0}.topbar-profile__action--logout{color:var(--error, #ef4444)}.topbar-profile__action--logout svg{color:var(--error, #ef4444)}.topbar-profile__avatar.has-active-shift{box-shadow:0 0 0 3px var(--success, #22c55e);position:relative}.topbar-profile__shift-indicator{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;background:var(--success, #22c55e);border:2px solid var(--surface);border-radius:50%;animation:pulse-indicator 2s ease-in-out infinite}@keyframes pulse-indicator{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.topbar-profile__avatar.has-active-shift.on-break{box-shadow:0 0 0 3px var(--warning, #f59e0b)}.topbar-profile__shift-indicator.on-break{background:var(--warning, #f59e0b);animation:pulse-indicator-fast 1s ease-in-out infinite}@keyframes pulse-indicator-fast{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.topbar-profile__shift-timer{margin:0 -4px 8px}.topbar-profile__action--clock-in{background:color-mix(in oklab,var(--success, #22c55e) 10%,transparent);color:var(--success, #22c55e)}.topbar-profile__action--clock-in:hover{background:color-mix(in oklab,var(--success, #22c55e) 18%,transparent)}.topbar-profile__action--clock-in svg{color:var(--success, #22c55e)}.topbar-profile__action--clock-out{background:color-mix(in oklab,var(--error, #ef4444) 10%,transparent);color:var(--error, #ef4444)}.topbar-profile__action--clock-out:hover{background:color-mix(in oklab,var(--error, #ef4444) 18%,transparent)}.topbar-profile__action--clock-out svg{color:var(--error, #ef4444)}.topbar-profile__action--break{color:var(--warning, #f59e0b)}.topbar-profile__action--break svg{color:var(--warning, #f59e0b)}.topbar-profile__action--break-end{color:var(--warning, #f59e0b);background:color-mix(in oklab,var(--warning, #f59e0b) 10%,transparent)}.topbar-profile__action--break-end:hover{background:color-mix(in oklab,var(--warning, #f59e0b) 18%,transparent)}.topbar-profile__action--break-end svg{color:var(--warning, #f59e0b)}.topbar-profile__divider{height:1px;background:var(--border-subtle, rgba(148, 163, 184, .12));margin:8px 0}@media (max-width: 1023px){.app-topbar{left:0!important;padding-left:18px;padding-right:18px}.app-topbar__hamburger{display:flex;align-items:center;justify-content:center}.app-topbar__logo{display:flex;align-items:center}.app-topbar__left{gap:12px}.app-topbar__center{flex:1}.app-topbar__right{display:flex;align-items:center;gap:12px;flex-shrink:0}.topbar-profile__wrapper{display:flex;flex-direction:column;align-items:flex-end}}@media (max-width: 640px){.app-topbar{height:auto;min-height:60px;padding:10px 16px}.app-topbar__inner{flex-wrap:nowrap;gap:0;align-items:flex-start}.app-topbar__left{order:1;gap:6px;flex:0 0 auto;flex-shrink:0}.app-topbar__right{order:2;margin-left:auto;flex:0 0 auto;display:flex!important;flex-direction:row;align-items:center;gap:8px;position:relative}.app-topbar__center{display:none}.app-topbar__title{font-size:10px;font-weight:400;color:var(--fg-dim);letter-spacing:.02em;white-space:nowrap}.app-topbar__tenant{position:absolute;bottom:-16px;right:0;font-size:9px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-dim);opacity:.8;white-space:nowrap}.topbar-profile__wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.module-switcher{padding:8px 12px}.module-switcher__icon{width:30px;height:30px}.mobile-nav-pill{padding:8px 12px}.mobile-nav-pill__icon{width:30px;height:30px}.mobile-nav-pill__label{display:none}.topbar-profile{padding:6px;gap:6px}.topbar-profile__text{display:none}.topbar-profile__chevron{display:flex}}:root{--sidebar-expanded: 260px;--sidebar-collapsed: 64px;--sidebar-transition: .4s cubic-bezier(.4, 0, .2, 1);--sidebar-hover-delay: .2s}.app-nav{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-expanded);background:var(--nav-surface, var(--bg));border-right:1px solid var(--sidebar-border, var(--border));overflow-y:auto;overflow-x:hidden;z-index:209;transition:width var(--sidebar-transition),transform .28s ease,box-shadow var(--sidebar-transition)}.app-nav--collapsed{width:var(--sidebar-collapsed)}.app-nav--collapsed.app-nav--hovered{width:var(--sidebar-expanded);box-shadow:4px 0 24px #0003;z-index:210}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__inner{padding:calc(var(--topbar-height, 64px) + 62px) 0 28px 0}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__brand-text,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-label,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-chevron,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link-label,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-heading,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__footer{opacity:0;width:0;overflow:hidden;white-space:nowrap;transition:opacity .2s ease,width .2s ease}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__header{position:relative;padding:0}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__brand{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section{width:100%;position:relative}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-items{width:100%}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-header{width:100%;padding:8px 0;justify-content:center;align-items:center;gap:0;position:relative;overflow:visible}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-icon{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section--has-active .app-nav__section-header:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:var(--accent);border-radius:0 3px 3px 0;opacity:.9}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section--has-active .app-nav__section-icon{background:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in oklab,var(--accent) 50%,transparent)}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-badges{position:absolute;top:4px;right:4px;display:flex;flex-direction:column;gap:2px}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-badge-dot{width:6px;height:6px;border-radius:50%}.app-nav__section-badge-dot--info{background:var(--info, #3b82f6)}.app-nav__section-badge-dot--warning{background:var(--warning, #f59e0b)}.app-nav__section-badge-dot--error{background:var(--error, #ef4444)}.app-nav__section-badge-dot--success{background:var(--success, #22c55e)}.app-nav__section-badges{display:none}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link{width:100%;padding:8px 16px 8px 0;justify-content:flex-end;align-items:center;gap:0}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link--nested{width:100%;padding:8px 16px 8px 0;justify-content:flex-end}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link-dot{display:none}}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-header{position:relative}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link:after,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-header:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%) scale(.95);padding:8px 12px;background:var(--bg-elevated, var(--bg-3));border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:13px;font-weight:500;white-space:nowrap;z-index:1000;pointer-events:none;box-shadow:0 4px 16px #0003,0 1px 4px #0000001a;opacity:0;visibility:hidden;transition:opacity .15s ease,transform .15s ease,visibility 0s linear .15s}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link:before,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-header:before{content:"";position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:var(--border);z-index:1001;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility 0s linear .15s}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link:hover:after,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-header:hover:after{opacity:1;visibility:visible;transform:translateY(-50%) scale(1);transition:opacity .15s ease .4s,transform .15s ease .4s,visibility 0s linear .4s}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link:hover:before,.app-nav--collapsed:not(.app-nav--hovered) .app-nav__section-header:hover:before{opacity:1;visibility:visible;transition:opacity .15s ease .4s,visibility 0s linear .4s}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__link--nested:after{display:none!important}}.app-nav__scrim{position:fixed;inset:0;background:var(--scrim-bg, rgba(15, 23, 42, .45));opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:208}.app-nav__scrim--visible{opacity:1;pointer-events:auto}.app-nav__inner{flex:1;display:flex;flex-direction:column;padding:calc(var(--topbar-height, 64px) + 16px) 22px 28px;gap:16px;overflow:hidden}.app-nav__container{padding:0;display:flex;flex-direction:column;height:100%}.app-nav__header{display:flex;align-items:center;gap:10px;padding:0 14px;height:64px;border-bottom:1px solid rgba(148,163,184,.08);flex-shrink:0}.app-nav__brand{text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:7px;font-weight:600;letter-spacing:.02em;min-width:0}.app-nav__logo{width:32px;height:32px;flex-shrink:0;color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in oklab,var(--accent) 40%,transparent));animation:navLogoGlow 3s ease-in-out infinite}.app-nav__logo img,.app-nav__logo svg{width:100%;height:100%;object-fit:contain}@keyframes navLogoGlow{0%,to{filter:drop-shadow(0 0 6px color-mix(in oklab,var(--accent) 40%,transparent))}50%{filter:drop-shadow(0 0 10px color-mix(in oklab,var(--accent) 60%,transparent))}}.app-nav__brand-text{display:block;line-height:1;white-space:nowrap;overflow:hidden}.app-nav__title{font-size:16px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;margin-top:-2px}.app-nav__subtitle{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-dim, var(--muted));opacity:.75}.app-nav__close{display:none}.app-nav__collapse-btn{position:fixed;left:calc(var(--sidebar-expanded) - 10px);top:50%;transform:translateY(-50%);width:20px;height:48px;border-radius:10px;background:var(--surface);color:var(--accent);border:1px solid color-mix(in oklab,var(--accent) 30%,var(--border));cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:220;transition:left var(--sidebar-transition),background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #0000001a}.app-nav__collapse-btn--collapsed{left:calc(var(--sidebar-collapsed) - 10px)}.app-nav__collapse-btn--collapsed.app-nav__collapse-btn--hovered{left:calc(var(--sidebar-expanded) - 10px)}.app-nav__collapse-btn:hover{background:color-mix(in oklab,var(--accent) 12%,var(--surface));color:var(--accent);border-color:color-mix(in oklab,var(--accent) 40%,transparent);box-shadow:0 4px 16px #00000026}.app-nav__collapse-btn:active{transform:translateY(-50%) scale(.95)}@media (max-width: 1023px){.app-nav__collapse-btn{display:none}}.app-nav__links{display:flex;flex-direction:column;gap:8px;padding:0 12px;transition:padding var(--sidebar-transition);flex:1;overflow-y:auto}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__links{padding:0;overflow:hidden;width:100%}}.app-nav__section{display:flex;flex-direction:column;gap:4px;padding:0;border-radius:18px;transition:background .2s ease}.app-nav__section-header{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--fg-dim);font-size:12.75px;font-weight:600;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.app-nav__section-header:hover,.app-nav__section-header:focus-visible{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);box-shadow:0 14px 24px color-mix(in oklab,var(--accent) 14%,transparent);outline:none}.app-nav__section--open .app-nav__section-header{color:var(--fg)}.app-nav__section-icon{width:32px;height:32px;border-radius:10px;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,color .2s ease}.app-nav__section--open .app-nav__section-icon{background:color-mix(in oklab,var(--accent) 18%,transparent);color:var(--accent)}.app-nav__section-icon svg{width:20px;height:20px;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-nav__section-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav__section-chevron{width:10px;height:10px;border-right:1.8px solid var(--fg-dim);border-bottom:1.8px solid var(--fg-dim);transform:rotate(45deg);transition:transform .2s ease,border-color .2s ease;flex-shrink:0}.app-nav__section--open .app-nav__section-chevron{transform:rotate(-135deg);border-color:var(--accent)}.app-nav__section-items{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;max-height:720px;opacity:1;transition:max-height .45s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1),margin .45s cubic-bezier(.4,0,.2,1)}.app-nav__section-items--collapsed{max-height:0;opacity:0;margin-top:-6px;pointer-events:none;overflow:hidden}.app-nav__section-heading{padding:6px 12px 2px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);opacity:.85}.app-nav__link{position:relative;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;border:1px solid transparent;color:var(--fg-dim);text-decoration:none;font-size:12.75px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:color .2s ease,transform .2s ease;z-index:1}.app-nav__link:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 6%,transparent),color-mix(in oklab,var(--focus) 6%,transparent));opacity:0;transition:opacity .2s ease,box-shadow .2s ease;z-index:-1}.app-nav__link:hover,.app-nav__link:focus-visible{color:var(--fg);transform:translateY(-1px);outline:none}.app-nav__link:hover:after,.app-nav__link:focus-visible:after{opacity:1;box-shadow:0 18px 28px color-mix(in oklab,var(--accent) 9%,transparent)}.app-nav__link.active{color:var(--fg)}.app-nav__link.active:after{opacity:1;box-shadow:0 20px 38px color-mix(in oklab,var(--accent) 11%,transparent)}.app-nav__link--nested{padding-left:24px;gap:10px;position:relative}.app-nav__link-dot{display:none}@media (min-width: 1024px){.app-nav__link--nested{padding-left:56px}.app-nav__link-dot{display:block;position:absolute;left:40px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--border);opacity:.4;flex-shrink:0;transition:background .2s ease,opacity .2s ease,transform .2s ease;z-index:2}.app-nav__link--nested:hover .app-nav__link-dot{opacity:.8;background:var(--fg)}.app-nav__link--nested.active .app-nav__link-dot{background:var(--accent);opacity:1;transform:translateY(-50%) scale(1.3)}}.app-nav__link--nested:after{border-radius:12px}.app-nav__link--nested.active:after{box-shadow:0 14px 28px color-mix(in oklab,var(--accent) 9%,transparent)}.app-nav__link-icon{width:32px;height:32px;border-radius:12px;background:color-mix(in oklab,var(--accent) 5%,transparent);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease,color .2s ease,box-shadow .2s ease}.app-nav__link-icon--nested{width:26px;height:26px;border-radius:9px}.app-nav__link-icon svg{width:18px;height:18px;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.app-nav__link-icon--nested svg{width:14px;height:14px}.app-nav__link:hover .app-nav__link-icon,.app-nav__link:focus-visible .app-nav__link-icon,.app-nav__link.active .app-nav__link-icon{background:color-mix(in oklab,var(--accent) 9%,transparent);color:var(--accent);box-shadow:0 14px 28px color-mix(in oklab,var(--accent) 9%,transparent)}.app-nav__link-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 960px){.app-nav{width:min(280px,75vw);transform:translate(-100%);border-right:none;border-radius:0 16px 16px 0;box-shadow:0 20px 48px #00000059;z-index:209;pointer-events:none;touch-action:none;transition:transform .28s ease,box-shadow .28s ease}.app-nav--open{transform:translate(0);pointer-events:auto;touch-action:auto}.app-nav__close{display:none}.app-nav__inner{padding:26px 22px 32px}.app-nav__section-header{min-height:44px;padding:10px 12px}.app-nav__link{min-height:44px;padding:12px 14px}}@media (min-width: 1024px){.app-nav{transform:translate(0)}}.app-nav::-webkit-scrollbar{width:6px}.app-nav::-webkit-scrollbar-track{background:transparent}.app-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.app-nav::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}.app-nav__footer{margin-top:auto;padding:12px;border-top:1px solid var(--sidebar-border, var(--border));flex-shrink:0}.app-nav__lock-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--fg-dim);font-size:12px;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.app-nav__lock-toggle:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);color:var(--fg)}.app-nav__lock-toggle--locked,.app-nav__lock-toggle--locked:hover{color:var(--accent)}.app-nav__lock-toggle svg{flex-shrink:0;color:currentColor}.app-nav__lock-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav__container{display:flex;flex-direction:column;min-height:100%}.app-nav__links{flex:1}.app-nav__tenant-logo{height:var(--topbar-height, 64px);padding:12px 16px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);box-sizing:border-box;flex-shrink:0}.app-nav__tenant-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__tenant-logo{padding:12px 8px}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__tenant-logo img{max-width:40px}}.app-nav__favorites{padding:0 12px 8px;margin-bottom:8px;border-bottom:1px solid var(--border)}.app-nav__favorites-header{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);opacity:.85;padding:8px 12px 6px}.app-nav__favorites-list{display:flex;flex-direction:column;gap:2px}.app-nav__link--favorite{padding-left:12px}.app-nav__link-icon--favorite{width:24px;height:24px;border-radius:8px;background:color-mix(in oklab,var(--warning, #f59e0b) 15%,transparent);color:var(--warning, #f59e0b)}.app-nav__link-icon--favorite svg{width:12px;height:12px}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__favorites{display:none}}.app-nav__context-menu{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000040;padding:6px;min-width:180px;animation:contextMenuFadeIn .15s ease}.app-nav__context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:8px;border:none;background:transparent;color:var(--fg);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease;text-align:left}.app-nav__context-menu-item:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}.app-nav__context-menu-item svg{color:var(--accent);flex-shrink:0}.app-nav__badges{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.app-nav__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;border-radius:6px;line-height:1;text-decoration:none!important;border-bottom:none!important}.app-nav__badge--unassigned{background:color-mix(in oklab,var(--info, #3b82f6) 20%,transparent);color:var(--info, #3b82f6)}.app-nav__badge--pending{background:color-mix(in oklab,var(--warning, #f59e0b) 20%,transparent);color:var(--warning, #f59e0b)}.app-nav__badge--urgent{background:color-mix(in oklab,var(--error, #ef4444) 20%,transparent);color:var(--error, #ef4444)}.app-nav__badge--active{background:color-mix(in oklab,var(--success, #22c55e) 20%,transparent);color:var(--success, #22c55e)}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__badges{position:absolute;top:4px;right:4px;flex-direction:column;gap:2px}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__badge{width:8px;height:8px;min-width:8px;padding:0;font-size:0;border-radius:50%}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__badge--unassigned{background:var(--info, #3b82f6)}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__badge--pending{background:var(--warning, #f59e0b)}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__badge--urgent{background:var(--error, #ef4444)}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__badge--active{background:var(--success, #22c55e)}}.app-nav__user{margin-top:auto;padding:12px;border-top:1px solid var(--border)}.app-nav__user-pill{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;text-decoration:none;color:var(--fg-dim);transition:background .2s ease,color .2s ease}.app-nav__user-pill:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);color:var(--fg)}.app-nav__user-pill.active{background:color-mix(in oklab,var(--accent) 12%,transparent);color:var(--fg)}.app-nav__user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.app-nav__user-info{flex:1;min-width:0;overflow:hidden}.app-nav__user-name{font-size:13px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav__user-email{font-size:11px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 1024px){.app-nav--collapsed:not(.app-nav--hovered) .app-nav__user{padding:12px 0;display:flex;justify-content:center}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__user-pill{padding:8px;justify-content:center;width:48px}.app-nav--collapsed:not(.app-nav--hovered) .app-nav__user-info{display:none}}.announcement-banners{display:flex;flex-direction:column;width:100%;position:sticky;top:0;z-index:1000}.announcement-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;font-size:.875rem;line-height:1.4;animation:announcement-slide-in .3s ease-out}@keyframes announcement-slide-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.announcement-banner--info{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border-bottom:1px solid #93c5fd}.announcement-banner--info .announcement-banner__icon{color:#2563eb}.announcement-banner--warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-bottom:1px solid #fcd34d}.announcement-banner--warning .announcement-banner__icon{color:#d97706}.announcement-banner--critical{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border-bottom:1px solid #fca5a5}.announcement-banner--critical .announcement-banner__icon{color:#dc2626}.announcement-banner--critical:not(:has(.announcement-banner__dismiss)){background:linear-gradient(135deg,#fca5a5,#f87171);color:#7f1d1d}.announcement-banner__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.announcement-banner__content{flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}.announcement-banner__title{font-weight:600}.announcement-banner__title:after{content:":";margin-right:4px}.announcement-banner__message{flex:1;min-width:200px}.announcement-banner__link{color:inherit;font-weight:500;text-decoration:underline;text-underline-offset:2px;opacity:.9;transition:opacity .15s}.announcement-banner__link:hover{opacity:1}.announcement-banner__dismiss{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:inherit;opacity:.6;cursor:pointer;border-radius:4px;transition:all .15s}.announcement-banner__dismiss:hover{opacity:1;background:#0000001a}.announcement-banner__dismiss:disabled{opacity:.3;cursor:not-allowed}@media (prefers-color-scheme: dark){.announcement-banner--info{background:linear-gradient(135deg,#1e3a5f,#1e40af);color:#bfdbfe;border-bottom-color:#3b82f6}.announcement-banner--info .announcement-banner__icon{color:#60a5fa}.announcement-banner--warning{background:linear-gradient(135deg,#451a03,#78350f);color:#fde68a;border-bottom-color:#d97706}.announcement-banner--warning .announcement-banner__icon{color:#fbbf24}.announcement-banner--critical{background:linear-gradient(135deg,#450a0a,#7f1d1d);color:#fecaca;border-bottom-color:#dc2626}.announcement-banner--critical .announcement-banner__icon{color:#f87171}.announcement-banner--critical:not(:has(.announcement-banner__dismiss)){background:linear-gradient(135deg,#7f1d1d,#b91c1c);color:#fee2e2}}[data-theme=dark] .announcement-banner--info{background:linear-gradient(135deg,#1e3a5f,#1e40af);color:#bfdbfe;border-bottom-color:#3b82f6}[data-theme=dark] .announcement-banner--warning{background:linear-gradient(135deg,#451a03,#78350f);color:#fde68a;border-bottom-color:#d97706}[data-theme=dark] .announcement-banner--critical{background:linear-gradient(135deg,#450a0a,#7f1d1d);color:#fecaca;border-bottom-color:#dc2626}@media (max-width: 640px){.announcement-banner{padding:8px 12px;font-size:.8125rem}.announcement-banner__content{flex-direction:column;align-items:flex-start;gap:2px}.announcement-banner__title:after{content:""}}.page-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg);position:relative}.page-layout__topnav-spacer{height:var(--topbar-height, 64px);flex-shrink:0}@media (max-width: 640px){.page-layout__topnav-spacer{height:90px}}.page-layout__content{flex:1;padding:24px;max-width:1400px;width:100%;margin:0 auto;position:relative;z-index:1}@media (min-width: 1024px){body.has-app-sidebar{padding-left:240px}.page-layout--with-sidenav .page-layout__content{margin:0 auto;max-width:1400px}}@media (max-width: 1023px) and (min-width: 768px){.page-layout__content{padding:24px 20px 20px}}@media (max-width: 767px){.page-layout__content{padding:20px 16px 16px}}@media (max-width: 480px){.page-layout__content{padding:16px 12px 12px}}.filter-bar{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap}.filter-search{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:.9375rem;transition:border-color .2s ease}.filter-search::placeholder{color:var(--fg-dim)}.filter-search:focus{outline:none;border-color:var(--primary)}.filter-dropdown{padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:.9375rem;cursor:pointer;transition:border-color .2s ease;min-width:150px}.filter-dropdown:focus{outline:none;border-color:var(--primary)}.filter-dropdown:hover{border-color:var(--fg-dim)}.filter-clear-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg-dim);font-size:.875rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.filter-clear-btn:hover{background:var(--hover);color:var(--fg);border-color:var(--fg-dim)}.filter-clear-btn:active{transform:scale(.98)}.filter-clear-btn svg{width:14px;height:14px;flex-shrink:0}@media (max-width: 768px){.filter-bar{flex-direction:column;align-items:stretch}.filter-search,.filter-dropdown{width:100%;min-width:unset}.filter-clear-btn{justify-content:center}}.status-badge{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.status-completed{background:#22c55e26;color:#22c55e}.status-running{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--primary);animation:pulse 2s ease-in-out infinite}.status-pending{background:#fbbf2426;color:#fbbf24}.status-queued{background:#8b5cf626;color:#8b5cf6}.status-failed{background:#ef444426;color:#ef4444}.status-cancelled{background:#6b728026;color:#6b7280}.priority-high{background:#ef444426;color:#ef4444}.priority-medium{background:#fbbf2426;color:#fbbf24}.priority-low{background:#6b728026;color:#6b7280}@media (prefers-color-scheme: dark){.status-completed{background:#22c55e33}.status-running{background:color-mix(in oklab,var(--accent) 20%,transparent)}.status-pending{background:#fbbf2433}.status-queued{background:#8b5cf633}.status-failed{background:#ef444433}.status-cancelled,.priority-low{background:#6b728033}.priority-high{background:#ef444433}.priority-medium{background:#fbbf2433}}.status-success{background:#22c55e26;color:#22c55e}.status-default{background:#6b728026;color:#6b7280}.status-blue{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--primary)}.status-purple{background:#8b5cf626;color:#8b5cf6}.status-orange{background:#fb923c26;color:#fb923c}.status-red{background:#ef444426;color:#ef4444}.status-green{background:#22c55e26;color:#22c55e}.status-gray{background:#6b728026;color:#6b7280}.shift-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;overflow:hidden;box-shadow:0 1px 3px #0000001a;min-height:70px;display:flex;flex-direction:column;width:100%;min-width:0;box-sizing:border-box}.shift-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px);border-color:var(--accent)}.shift-card.dragging{opacity:.5;box-shadow:0 8px 24px #0003;cursor:grabbing}.shift-card.resizing{box-shadow:0 4px 12px #0003}.shift-card.has-conflict{border-color:#ef4444;border-width:2px;box-shadow:0 0 0 3px #ef44441a}.shift-card.selection-mode{cursor:pointer;user-select:none}.shift-card.selection-mode:hover{border-color:var(--primary)}.shift-card.selected{background:color-mix(in oklab,var(--accent) 10%,transparent);border-color:var(--primary);border-width:2px;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.shift-selection-checkbox{position:absolute;top:8px;right:8px;z-index:10}.shift-selection-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;pointer-events:auto;accent-color:var(--primary)}.shift-unscheduled-badge{position:absolute;top:-8px;left:-8px;width:24px;height:24px;background:#f97316;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:10;box-shadow:0 2px 8px #f973164d;animation:pulse-orange 2s ease-in-out infinite}@keyframes pulse-orange{0%,to{transform:scale(1);box-shadow:0 2px 8px #f973164d}50%{transform:scale(1.1);box-shadow:0 4px 16px #f9731680}}.shift-card.unscheduled{border-left:4px solid #f97316;background:#f973160d}.shift-card.was-unscheduled{border-left:4px solid #8b5cf6;background:#8b5cf614;border:2px solid #8b5cf6;box-shadow:0 0 0 3px #8b5cf626}.shift-card.was-unscheduled .shift-color-bar{background-color:#8b5cf6!important}.shift-unscheduled-badge.completed-unscheduled{background:#8b5cf6;animation:pulse-purple 2s ease-in-out infinite}@keyframes pulse-purple{0%,to{transform:scale(1);box-shadow:0 2px 8px #8b5cf64d}50%{transform:scale(1.1);box-shadow:0 4px 16px #8b5cf680}}.shift-card.completed{cursor:pointer;opacity:.85}.shift-card.completed:not(.was-unscheduled):hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 2px 8px #00000026;opacity:.95}.shift-card.was-unscheduled:hover{transform:translateY(-1px);box-shadow:0 0 0 3px #8b5cf640,0 4px 12px #00000026}.shift-conflict-badge{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#ef4444;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;z-index:10;box-shadow:0 2px 8px #ef44444d;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.shift-confirmation-badge{position:absolute;top:6px;right:6px;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;z-index:9;box-shadow:0 1px 4px #0003;font-weight:700;line-height:1}.shift-confirmation-badge.pending{background:#f59e0b;color:#fff;animation:pulse-pending 2s ease-in-out infinite}.shift-confirmation-badge.confirmed{background:#10b981;color:#fff}.shift-confirmation-badge.declined{background:#ef4444;color:#fff}@keyframes pulse-pending{0%,to{transform:scale(1);box-shadow:0 2px 6px #f59e0b4d}50%{transform:scale(1.1);box-shadow:0 3px 10px #f59e0b80}}.shift-drag-handle{display:flex;align-items:center;justify-content:center;padding:4px;cursor:grab;background:var(--bg);border-bottom:1px solid var(--border)}.shift-drag-handle:active{cursor:grabbing}.drag-dots{display:flex;gap:3px;align-items:center}.drag-dots span{width:4px;height:4px;border-radius:50%;background:var(--muted)}.shift-content{display:flex;flex:1;overflow:hidden}.shift-color-bar{width:4px;flex-shrink:0}.shift-info{flex:1;padding:6px 8px;display:flex;flex-direction:column;gap:3px;overflow:hidden}.shift-employee{font-weight:600;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shift-card .shift-time{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400}.shift-duration{opacity:.7;font-size:10px}.shift-type{margin-top:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.shift-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.shift-cost{display:inline-block;padding:2px 6px;background:#10b98120;color:#10b981;border-radius:4px;font-size:10px;font-weight:600}.shift-notes,.shift-location{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shift-notes svg,.shift-location svg{width:12px;height:12px;flex-shrink:0}.shift-notes{font-style:italic}.shift-location{font-weight:500}.shift-resize-handle{display:flex;align-items:center;justify-content:center;padding:3px;cursor:ns-resize;background:var(--bg);border-top:1px solid var(--border);opacity:0;transition:opacity .2s ease}.shift-card:hover .shift-resize-handle{opacity:1}.resize-indicator{width:24px;height:3px;border-radius:2px;background:var(--muted)}@media (max-width: 768px){.shift-card{min-height:70px}.shift-employee,.shift-card .shift-time{font-size:12px}.shift-badge{font-size:10px;padding:2px 6px}}.shift-card.is-job{background:var(--bg);border:2px dashed var(--border);border-left:none;box-shadow:none}.shift-card.is-job:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a}.shift-job-type-badge{position:absolute;top:4px;right:4px;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:10}.shift-job-type-badge.cit{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.shift-job-type-badge.service{background:#8b5cf626;color:#8b5cf6;border:1px solid rgba(139,92,246,.3)}.shift-job-status{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:500}.shift-job-status.pending{background:#6b72801a;color:#6b7280}.shift-job-status.in-progress{background:#3b82f61a;color:#3b82f6}.shift-job-status.complete{background:#10b9811a;color:#10b981}.shift-card.is-job .shift-color-bar{width:4px;border-radius:4px 0 0 4px}.shift-card.is-job .shift-info{padding-right:50px}.week-scheduler{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.week-scheduler .scheduler-mobile-controls{display:none;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border)}.week-scheduler .day-nav-btn{padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.week-scheduler .day-nav-btn:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.week-scheduler .day-nav-btn:disabled{opacity:.4;cursor:not-allowed}.week-scheduler .current-day-label{font-weight:600;font-size:15px;color:var(--text)}.week-scheduler .scheduler-grid{overflow-x:auto;-webkit-overflow-scrolling:touch}.week-scheduler .scheduler-header{display:grid!important;background:var(--bg);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:10;min-width:0}.week-scheduler .scheduler-header-cell{font-weight:600;font-size:14px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.week-scheduler .scheduler-day-header{padding:12px 8px;text-align:center;border-left:1px solid var(--border)}.week-scheduler .day-name{font-weight:600;font-size:13px;color:var(--text);margin-bottom:2px}.week-scheduler .day-date{font-size:11px;color:var(--muted)}.week-scheduler .scheduler-employee-cell{padding:12px 16px;display:flex;flex-direction:column;justify-content:center;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;left:0;z-index:5}.week-scheduler .employee-name{font-weight:600;font-size:14px;color:var(--text);margin-bottom:2px}.week-scheduler .employee-role{font-size:12px;color:var(--muted)}.week-scheduler .scheduler-body{min-height:200px}.week-scheduler .scheduler-row{display:grid!important;border-bottom:1px solid var(--border);min-width:0}.week-scheduler .scheduler-row:last-child{border-bottom:none}.week-scheduler .scheduler-cell{min-height:100px;padding:8px;border-left:1px solid var(--border);cursor:pointer;transition:background-color .2s ease;display:flex;flex-direction:column;gap:8px;position:relative;overflow:visible;min-width:0}.week-scheduler .scheduler-cell.has-shifts{cursor:default}.week-scheduler .scheduler-cell:hover{background-color:color-mix(in oklab,var(--accent) 5%,var(--card))}.week-scheduler .scheduler-cell.drag-over{background-color:color-mix(in oklab,var(--accent) 15%,var(--card));border:2px dashed var(--accent)}.week-scheduler .add-shift-btn{position:absolute;left:50%;transform:translate(-50%) scale(.8);width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);background:var(--card);color:var(--accent);font-size:18px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;z-index:10;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a;line-height:1;padding:0}.week-scheduler .add-shift-btn-top{top:-14px}.week-scheduler .add-shift-btn-bottom{bottom:-14px}.week-scheduler .scheduler-cell:hover .add-shift-btn{opacity:1;transform:translate(-50%) scale(1)}.week-scheduler .add-shift-btn:hover{background:var(--accent);color:var(--accent-contrast);transform:translate(-50%) scale(1.15);box-shadow:0 4px 12px color-mix(in oklab,var(--accent) 30%,transparent)}.week-scheduler .add-shift-btn:active{transform:translate(-50%) scale(.95)}.week-scheduler .cell-empty-state{display:flex;align-items:center;justify-content:center;height:100%;opacity:0;transition:opacity .2s ease}.week-scheduler .scheduler-cell:hover .cell-empty-state{opacity:1}.week-scheduler .add-shift-hint{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);font-size:20px;font-weight:300;cursor:pointer;transition:transform .2s ease}.week-scheduler .add-shift-hint:hover{transform:scale(1.1)}.week-scheduler .scheduler-empty{padding:60px 20px;text-align:center;color:var(--muted);grid-column:1 / -1}.week-scheduler .scheduler-empty p{margin:0;font-size:14px}@media (max-width: 960px){.week-scheduler .scheduler-mobile-controls{display:flex}.week-scheduler .scheduler-employee-cell{padding:10px 12px}.week-scheduler .employee-name{font-size:13px}.week-scheduler .employee-role{font-size:11px}.week-scheduler .day-name{font-size:12px}.week-scheduler .day-date{font-size:10px}.week-scheduler .scheduler-cell{min-height:80px;padding:6px}}@media (max-width: 640px){.week-scheduler .scheduler-employee-cell{padding:8px 10px}.week-scheduler .employee-name{font-size:12px}.week-scheduler .employee-role{font-size:10px}}[data-theme=dark] .week-scheduler .scheduler-cell{border-color:var(--border-subtle, rgba(148, 163, 184, .12))}[data-theme=dark] .week-scheduler .scheduler-cell:hover{background-color:color-mix(in oklab,var(--accent) 10%,var(--card))}[data-theme=dark] .week-scheduler .scheduler-cell.drag-over{background-color:color-mix(in oklab,var(--accent) 20%,var(--card))}.week-scheduler .scheduler-cell.leave-cell{position:relative;cursor:default;opacity:.8}.week-scheduler .scheduler-cell.leave-cell:hover{opacity:1}.week-scheduler .leave-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.5rem;padding:.75rem;text-align:center}.week-scheduler .leave-emoji{font-size:2rem}.week-scheduler .leave-label{font-size:.75rem;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.3)}[data-theme=dark] .week-scheduler .scheduler-cell.leave-cell{opacity:.7}[data-theme=dark] .week-scheduler .scheduler-cell.leave-cell:hover{opacity:.9}.week-scheduler .scheduler-cell.on-leave{position:relative}.week-scheduler .leave-badge{display:flex;align-items:center;gap:4px;padding:2px 8px;margin-bottom:6px;background:#fffffff2;border:2px solid currentColor;border-radius:12px;font-size:11px;font-weight:600;color:#333}.week-scheduler .leave-badge .leave-emoji{font-size:12px}.week-scheduler .leave-badge-text{text-transform:uppercase;letter-spacing:.5px}[data-theme=dark] .week-scheduler .leave-badge{background:#fffffff2;color:#333}.week-scheduler .scheduler-cell.has-overflow{cursor:pointer}.week-scheduler .cell-condensed{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px;gap:8px;min-height:80px;background:var(--card-bg);border-radius:8px;border:1px dashed var(--border);transition:all .15s ease}.week-scheduler .cell-condensed:hover{border-color:var(--accent);background:var(--bg-hover);transform:scale(1.02)}.week-scheduler .condensed-dots{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:center}.week-scheduler .condensed-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.week-scheduler .condensed-dot.is-job{border-radius:3px}.week-scheduler .condensed-more-dots{font-size:10px;color:var(--fg-muted);margin-left:2px}.week-scheduler .condensed-summary{display:flex;flex-direction:column;align-items:center;gap:2px}.week-scheduler .condensed-count{font-size:13px;font-weight:600;color:var(--fg)}.week-scheduler .condensed-expand{font-size:11px;color:var(--fg-muted)}.day-detail-content{display:flex;flex-direction:column;height:100%}.day-detail-summary{padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);font-size:14px;font-weight:500}.day-detail-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.day-detail-item{padding:12px;background:var(--card-bg);border-radius:8px;border-left:4px solid var(--accent);cursor:pointer;transition:all .15s ease}.day-detail-item:hover{background:var(--bg-hover);transform:translate(2px)}.day-detail-item.has-conflict{border-color:#ef4444;background:#ef44440d}.day-detail-item .item-time{font-size:12px;font-weight:600;color:var(--fg-muted);margin-bottom:4px}.day-detail-item .item-main{display:flex;align-items:center;gap:8px;margin-bottom:4px}.day-detail-item .item-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.day-detail-item .item-location{font-size:14px;font-weight:500;color:var(--fg)}.day-detail-item .item-notes{font-size:12px;color:var(--fg-muted);margin-top:4px;padding-left:4px;border-left:2px solid var(--border)}.day-detail-item .item-conflict-warning{font-size:11px;color:#ef4444;font-weight:600;margin-top:6px;padding:4px 8px;background:#ef44441a;border-radius:4px;display:inline-block}.day-detail-add-btn{margin:12px;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.day-detail-add-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.stats-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}.metric-card{background:var(--bg-card, var(--card-bg, var(--surface)));border:2px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.625rem;cursor:pointer;position:relative;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a;border-color:var(--primary, var(--metric-accent, var(--accent)))}.metric-card:active{transform:translateY(0)}.metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;opacity:0;transition:opacity .2s ease;background:linear-gradient(90deg,var(--primary, var(--metric-accent, var(--accent))),var(--primary-light, var(--metric-accent, var(--accent))))}.metric-card:hover:before{opacity:1}.metric-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.metric-label{font-size:.75rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:flex;align-items:center;gap:.375rem}.metric-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:transparent;transition:background .3s ease}.metric-card:hover .metric-icon{background:color-mix(in srgb,var(--metric-accent) 15%,transparent)}.metric-icon svg{width:18px;height:18px;stroke:var(--metric-accent, var(--accent));fill:none;stroke-width:2;opacity:.4;transition:opacity .3s ease}.metric-card:hover .metric-icon svg{opacity:.8}.metric-main{display:flex;align-items:baseline;gap:10px;margin:6px 0}.metric-value{font-size:2.5rem;font-weight:700;line-height:1;color:var(--fg);transition:color .2s ease;font-variant-numeric:tabular-nums;margin:0}.metric-card:hover .metric-value{transform:scale(1.05);transition:transform .2s ease}.metric-trend{font-size:.75rem;font-weight:600;padding:.125rem .375rem;border-radius:4px;display:inline-flex;align-items:center;gap:.125rem;font-variant-numeric:tabular-nums;transition:all .3s ease;background:#22c55e1a;color:#16a34a}.metric-trend.trend-down{background:#ef44441a;color:#dc2626}.metric-trend svg{width:12px;height:12px;stroke-width:2.5}.metric-footnote{font-size:.75rem;color:var(--fg-dim);margin-top:.25rem}.metric-sparkline{height:48px;margin-top:auto;opacity:.6;transition:opacity .3s ease;width:100%}.metric-card:hover .metric-sparkline{opacity:1}.metric-sparkline svg{width:100%;height:100%;display:block}.metric-card.metric-blue{--metric-accent: var(--primary)}.metric-card.metric-rose{--metric-accent: #f43f5e}.metric-card.metric-amber{--metric-accent: #f97316}.metric-card.metric-purple{--metric-accent: #8b5cf6}.metric-card.metric-emerald{--metric-accent: #10b981}.metric-card.metric-rose{box-shadow:0 1px 3px #0000000d,0 0 0 2px #f43f5e26;border-color:#f43f5e4d}.metric-card.metric-rose:hover{box-shadow:0 8px 16px #0000001a,0 0 0 3px #f43f5e40;border-color:#f43f5e80}.metric-card.metric-amber{box-shadow:0 1px 3px #0000000d,0 0 0 2px #f9731626;border-color:#f973164d}.metric-card.metric-amber:hover{box-shadow:0 8px 16px #0000001a,0 0 0 3px #f9731640;border-color:#f9731680}@media (max-width: 768px){.stats-deck{grid-template-columns:repeat(2,1fr)}.metric-card{padding:1.25rem}.metric-value{font-size:2rem}}.time-picker{position:relative;width:100%;margin-bottom:16px}.time-picker.disabled{opacity:.6;pointer-events:none}.time-picker-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.time-picker-input{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease}.time-picker-input:hover{border-color:var(--accent)}.time-picker-input.focused{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.time-display{font-size:14px;color:var(--text);font-weight:500}.time-display.placeholder{color:var(--muted);font-weight:400}.time-picker-actions{display:flex;align-items:center;gap:8px}.clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:50%;transition:all .2s ease;font-size:14px;padding:0}.clear-btn:hover{background:#ef444420;color:#ef4444}.time-icon{font-size:18px;opacity:.7}.time-picker-backdrop{position:fixed;inset:0;background:#0000004d;z-index:999}.time-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000026;z-index:1000;padding:16px;max-width:380px}.time-presets{margin-bottom:16px}.preset-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.preset-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-btn{padding:10px 8px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease}.preset-btn:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);transform:translateY(-1px)}.preset-divider{text-align:center;font-size:12px;color:var(--muted);margin:16px 0;position:relative}.preset-divider:before,.preset-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 80px);height:1px;background:var(--border)}.preset-divider:before{left:0}.preset-divider:after{right:0}.time-selector{display:flex;align-items:center;justify-content:center;gap:12px;padding:24px 0}.time-column{display:flex;flex-direction:column;align-items:center;gap:8px}.time-adjust-btn{width:40px;height:32px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.time-adjust-btn:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.time-adjust-btn:active{transform:scale(.95)}.time-input{width:60px;height:48px;text-align:center;font-size:24px;font-weight:700;color:var(--text);background:var(--bg);border:2px solid var(--border);border-radius:8px;outline:none;transition:all .2s ease}.time-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.time-separator{font-size:32px;font-weight:700;color:var(--text);margin:0 4px}.time-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.period-column{gap:12px}.period-btn{width:60px;height:44px;background:var(--bg);border:2px solid var(--border);border-radius:8px;font-size:16px;font-weight:700;color:var(--text);cursor:pointer;transition:all .2s ease}.period-btn:hover{border-color:var(--accent)}.period-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.time-picker-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.time-cancel-btn,.time-apply-btn{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid var(--border)}.time-cancel-btn{background:transparent;color:var(--text)}.time-cancel-btn:hover{background:var(--bg)}.time-apply-btn{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.time-apply-btn:hover{opacity:.9;transform:translateY(-1px)}.time-picker-help{font-size:12px;color:var(--muted);margin-top:4px}.time-picker-error{font-size:12px;color:#ef4444;margin-top:4px;font-weight:500}.time-picker.has-error .time-picker-input{border-color:#ef4444}@media (max-width: 640px){.time-picker-dropdown{left:-16px;right:-16px;max-width:none}.preset-buttons{grid-template-columns:repeat(2,1fr)}.time-input{width:50px;height:44px;font-size:20px}.time-separator{font-size:28px}.period-btn{width:50px;height:40px;font-size:14px}}[data-theme=dark] .time-picker-backdrop{background:#0009}[data-theme=dark] .time-picker-dropdown{box-shadow:0 8px 24px #0006}.autocomplete{position:relative;width:100%;margin-bottom:16px}.autocomplete.disabled{opacity:.6;pointer-events:none}.autocomplete-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.required-indicator{color:#ef4444;margin-left:4px}.autocomplete-input-wrapper{position:relative}.autocomplete-input{width:100%;min-height:40px;padding:8px 40px 8px 12px;font-size:14px;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:8px;outline:none;transition:all .2s ease}.autocomplete-input::placeholder{color:var(--muted)}.autocomplete-input:hover{border-color:var(--accent)}.autocomplete-input:focus,.autocomplete-input.focused{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.autocomplete-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:4px}.autocomplete-clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:50%;transition:all .2s ease;font-size:14px;padding:0}.autocomplete-clear-btn:hover{background:#ef444420;color:#ef4444}.autocomplete-dropdown-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:none;border:none;color:var(--muted);cursor:pointer;border-radius:4px;transition:all .2s ease;font-size:10px;padding:0}.autocomplete-dropdown-toggle:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.autocomplete-dropdown-toggle:disabled{opacity:.5;cursor:not-allowed}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 16px #0000001a;max-height:280px;overflow-y:auto;z-index:1000}.autocomplete-loading,.autocomplete-no-results{padding:16px;text-align:center;font-size:13px;color:var(--muted)}.autocomplete-create-btn{display:block;width:100%;margin-top:12px;padding:8px 12px;background:var(--accent);color:var(--accent-contrast);border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.autocomplete-create-btn:hover{opacity:.9;transform:translateY(-1px)}.autocomplete-options{list-style:none;margin:0;padding:4px}.autocomplete-option{padding:10px 12px;font-size:14px;color:var(--text);cursor:pointer;border-radius:6px;transition:all .15s ease;user-select:none}.autocomplete-option:hover,.autocomplete-option.highlighted{background:var(--bg)}.autocomplete-option.selected{background:color-mix(in oklab,var(--accent) 15%,var(--card));color:var(--accent);font-weight:600}.autocomplete-option.selected:after{content:"✓";float:right;font-weight:700}.autocomplete-show-more{width:100%;padding:10px 12px;background:var(--bg);border:none;border-top:1px solid var(--border);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.autocomplete-show-more:hover{background:var(--card);color:var(--accent)}.autocomplete-help{font-size:12px;color:var(--muted);margin-top:4px}.autocomplete-error{font-size:12px;color:#ef4444;margin-top:4px;font-weight:500}.autocomplete.has-error .autocomplete-input{border-color:#ef4444}@media (max-width: 640px){.autocomplete-dropdown{max-height:240px}.autocomplete-option{padding:12px;font-size:15px}}[data-theme=dark] .autocomplete-dropdown{box-shadow:0 8px 16px #0000004d}.autocomplete-dropdown::-webkit-scrollbar{width:8px}.autocomplete-dropdown::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}.autocomplete-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.autocomplete-dropdown::-webkit-scrollbar-thumb:hover{background:var(--muted)}.roster-demo-page{padding:24px;max-width:1600px;margin:0 auto}.roster-demo-page .stats-deck{margin-bottom:28px}.roster-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px;gap:20px}.roster-title-section{flex:1}.roster-title{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--text)}.roster-subtitle{margin:0;font-size:14px;color:var(--muted)}.roster-actions{display:flex;gap:12px;flex-shrink:0}.roster-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;gap:20px}.week-nav{display:flex;gap:8px;flex-wrap:wrap}.week-display{font-size:14px;color:var(--text);white-space:nowrap}.week-display strong{color:var(--muted);font-weight:500;margin-right:4px}.roster-scheduler-container{margin-bottom:24px}.form-field{display:flex;flex-direction:column;gap:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field label{font-weight:500;font-size:14px;color:var(--text)}.form-input,.form-select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit;transition:border-color .2s ease}.form-input:focus,.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.form-select{cursor:pointer}@media (max-width: 960px){.roster-demo-page{padding:16px}.roster-header{flex-direction:column;align-items:stretch}.roster-actions{flex-direction:column}.roster-controls{flex-direction:column;align-items:stretch}.week-nav{order:2}.week-display{order:1;text-align:center;margin-bottom:12px}.roster-title{font-size:24px}.roster-subtitle{font-size:13px}}@media (max-width: 640px){.roster-demo-page{padding:12px}.roster-header{margin-bottom:16px}.roster-title{font-size:20px}.roster-controls{padding:12px}.form-row{grid-template-columns:1fr}}.conflict-banner{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:14px;font-weight:600;margin:16px 0;display:flex;align-items:center;gap:8px}[data-theme=dark] .conflict-banner{background:#7f1d1d;border-color:#991b1b;color:#fecaca}.template-modal{padding:8px 0}.template-info{font-size:14px;color:var(--muted);margin:0 0 16px}.template-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:20px}.template-card{padding:16px;background:var(--bg);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.template-card:hover{border-color:var(--accent);background:var(--card);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.template-name{font-size:15px;font-weight:600;color:var(--text);margin-bottom:8px}.template-time{font-size:13px;color:var(--muted);margin-bottom:4px}.template-type{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.template-note{font-size:12px;color:var(--muted);font-style:italic;margin:16px 0 0;padding:12px;background:var(--bg);border-radius:8px}.bar-chart{width:100%;overflow:visible}.bar-chart svg{overflow:visible}.chart-bar{transition:opacity .3s ease,transform .2s ease}.chart-bar:hover{transform:scale(1.02)}.chart-empty{display:flex;align-items:center;justify-content:center;color:var(--fg-dim);font-size:14px;border:2px dashed var(--border);border-radius:12px}@keyframes barGrow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}.bar-chart--vertical .chart-bar{animation:barGrow .6s ease-out}@keyframes barGrowHorizontal{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}.bar-chart--horizontal .chart-bar{animation:barGrowHorizontal .6s ease-out}.pie-chart{width:100%}.pie-chart__content{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.pie-chart__svg{flex-shrink:0;flex:0 0 auto}.pie-segment{transition:opacity .3s ease,transform .2s ease;transform-origin:center}.pie-segment:hover{filter:brightness(1.1)}.pie-chart__legend{display:flex;flex-direction:column;gap:8px;flex:1;min-width:140px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;transition:background .2s ease}.legend-item:hover,.legend-item--hovered{background:color-mix(in srgb,var(--accent) 8%,transparent)}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-label{display:flex;flex-direction:column;gap:2px;flex:1}.legend-name{font-size:13px;font-weight:600;color:var(--fg)}.legend-value{font-size:12px;color:var(--fg-dim)}@keyframes segmentGrow{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.pie-segment{animation:segmentGrow .6s ease-out;transform-origin:center}@media (max-width: 768px){.pie-chart__content{flex-direction:column;gap:24px}.pie-chart__legend{width:100%}}.line-chart{width:100%}.line-chart svg{overflow:visible}.chart-line{transition:stroke-width .2s ease}.chart-line:hover{stroke-width:4}.chart-area{transition:opacity .3s ease}.chart-point{transition:all .2s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.chart-tooltip{animation:tooltipFadeIn .2s ease}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes lineDraw{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}.chart-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:lineDraw 1.5s ease-out forwards}@keyframes areaFadeIn{0%{opacity:0}to{opacity:.2}}.chart-area{animation:areaFadeIn 1s ease-out .5s forwards;opacity:0}.sparkline{width:100%;position:relative}.sparkline__svg{display:block;width:100%}.sparkline-line{transition:stroke-width .2s ease}.sparkline:hover .sparkline-line{stroke-width:2.5}.sparkline-area{transition:opacity .2s ease}.sparkline:hover .sparkline-area{opacity:1.2}@keyframes sparklineDraw{0%{stroke-dashoffset:500}to{stroke-dashoffset:0}}.sparkline-line{stroke-dasharray:500;stroke-dashoffset:500;animation:sparklineDraw 1s ease-out forwards}@keyframes sparklineAreaFadeIn{0%{opacity:0}to{opacity:1}}.sparkline-area{animation:sparklineAreaFadeIn .8s ease-out .3s forwards;opacity:0}.charts-demo-page{padding:24px;max-width:1400px;margin:0 auto;width:100%}.charts-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:28px;gap:20px}.charts-title{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--fg)}.charts-subtitle{margin:0;font-size:14px;color:var(--fg-dim)}.charts-demo-page .stats-deck{margin-bottom:32px}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:28px}.chart-card{background:var(--card-bg, var(--surface));border:1px solid var(--border);border-radius:16px;padding:20px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.chart-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000040}.chart-card-wide{grid-column:span 2}.chart-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:12px}.chart-container{position:relative;margin-top:12px}.chart-title{font-size:16px;font-weight:600;color:var(--fg);margin:0;letter-spacing:.3px}.chart-subtitle{margin:4px 0 0;font-size:13px;color:var(--fg-dim)}.chart-controls{display:flex;gap:8px;align-items:center}.chart-select{padding:6px 10px;border-radius:6px;background:var(--bg);color:var(--fg);border:1px solid var(--border);font-size:12px;cursor:pointer;transition:border-color .2s}.chart-select:hover{border-color:var(--accent)}.chart-btn{padding:6px 14px;border-radius:6px;background:var(--bg);color:var(--fg);border:1px solid var(--border);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.chart-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.chart-placeholder{position:relative;height:300px;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:12px;background:color-mix(in srgb,var(--bg) 50%,transparent)}.chart-placeholder-wide{height:240px}.placeholder-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--fg-dim);text-align:center}.placeholder-content svg{opacity:.3;stroke:var(--accent)}.placeholder-content p{margin:0;font-size:15px;font-weight:600;color:var(--fg)}.placeholder-content small{font-size:12px;color:var(--fg-dim)}.charts-info-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));border:1px solid var(--border);border-radius:16px;padding:28px;margin-top:28px}.charts-info-card h3{margin:0 0 20px;font-size:18px;color:var(--fg)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.info-item{display:flex;flex-direction:column;gap:6px}.info-item strong{font-size:14px;font-weight:600;color:var(--fg)}.info-item p{margin:0;font-size:13px;color:var(--fg-dim);line-height:1.5}@media (max-width: 1024px){.charts-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:span 1}}@media (max-width: 768px){.charts-demo-page{padding:16px}.charts-header{margin-bottom:20px}.charts-title{font-size:24px}.charts-subtitle{font-size:13px}.chart-placeholder{height:240px}.chart-placeholder-wide{height:200px}.charts-info-card{padding:20px}.info-grid{grid-template-columns:1fr;gap:16px}}@media (max-width: 640px){.charts-demo-page{padding:12px}.charts-title{font-size:20px}.chart-card{padding:16px}.chart-placeholder{height:200px}}.search-bar{position:relative;display:flex;align-items:center;width:100%}.search-icon{position:absolute;left:14px;color:var(--fg-dim);pointer-events:none;opacity:.6}.search-input{width:100%;height:44px;padding:0 40px 0 44px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;color:var(--fg);transition:all .2s ease;box-shadow:none}.search-input:focus{outline:none;border-color:var(--accent);background:var(--input-bg-focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 8%,transparent)}.clear-btn{position:absolute;right:10px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--fg-dim);cursor:pointer;transition:all .15s ease}.clear-btn:hover{background:var(--hover-bg);color:var(--fg)}.clear-btn:active{transform:scale(.95)}@media (prefers-color-scheme: dark){.search-input{background:#ffffff0d;border-color:#ffffff1a}.search-input:focus{background:#ffffff14;border-color:var(--accent)}}@media (max-width: 768px){.search-bar{max-width:100%}}.table-toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}.table-toolbar .search-bar{flex:1;min-width:200px;max-width:400px}.table-toolbar .search-bar .search-input{background:var(--input-bg);box-shadow:none}.toolbar-divider{width:1px;height:32px;background:var(--border);opacity:.5}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:36px;flex-shrink:0}.toolbar-btn svg{width:18px;height:18px;color:var(--fg-dim)}.toolbar-btn svg:last-child{width:12px;height:12px}.toolbar-btn:hover{background:transparent;border-color:var(--accent)}.toolbar-btn:hover svg{color:var(--fg)}.toolbar-btn.active{background:transparent!important;border-color:var(--accent);border-width:1px;color:var(--accent)}.toolbar-btn.active svg{color:var(--accent)}.toolbar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent);border-radius:10px;font-size:11px;font-weight:700;color:#fff}.toolbar-archive-toggle{display:flex;align-items:center;gap:8px;padding:8px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:36px;user-select:none;flex-shrink:0}.toolbar-archive-toggle:hover{background:transparent;border-color:var(--accent)}.toolbar-archive-toggle input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--accent)}.toolbar-selection-info{display:flex;align-items:center;padding:8px 14px;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:600;color:var(--fg);white-space:nowrap;min-height:36px;flex-shrink:0}.selection-count{color:var(--primary)}.toolbar-btn-danger{border-color:var(--danger);color:var(--danger)}.toolbar-btn-danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}.toolbar-btn-danger:hover svg{color:#fff}.toolbar-btn-success{border-color:var(--success);color:var(--success)}.toolbar-btn-success:hover{background:var(--success);border-color:var(--success);color:#fff}.toolbar-btn-success:hover svg{color:#fff}.toolbar-btn-primary{border-color:var(--primary);background:var(--primary);color:#fff}.toolbar-btn-primary svg{color:#fff}.toolbar-btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.toolbar-btn-primary:hover svg{color:#fff}.toolbar-archive-toggle span{font-weight:500}.toolbar-view-toggle{display:flex;gap:0;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;padding:3px;flex-shrink:0}.toolbar-view-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;border-radius:4px;font-size:13px;font-weight:500;color:var(--fg-dim);opacity:.5;cursor:pointer;transition:all .15s ease;white-space:nowrap}.toolbar-view-btn svg{width:16px;height:16px;flex-shrink:0}.toolbar-view-btn:hover{background:var(--hover-bg);color:var(--fg);opacity:.7}.toolbar-view-btn.active{background:var(--card-bg);color:var(--fg);opacity:1;box-shadow:0 1px 2px #00000014;font-weight:600}@media (max-width: 1024px){.table-toolbar{flex-wrap:wrap;gap:8px}.table-toolbar .search-bar{flex:1;min-width:200px;max-width:100%}.toolbar-view-btn .view-label{display:none}.toolbar-view-btn{padding:6px 10px;min-width:40px}}@media (max-width: 768px){.table-toolbar{padding:12px}.table-toolbar .search-bar{width:100%;min-width:100%;max-width:100%;order:-1}.toolbar-divider,.toolbar-btn span{display:none}.toolbar-view-toggle{width:100%}.toolbar-view-btn{flex:1;justify-content:center}}@media (max-width: 480px){.table-toolbar{padding:10px;gap:6px}.toolbar-btn{padding:8px 10px;min-width:40px}.toolbar-archive-toggle span{font-size:13px}}.filter-modal-content{display:flex;flex-direction:column;gap:24px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:4px}.filter-field{display:flex;flex-direction:column;gap:8px}.filter-field-full{grid-column:1 / -1}.filter-label{font-size:13px;font-weight:600;color:var(--fg);letter-spacing:.3px}.filter-select,.filter-input{height:32px;padding:0 12px;background:var(--bg)!important;background-color:var(--bg)!important;border:1px solid var(--border)!important;border-radius:4px;font-size:13px;font-weight:500;color:var(--fg)!important;transition:all .2s ease}.filter-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.filter-select option{background:var(--card-bg)!important;background-color:var(--card-bg)!important;color:var(--fg)!important;padding:8px;font-weight:600;font-size:14px}.filter-select option:checked,.filter-select option[selected]{background:var(--accent)!important;background-color:var(--accent)!important;color:#fff!important;font-weight:700}.filter-select option:hover{background:var(--hover-bg)!important;background-color:var(--hover-bg)!important;color:var(--fg)!important;font-weight:600}[data-theme=dark] .date-range input::-webkit-calendar-picker-indicator{filter:invert(1)}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--accent);background:var(--input-bg-focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 10%,transparent)}.date-range{display:flex;align-items:center;gap:12px}.date-range input{flex:1;min-width:150px;background:var(--bg)!important;background-color:var(--bg)!important;color:var(--fg)!important}.date-range input::-webkit-calendar-picker-indicator{cursor:pointer}.date-separator{font-size:13px;font-weight:600;color:var(--fg-dim);opacity:.7}.filter-modal-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;margin-top:4px}.filter-footer-left,.filter-footer-right{display:flex;gap:12px}.clear-filters-btn{padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:13px;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .2s ease;min-height:32px}.clear-filters-btn:hover{background:var(--hover-bg);color:var(--fg);border-color:var(--accent)}.cancel-btn{padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:13px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .2s ease;min-height:32px}.cancel-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.apply-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--accent);border-radius:4px;font-size:13px;font-weight:500;color:var(--accent);cursor:pointer;transition:all .2s ease;min-height:32px}.apply-btn:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:color-mix(in oklab,var(--accent) 90%,#000)}.apply-btn:active{background:color-mix(in oklab,var(--accent) 12%,transparent)}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ffffff40;border-radius:10px;font-size:11px;font-weight:700}@media (max-width: 768px){.filter-grid{grid-template-columns:1fr}.filter-modal-footer{flex-direction:column;gap:12px}.filter-footer-left,.filter-footer-right{width:100%}.clear-filters-btn,.cancel-btn,.apply-btn{width:100%;justify-content:center}.date-range{flex-direction:column;align-items:stretch}.date-separator{text-align:center}}.job-queue-demo-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.page-title{font-size:28px;font-weight:700;color:var(--fg);margin:0 0 8px}.page-subtitle{font-size:15px;font-weight:500;color:var(--fg-dim);margin:0}.theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;color:var(--fg);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.theme-toggle:active{transform:translateY(0)}.demo-section{margin-bottom:48px}.section-title{font-size:20px;font-weight:700;color:var(--fg);margin:0 0 20px}.table-controls{display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px #0000000d}.table-controls .search-bar{flex:1;min-width:280px}.table-controls .search-bar .search-input{background:var(--input-bg);box-shadow:none}.controls-divider{width:1px;height:32px;background:var(--border);opacity:.5}.control-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:36px}.control-btn svg{width:18px;height:18px;color:var(--fg-dim)}.control-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.control-btn:hover svg{color:var(--fg)}.control-btn.active{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:var(--accent);color:var(--accent)}.control-btn.active svg{color:var(--accent)}.job-queue-view-toggle{display:flex;gap:0;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;padding:3px;flex-shrink:0}.job-queue-view-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;border-radius:4px;font-size:13px;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap}.job-queue-view-btn svg{width:16px;height:16px;flex-shrink:0}.job-queue-view-btn:hover{background:var(--hover-bg);color:var(--fg)}.job-queue-view-btn.active{background:var(--card-bg);color:var(--fg);box-shadow:0 1px 2px #00000014}.view-label{font-weight:500}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent);border-radius:10px;font-size:11px;font-weight:700;color:#fff}@media (max-width: 768px){.table-controls{flex-wrap:wrap;padding:12px;gap:8px}.table-controls .search-bar{width:100%;min-width:100%;order:-1}.controls-divider{display:none}.job-queue-view-toggle{width:100%}.job-queue-view-btn{flex:1;justify-content:center}.control-btn{flex:1;min-width:auto;justify-content:center}}.bulk-actions{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:16px}.bulk-count{font-size:14px;font-weight:600;color:var(--fg);margin-right:auto}.bulk-btn{padding:8px 16px;background:var(--button-bg);border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .15s ease}.bulk-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.bulk-btn--retry{background:color-mix(in oklab,var(--accent) 10%,transparent);border-color:var(--primary);color:var(--primary)}.bulk-btn--retry:hover{background:color-mix(in oklab,var(--accent) 20%,transparent)}.bulk-btn--cancel{background:#fbbf241a;border-color:#fbbf24;color:#fbbf24}.bulk-btn--cancel:hover{background:#fbbf2433}.bulk-btn--delete{background:#ef44441a;border-color:#ef4444;color:#ef4444}.bulk-btn--delete:hover{background:#ef444433}.table-actions{display:flex;gap:8px}.action-btn{padding:6px 12px;background:var(--button-bg);border:1px solid var(--border);border-radius:4px;font-size:12px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .15s ease}.action-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn--view{color:var(--primary);border-color:var(--primary)}.action-btn--view:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 10%,transparent)}.action-btn--retry{color:#10b981;border-color:#10b981}.action-btn--retry:hover:not(:disabled){background:#10b9811a}.job-details{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.detail-label{font-size:13px;font-weight:600;color:var(--fg-dim)}.detail-value{font-size:14px;font-weight:600;color:var(--fg)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:48px}.info-card{padding:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}.info-card h3{font-size:16px;font-weight:700;color:var(--fg);margin:0 0 16px}.info-card ul{margin:0;padding:0 0 0 20px;list-style:none}.info-card li{position:relative;font-size:14px;font-weight:500;color:var(--fg-dim);margin-bottom:8px}.info-card li:before{content:"•";position:absolute;left:-14px;color:var(--accent);font-weight:700}@media (max-width: 768px){.job-queue-demo-page{padding:16px}.page-title{font-size:24px}.table-controls{flex-direction:column}.bulk-actions{flex-wrap:wrap}.info-grid{grid-template-columns:1fr}}.marker-battlefield{background:none;border:none}.marker-battlefield-container{position:relative;width:50px;height:50px;cursor:pointer}.marker-battlefield-container svg{position:absolute;top:0;left:0}.marker-battlefield-container .marker-main{filter:drop-shadow(0 0 8px var(--marker-color));z-index:3}.marker-battlefield-container .marker-pulse-1{animation:pulseBattlefield 2s ease-out infinite;z-index:1}.marker-battlefield-container .marker-pulse-2{animation:pulseBattlefield 2s ease-out infinite .5s;z-index:2}@keyframes pulseBattlefield{0%{transform:scale(.8);opacity:.6}to{transform:scale(1.8);opacity:0}}.marker-battlefield-container:hover .marker-main{filter:drop-shadow(0 0 16px var(--marker-color));transform:scale(1.1);transition:all .2s ease}.marker-enhanced{background:none;border:none}.marker-enhanced-container{position:relative;width:50px;height:50px;cursor:pointer}.marker-enhanced-container svg{position:absolute;top:0;left:0}.marker-enhanced-container .marker-main{filter:drop-shadow(0 0 10px var(--marker-color)) drop-shadow(0 0 5px var(--marker-color));z-index:5}.marker-enhanced-container .marker-pulse-1{animation:pulseEnhanced 1.7s ease-out infinite;z-index:1}.marker-enhanced-container .marker-pulse-2{animation:pulseEnhanced 1.7s ease-out infinite .28s;z-index:2}.marker-enhanced-container .marker-pulse-3{animation:pulseEnhanced 1.7s ease-out infinite .56s;z-index:3}.marker-enhanced-container .marker-pulse-4{animation:pulseEnhanced 1.7s ease-out infinite .84s;z-index:4}@keyframes pulseEnhanced{0%{transform:scale(.8);opacity:.7}to{transform:scale(2);opacity:0}}.marker-enhanced-container:hover .marker-main{filter:drop-shadow(0 0 20px var(--marker-color)) drop-shadow(0 0 10px var(--marker-color));transform:scale(1.1);transition:all .2s ease}.marker-hexagon{background:none;border:none}.marker-hexagon-container{position:relative;width:50px;height:50px;cursor:pointer}.marker-hexagon-container svg{position:absolute;top:0;left:0}.marker-hexagon-container .marker-main{filter:drop-shadow(0 0 8px var(--marker-color));z-index:3}.marker-hexagon-container .marker-pulse-1{animation:pulseHexagon 2s ease-out infinite;z-index:1}.marker-hexagon-container .marker-pulse-2{animation:pulseHexagon 2s ease-out infinite .5s;z-index:2}@keyframes pulseHexagon{0%{transform:scale(.8) rotate(0);opacity:.6}to{transform:scale(1.8) rotate(30deg);opacity:0}}.marker-hexagon-container:hover .marker-main{filter:drop-shadow(0 0 16px var(--marker-color));transform:scale(1.1);transition:all .2s ease}.marker-circle{background:none;border:none}.marker-circle-container{position:relative;width:50px;height:50px;cursor:pointer}.marker-circle-container svg{position:absolute;top:0;left:0}.marker-circle-container .marker-main{filter:drop-shadow(0 0 8px var(--marker-color));z-index:3}.marker-circle-container .marker-pulse-1{animation:pulseCircle 2s ease-out infinite;z-index:1}.marker-circle-container .marker-pulse-2{animation:pulseCircle 2s ease-out infinite .5s;z-index:2}@keyframes pulseCircle{0%{transform:scale(.8);opacity:.6}to{transform:scale(1.8);opacity:0}}.marker-circle-container:hover .marker-main{filter:drop-shadow(0 0 16px var(--marker-color));transform:scale(1.1);transition:all .2s ease}.marker-square{background:none;border:none}.marker-square-container{position:relative;width:50px;height:50px;cursor:pointer}.marker-square-container svg{position:absolute;top:0;left:0}.marker-square-container .marker-main{filter:drop-shadow(0 0 8px var(--marker-color));z-index:3}.marker-square-container .marker-pulse-1{animation:pulseSquare 2s ease-out infinite;z-index:1}.marker-square-container .marker-pulse-2{animation:pulseSquare 2s ease-out infinite .5s;z-index:2}@keyframes pulseSquare{0%{transform:scale(.8);opacity:.6}to{transform:scale(1.8);opacity:0}}.marker-square-container:hover .marker-main{filter:drop-shadow(0 0 16px var(--marker-color));transform:scale(1.1);transition:all .2s ease}.marker-spinning{background:none;border:none;cursor:pointer}.marker-spinning-container{position:relative;width:50px;height:50px}.marker-spin{position:absolute;top:0;left:0;animation:spinDiamond 3s linear infinite;filter:drop-shadow(0 0 8px var(--marker-color))}@keyframes spinDiamond{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.marker-spinning-container:hover .marker-spin{filter:drop-shadow(0 0 16px var(--marker-color));animation-duration:2s}.marker-pin{background:none;border:none}.marker-pin svg{filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:all .2s ease;cursor:pointer}.marker-pin:hover svg{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 5px 10px rgba(0,0,0,.5))}.leaflet-popup-content-wrapper,.asset-hover-popup{background:var(--surface, #ffffff);color:var(--fg, #323338);border-radius:8px;box-shadow:0 4px 16px #00000026;border:1px solid var(--border, #c5c7d0);padding:0}.leaflet-popup-content,.leaflet-tooltip-content{margin:12px 16px;font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:14px;line-height:1.5;min-width:180px}.leaflet-popup-tip,.leaflet-tooltip-top:before{background:var(--surface, #ffffff);border:1px solid var(--border, #c5c7d0);box-shadow:0 2px 8px #0000001a}.leaflet-popup-close-button{color:var(--fg-muted, #676879);font-size:20px;font-weight:400;padding:4px 8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:4px}.leaflet-popup-close-button:hover{color:var(--fg, #323338);background:var(--hover-bg, rgba(0, 0, 0, .05))}.leaflet-popup-content strong,.leaflet-tooltip-content strong{color:var(--fg, #323338);font-weight:600;display:block;margin-bottom:4px}.leaflet-popup-content p,.leaflet-tooltip-content p{margin:0;color:var(--fg-muted, #676879)}.asset-map-popup{min-width:180px}.asset-popup-name{font-size:16px;font-weight:600;color:var(--fg, #323338);margin:0 0 8px;display:flex;align-items:center;gap:8px}.asset-popup-field{font-size:14px;color:var(--fg, #323338);margin:6px 0;display:flex;align-items:baseline;gap:4px}.asset-popup-label{color:var(--fg-muted, #676879);font-weight:500}.asset-popup-field code{background:#0073ea1a;border:1px solid rgba(0,115,234,.3);padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Courier New,monospace;font-size:13px;font-weight:500;color:#0073ea}.asset-status-pill{display:inline-flex;align-items:center;padding:0 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.asset-status-pill.active{background:#00c875;color:#fff;box-shadow:0 0 8px #00c87566}.asset-status-pill.inactive{background:#e44258;color:#fff;box-shadow:0 0 8px #e4425866}@media (prefers-color-scheme: dark){.leaflet-popup-content-wrapper,.asset-hover-popup{background:var(--surface, #2a2e4d);color:var(--fg, #ffffff);border-color:var(--border, #676879);box-shadow:0 4px 16px #00000080}.leaflet-popup-tip,.leaflet-tooltip-top:before{background:var(--surface, #2a2e4d);border-color:var(--border, #676879)}.leaflet-popup-close-button{color:var(--fg-muted, #c5c7d0)}.leaflet-popup-close-button:hover{color:var(--fg, #ffffff);background:var(--hover-bg, rgba(255, 255, 255, .1))}.leaflet-popup-content strong,.leaflet-tooltip-content strong,.asset-popup-name{color:var(--fg, #ffffff)}.leaflet-popup-content p,.leaflet-tooltip-content p{color:var(--fg-muted, #c5c7d0)}.asset-popup-field{color:var(--fg, #ffffff)}.asset-popup-label{color:var(--fg-muted, #c5c7d0)}.asset-popup-field code{background:#0073ea1a;border:1px solid rgba(0,115,234,.3);font-weight:500;color:#0073ea}}.jobs-map-container{position:relative;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.jobs-map-header{padding:16px;background:var(--bg-2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.jobs-map-header h3{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.map-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-btn{padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--fg-2);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:var(--bg-3);border-color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.jobs-map{height:500px;width:100%;position:relative;z-index:1}.map-empty-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;background:var(--bg);padding:32px;border-radius:8px;box-shadow:0 4px 12px #00000026}.map-empty-state p{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--fg)}.map-empty-state span{font-size:14px;color:var(--fg-2)}.custom-marker{background:transparent;border:none}.marker-pin{width:30px;height:30px;border-radius:50% 50% 50% 0;background:#ef4444;position:absolute;transform:rotate(-45deg);left:50%;top:50%;margin:-20px 0 0 -15px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d}.marker-icon{transform:rotate(45deg);font-size:16px}.marker-pulse{width:14px;height:14px;border:2px solid #EF4444;border-radius:50%;position:absolute;left:50%;top:50%;margin:-12px 0 0 -7px;animation:pulse 1.5s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}to{transform:scale(3);opacity:0}}.job-popup{min-width:220px;font-family:var(--font-base);padding:0}.job-popup-header{padding:12px;display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f6f7fb;border-bottom:1px solid #d0d4e4}[data-theme=dark] .job-popup-header{background:#323338;border-bottom-color:#676879}.job-badge{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#323338;padding:4px 8px;border-radius:4px;background:#e6e9ef}[data-theme=dark] .job-badge{color:#fff;background:#676879}.job-popup-cit .job-badge{background:#10b9811a;color:#10b981}.job-popup-security-service .job-badge{background:#3b82f61a;color:#3b82f6}.job-popup-alarm .job-badge{background:#f43f5e1a;color:#f43f5e}.job-status-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.job-status-badge.status-pending{background:#f973161a;color:#f97316}.job-status-badge.status-in-progress{background:#3b82f61a;color:#3b82f6}.job-status-badge.status-complete{background:#10b9811a;color:#10b981}.job-popup-body{padding:12px}.job-site-name{font-size:14px;font-weight:600;color:#323338;margin-bottom:6px;line-height:1.3}[data-theme=dark] .job-site-name{color:#fff}.job-site-address{font-size:12px;color:#676879;margin-bottom:6px;line-height:1.4}[data-theme=dark] .job-site-address{color:#c5c7d0}.job-customer{font-size:12px;color:#676879;padding-top:8px;margin-top:8px;border-top:1px solid #d0d4e4;font-weight:500}[data-theme=dark] .job-customer{color:#c5c7d0;border-top-color:#676879}.job-tooltip{font-family:var(--font-base);min-width:180px;max-width:280px}.tooltip-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.2)}.tooltip-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#ffffffe6}.tooltip-status{font-size:9px;font-weight:600;padding:2px 6px;border-radius:8px;text-transform:uppercase}.tooltip-status.status-pending{background:#f973164d;color:#fff}.tooltip-status.status-in-progress{background:#3b82f64d;color:#fff}.tooltip-site{font-size:13px;font-weight:600;color:#fff;margin-bottom:4px}.tooltip-customer{font-size:11px;color:#fffc;margin-bottom:6px}.tooltip-hint{font-size:10px;color:#fff9;font-style:italic;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.2);text-align:center}.leaflet-tooltip{background:#000000d9!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;box-shadow:0 4px 12px #0000004d!important;padding:10px 12px!important;backdrop-filter:blur(8px)}.leaflet-tooltip-top:before{border-top-color:#000000d9!important}.leaflet-tooltip-bottom:before{border-bottom-color:#000000d9!important}.leaflet-tooltip-left:before{border-left-color:#000000d9!important}.leaflet-tooltip-right:before{border-right-color:#000000d9!important}.leaflet-popup-content-wrapper{background:#fff!important;color:#323338!important;border:1px solid #d0d4e4!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;padding:0!important}.leaflet-popup-content{margin:0!important;padding:0!important;width:auto!important}.leaflet-popup-tip{background:#fff!important;border:1px solid #d0d4e4!important}.leaflet-popup-close-button{color:#676879!important;font-size:18px!important}.leaflet-popup-close-button:hover{color:#323338!important}[data-theme=dark] .leaflet-popup-content-wrapper,html[data-theme=dark] .leaflet-popup-content-wrapper{background:#1f2128!important;color:#fff!important;border-color:#323338!important;box-shadow:0 4px 12px #00000080!important}[data-theme=dark] .leaflet-popup-tip,html[data-theme=dark] .leaflet-popup-tip{background:#1f2128!important;border-color:#323338!important}[data-theme=dark] .leaflet-popup-close-button,html[data-theme=dark] .leaflet-popup-close-button{color:#c5c7d0!important}[data-theme=dark] .leaflet-popup-close-button:hover,html[data-theme=dark] .leaflet-popup-close-button:hover{color:#fff!important}.map-legend{padding:12px 16px;background:var(--bg-2);border-top:1px solid var(--border)}.legend-title{font-size:12px;font-weight:600;color:var(--fg);margin-bottom:8px}.legend-grid{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--fg-2)}.map-filters-collapsible{position:relative}.filters-toggle{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:var(--fg);transition:all .2s ease}.filters-toggle:hover{background:var(--bg-3);border-color:var(--primary)}.filter-active-badge{background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center}.filters-chevron-up{transform:rotate(180deg);transition:transform .2s ease}.filters-chevron-down{transform:rotate(0);transition:transform .2s ease}.filters-expanded .map-filters{position:absolute;top:100%;right:0;margin-top:8px;padding:12px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;display:flex;flex-direction:column;gap:8px;min-width:180px;animation:filtersSlideIn .2s ease}@keyframes filtersSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filters-expanded .filter-btn{width:100%;justify-content:flex-start;text-align:left}.map-legend-collapsible{padding:0}.map-legend-collapsible .legend-title{margin-bottom:0}.legend-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-2);border:none;border-top:1px solid var(--border);cursor:pointer;font-size:12px;font-weight:600;color:var(--fg);transition:background .2s ease}.legend-toggle:hover{background:var(--bg-3)}.legend-chevron-up{transform:rotate(180deg);transition:transform .2s ease}.legend-chevron-down{transform:rotate(0);transition:transform .2s ease}.legend-expanded .legend-grid{padding:8px 16px 12px;animation:legendFadeIn .2s ease}@keyframes legendFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.legend-collapsed .legend-grid{display:none}@media (max-width: 768px){.jobs-map{height:400px}.jobs-map-header{flex-direction:column;align-items:flex-start}.map-filters{width:100%}.filter-btn{flex:1;min-width:0;font-size:12px;padding:8px 6px}.legend-grid{grid-template-columns:1fr;gap:8px}}.loading-overlay{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:99999;backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.loading-overlay-content{display:flex;flex-direction:column;align-items:center;gap:24px}.loading-marker-container{position:relative;width:100px;height:100px;--marker-color: #0073ea;--pulse-speed: 1.5s}.loading-marker-container svg{position:absolute;top:0;left:0;width:100px;height:100px}.loading-marker-main{filter:drop-shadow(0 0 12px var(--marker-color));z-index:3;animation:markerGlow var(--pulse-speed) ease-in-out infinite}@keyframes markerGlow{0%,to{filter:drop-shadow(0 0 12px var(--marker-color))}50%{filter:drop-shadow(0 0 20px var(--marker-color)) drop-shadow(0 0 8px var(--marker-color))}}.loading-marker-pulse-1{animation:pulseDiamond var(--pulse-speed) ease-out infinite;z-index:1}.loading-marker-pulse-2{animation:pulseDiamond var(--pulse-speed) ease-out infinite calc(var(--pulse-speed) / 4);z-index:2}@keyframes pulseDiamond{0%{transform:scale(.8);opacity:.6}to{transform:scale(2);opacity:0}}.loading-overlay-message{color:#fff;font-size:16px;font-weight:500;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.5);animation:messagePulse calc(var(--pulse-speed) * 2) ease-in-out infinite;max-width:280px;padding:0 20px}@keyframes messagePulse{0%,to{opacity:.9}50%{opacity:1}}@media (max-width: 768px){.loading-marker-container{width:80px;height:80px}.loading-marker-container svg{width:80px;height:80px}.loading-overlay-message{font-size:14px}}.job-details-header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid var(--border);border-top:4px solid var(--primary);margin:-16px -20px 20px;padding:16px 20px}.job-type-badge{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff;padding:6px 12px;border-radius:6px}.status-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.status-badge.status-pending{background:#f9731626;color:#f97316}.status-badge.status-in-progress{background:#3b82f626;color:#3b82f6}.status-badge.status-complete,.status-badge.status-completed{background:#10b98126;color:#10b981}.detail-section{margin-bottom:20px}.detail-label{font-size:12px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.detail-value{font-size:15px;font-weight:500;color:var(--fg);line-height:1.4}.detail-subtext{font-size:13px;color:var(--fg-2);margin-top:4px;line-height:1.4}.detail-reference{font-family:SF Mono,Monaco,Courier New,monospace;font-weight:600;color:var(--primary);background:var(--bg-2);padding:8px 12px;border-radius:6px;border-left:3px solid var(--primary)}.detail-coords{font-family:SF Mono,Monaco,Courier New,monospace;font-size:13px;color:var(--fg-2);background:var(--bg-2);padding:6px 10px;border-radius:4px}.btn-full-width{width:100%;padding:12px;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center;gap:8px}.error-message{text-align:center;padding:32px 20px}.error-message strong{display:block;font-size:16px;color:var(--danger, #dc2626);margin-bottom:12px}.error-message p{font-size:14px;color:var(--fg-2);margin-bottom:20px}.btn-secondary{padding:10px 20px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:var(--bg-3);border-color:var(--primary)}@media (max-width: 768px){.job-details-header{flex-direction:column;align-items:flex-start}}.mini-calendar{width:100%;background:var(--surface);border-radius:12px;padding:16px}.mini-calendar--compact{padding:12px}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:8px 0}.mini-calendar--compact .mini-calendar-header{margin-bottom:12px;padding:4px 0}.mini-calendar-title{font-size:18px;font-weight:600;color:var(--fg);cursor:pointer;user-select:none}.mini-calendar--compact .mini-calendar-title{font-size:16px}.mini-calendar-nav-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.mini-calendar--compact .mini-calendar-nav-btn{width:32px;height:32px;font-size:18px}.mini-calendar-nav-btn:hover{background:var(--surface-soft);border-color:var(--accent)}.mini-calendar-nav-btn:active{transform:scale(.95)}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mini-calendar--compact .mini-calendar-grid{gap:2px}.mini-calendar-day-label{text-align:center;font-size:11px;font-weight:600;color:var(--fg-muted);padding:8px 0;text-transform:uppercase;letter-spacing:.5px}.mini-calendar--compact .mini-calendar-day-label{font-size:10px;padding:6px 0}.mini-calendar-day{aspect-ratio:1;border-radius:8px;border:1px solid var(--border);background:var(--bg);padding:6px;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:50px;position:relative}.mini-calendar--compact .mini-calendar-day{min-height:40px;padding:4px;border-radius:6px}.mini-calendar-day:hover{background:var(--surface-soft);border-color:var(--accent);transform:scale(1.02)}.mini-calendar-day.other-month{opacity:.3}.mini-calendar-day.other-month:hover{opacity:.5}.mini-calendar-day.today{border-color:#10b981;border-width:2px;background:color-mix(in oklab,#10b981 8%,var(--bg))}.mini-calendar-day.today .mini-calendar-day-number{color:#10b981;font-weight:700}.mini-calendar-day.selected{border-color:var(--accent);border-width:2px;background:color-mix(in oklab,var(--accent) 15%,var(--bg))}.mini-calendar-day.selected .mini-calendar-day-number{color:var(--accent);font-weight:700}.mini-calendar-day-number{font-size:14px;font-weight:500;color:var(--fg);margin-bottom:4px}.mini-calendar--compact .mini-calendar-day-number{font-size:12px;margin-bottom:2px}.mini-calendar-dots{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center;margin-top:auto}.mini-calendar--compact .mini-calendar-dots{gap:2px}.mini-calendar-dot{width:6px;height:6px;border-radius:50%;box-shadow:0 1px 2px #00000026}.mini-calendar--compact .mini-calendar-dot{width:5px;height:5px}.mini-calendar-count{font-size:9px;font-weight:600;color:var(--fg-muted);margin-left:2px}.mini-calendar--compact .mini-calendar-count{font-size:8px}.mini-calendar-time{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.mini-calendar--compact .mini-calendar-time{margin-top:12px;padding-top:12px}.mini-calendar-time-label{display:block;font-size:13px;font-weight:500;color:var(--fg);margin-bottom:8px}.mini-calendar-time-inputs{display:flex;gap:12px}.mini-calendar-time-input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;color-scheme:dark light}.mini-calendar-time-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}[data-theme=dark] .mini-calendar-time-input{color-scheme:dark}[data-theme=dark] .mini-calendar-time-input::-webkit-calendar-picker-indicator{filter:invert(1)}@media (max-width: 375px){.mini-calendar{padding:12px}.mini-calendar-day{min-height:44px;padding:4px}.mini-calendar-day-number{font-size:12px}.mini-calendar-dot{width:5px;height:5px}}.mini-calendar-cards{display:flex;flex-direction:column;gap:2px;width:100%;overflow:hidden;margin-top:2px}.mini-calendar-card{display:block;padding:2px 4px;background:color-mix(in oklab,var(--card-color) 18%,var(--bg));border-radius:3px;border-left:2px solid var(--card-color);overflow:hidden;max-width:100%;transition:all .15s ease}.mini-calendar-card--clickable{cursor:pointer}.mini-calendar-card--clickable:hover{background:color-mix(in oklab,var(--card-color) 28%,var(--bg));transform:translate(2px);box-shadow:0 1px 3px #00000026}.mini-calendar-card-indicator{display:none}.mini-calendar-card-title{font-size:.5625rem;font-weight:600;color:var(--fg);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.mini-calendar-card-subtitle{font-size:.5rem;color:var(--fg-muted);line-height:1.2;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin-top:1px}.mini-calendar-cards.cards-1 .mini-calendar-card-subtitle,.mini-calendar-cards.cards-2 .mini-calendar-card-subtitle{display:-webkit-box}.mini-calendar-cards.cards-3 .mini-calendar-card-subtitle,.mini-calendar-cards.cards-4 .mini-calendar-card-subtitle{display:none}.mini-calendar-cards.cards-1 .mini-calendar-card{padding:3px 5px}.mini-calendar-cards.cards-1 .mini-calendar-card-title{font-size:.625rem;-webkit-line-clamp:2}.mini-calendar-cards.cards-1 .mini-calendar-card-subtitle{font-size:.5625rem}.mini-calendar-cards.cards-3 .mini-calendar-card-title,.mini-calendar-cards.cards-4 .mini-calendar-card-title{-webkit-line-clamp:1;font-size:.5rem}.mini-calendar-card-dot{display:none}.mini-calendar-card.overdue,.mini-calendar-card.urgent{background:#ef444433;border-left-color:#ef4444}.mini-calendar-card.overdue .mini-calendar-card-title,.mini-calendar-card.urgent .mini-calendar-card-title{color:#fca5a5}.mini-calendar-card-badge{display:inline-block;font-size:.4375rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:#ef4444;color:#fff;padding:1px 3px;border-radius:2px;margin-right:3px}.mini-calendar-card.stale{background:#f59e0b33;border-left-color:#f59e0b}.mini-calendar-card.stale .mini-calendar-card-title{color:#fcd34d}.mini-calendar-card-badge.stale{background:#f59e0b}.drawer-icon-rail{display:flex;flex-direction:column;width:48px;background:var(--bg-subtle);padding:8px 0;gap:4px;flex-shrink:0}.icon-rail-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 4px;padding:0;border:none;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;transition:all .15s ease}.icon-rail-btn:hover{background:var(--surface-soft);color:var(--text)}.icon-rail-btn.active{background:var(--accent-soft, rgba(59, 130, 246, .15));color:var(--accent)}.icon-rail-icon{display:flex;align-items:center;justify-content:center}.icon-rail-icon svg{width:18px;height:18px}.icon-rail-badge{position:absolute;top:2px;right:0;min-width:14px;height:14px;padding:0 3px;background:var(--accent);color:#fff;font-size:9px;font-weight:600;border-radius:7px;display:flex;align-items:center;justify-content:center;line-height:1}.icon-rail-badge.complete{background:var(--success)}.icon-rail-badge.dot{min-width:8px;width:8px;height:8px;padding:0;top:4px;right:4px}.icon-rail-indicator{position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--accent);border-radius:2px 0 0 2px}.icon-rail-divider{width:24px;height:1px;margin:8px auto;background:var(--border)}.side-panel{display:flex;flex-direction:column;width:280px;height:100%;background:var(--card);border-right:1px solid var(--border);flex-shrink:0;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0}.side-panel-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text)}.side-panel-header h3 svg{width:16px;height:16px;color:var(--muted)}.side-panel-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .15s ease}.side-panel-close:hover{background:var(--surface-soft);color:var(--text)}.side-panel-close svg{width:16px;height:16px}.side-panel-content{flex:1;overflow-y:auto;padding:12px}.side-panel-footer{padding:12px;border-top:1px solid var(--border);flex-shrink:0}.links-loading,.links-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:13px}.links-empty-hint{margin-top:8px;font-size:12px;opacity:.7}.links-list{display:flex;flex-direction:column;gap:16px}.links-section{display:flex;flex-direction:column;gap:6px}.links-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:0 4px;margin-bottom:2px}.link-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.link-item:hover{background:var(--surface-soft);border-color:var(--border-hover, var(--border))}.link-item-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--muted);font-size:14px}.link-item-icon svg{width:14px;height:14px}.link-item-content{flex:1;min-width:0}.link-item-title{display:block;font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-item-subtitle{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-item-remove{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;opacity:0;transition:all .15s ease}.link-item:hover .link-item-remove{opacity:1}.link-item-remove:hover{background:var(--danger-soft, rgba(239, 68, 68, .15));color:var(--danger, #ef4444)}.link-item-remove svg{width:12px;height:12px}.link-badge{padding:2px 6px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;flex-shrink:0}.link-badge--blocks{background:#ef444426;color:#ef4444}.link-badge--blocked{background:#f9731626;color:#f97316}.link-badge--duplicate{background:#6b728026;color:#6b7280}.add-link-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border:1px dashed var(--border);background:transparent;color:var(--muted);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.add-link-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft, rgba(59, 130, 246, .1))}.add-link-btn svg{width:14px;height:14px}.add-link-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease;isolation:isolate}.add-link-modal{width:480px;max-width:90vw;max-height:80vh;background:var(--card, #1e293b);background-color:var(--card, #1e293b);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 40px #0006,0 0 0 1px #ffffff0d;display:flex;flex-direction:column;animation:slideUp .2s ease;opacity:1}.add-link-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.add-link-modal-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer}.modal-close:hover{background:var(--surface-soft);color:var(--text)}.add-link-modal-body{flex:1;padding:20px;overflow-y:auto}.link-type-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.link-type-btn{padding:8px 12px;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.link-type-btn:hover{border-color:var(--accent);color:var(--accent)}.link-type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.link-search{position:relative;margin-bottom:12px}.link-search input{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;font-size:13px}.link-search input:focus{outline:none;border-color:var(--accent)}.link-search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px}.link-search-results{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;margin-bottom:16px}.link-search-item{padding:10px 12px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border)}.link-search-item:last-child{border-bottom:none}.link-search-item:hover{background:var(--bg-subtle)}.link-search-item.selected{background:var(--accent-soft, rgba(59, 130, 246, .15))}.link-search-item-name{font-size:13px;color:var(--text)}.link-search-empty,.link-search-hint,.link-search-loading{padding:20px;text-align:center;color:var(--muted);font-size:13px}.link-search-loading{color:var(--accent)}.link-relationship{margin-bottom:16px}.link-relationship label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px}.link-relationship select{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;font-size:13px}.add-link-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border)}.btn-cancel{padding:10px 16px;border:1px solid var(--border);background:transparent;color:var(--muted);border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}.btn-cancel:hover{background:var(--surface-soft);color:var(--text)}.btn-add{padding:10px 16px;border:none;background:var(--accent);color:#fff;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer}.btn-add:hover{background:var(--accent-hover)}.btn-add:disabled{opacity:.5;cursor:not-allowed}.pdf-annotation-overlay{position:fixed;inset:0;background:var(--overlay-bg, rgba(0, 0, 0, .9));z-index:50000;display:flex;align-items:center;justify-content:center;animation:pdfFadeIn .2s ease}@keyframes pdfFadeIn{0%{opacity:0}to{opacity:1}}.pdf-annotation-viewer{display:flex;flex-direction:column;width:96vw;height:96vh;max-width:none;max-height:96vh;background:var(--bg-2, #1a1a1a);overflow:hidden;border-radius:12px;box-shadow:var(--shadow, 0 25px 50px -12px rgba(0, 0, 0, .5))}@media (min-width: 1600px){.pdf-annotation-viewer{width:97vw;height:97vh;border-radius:8px}}@media (min-width: 2000px){.pdf-annotation-viewer{width:98vw;height:98vh}}.pdf-viewer-body{display:flex;flex:1;min-height:0;overflow:hidden}.pdf-sidebar{display:flex;flex-direction:column;width:180px;background:var(--bg-alt, #202020);border-right:1px solid var(--border, #333);transition:width .2s ease,opacity .2s ease;overflow:hidden;flex-shrink:0}@media (min-width: 1600px){.pdf-sidebar{width:200px}}@media (min-width: 2000px){.pdf-sidebar{width:220px}}.pdf-sidebar.closed{width:0;border-right:none}.pdf-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-3, #252525);border-bottom:1px solid var(--border, #333);font-size:13px;font-weight:500;color:var(--muted, #999)}.pdf-sidebar-count{background:var(--bg-3, #333);padding:2px 8px;border-radius:10px;font-size:11px;color:var(--text, #ccc)}.pdf-sidebar-pages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.pdf-sidebar-loading{display:flex;align-items:center;justify-content:center;padding:20px}.pdf-thumbnail{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:var(--bg-alt, #2a2a2a);border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease}.pdf-thumbnail:hover{background:var(--bg-3, #333);border-color:var(--border, #444)}.pdf-thumbnail.active{border-color:#3b82f6;background:#3b82f620}.pdf-thumbnail img{max-width:100%;height:auto;border-radius:2px;box-shadow:0 2px 4px #0000004d}.pdf-thumbnail-num{font-size:11px;color:var(--muted, #999)}.pdf-thumbnail.active .pdf-thumbnail-num{color:#3b82f6;font-weight:600}.pdf-sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border, #444);border-radius:4px;color:var(--muted, #999);cursor:pointer;transition:all .15s ease;margin-right:8px}.pdf-sidebar-toggle:hover{background:#ffffff1a;color:var(--text, #fff);border-color:var(--muted, #666)}.pdf-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-3, #252525);border-bottom:1px solid var(--border, #333);flex-shrink:0;min-height:48px;z-index:10}.pdf-viewer-title{display:flex;align-items:center;gap:12px}.pdf-filename{font-size:14px;font-weight:500;color:var(--text, #fff);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-unsaved-badge{font-size:11px;font-weight:600;padding:2px 8px;background:#f59e0b;color:#000;border-radius:10px;text-transform:uppercase}.pdf-viewer-actions{display:flex;align-items:center;gap:4px}.pdf-action-divider{width:1px;height:24px;background:#444;margin:0 8px}.pdf-zoom-label{font-size:12px;color:var(--muted, #999);min-width:48px;text-align:center}.pdf-viewer-header .sqr-btn,.pdf-viewer-header .sqr-btn.ghost{color:var(--text, #333);border-color:var(--border, #ddd);background:var(--bg-3, rgba(0, 0, 0, .05))}.pdf-viewer-header .sqr-btn svg,.pdf-viewer-header .sqr-btn.ghost svg{stroke:var(--text, #333);color:var(--text, #333)}.pdf-viewer-header .sqr-btn:hover:not(:disabled),.pdf-viewer-header .sqr-btn.ghost:hover:not(:disabled){color:var(--text, #000);background:var(--bg-alt, rgba(0, 0, 0, .08));border-color:var(--border, #ccc)}.pdf-viewer-header .sqr-btn:hover svg,.pdf-viewer-header .sqr-btn.ghost:hover svg{stroke:var(--text, #000);color:var(--text, #000)}.pdf-viewer-header .sqr-btn:disabled,.pdf-viewer-header .sqr-btn.ghost:disabled{opacity:.35}.pdf-viewer-header .sqr-btn.primary,.pdf-viewer-header button.sqr-btn:not(.ghost):not(.secondary){color:var(--text, #fff);background:#3b82f6;border-color:#3b82f6}.pdf-viewer-header .sqr-btn.primary svg{stroke:#fff}.pdf-viewer-header .sqr-btn.primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.pdf-annotation-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-alt, #2a2a2a);border-bottom:1px solid var(--border, #333);flex-shrink:0;overflow-x:auto;min-height:52px;z-index:10}.pdf-tool-group{display:flex;align-items:center;gap:2px;background:var(--bg-3, #333);border-radius:6px;padding:2px}.pdf-tool-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 10px;background:transparent;border:none;border-radius:4px;color:var(--text, #333);cursor:pointer;transition:all .15s ease;font-size:12px;white-space:nowrap}.pdf-tool-btn:hover{background:var(--bg-3, rgba(0, 0, 0, .1));color:var(--text, #333)}.pdf-tool-btn.active{background:#3b82f6;color:#fff}.pdf-tool-btn svg{width:18px;height:18px;flex-shrink:0}.pdf-tool-divider{width:1px;height:28px;background:var(--border, #ddd);margin:0 4px}.pdf-color-picker{display:flex;align-items:center;gap:4px}.pdf-color-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.pdf-color-btn:hover{transform:scale(1.1)}.pdf-color-btn.active{border-color:var(--text, #fff);box-shadow:0 0 0 2px #ffffff4d}.pdf-viewer-content{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:20px;background:var(--bg-2, #1a1a1a);min-height:0}.pdf-page-container{position:relative;box-shadow:0 4px 20px #00000080;transition:transform .2s ease;max-width:100%;transform-origin:top center}.pdf-canvas{display:block}.pdf-annotation-canvas{position:absolute;top:0;left:0;touch-action:none}.pdf-text-layer{position:absolute;inset:0;pointer-events:none}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted, #999)}.pdf-loading-spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#3b82f6;border-radius:50%;animation:pdfSpin .8s linear infinite}@keyframes pdfSpin{to{transform:rotate(360deg)}}.pdf-error{display:flex;align-items:center;justify-content:center;color:#ef4444;font-size:14px}.pdf-viewer-footer{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;background:var(--bg-3, #252525);border-top:1px solid var(--border, #333);flex-shrink:0}.pdf-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border, #444);border-radius:4px;color:var(--text, #ccc);cursor:pointer;transition:all .15s ease}.pdf-nav-btn:hover:not(:disabled){background:#ffffff1a;border-color:var(--muted, #666);color:var(--text, #fff)}.pdf-nav-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-nav-btn svg{width:18px;height:18px}.pdf-page-info{font-size:13px;color:var(--muted, #999);display:flex;align-items:center;gap:8px}.pdf-page-input{width:48px;padding:4px 8px;background:var(--bg-3, #333);border:1px solid var(--border, #444);border-radius:4px;color:var(--text, #fff);font-size:13px;text-align:center}.pdf-page-input:focus{outline:none;border-color:#3b82f6}@media (max-width: 768px){.pdf-annotation-viewer{width:100vw;height:100vh;max-width:100vw;max-height:100vh;border-radius:0}.pdf-sidebar{width:120px}.pdf-sidebar.closed{width:0}.pdf-sidebar-header{padding:8px 12px}.pdf-sidebar-pages{padding:8px;gap:6px}.pdf-thumbnail{padding:6px}.pdf-viewer-header{padding:8px 12px;flex-wrap:wrap;gap:8px}.pdf-viewer-title{order:1;flex:1}.pdf-viewer-actions{order:2;flex-wrap:wrap}.pdf-filename{max-width:150px;font-size:13px}.pdf-annotation-toolbar{padding:8px 12px;gap:6px}.pdf-tool-btn{min-width:40px;height:40px}.pdf-tool-btn span{display:none}.pdf-color-btn{width:28px;height:28px}.pdf-viewer-content{padding:10px}.pdf-action-divider{display:none}}@media (hover: none){.pdf-tool-btn:active{background:#fff3}.pdf-nav-btn:active:not(:disabled){background:#ffffff26}}@supports (padding-top: env(safe-area-inset-top)){.pdf-viewer-header{padding-top:calc(8px + env(safe-area-inset-top))}.pdf-viewer-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}.pdf-symbol-library{display:flex;flex-direction:column;width:220px;background:var(--bg-alt, #202020);border-left:1px solid #333;overflow:hidden;flex-shrink:0}@media (min-width: 1600px){.pdf-symbol-library{width:260px}}@media (min-width: 2000px){.pdf-symbol-library{width:300px}}.pdf-symbol-library-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-3, #252525);border-bottom:1px solid var(--border, #333);font-size:13px;font-weight:500;color:var(--text, #fff)}.pdf-symbol-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:var(--muted, #999);cursor:pointer;transition:all .15s ease}.pdf-symbol-close:hover{background:#ffffff1a;color:var(--text, #fff)}.pdf-symbol-categories{flex:1;overflow-y:auto;padding:12px}.pdf-symbol-category{margin-bottom:16px}.pdf-symbol-category-header{display:flex;align-items:center;padding:8px 12px;background:var(--bg-alt, #2a2a2a);border-radius:6px;border-left:3px solid;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--text, #ccc);text-transform:uppercase;letter-spacing:.5px}.pdf-symbol-items{display:flex;flex-direction:column;gap:4px}.pdf-symbol-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease;text-align:left;color:var(--text, #ccc)}.pdf-symbol-item:hover{background:var(--bg-alt, #2a2a2a);border-color:var(--border, #444)}.pdf-symbol-item.selected{background:#3b82f633;border-color:#3b82f6}.pdf-symbol-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text, #fff);flex-shrink:0;padding:4px}.pdf-symbol-icon svg{width:100%;height:100%}.pdf-symbol-label{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-symbol-selected{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-3, #252525);border-top:1px solid var(--border, #333);font-size:12px;color:var(--muted, #999)}.pdf-symbol-icon-small{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;color:var(--text, #fff);padding:3px}.pdf-symbol-icon-small svg{width:100%;height:100%}.pdf-symbol-summary{display:flex;align-items:center;gap:12px;margin-left:auto;padding:6px 12px 6px 16px;border:none;border-left:1px solid #444;background:transparent;cursor:pointer;border-radius:4px;transition:background .15s ease;font-family:inherit}.pdf-symbol-summary:hover{background:#ffffff14}.pdf-symbol-summary.active{background:#3b82f626;border-left-color:#3b82f6}.pdf-symbol-count-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text, #ccc)}.pdf-symbol-count-item.pdf-ai-pending{color:#f59e0b}.pdf-symbol-dot{width:10px;height:10px;border-radius:50%}.pdf-symbol-total{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted, #999);padding-left:8px;border-left:1px solid #444}.pdf-symbol-expand-icon{font-size:10px;opacity:.7;transition:transform .15s ease}.pdf-symbol-summary:hover .pdf-symbol-expand-icon{opacity:1}.pdf-symbol-summary.active .pdf-symbol-expand-icon{color:#3b82f6}@media (max-width: 768px){.pdf-symbol-library{width:180px}.pdf-symbol-category-header{padding:6px 10px;font-size:11px}.pdf-symbol-item{padding:6px 10px}.pdf-symbol-icon{width:24px;height:24px;font-size:14px}.pdf-symbol-label{font-size:11px}.pdf-symbol-summary{display:none}}.pdf-ai-btn{background:linear-gradient(135deg,#8b5cf6,#6366f1)!important;color:var(--text, #fff)!important;position:relative}.pdf-ai-btn:hover{background:linear-gradient(135deg,#7c3aed,#4f46e5)!important}.pdf-ai-btn.has-suggestions{animation:pdf-ai-pulse 2s infinite}@keyframes pdf-ai-pulse{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 6px #8b5cf600}}.pdf-ai-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:var(--text, #fff);font-size:10px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px}.pdf-ai-modal-overlay{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:pdfFadeIn .2s ease}.pdf-ai-modal{background:var(--bg-3, #252525);border-radius:16px;padding:32px;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 40px #00000080;border:1px solid var(--border, #333)}.pdf-ai-modal h3{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--text, #fff)}.pdf-ai-modal-icon{width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:50%;color:var(--text, #fff)}.pdf-ai-modal-icon svg{width:32px;height:32px}.pdf-ai-modal-icon.success{background:linear-gradient(135deg,#10b981,#059669);font-size:28px}.pdf-ai-modal-icon.error{background:linear-gradient(135deg,#ef4444,#dc2626);font-size:28px}.pdf-ai-modal-desc{color:var(--muted, #999);margin:0 0 8px;font-size:14px}.pdf-ai-modal-cost{color:#8b5cf6;margin:0 0 24px;font-size:13px;font-weight:500}.pdf-ai-modal-success{color:#10b981;margin:0 0 16px;font-size:14px}.pdf-ai-modal-success strong{font-size:24px;display:block;margin-bottom:4px}.pdf-ai-modal-error{color:#ef4444;margin:0 0 24px;font-size:14px}.pdf-ai-modal-summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:24px}.pdf-ai-modal-summary span{background:var(--bg-3, #333);padding:4px 10px;border-radius:12px;font-size:12px;color:var(--text, #ccc)}.pdf-ai-modal-actions{display:flex;gap:12px;justify-content:center}.pdf-ai-modal-actions .sqr-btn{min-width:120px}.pdf-ai-modal-info{background:#1e1e1e;border-radius:8px;padding:12px 16px;margin:16px 0;text-align:left}.pdf-ai-info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.pdf-ai-info-row:not(:last-child){border-bottom:1px solid var(--border, #333)}.pdf-ai-info-label{color:var(--muted, #888);font-size:13px}.pdf-ai-info-value{color:var(--text, #fff);font-size:13px;font-weight:500;display:flex;align-items:center;gap:8px}.pdf-ai-byok-badge{background:#10b981;color:var(--text, #fff);font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600}.pdf-ai-modal-usage{background:#1e1e1e;border-radius:8px;padding:12px 16px;margin:16px 0;text-align:left}.pdf-ai-usage-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border, #333)}.pdf-ai-usage-header span:first-child{color:var(--muted, #888);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.pdf-ai-usage-total{color:#8b5cf6;font-size:16px;font-weight:600}.pdf-ai-usage-breakdown{display:flex;flex-direction:column;gap:6px}.pdf-ai-usage-row{display:flex;justify-content:space-between;align-items:center}.pdf-ai-usage-feature{color:var(--text, #ccc);font-size:13px;text-transform:capitalize}.pdf-ai-usage-count{color:var(--muted, #888);font-size:12px}.pdf-ai-usage-empty{color:var(--muted, #666);font-size:13px;font-style:italic;margin:0;text-align:center;padding:8px 0}.pdf-ai-modal-categories{background:#1e1e1e;border-radius:8px;padding:12px 16px;margin:16px 0;text-align:left}.pdf-ai-categories-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pdf-ai-categories-header span{color:var(--muted, #888);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.pdf-ai-select-all{background:transparent;border:1px solid var(--border, #444);color:var(--muted, #888);font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .15s ease}.pdf-ai-select-all:hover{background:var(--bg-3, #333);color:var(--text, #fff);border-color:var(--border, #555)}.pdf-ai-categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pdf-ai-category-chip{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-3, #252525);border:2px solid #333;border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:13px;color:var(--text, #ccc)}.pdf-ai-category-chip:hover{background:var(--bg-alt, #2a2a2a);border-color:var(--border, #444)}.pdf-ai-category-chip.selected{background:color-mix(in srgb,var(--chip-color) 15%,#1e1e1e);border-color:var(--chip-color);color:var(--text, #fff)}.pdf-ai-category-chip input[type=checkbox]{display:none}.pdf-ai-chip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;opacity:.5;transition:opacity .15s ease}.pdf-ai-category-chip.selected .pdf-ai-chip-dot{opacity:1}.pdf-ai-categories-hint{margin:10px 0 0;font-size:11px;color:var(--muted, #666);text-align:center}.pdf-ai-disclaimer{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:8px;margin:16px 0;font-size:12px;color:#fbbf24;line-height:1.5;text-align:left}.pdf-ai-disclaimer-icon{flex-shrink:0;font-size:14px}.pdf-ai-disclaimer strong{color:#fcd34d}.pdf-ai-spinner{width:48px;height:48px;border:3px solid #333;border-top-color:#8b5cf6;border-radius:50%;margin:0 auto 16px;animation:pdfSpin .8s linear infinite}.pdf-ai-progress-text{color:var(--muted, #999);margin:0 0 16px;font-size:14px}.pdf-ai-progress-bar{width:100%;height:8px;background:var(--bg-3, #333);border-radius:4px;overflow:hidden}.pdf-ai-progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#6366f1);border-radius:4px;transition:width .3s ease}.pdf-ai-results-panel{display:flex;flex-direction:column;width:240px;background:var(--bg-alt, #202020);border-left:1px solid #333;overflow:hidden;flex-shrink:0}.pdf-ai-results-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#8b5cf620,#6366f120);border-bottom:1px solid var(--border, #333)}.pdf-ai-results-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text, #fff)}.pdf-ai-results-title svg{width:16px;height:16px;color:#8b5cf6}.pdf-ai-results-actions{display:flex;gap:4px}.pdf-ai-copy-btn,.pdf-ai-export-btn,.pdf-ai-clear-all{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border, #444);border-radius:4px;color:var(--text, #ccc);cursor:pointer;transition:all .15s ease}.pdf-ai-copy-btn:hover{background:#3b82f6;border-color:#3b82f6;color:var(--text, #fff)}.pdf-ai-export-btn:hover{background:#10b981;border-color:#10b981;color:var(--text, #fff)}.pdf-ai-clear-all:hover{background:#ef4444;border-color:#ef4444;color:var(--text, #fff)}.pdf-ai-copy-btn svg,.pdf-ai-export-btn svg,.pdf-ai-clear-all svg{width:14px;height:14px}.pdf-ai-results-summary{padding:16px;border-bottom:1px solid var(--border, #333)}.pdf-ai-total-count{font-size:14px;color:var(--text, #ccc);margin-bottom:16px;text-align:center;padding:16px;background:linear-gradient(135deg,#8b5cf620,#6366f120);border-radius:8px}.pdf-ai-total-count strong{font-size:36px;color:#8b5cf6;display:block;margin-bottom:4px;font-weight:700}.pdf-ai-total-count span{font-size:12px;color:var(--muted, #999);text-transform:uppercase;letter-spacing:1px}.pdf-ai-category{margin-bottom:12px}.pdf-ai-category-header{font-size:11px;font-weight:600;color:var(--muted, #999);text-transform:uppercase;letter-spacing:.5px;padding:6px 8px;background:var(--bg-alt, #2a2a2a);border-left:3px solid;border-radius:4px;margin-bottom:6px}.pdf-ai-type-counts{display:flex;flex-direction:column;gap:8px}.pdf-ai-type-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted, #999)}.pdf-ai-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pdf-ai-type-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdf-ai-type-count{font-weight:600;color:var(--text, #ccc)}.pdf-ai-page-list{flex:1;overflow-y:auto;padding:12px}.pdf-ai-page-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-alt, #2a2a2a);border-radius:6px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.pdf-ai-page-row:hover{background:var(--bg-3, #333)}.pdf-ai-page-row.active{background:#8b5cf633;border:1px solid #8b5cf6}.pdf-ai-page-num{font-size:12px;color:var(--text, #ccc);font-weight:500}.pdf-ai-page-count{flex:1;font-size:11px;color:var(--muted, #999);text-align:right}.pdf-ai-accept-page{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#10b981;border:none;border-radius:4px;color:var(--text, #fff);cursor:pointer;transition:all .15s ease}.pdf-ai-accept-page:hover{background:#059669}.pdf-ai-accept-page svg{width:14px;height:14px}.pdf-ai-page-breakdown{padding:12px;border-bottom:1px solid var(--border, #333)}.pdf-ai-breakdown-header{font-size:11px;font-weight:600;color:var(--muted, #999);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.pdf-ai-panel-actions{padding:12px}.pdf-ai-accept-all-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:6px;color:var(--text, #fff);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.pdf-ai-accept-all-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.pdf-ai-accept-all-btn svg{width:16px;height:16px}.pdf-ai-help{display:flex;flex-direction:column;gap:4px;padding:12px 16px;background:var(--bg-3, #252525);border-top:1px solid var(--border, #333);font-size:11px;color:var(--muted, #666)}@media (max-width: 768px){.pdf-ai-results-panel{width:200px}.pdf-ai-modal{padding:24px}.pdf-ai-modal h3{font-size:18px}.pdf-ai-accept-all span{display:none}}.pdf-takeoff-panel{display:flex;flex-direction:column;width:280px;background:var(--bg-2, #1a1a1a);border-left:1px solid #333;overflow:hidden;flex-shrink:0}@media (min-width: 1600px){.pdf-takeoff-panel{width:320px}}@media (min-width: 2000px){.pdf-takeoff-panel{width:360px}}.pdf-takeoff-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:linear-gradient(135deg,#3b82f610,#10b98110);border-bottom:1px solid var(--border, #333)}.pdf-takeoff-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text, #fff)}.pdf-takeoff-title svg{width:16px;height:16px;color:#3b82f6}.pdf-takeoff-actions{display:flex;gap:4px}.pdf-takeoff-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:1px solid var(--border, #444);border-radius:4px;color:var(--muted, #888);cursor:pointer;transition:all .15s ease}.pdf-takeoff-btn:hover{background:#3b82f6;border-color:#3b82f6;color:var(--text, #fff)}.pdf-takeoff-btn svg{width:14px;height:14px}.pdf-takeoff-summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-alt, #202020);border-bottom:1px solid var(--border, #333)}.pdf-takeoff-total{display:flex;align-items:baseline;gap:6px}.pdf-takeoff-total strong{font-size:24px;color:#3b82f6}.pdf-takeoff-total span{font-size:12px;color:var(--muted, #888)}.pdf-takeoff-pending-badge{font-size:11px;font-weight:500;padding:3px 8px;background:#fbbf2433;color:#fbbf24;border-radius:10px}.pdf-takeoff-categories{flex:1;overflow-y:auto;padding:8px 0}.pdf-takeoff-category{margin-bottom:2px}.pdf-takeoff-category-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;background:transparent;border:none;border-left:3px solid var(--cat-color, #666);color:var(--text, #fff);cursor:pointer;transition:all .15s ease;text-align:left;font-size:13px}.pdf-takeoff-category-header:hover{background:#ffffff0d}.pdf-takeoff-chevron{font-size:10px;color:var(--muted, #666);width:12px}.pdf-takeoff-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pdf-takeoff-cat-label{flex:1;font-weight:500}.pdf-takeoff-cat-count{font-size:12px;font-weight:600;color:var(--muted, #888);padding:2px 6px;background:var(--bg-3, #333);border-radius:10px}.pdf-takeoff-items{padding-left:12px}.pdf-takeoff-type{margin-bottom:1px}.pdf-takeoff-type-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:transparent;border:none;color:var(--text, #ccc);cursor:pointer;transition:all .15s ease;text-align:left;font-size:12px}.pdf-takeoff-type-header:hover{background:#ffffff08}.pdf-takeoff-type-chevron{font-size:9px;color:#555;width:10px}.pdf-takeoff-type-code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:10px;font-weight:600;padding:2px 5px;background:var(--bg-3, #333);border-radius:3px;color:#10b981}.pdf-takeoff-type-label{flex:1;color:#bbb}.pdf-takeoff-type-count{font-size:11px;font-weight:500;color:var(--muted, #666)}.pdf-takeoff-devices{padding-left:24px;padding-bottom:4px}.pdf-takeoff-device{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;margin:2px 0;background:var(--bg-3, #252525);border:1px solid transparent;border-radius:4px;color:var(--muted, #999);cursor:pointer;transition:all .15s ease;text-align:left;font-size:11px}.pdf-takeoff-device:hover{background:#2d2d2d;border-color:var(--border, #444);color:var(--text, #fff)}.pdf-takeoff-device.current-page{background:#3b82f626;border-color:#3b82f64d;color:var(--text, #fff)}.pdf-takeoff-device.ai-suggestion{background:#fbbf241a;border-color:#fbbf2433}.pdf-takeoff-device-code{font-family:SF Mono,Monaco,Consolas,monospace;font-weight:600;color:#3b82f6}.pdf-takeoff-device-page{font-size:10px;color:var(--muted, #666)}.pdf-takeoff-device-ai{font-size:9px;font-weight:600;padding:1px 4px;background:#fbbf244d;color:#fbbf24;border-radius:3px}.pdf-takeoff-device-nav{margin-left:auto;color:#555;font-size:12px}.pdf-takeoff-device:hover .pdf-takeoff-device-nav{color:#3b82f6}.pdf-takeoff-ai-actions{display:flex;gap:8px;padding:12px 14px;background:var(--bg-alt, #202020);border-top:1px solid var(--border, #333)}.pdf-takeoff-accept-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:10px 14px;background:#10b981;border:none;border-radius:6px;color:var(--text, #fff);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.pdf-takeoff-accept-btn:hover{background:#059669}.pdf-takeoff-accept-btn svg{width:14px;height:14px}.pdf-takeoff-clear-btn{display:flex;align-items:center;justify-content:center;width:38px;padding:0;background:transparent;border:1px solid var(--border, #444);border-radius:6px;color:var(--muted, #888);cursor:pointer;transition:all .15s ease}.pdf-takeoff-clear-btn:hover{background:#ef4444;border-color:#ef4444;color:var(--text, #fff)}.pdf-takeoff-clear-btn svg{width:14px;height:14px}.pdf-takeoff-help{padding:10px 14px;text-align:center;font-size:11px;color:#555;border-top:1px solid #2a2a2a}@media (max-width: 768px){.pdf-takeoff-panel{width:220px}.pdf-takeoff-accept-btn span{display:none}}.pdf-review-popover{position:fixed;bottom:80px;right:24px;width:320px;background:#1e1e1e;border:1px solid var(--border, #333);border-radius:12px;box-shadow:0 12px 40px #00000080;z-index:1000;overflow:hidden;animation:reviewSlideIn .2s ease}@keyframes reviewSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pdf-review-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#8b5cf620,#6366f120);border-bottom:1px solid var(--border, #333)}.pdf-review-progress{font-size:13px;font-weight:600;color:#8b5cf6}.pdf-review-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid var(--border, #444);border-radius:6px;color:var(--muted, #888);cursor:pointer;transition:all .15s ease}.pdf-review-close:hover{background:var(--bg-3, #333);color:var(--text, #fff);border-color:var(--border, #555)}.pdf-review-device{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border, #333)}.pdf-review-device-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text, #fff);flex-shrink:0}.pdf-review-device-icon svg{width:28px;height:28px}.pdf-review-device-info{flex:1;min-width:0}.pdf-review-device-name{font-size:15px;font-weight:600;color:var(--text, #fff);margin-bottom:2px}.pdf-review-device-category{font-size:12px;color:var(--muted, #888)}.pdf-review-confidence{font-size:14px;font-weight:600;color:#10b981;background:#10b98126;padding:4px 10px;border-radius:12px}.pdf-review-actions-row{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border, #333)}.pdf-review-edit-btn,.pdf-review-move-btn{flex:1;padding:8px 12px;background:var(--bg-alt, #2a2a2a);border:1px solid var(--border, #444);border-radius:6px;color:var(--text, #ccc);font-size:12px;cursor:pointer;transition:all .15s ease}.pdf-review-edit-btn:hover,.pdf-review-move-btn:hover{background:var(--bg-3, #333);color:var(--text, #fff);border-color:var(--border, #555)}.pdf-review-move-btn{cursor:move}.pdf-review-main-actions{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--border, #333)}.pdf-review-reject-btn,.pdf-review-skip-btn,.pdf-review-accept-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.pdf-review-reject-btn{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.pdf-review-reject-btn:hover{background:#ef4444;color:var(--text, #fff)}.pdf-review-skip-btn{background:var(--bg-alt, #2a2a2a);color:var(--muted, #888);border:1px solid var(--border, #444)}.pdf-review-skip-btn:hover{background:var(--bg-3, #333);color:var(--text, #fff)}.pdf-review-accept-btn{background:linear-gradient(135deg,#10b981,#059669);color:var(--text, #fff);flex:1.5}.pdf-review-accept-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.pdf-review-accept-btn svg,.pdf-review-reject-btn svg{width:16px;height:16px}.pdf-review-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border, #333)}.pdf-review-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--border, #444);border-radius:6px;color:var(--muted, #888);cursor:pointer;transition:all .15s ease}.pdf-review-nav-btn:hover:not(:disabled){background:var(--bg-3, #333);color:var(--text, #fff);border-color:var(--border, #555)}.pdf-review-nav-btn:disabled{opacity:.3;cursor:not-allowed}.pdf-review-page-info{font-size:12px;color:var(--muted, #888)}.pdf-review-shortcuts{display:flex;justify-content:center;gap:16px;padding:10px 16px;background:var(--bg-2, #1a1a1a);font-size:11px;color:var(--muted, #666)}.pdf-review-shortcuts kbd{display:inline-block;padding:2px 6px;background:var(--bg-3, #333);border:1px solid var(--border, #444);border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:10px;color:#aaa;margin-right:4px}.pdf-review-type-dropdown{max-height:300px;overflow-y:auto;border-bottom:1px solid var(--border, #333)}.pdf-review-type-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-3, #252525);border-bottom:1px solid var(--border, #333);font-size:12px;color:var(--muted, #888);position:sticky;top:0}.pdf-review-type-header button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;color:var(--muted, #666);cursor:pointer}.pdf-review-type-header button:hover{color:var(--text, #fff)}.pdf-review-type-list{padding:8px}.pdf-review-type-category{margin-bottom:8px}.pdf-review-type-cat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;margin-bottom:4px}.pdf-review-type-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text, #ccc);font-size:12px;text-align:left;cursor:pointer;transition:all .15s ease}.pdf-review-type-item:hover{background:var(--bg-alt, #2a2a2a);border-color:var(--border, #444)}.pdf-review-type-item.selected{background:#8b5cf626;border-color:#8b5cf6;color:var(--text, #fff)}.pdf-review-type-item svg{width:18px;height:18px}@media (min-width: 1600px){.pdf-review-popover{width:360px;bottom:100px;right:32px}}@media (min-width: 2000px){.pdf-review-popover{width:400px}}.pdf-annotation-viewer.pdf-dragging-mode,.pdf-annotation-viewer.pdf-dragging-mode *{cursor:move!important}.pdf-annotation-viewer.pdf-dragging-mode .pdf-review-popover{pointer-events:none;opacity:.7}.pdf-annotation-viewer.pdf-dragging-mode .pdf-canvas-container{cursor:move!important}.pdf-review-move-btn:active,.pdf-dragging-mode .pdf-review-move-btn{background:#4a4a4a;color:var(--text, #fff);border-color:var(--muted, #666)}.pdf-context-menu{position:fixed;z-index:60000;background:var(--bg-alt, #2a2a2a);border:1px solid var(--border, #444);border-radius:8px;box-shadow:0 10px 25px #00000080;padding:4px 0;min-width:140px;animation:pdfFadeIn .1s ease}.pdf-context-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:none;border:none;color:var(--text, #e0e0e0);font-size:14px;text-align:left;cursor:pointer;transition:background .15s}.pdf-context-menu button:hover{background:var(--bg-3, #3a3a3a)}.pdf-context-menu button.danger{color:#ef4444}.pdf-context-menu button.danger:hover{background:#ef444426}.pdf-context-menu button svg{width:16px;height:16px;flex-shrink:0}.pdf-note-modal-overlay{position:fixed;inset:0;background:#000000b3;z-index:60001;display:flex;align-items:center;justify-content:center;animation:pdfFadeIn .15s ease}.pdf-note-modal{background:var(--bg-alt, #2a2a2a);border:1px solid var(--border, #444);border-radius:12px;padding:24px;width:90%;max-width:400px;box-shadow:0 20px 40px #00000080}.pdf-note-modal h3{margin:0 0 16px;color:var(--text, #fff);font-size:18px;font-weight:600}.pdf-note-modal textarea{width:100%;min-height:100px;padding:12px;background:var(--bg-2, #1a1a1a);border:1px solid var(--border, #444);border-radius:8px;color:var(--text, #e0e0e0);font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .15s}.pdf-note-modal textarea:focus{border-color:#3b82f6}.pdf-note-modal textarea::placeholder{color:var(--muted, #666)}.pdf-note-modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}.pdf-cable-panel{position:absolute;right:16px;top:70px;width:280px;max-height:calc(100vh - 160px);overflow-y:auto;background:var(--bg-alt, #2a2a2a);border:1px solid var(--border, #3a3a3a);border-radius:12px;box-shadow:0 10px 30px #0006;z-index:100;animation:pdfFadeIn .15s ease}.pdf-cable-panel-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border, #3a3a3a);font-weight:600;color:var(--text, #fff)}.pdf-cable-status{padding:12px 16px;background:linear-gradient(135deg,#22c55e26,#22c55e0d);border-bottom:1px solid var(--border, #3a3a3a)}.pdf-cable-from{display:block;font-size:14px;font-weight:600;color:#22c55e;margin-bottom:4px}.pdf-cable-hint{display:block;font-size:12px;color:var(--muted, #999)}.pdf-cable-section{padding:12px 16px;border-bottom:1px solid var(--border, #3a3a3a)}.pdf-cable-section:last-child{border-bottom:none}.pdf-cable-section label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted, #888);margin-bottom:10px}.pdf-cable-types{display:flex;flex-direction:column;gap:6px}.pdf-cable-type-btn{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:var(--bg-3, #333);border:1px solid var(--border, #444);border-radius:8px;color:var(--text, #e0e0e0);text-align:left;cursor:pointer;transition:all .15s}.pdf-cable-type-btn:hover{background:var(--bg-3, #3a3a3a);border-color:var(--border, #555)}.pdf-cable-type-btn.selected{background:#3b82f633;border-color:#3b82f6}.pdf-cable-type-label{font-size:13px;font-weight:500;color:var(--text, #fff)}.pdf-cable-type-desc{font-size:11px;color:var(--muted, #888);margin-top:2px}.pdf-cable-colors{display:flex;gap:8px}.pdf-cable-color-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s}.pdf-cable-color-btn:hover{transform:scale(1.1)}.pdf-cable-color-btn.selected{border-color:var(--text, #fff);box-shadow:0 0 0 2px #3b82f6}.pdf-cable-schedule{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto}.pdf-cable-item{display:flex;flex-direction:column;padding:10px 12px;background:var(--bg-3, #333);border-radius:8px;position:relative}.pdf-cable-route{font-size:13px;font-weight:500;color:var(--text, #fff)}.pdf-cable-info{font-size:11px;color:var(--muted, #888);margin-top:2px}.pdf-cable-delete{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;background:transparent;border:none;color:var(--muted, #666);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pdf-cable-delete:hover{background:#dc2626;color:var(--text, #fff)}.pdf-cable-help{padding:12px 16px;background:var(--bg-alt, #222)}.pdf-cable-help p{font-size:12px;color:var(--muted, #666);margin:4px 0}.pdf-tool-btn.connecting{background:#22c55e33;border-color:#22c55e;color:#22c55e}.pdf-tool-btn.connecting:after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pdfPulse 1s infinite}@keyframes pdfPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.pdf-takeoff-connections{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:#6b728026;border-radius:8px}.pdf-takeoff-connections strong{font-size:20px;color:#6b7280}.pdf-takeoff-connections span{font-size:11px;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.5px}.iav-overlay{position:fixed;inset:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center}.iav-viewer{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg, #1a1a1a);color:var(--text, #e5e5e5)}.iav-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-alt, #2a2a2a);border-bottom:1px solid var(--border, #333);flex-shrink:0;gap:16px}.iav-title{display:flex;align-items:center;gap:12px;min-width:0}.iav-filename{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.iav-unsaved-badge{background:var(--warning, #f59e0b);color:#000;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.iav-header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.iav-action-divider{width:1px;height:24px;background:var(--border, #444);margin:0 8px}.iav-zoom-label{font-size:12px;color:var(--text-muted, #999);min-width:40px;text-align:center}.iav-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-alt, #2a2a2a);border-bottom:1px solid var(--border, #333);flex-shrink:0;overflow-x:auto;min-height:52px}.iav-tool-group{display:flex;align-items:center;gap:2px;background:var(--bg-3, #333);border-radius:6px;padding:2px}.iav-tool-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;padding:0 10px;background:transparent;border:none;border-radius:4px;color:var(--text, #e5e5e5);cursor:pointer;transition:all .15s ease;font-size:12px;white-space:nowrap}.iav-tool-btn:hover{background:#ffffff1a}.iav-tool-btn.active{background:var(--primary, #3b82f6);color:#fff}.iav-tool-btn svg{flex-shrink:0}.iav-tool-divider{width:1px;height:28px;background:var(--border, #444);margin:0 4px}.iav-color-picker{display:flex;align-items:center;gap:4px}.iav-color-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s ease}.iav-color-btn:hover{transform:scale(1.15)}.iav-color-btn.active{border-color:#fff;box-shadow:0 0 0 2px var(--primary, #3b82f6)}.iav-body{display:flex;flex:1;min-height:0;overflow:hidden}.iav-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px;background:var(--bg, #1a1a1a)}.iav-canvas-wrapper{position:relative;box-shadow:0 4px 20px #00000080}.iav-canvas{display:block}.iav-annotation-canvas{position:absolute;top:0;left:0}.iav-loading,.iav-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted, #999)}.iav-loading-spinner{width:32px;height:32px;border:3px solid var(--border, #333);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:iav-spin 1s linear infinite}@keyframes iav-spin{to{transform:rotate(360deg)}}.iav-error{color:var(--danger, #ef4444)}.iav-symbol-library{width:280px;background:var(--bg-alt, #2a2a2a);border-left:1px solid var(--border, #333);display:flex;flex-direction:column;flex-shrink:0}.iav-symbol-library-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #333);font-weight:600;font-size:14px}.iav-symbol-close{background:none;border:none;color:var(--text-muted, #999);cursor:pointer;padding:4px;display:flex;border-radius:4px}.iav-symbol-close:hover{background:#ffffff1a;color:var(--text, #e5e5e5)}.iav-symbol-categories{flex:1;overflow-y:auto;padding:8px}.iav-symbol-category{margin-bottom:8px}.iav-symbol-category-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #888);padding:8px 12px;border-left:3px solid;background:#ffffff08;border-radius:4px;margin-bottom:4px}.iav-symbol-items{display:flex;flex-direction:column;gap:2px}.iav-symbol-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text, #e5e5e5);text-align:left;transition:all .15s ease}.iav-symbol-item:hover{background:#ffffff14}.iav-symbol-item.selected{background:var(--primary, #3b82f6);color:#fff}.iav-symbol-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.iav-symbol-icon svg{width:16px;height:16px}.iav-symbol-label{font-size:13px;flex:1}.iav-symbol-selected{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#3b82f626;border-top:1px solid var(--border, #333);font-size:13px}.iav-symbol-icon-small{width:16px;height:16px;border-radius:50%}.iav-takeoff-panel{width:260px;background:var(--bg-alt, #2a2a2a);border-left:1px solid var(--border, #333);display:flex;flex-direction:column;flex-shrink:0}.iav-takeoff-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #333)}.iav-takeoff-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.iav-takeoff-title svg{color:var(--text-muted, #888)}.iav-takeoff-actions{display:flex;align-items:center;gap:4px}.iav-takeoff-btn{background:none;border:none;color:var(--text-muted, #888);cursor:pointer;padding:6px;border-radius:4px;display:flex}.iav-takeoff-btn:hover{background:#ffffff1a;color:var(--text, #e5e5e5)}.iav-takeoff-summary{padding:16px;border-bottom:1px solid var(--border, #333)}.iav-takeoff-total{display:flex;flex-direction:column;align-items:center;gap:4px}.iav-takeoff-total strong{font-size:32px;font-weight:700;color:var(--primary, #3b82f6)}.iav-takeoff-total span{font-size:12px;color:var(--text-muted, #888)}.iav-takeoff-categories{flex:1;overflow-y:auto;padding:8px}.iav-takeoff-category{margin-bottom:4px}.iav-takeoff-category-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:#ffffff08;border:none;border-radius:6px;cursor:pointer;color:var(--text, #e5e5e5);font-size:13px;text-align:left}.iav-takeoff-category-header:hover{background:#ffffff0f}.iav-takeoff-chevron{font-size:10px;color:var(--text-muted, #888);width:12px}.iav-takeoff-cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.iav-takeoff-cat-label{flex:1;font-weight:500}.iav-takeoff-cat-count{font-weight:700;color:var(--primary, #3b82f6);background:#3b82f626;padding:2px 8px;border-radius:10px;font-size:12px}.iav-takeoff-items{padding:4px 0 4px 20px}.iav-takeoff-type{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:var(--text-muted, #999)}.iav-takeoff-type-code{font-family:monospace;font-weight:600;color:var(--text, #e5e5e5);min-width:50px}.iav-takeoff-type-label{flex:1}.iav-takeoff-type-count{font-weight:600;color:var(--text, #e5e5e5)}@media (max-width: 768px){.iav-toolbar{padding:8px 12px;gap:6px}.iav-tool-btn{min-width:40px;height:40px}.iav-tool-btn span{display:none}.iav-color-btn{width:28px;height:28px}.iav-symbol-library,.iav-takeoff-panel{position:absolute;right:0;top:0;bottom:0;z-index:10;box-shadow:-4px 0 20px #0000004d}.iav-filename{max-width:150px}.iav-action-divider{display:none}}@media (hover: none){.iav-tool-btn:active{background:#fff3}}@supports (padding-top: env(safe-area-inset-top)){.iav-header{padding-top:calc(12px + env(safe-area-inset-top))}.iav-body{padding-bottom:env(safe-area-inset-bottom)}}.image-lightbox-overlay{position:fixed;inset:0;background:#000000d9;z-index:20000;display:flex;align-items:center;justify-content:center;padding:16px;animation:lightboxFadeIn .2s ease-out}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.image-lightbox-container{background:var(--card-bg, #fff);border-radius:12px;width:100%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;animation:lightboxSlideUp .3s ease-out;overflow:hidden}@keyframes lightboxSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.image-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border, #e5e7eb);background:var(--card-bg, #fff);flex-shrink:0}.image-lightbox-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.image-lightbox-filename{font-size:16px;font-weight:600;color:var(--text, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-lightbox-counter{font-size:13px;color:var(--muted, #6b7280);background:var(--bg-alt, #f3f4f6);padding:2px 10px;border-radius:12px;white-space:nowrap}.image-lightbox-controls{display:flex;align-items:center;gap:4px}.image-lightbox-controls .sqr-btn{color:#374151;border-color:#d1d5db}.image-lightbox-controls .sqr-btn:hover{color:#111827;background:#f3f4f6}.image-lightbox-controls .sqr-btn svg{color:inherit}.image-lightbox-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--muted, #6b7280);cursor:pointer;transition:all .15s ease}.image-lightbox-btn:hover:not(:disabled){background:var(--bg-alt, #f3f4f6);color:var(--text, #1f2937)}.image-lightbox-btn:disabled{opacity:.3;cursor:not-allowed}.image-lightbox-btn.close-btn:hover{background:#fee2e2;color:#dc2626}.image-lightbox-zoom-label{font-size:13px;color:var(--muted, #6b7280);min-width:48px;text-align:center}.image-lightbox-content{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#525659}.image-lightbox-image-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;padding:24px}.image-lightbox-image{max-width:100%;max-height:100%;object-fit:contain;user-select:none;border-radius:4px;box-shadow:0 4px 12px #0000004d;transition:transform .2s ease;transform-origin:center center}.image-lightbox-pdf{width:100%;height:100%;border:none;background:#fff}.image-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0009;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10}.image-lightbox-nav:hover:not(:disabled){background:#000c;border-color:#ffffff4d;transform:translateY(-50%) scale(1.1)}.image-lightbox-nav:disabled{opacity:.3;cursor:not-allowed}.image-lightbox-nav-prev{left:16px}.image-lightbox-nav-next{right:16px}.image-lightbox-footer{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px 16px;border-top:1px solid var(--border, #e5e7eb);background:var(--card-bg, #fff);color:var(--muted, #6b7280);font-size:13px;flex-shrink:0}@media (max-width: 768px){.image-lightbox-overlay{padding:0}.image-lightbox-container{border-radius:0;height:100vh;max-height:none}.image-lightbox-header{padding:12px}.image-lightbox-filename{font-size:14px;max-width:150px}.image-lightbox-counter{display:none}.image-lightbox-btn{width:32px;height:32px}.image-lightbox-zoom-label{display:none}.image-lightbox-nav{width:40px;height:40px}.image-lightbox-nav-prev{left:8px}.image-lightbox-nav-next{right:8px}.image-lightbox-footer{flex-direction:column;gap:8px;font-size:12px;padding:8px 12px}.image-lightbox-image-wrapper{padding:16px}}[data-theme=dark] .image-lightbox-container,.dark .image-lightbox-container{background:var(--card-bg, #1f2937)}[data-theme=dark] .image-lightbox-header,.dark .image-lightbox-header{background:var(--card-bg, #1f2937);border-color:var(--border, #374151)}[data-theme=dark] .image-lightbox-filename,.dark .image-lightbox-filename{color:var(--text, #f9fafb)}[data-theme=dark] .image-lightbox-counter,.dark .image-lightbox-counter{background:var(--bg-alt, #374151);color:var(--muted, #9ca3af)}[data-theme=dark] .image-lightbox-btn,.dark .image-lightbox-btn{color:var(--muted, #9ca3af)}[data-theme=dark] .image-lightbox-btn:hover:not(:disabled),.dark .image-lightbox-btn:hover:not(:disabled){background:var(--bg-alt, #374151);color:var(--text, #f9fafb)}[data-theme=dark] .image-lightbox-btn.close-btn:hover,.dark .image-lightbox-btn.close-btn:hover{background:#7f1d1d;color:#fca5a5}[data-theme=dark] .image-lightbox-footer,.dark .image-lightbox-footer{background:var(--card-bg, #1f2937);border-color:var(--border, #374151);color:var(--muted, #9ca3af)}[data-theme=dark] .image-lightbox-controls .sqr-btn,[data-theme=sentrac] .image-lightbox-controls .sqr-btn,[data-theme=glass] .image-lightbox-controls .sqr-btn,[data-theme=gamer] .image-lightbox-controls .sqr-btn,[data-theme=retro] .image-lightbox-controls .sqr-btn,[data-theme=christmas] .image-lightbox-controls .sqr-btn{color:#e5e7eb;border-color:#4b5563}[data-theme=dark] .image-lightbox-controls .sqr-btn:hover,[data-theme=sentrac] .image-lightbox-controls .sqr-btn:hover,[data-theme=glass] .image-lightbox-controls .sqr-btn:hover,[data-theme=gamer] .image-lightbox-controls .sqr-btn:hover,[data-theme=retro] .image-lightbox-controls .sqr-btn:hover,[data-theme=christmas] .image-lightbox-controls .sqr-btn:hover{color:#f9fafb;background:#374151}@media (max-width: 768px){.image-lightbox-overlay{top:env(safe-area-inset-top,0);left:env(safe-area-inset-left,0);right:env(safe-area-inset-right,0);bottom:env(safe-area-inset-bottom,0);padding:8px}.image-lightbox-container{height:calc(100% - 16px);max-height:none;border-radius:8px}.image-lightbox-header{padding:10px 12px}.image-lightbox-filename{font-size:14px}.image-lightbox-nav{width:40px;height:40px}.image-lightbox-nav-prev{left:8px}.image-lightbox-nav-next{right:8px}}.capacitor-app .image-lightbox-overlay,.mobile-app .image-lightbox-overlay{position:absolute;inset:0}.mobile-work-item-page .image-lightbox-overlay{position:absolute}.files-loading,.files-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:13px}.files-empty-hint{margin-top:8px;font-size:12px;opacity:.7}.files-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;margin-bottom:12px;border:2px dashed var(--border);border-radius:10px;background:var(--bg-subtle);cursor:pointer;transition:all .2s ease}.files-dropzone:hover{border-color:var(--accent);background:var(--accent-soft, rgba(59, 130, 246, .05))}.files-dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft, rgba(59, 130, 246, .1));transform:scale(1.02)}.files-dropzone.uploading{pointer-events:none;opacity:.7}.dropzone-icon{display:flex;align-items:center;justify-content:center;color:var(--muted)}.dropzone-icon svg{width:24px;height:24px}.dropzone-text{font-size:12px;color:var(--muted)}.dropzone-input{display:none}.dropzone-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.file-item{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;transition:all .15s ease}.file-item:hover{background:var(--surface-soft);border-color:var(--border-hover, var(--border))}.file-item.previewable{cursor:pointer}.file-item.previewable:hover{border-color:var(--accent);background:var(--accent-soft, rgba(59, 130, 246, .05))}.file-item.previewable .file-thumbnail{transition:transform .15s ease}.file-item.previewable:hover .file-thumbnail{transform:scale(1.05)}.file-thumbnail{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.file-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--surface-soft);border-radius:6px;color:var(--muted);flex-shrink:0;font-size:18px}.file-icon svg{width:18px;height:18px}.file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:12px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:11px;color:var(--muted)}.file-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s ease}.file-item:hover .file-actions{opacity:1}.file-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;text-decoration:none;transition:all .15s ease}.file-action-btn:hover{background:var(--surface-soft);color:var(--text)}.file-action-btn.file-remove:hover{background:var(--danger-soft, rgba(239, 68, 68, .15));color:var(--danger, #ef4444)}.file-action-btn svg{width:14px;height:14px}.people-loading,.people-empty{padding:16px;text-align:center;color:var(--muted);font-size:13px}.people-section{margin-bottom:20px}.people-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.people-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.add-person-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px dashed var(--border);background:transparent;color:var(--muted);border-radius:6px;cursor:pointer;transition:all .15s ease}.add-person-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft, rgba(59, 130, 246, .1))}.add-person-btn svg{width:14px;height:14px}.add-watcher-dropdown{margin-bottom:12px;border:1px solid var(--border);border-radius:8px;max-height:200px;overflow-y:auto}.add-watcher-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s ease}.add-watcher-item:last-child{border-bottom:none}.add-watcher-item:hover{background:var(--bg-subtle)}.add-watcher-empty{padding:16px;text-align:center;color:var(--muted);font-size:13px}.people-list{display:flex;flex-direction:column;gap:8px}.person-item{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px}.person-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;flex-shrink:0}.person-avatar.small{width:28px;height:28px;font-size:11px}.person-avatar.customer{border:2px solid var(--warning, #f59e0b)}.person-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.person-name{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-role{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--muted);border-radius:4px;cursor:pointer;opacity:0;transition:all .15s ease}.person-item:hover .person-remove{opacity:1}.person-remove:hover{background:var(--danger-soft, rgba(239, 68, 68, .15));color:var(--danger, #ef4444)}.person-remove svg{width:14px;height:14px}.person-badge{padding:3px 8px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;border-radius:4px;flex-shrink:0}.person-badge.customer{background:#f59e0b26;color:#f59e0b}.activity-loading,.activity-empty{padding:24px 16px;text-align:center;color:var(--muted);font-size:13px}.activity-empty-hint{margin-top:8px;font-size:12px;opacity:.7}.activity-timeline{display:flex;flex-direction:column}.activity-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.activity-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:12px;flex-shrink:0}.activity-icon svg{width:14px;height:14px}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.activity-user{font-size:13px;font-weight:500;color:var(--text)}.activity-time{font-size:11px;color:var(--muted);flex-shrink:0}.activity-action{font-size:12px;color:var(--muted);line-height:1.4}.activity-item[data-action=created] .activity-icon,.activity-item[data-action=resolved] .activity-icon{background:var(--success-soft, rgba(34, 197, 94, .15));color:var(--success, #22c55e);border-color:transparent}.activity-item[data-action=status_changed] .activity-icon{background:var(--accent-soft, rgba(59, 130, 246, .15));color:var(--accent);border-color:transparent}.activity-item[data-action=priority_changed] .activity-icon{background:var(--warning-soft, rgba(245, 158, 11, .15));color:var(--warning, #f59e0b);border-color:transparent}.checklist-panel{display:flex;flex-direction:column;height:100%;width:360px}.checklist-loading{padding:2rem;text-align:center;color:var(--text-muted)}.checklist-progress{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-alt)}.checklist-progress .progress-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.checklist-progress .progress-fill{height:100%;background:var(--success);border-radius:3px;transition:width .3s ease}.checklist-progress .progress-text{font-size:.75rem;color:var(--text-muted)}.checklist-add{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.checklist-add input{flex:1;padding:.5rem .75rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;background:var(--bg);color:var(--fg)}.checklist-add input:focus{outline:none;border-color:var(--primary)}.checklist-add input::placeholder{color:var(--text-muted)}.checklist-add .add-btn{padding:.5rem;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.checklist-add .add-btn:hover:not(:disabled){opacity:.9}.checklist-add .add-btn:disabled{opacity:.5;cursor:not-allowed}.checklist-add .add-btn svg{width:16px;height:16px}.checklist-empty{padding:2rem 1rem;text-align:center}.checklist-empty p{margin:0;color:var(--text-muted)}.checklist-empty-hint{font-size:.75rem;margin-top:.5rem!important}.checklist-items{flex:1;overflow-y:auto;padding:.25rem 0}.checklist-item{border-bottom:1px solid var(--border-light, rgba(128, 128, 128, .08));transition:background .15s;padding:.625rem 1rem}.checklist-item:last-child{border-bottom:none}.checklist-item:hover,.checklist-item.expanded{background:var(--bg-alt)}.checklist-item.completed .checklist-title{text-decoration:line-through;color:var(--text-muted)}.checklist-item-title-row{display:flex;align-items:flex-start;gap:.625rem}.checklist-item-actions-row{display:flex;align-items:center;gap:2px;margin-top:6px;margin-left:1.625rem}.checklist-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;transition:all .15s;white-space:nowrap}.checklist-action-btn:hover{background:var(--bg-subtle);border-color:var(--accent);color:var(--accent)}.checklist-action-btn.has-content{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 30%,var(--border))}.checklist-action-btn.overdue{color:#ef4444!important;border-color:#ef44444d!important}.checklist-action-btn .action-label{font-weight:500}.checklist-action-btn.icon-only{padding:4px 6px;opacity:.5}.checklist-action-btn.icon-only:hover{opacity:1}.checklist-action-btn.icon-only.delete:hover{color:var(--danger);border-color:var(--danger);background:#ef444414}.checklist-action-btn.priority-btn.low{color:#64748b}.checklist-action-btn.priority-btn.high,.checklist-action-btn.priority-btn.high.has-content{color:#f97316;border-color:#f973164d}.checklist-action-btn.priority-btn.urgent,.checklist-action-btn.priority-btn.urgent.has-content{color:#ef4444;border-color:#ef44444d}.checklist-item-actions-row .checklist-assignee-wrapper{margin-left:0;display:flex}.checklist-item-main{display:flex;align-items:center;gap:.625rem}.checklist-checkbox{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;color:#fff}.checklist-checkbox:hover{border-color:var(--success);background:color-mix(in oklab,var(--success) 10%,transparent)}.checklist-checkbox.checked{background:var(--success);border-color:var(--success)}.checklist-actions{display:flex;align-items:center;gap:2px;margin-left:auto;flex-shrink:0}.checklist-icon-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);opacity:.6;transition:all .15s}.checklist-icon-btn:hover{background:var(--bg-subtle);color:var(--primary);opacity:1}.checklist-icon-btn.has-value{color:var(--primary);opacity:1}.checklist-icon-btn.completed{color:var(--success)}.checklist-icon-btn.delete:hover{background:color-mix(in oklab,var(--danger) 15%,transparent);color:var(--danger)}.checklist-icon-btn.priority-low{color:#94a3b8}.checklist-icon-btn.priority-medium{color:var(--muted)}.checklist-icon-btn.priority-high.has-value{color:#f97316;opacity:1}.checklist-icon-btn.priority-urgent.has-value{color:#ef4444;opacity:1}.checklist-avatar-mini{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.5rem;font-weight:600}.checklist-title{font-size:.875rem;flex:1;min-width:0;word-break:break-word;line-height:1.4;cursor:default;color:var(--fg)}.checklist-title-input{flex:1;min-width:0;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg);color:var(--text);font-size:.875rem;font-family:inherit;outline:none}.checklist-icon-btn.edit{opacity:.4}.checklist-item:hover .checklist-icon-btn.edit{opacity:.7}.checklist-icon-btn.edit:hover{opacity:1;color:var(--accent)}.checklist-completed-by{display:block;font-size:.65rem;color:var(--success);opacity:.7;white-space:nowrap;margin-left:1.625rem;margin-top:2px}.checklist-meta-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;margin-left:1.625rem}.checklist-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:color-mix(in oklab,var(--primary) 12%,transparent);border-radius:10px;font-size:.7rem;font-weight:500;color:var(--primary)}.checklist-chip.overdue{background:#ef44441f;color:#ef4444}.checklist-chip.priority.low{background:#64748b1f;color:#64748b}.checklist-chip.priority.medium{background:#3b82f61f;color:#3b82f6}.checklist-chip.priority.high{background:#f973161f;color:#f97316}.checklist-chip.priority.urgent{background:#ef44441f;color:#ef4444}.checklist-icon-btn.priority-btn.low.has-content{color:#64748b}.checklist-icon-btn.priority-btn.high.has-content{color:#f97316}.checklist-icon-btn.priority-btn.urgent.has-content{color:#ef4444}.checklist-icon-btn.overdue{color:#ef4444!important}.checklist-inline-editor{padding-top:.5rem}.checklist-inline-editor label{display:block;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.checklist-date-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:.85rem}.checklist-date-input:focus{outline:none;border-color:var(--primary)}.inline-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.inline-editor-actions .clear-btn,.inline-editor-actions .done-btn{padding:6px 12px;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s}.inline-editor-actions .clear-btn{background:none;border:1px solid var(--border);color:var(--danger)}.inline-editor-actions .clear-btn:hover{background:#ef44441a;border-color:var(--danger)}.inline-editor-actions .done-btn{background:var(--primary);border:none;color:#fff}.inline-editor-actions .done-btn:hover{opacity:.9}.priority-options{display:flex;flex-direction:column;gap:4px}.priority-option{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;font-size:.85rem;color:var(--fg);cursor:pointer;transition:all .15s}.priority-option:hover{background:var(--bg-subtle)}.priority-option.selected{background:color-mix(in oklab,var(--primary) 15%,transparent);border-color:var(--primary)}.priority-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.priority-dot.low{background:#64748b}.priority-dot.high{background:#f97316}.status-options{display:flex;flex-direction:column;gap:4px}.status-option{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;font-size:.85rem;color:var(--fg);cursor:pointer;transition:all .15s}.status-option:hover{background:var(--bg-subtle)}.status-option.selected{background:color-mix(in oklab,var(--primary) 15%,transparent);border-color:var(--primary)}.status-options .status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.checklist-icon-btn.status-pending{color:#94a3b8}.checklist-icon-btn.status-in_progress{color:#8b5cf6}.checklist-icon-btn.status-complete{color:#10b981}.checklist-icon-btn.status-stuck{color:#ef4444}.checklist-icon-btn.status-on_hold{color:#f59e0b}.checklist-assignee-wrapper{position:relative;flex-shrink:0;margin-left:4px}.checklist-assignee-btn{background:none;border:1px dashed var(--border);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:all .2s;opacity:.6}.checklist-assignee-btn:hover{border-color:var(--primary);color:var(--primary);opacity:1}.checklist-assignee-btn.assigned{border:none;padding:0;opacity:1}.checklist-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.6rem;font-weight:600}.checklist-avatar.small{width:22px;height:22px;font-size:.6rem}.checklist-assignee-dropdown{position:fixed;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:200px;max-height:280px;overflow-y:auto;z-index:1000}.assignee-dropdown-header{padding:.5rem .75rem;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.assignee-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;font-size:.8rem;transition:background .15s}.assignee-option:hover{background:var(--bg-alt)}.assignee-option.selected{background:rgba(var(--primary-rgb, 59, 130, 246),.1)}.assignee-option.unassign{color:var(--text-muted);border-bottom:1px solid var(--border)}.assignee-option.unassign:hover{color:var(--danger)}.assignee-option .check-icon{margin-left:auto;color:var(--primary)}.checklist-action-btn{background:none;border:1px solid var(--border);padding:.25rem .5rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;border-radius:4px;transition:all .2s;font-size:.7rem;color:var(--text-muted)}.checklist-action-btn svg{width:12px;height:12px;flex-shrink:0}.checklist-action-btn span{white-space:nowrap}.checklist-action-btn.notes:hover{color:var(--primary);border-color:var(--primary);background:rgba(var(--primary-rgb, 59, 130, 246),.1)}.checklist-action-btn.mark{color:var(--success);border-color:var(--success);background:#22c55e14}.checklist-action-btn.mark:hover{background:var(--success);color:#fff}.checklist-action-btn.unmark{color:var(--warning, #f59e0b);border-color:var(--warning, #f59e0b);background:#f59e0b14}.checklist-action-btn.unmark:hover{background:var(--warning, #f59e0b);color:#fff}.checklist-action-btn.delete{color:var(--text-muted)}.checklist-action-btn.delete:hover{color:var(--danger);border-color:var(--danger);background:#ef44441a}.checklist-item-expanded{padding:0 0 .5rem 1.625rem;margin-top:.375rem}.checklist-description-edit{padding-top:.5rem}.checklist-description-edit textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:.8rem;font-family:inherit;background:var(--bg);color:var(--fg);resize:vertical;min-height:60px}.checklist-description-edit textarea:focus{outline:none;border-color:var(--primary)}.checklist-description-edit textarea::placeholder{color:var(--text-muted)}.description-edit-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.description-edit-actions .char-count{font-size:.7rem;color:var(--text-muted);margin-right:auto}.description-edit-actions .cancel-btn,.description-edit-actions .save-btn{padding:.35rem .75rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.description-edit-actions .cancel-btn{background:none;border:1px solid var(--border);color:var(--fg)}.description-edit-actions .cancel-btn:hover{background:var(--bg-alt)}.description-edit-actions .save-btn{background:var(--primary);border:none;color:#fff}.description-edit-actions .save-btn:hover{opacity:.9}.checklist-description-view{padding-top:.5rem;position:relative}.checklist-description-view p{margin:0;font-size:.8rem;color:var(--text-muted);line-height:1.4;white-space:pre-wrap}.checklist-description-view .edit-description-btn,.checklist-description-view .add-description-btn{background:none;border:none;color:var(--primary);font-size:.75rem;cursor:pointer;padding:0;margin-top:.25rem}.checklist-description-view .edit-description-btn:hover,.checklist-description-view .add-description-btn:hover{text-decoration:underline}.checklist-description-view .collapse-btn{position:absolute;top:.5rem;right:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;opacity:.6}.checklist-description-view .collapse-btn:hover{opacity:1}.reminder-quick-actions{padding:12px 16px;border-bottom:1px solid var(--border)}.quick-label{font-size:12px;color:var(--fg-dim);margin-bottom:8px;display:block}.quick-buttons{display:flex;flex-wrap:wrap;gap:6px}.quick-btn{padding:6px 12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--fg);cursor:pointer;transition:all .15s}.quick-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.reminder-add-form{padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.reminder-form-row{display:flex;gap:8px}.reminder-form-row input[type=date],.reminder-form-row input[type=time]{flex:1;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--fg)}.reminder-message-input{width:100%;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:13px;color:var(--fg)}.reminder-email-toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-dim);cursor:pointer;padding:4px 0}.reminder-email-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.reminder-email-toggle span{user-select:none}.reminder-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.add-reminder-btn{display:flex;align-items:center;gap:6px;margin:12px 16px;padding:8px 12px;background:var(--surface-soft);border:1px dashed var(--border);border-radius:6px;font-size:13px;color:var(--fg-dim);cursor:pointer;transition:all .15s}.add-reminder-btn:hover{background:var(--bg);border-color:var(--primary);color:var(--primary)}.add-reminder-btn svg{width:14px;height:14px}.reminder-list{padding:8px 0}.reminder-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);padding:8px 16px 4px}.reminder-item{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 16px;transition:background .15s}.reminder-item:hover{background:var(--surface-soft)}.reminder-item.past{opacity:.6}.reminder-item-content{flex:1;min-width:0}.reminder-item-time{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--fg)}.reminder-item-time svg{color:var(--primary);flex-shrink:0}.reminder-item.past .reminder-item-time svg{color:var(--success, #10b981)}.reminder-email-badge{display:inline-flex;align-items:center;margin-left:6px;color:var(--fg-dim)}.reminder-item-message{margin-top:4px;font-size:12px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminder-delete-btn{padding:4px;background:transparent;border:none;color:var(--fg-dim);cursor:pointer;opacity:0;transition:all .15s}.reminder-item:hover .reminder-delete-btn{opacity:1}.reminder-delete-btn:hover{color:var(--danger, #ef4444)}.reminder-delete-btn svg{width:14px;height:14px}.reminder-empty{padding:24px 16px;text-align:center}.reminder-empty p{margin:0;font-size:13px;color:var(--fg-dim)}.reminder-loading{padding:24px 16px;text-align:center;font-size:13px;color:var(--fg-dim)}.plan-markup-panel{width:280px;background:var(--bg-card, #1e293b);border-right:1px solid var(--border-color, rgba(255, 255, 255, .1));display:flex;flex-direction:column;height:100%}.plan-markup-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1));flex-shrink:0}.plan-markup-panel .panel-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary, #fff)}.plan-markup-panel .panel-title svg{color:var(--accent, #3b82f6)}.plan-markup-panel .panel-close-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary, #94a3b8);border-radius:4px;display:flex;align-items:center;justify-content:center}.plan-markup-panel .panel-close-btn:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.plan-markup-panel .panel-content{flex:1;overflow-y:auto;padding:16px}.plan-markup-panel .panel-loading,.plan-markup-panel .panel-error{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary, #94a3b8);padding:24px}.plan-markup-panel .panel-error{color:var(--error, #ef4444)}.plan-markup-panel .panel-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px;color:var(--text-secondary, #94a3b8)}.plan-markup-panel .empty-icon{margin-bottom:12px}.plan-markup-panel .panel-empty p{margin:0 0 8px;font-weight:500;color:var(--text-primary, #fff)}.plan-markup-panel .empty-hint{font-size:12px;line-height:1.4}.markup-summary{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#3b82f61a;border-radius:8px;margin-bottom:16px}.summary-total{display:flex;flex-direction:column}.total-count{font-size:28px;font-weight:700;color:var(--accent, #3b82f6);line-height:1}.total-label{font-size:11px;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.summary-files{font-size:12px;color:var(--text-secondary, #94a3b8);background:#0003;padding:4px 8px;border-radius:12px}.markup-categories{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.markup-category{background:#0003;border-radius:8px;overflow:hidden}.category-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-left:3px solid;background:#ffffff08}.category-label{font-size:12px;font-weight:600;color:var(--text-primary, #fff);text-transform:uppercase;letter-spacing:.5px}.category-total{font-size:14px;font-weight:700;color:var(--text-primary, #fff)}.category-devices{padding:4px 12px 8px}.device-row{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:var(--text-secondary, #94a3b8)}.device-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.device-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-count{font-weight:600;color:var(--text-primary, #fff);min-width:24px;text-align:right}.markup-files{margin-bottom:16px}.files-header{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #94a3b8);margin-bottom:8px;padding:0 4px}.markup-file-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:#0003;border:1px solid transparent;border-radius:6px;cursor:pointer;color:var(--text-primary, #fff);font-size:13px;text-align:left;margin-bottom:6px;transition:all .15s ease}.markup-file-btn:hover{background:#3b82f626;border-color:#3b82f64d}.markup-file-btn svg:first-child{color:var(--text-secondary, #94a3b8);flex-shrink:0}.markup-file-btn .file-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.markup-file-btn .file-count{font-size:11px;color:var(--text-secondary, #94a3b8);white-space:nowrap}.markup-file-btn svg:last-child{color:var(--text-secondary, #94a3b8);width:14px;height:14px;flex-shrink:0}.markup-actions{padding-top:8px;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.export-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px 16px;background:var(--accent, #3b82f6);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.export-btn:hover{background:var(--accent-hover, #2563eb)}.export-btn svg{flex-shrink:0}.form-field{display:flex;flex-direction:column;gap:6px;width:100%;margin-bottom:16px}.form-label{font-size:13px;font-weight:500;color:var(--text, var(--fg));letter-spacing:0;display:flex;align-items:center;gap:4px}.form-label-required{color:#ef4444;font-size:14px;font-weight:700}.form-input,.form-textarea,.form-select{width:100%;padding:6px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:400;color:var(--text, var(--fg));font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;outline:none}.form-input,.form-select{min-height:32px}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}.form-select:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent) 45%,transparent)}.form-select:disabled{background:color-mix(in oklab,var(--card-bg) 75%,transparent)!important;color:color-mix(in oklab,var(--muted) 75%,transparent)!important;cursor:not-allowed;opacity:.6}[data-theme=dark] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}.form-textarea{padding:8px 12px;resize:vertical;min-height:80px;line-height:1.5}.form-input:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent);background:color-mix(in oklab,var(--card-bg) 85%,transparent)}.form-input:hover:not(:disabled),.form-textarea:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent) 45%,transparent)}.form-input--error,.form-textarea--error,.form-input--error:focus,.form-textarea--error:focus{border-color:#ef4444!important}.form-input--error:focus,.form-textarea--error:focus{box-shadow:0 0 0 3px #ef44441a!important}.form-field--error .form-label{color:#ef4444}.form-input:disabled,.form-textarea:disabled{background:color-mix(in oklab,var(--card-bg) 75%,transparent)!important;color:color-mix(in oklab,var(--muted) 75%,transparent)!important;cursor:not-allowed;opacity:.6}.form-field--disabled .form-label{color:#9ca3af}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af;opacity:1}.form-input:disabled::placeholder,.form-textarea:disabled::placeholder{color:#d1d5db}.form-help-text{font-size:12px;font-weight:400;color:var(--muted, var(--fg-dim));line-height:1.4}.form-error-text{font-size:12px;font-weight:500;color:#ef4444;line-height:1.4}.form-char-count{font-size:11px;font-weight:500;color:#9ca3af;text-align:right;align-self:flex-end;margin-top:-4px}.form-field--error .form-char-count{color:#ef4444}.form-input[type=date],.form-input[type=time],.form-input[type=datetime-local]{color:var(--text, var(--fg));color-scheme:dark light}.form-input[type=date]::-webkit-calendar-picker-indicator,.form-input[type=time]::-webkit-calendar-picker-indicator,.form-input[type=datetime-local]::-webkit-calendar-picker-indicator{cursor:pointer;filter:var(--date-picker-icon-filter, none);opacity:.7}.form-input[type=date]::-webkit-calendar-picker-indicator:hover,.form-input[type=time]::-webkit-calendar-picker-indicator:hover,.form-input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}[data-theme=dark] .form-input[type=date],[data-theme=dark] .form-input[type=time],[data-theme=dark] .form-input[type=datetime-local]{color-scheme:dark}[data-theme=dark] .form-input[type=date]::-webkit-calendar-picker-indicator,[data-theme=dark] .form-input[type=time]::-webkit-calendar-picker-indicator,[data-theme=dark] .form-input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1)}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield}@media (max-width: 768px){.form-input,.form-textarea{font-size:16px}.form-input{min-height:40px;padding:8px 12px}.form-textarea{padding:10px 12px}}.site-selector{display:flex;flex-direction:column;gap:12px}.site-selector-search{position:relative;display:flex;align-items:flex-start;gap:8px}.site-selector-search .autocomplete{flex:1}.site-gps-btn{position:absolute;right:40px;top:32px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;color:var(--fg-muted);cursor:pointer;border-radius:4px;transition:all .15s}.site-gps-btn:hover{background:var(--surface-soft);color:var(--accent)}.site-gps-btn.loading{animation:pulse 1s ease-in-out infinite}.site-gps-btn.has-nearby{color:var(--success)}.site-gps-btn svg{width:16px;height:16px}.site-nearby-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:color-mix(in oklab,var(--success) 10%,var(--surface));border:1px solid color-mix(in oklab,var(--success) 30%,var(--border));border-radius:8px;font-size:14px}.nearby-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--success)}.nearby-icon svg{width:100%;height:100%}.nearby-text{flex:1;display:flex;align-items:center;gap:6px;color:var(--fg)}.nearby-distance{color:var(--fg-muted);font-size:13px}.nearby-accept-btn{padding:6px 14px;background:var(--success);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.nearby-accept-btn:hover{background:color-mix(in oklab,var(--success) 85%,black)}.nearby-dismiss-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;color:var(--fg-muted);cursor:pointer;border-radius:4px;font-size:14px}.nearby-dismiss-btn:hover{background:var(--surface-soft);color:var(--fg)}.site-none-nearby-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:color-mix(in oklab,var(--warning) 10%,var(--surface));border:1px solid color-mix(in oklab,var(--warning) 30%,var(--border));border-radius:8px;font-size:14px}.site-none-nearby-banner .nearby-icon{color:var(--warning)}.nearby-create-btn{padding:6px 14px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.nearby-create-btn:hover{background:color-mix(in oklab,var(--accent) 85%,black)}.site-option-line{display:flex;align-items:baseline;gap:8px;padding:2px 0;flex-wrap:wrap}.site-option-main{font-weight:500;font-size:14px;color:var(--fg)}.site-option-addr{font-size:12px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.site-option-atm-count{font-size:11px;color:var(--accent);background:color-mix(in oklab,var(--accent) 15%,transparent);padding:2px 6px;border-radius:4px;font-weight:500}.site-no-results{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0}.site-no-results>span{color:var(--fg-muted);font-size:13px}.site-create-link{padding:8px 16px;background:transparent;border:1px dashed var(--border);border-radius:6px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.site-create-link:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:var(--accent);border-style:solid}.site-inline-create{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.inline-create-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.inline-create-header h4{margin:0;font-size:15px;font-weight:600;color:var(--fg)}.inline-create-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;color:var(--fg-muted);cursor:pointer;border-radius:4px;font-size:16px}.inline-create-close:hover{background:var(--surface);color:var(--fg)}.inline-create-form{display:flex;flex-direction:column;gap:16px;padding:16px}.new-customer-indicator{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:color-mix(in oklab,var(--accent) 12%,var(--surface));border:1px solid color-mix(in oklab,var(--accent) 30%,var(--border));border-radius:6px;font-size:13px;color:var(--fg)}.new-customer-indicator strong{color:var(--accent)}.clear-new-customer{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--fg-muted);cursor:pointer;border-radius:4px;font-size:12px}.clear-new-customer:hover{background:var(--surface);color:var(--fg)}.inline-create-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px;border-top:1px solid var(--border);margin-top:8px}@media (max-width: 480px){.site-nearby-banner{flex-wrap:wrap}.nearby-text{flex:1 1 100%;order:2;margin-top:4px}.nearby-icon{order:1}.nearby-accept-btn{order:3;flex:1}.nearby-dismiss-btn{order:4}.inline-create-actions{flex-direction:column}.inline-create-actions .btn{width:100%}}.item-detail-drawer{position:fixed!important;top:64px!important;right:0!important;bottom:0!important;width:1000px;max-width:100vw;background:var(--card);border-left:1px solid var(--border);box-shadow:-8px 0 32px #00000026;z-index:1000;display:flex;flex-direction:column;animation:slideIn .3s ease;overflow:visible}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.item-detail-drawer>.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0}.item-detail-drawer .drawer-header-left{display:flex;align-items:center;gap:12px}.drawer-type-badge{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.drawer-type-badge.ticket{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.drawer-type-badge.task{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.drawer-type-badge.subtask{background:color-mix(in oklab,#06b6d4 15%,transparent);color:#06b6d4}.drawer-type-badge.project{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.drawer-item-number{font-size:14px;font-weight:600;color:var(--muted)}.active-viewers-row{display:flex;align-items:center;gap:8px;margin-left:16px;padding:4px 10px;background:var(--surface-soft, rgba(0, 0, 0, .03));border-radius:20px;cursor:pointer;transition:background .15s ease}.active-viewers-row:hover{background:var(--accent-soft, rgba(59, 130, 246, .1))}.active-viewers-label{font-size:11px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.active-viewers-avatars{display:flex;align-items:center}.active-viewer-avatar{position:relative;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;border:2px solid var(--card);margin-left:-8px}.active-viewer-avatar:first-child{margin-left:0}.active-viewer-avatar.is-self{border-color:var(--accent)}.active-viewer-avatar .online-indicator{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;background:#22c55e;border:2px solid var(--card);border-radius:50%}.active-viewer-more{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;background:var(--bg-subtle);color:var(--muted);border:2px solid var(--card);margin-left:-8px}.item-detail-drawer .drawer-header-actions{display:flex;gap:8px}.drawer-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;transition:all .15s ease}.drawer-action-btn svg{width:18px;height:18px}.drawer-action-btn:hover{border-color:var(--accent);color:var(--text);background:var(--surface-soft)}.drawer-action-btn:disabled{opacity:.5;cursor:not-allowed}.drawer-action-btn--success{border-color:var(--success, #10b981);color:var(--success, #10b981);background:#10b9811a}.drawer-action-btn--success:hover{border-color:var(--success, #10b981);color:var(--success, #10b981);background:#10b98126}.drawer-close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;transition:all .15s ease}.drawer-close-btn svg{width:20px;height:20px}.drawer-close-btn:hover{background:var(--surface-soft);color:var(--danger)}.item-detail-drawer>.item-drawer-body{flex:1;display:flex!important;flex-direction:row!important;overflow:hidden;position:relative;min-height:0}.item-detail-drawer .drawer-panel-left{width:400px!important;min-width:400px;max-width:400px;flex-shrink:0!important;display:flex;flex-direction:column;overflow-y:auto;border-right:1px solid var(--border);background:var(--card)}.item-detail-drawer .drawer-panel-right{flex:1!important;min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.item-title-section{padding:20px;border-bottom:1px solid var(--border)}.item-title-row{display:flex;align-items:flex-start;gap:12px}.item-priority-bar{width:4px;height:100%;min-height:48px;border-radius:4px;flex-shrink:0}.item-priority-bar.urgent{background:#ef4444}.item-priority-bar.high{background:#f59e0b}.item-priority-bar.medium{background:#3b82f6}.item-priority-bar.low{background:#6b7280}.item-title-content{flex:1}.item-title-input{width:100%;padding:8px 0;border:none;background:transparent;font-size:18px;font-weight:600;color:var(--text);line-height:1.3}.item-title-input:focus{outline:none}.item-title-input::placeholder{color:var(--muted)}.item-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.meta-field{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:13px;font-weight:500;color:var(--text)}.meta-select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;cursor:pointer}.meta-select:focus{outline:none;border-color:var(--accent)}.due-date-wrapper{display:flex;align-items:center}.due-date-input{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:13px;cursor:pointer;font-family:inherit}.due-date-input:focus{outline:none;border-color:var(--accent)}.due-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.due-date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.status-select{padding:5px 28px 5px 10px;border-radius:16px;font-size:11px;font-weight:600;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:12px;cursor:pointer}.status-select.open{background-color:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6;border-color:#3b82f6}.status-select.in_progress{background-color:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b;border-color:#f59e0b}.status-select.waiting_customer,.status-select.waiting_internal{background-color:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6;border-color:#8b5cf6}.status-select.resolved{background-color:color-mix(in oklab,#10b981 15%,transparent);color:#10b981;border-color:#10b981}.status-select.closed{background-color:color-mix(in oklab,#6b7280 15%,transparent);color:#6b7280;border-color:#6b7280}.status-select.on_hold{background-color:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444;border-color:#ef4444}.assignee-selector{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);cursor:pointer;transition:all .15s ease}.assignee-selector:hover{border-color:var(--accent)}.assignee-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff}.assignee-avatar.empty{background:var(--surface-soft);color:var(--muted)}.assignee-avatar.empty svg{width:14px;height:14px}.linked-context-section{display:flex;flex-wrap:wrap;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--accent) 3%,var(--bg))}.linked-context-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;flex:1;min-width:180px}.linked-context-item:hover{border-color:var(--accent);background:var(--bg-subtle)}.linked-context-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-subtle);border-radius:6px;color:var(--muted);font-size:16px;flex-shrink:0}.linked-context-icon svg{width:16px;height:16px}.linked-context-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.linked-context-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.linked-context-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linked-context-subtitle{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-section{padding:12px 20px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--accent) 3%,var(--bg))}.customer-info{display:flex;align-items:center;gap:10px}.customer-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.customer-details{flex:1;min-width:0}.customer-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-email{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-badge{padding:3px 8px;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);border-radius:10px;font-size:10px;font-weight:600;flex-shrink:0}.email-source-section{padding:12px 20px;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--primary) 5%,var(--bg))}.email-source-info{display:flex;align-items:center;gap:10px}.email-source-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;flex-shrink:0}.email-source-details{flex:1;min-width:0}.email-source-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-source-address{font-size:12px;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;display:block}.email-source-address:hover{text-decoration:underline}.email-source-badge{padding:4px 10px;background:color-mix(in oklab,var(--primary) 12%,transparent);color:var(--primary);border-radius:12px;font-size:11px;font-weight:600;flex-shrink:0;display:flex;align-items:center;gap:4px}.email-source-badge svg{width:12px;height:12px}.email-source-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border)}.email-source-actions .link-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.email-source-actions .link-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.email-source-actions .link-btn svg{width:14px;height:14px}.email-linked-info{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:11px;color:var(--success)}.email-linked-info svg{width:14px;height:14px}.email-linked-info strong{color:var(--text-primary)}.email-unlink-btn{margin-left:auto;padding:2px;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center}.email-unlink-btn:hover{color:var(--danger);background:var(--bg-tertiary)}.email-unlinked-info{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);font-size:11px;color:var(--text-secondary)}.email-unlinked-info svg{width:14px;height:14px;color:var(--text-tertiary)}.email-unlink-btn svg{width:12px;height:12px}.email-source-actions .link-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.email-link-picker{margin-top:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.email-link-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:600;color:var(--text)}.email-link-picker-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.email-link-picker-close:hover{background:var(--bg-hover);color:var(--text)}.email-link-picker-close svg{width:14px;height:14px}.email-link-picker-search{width:100%;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none}.email-link-picker-search:focus{border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.1)}.email-link-picker-results{margin-top:8px;max-height:200px;overflow-y:auto}.email-link-picker-loading,.email-link-picker-empty{padding:16px;text-align:center;color:var(--text-muted);font-size:12px}.email-link-picker-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:6px;color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:all .1s ease}.email-link-picker-item:hover{background:var(--bg-hover)}.email-link-picker-item:disabled{opacity:.5;cursor:not-allowed}.email-link-picker-item-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--primary-soft);border-radius:6px;color:var(--primary)}.email-link-picker-item-icon svg{width:16px;height:16px}.email-link-picker-item-name{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.email-link-picker-item-sub{display:block;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.description-section{padding:16px 20px;border-bottom:1px solid var(--border)}.description-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.description-label{font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.description-label svg{width:14px;height:14px;color:var(--muted)}.description-textarea{width:100%;min-height:120px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle);color:var(--text);font-size:13px;line-height:1.5;resize:vertical}.description-textarea:focus{outline:none;border-color:var(--accent)}.description-textarea::placeholder{color:var(--muted)}.description-format-toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;color:var(--muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.description-format-toggle:hover{color:var(--text);border-color:var(--accent)}.description-format-toggle.active{color:var(--accent);background:var(--accent-subtle);border-color:var(--accent)}.description-format-toggle svg{width:12px;height:12px}.description-html{padding:12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px;line-height:1.6;overflow-x:auto;max-height:400px;overflow-y:auto}.description-html h1,.description-html h2,.description-html h3{margin:.5em 0;color:var(--text)}.description-html p{margin:.5em 0}.description-html a{color:var(--accent)}.description-html table{border-collapse:collapse;width:100%;margin:.5em 0}.description-html th,.description-html td{border:1px solid var(--border);padding:6px 10px;text-align:left}.description-html th{background:var(--bg);font-weight:600}.description-html tr:nth-child(2n){background:var(--bg)}.description-html ul,.description-html ol{margin:.5em 0;padding-left:1.5em}.description-html img{max-width:100%;height:auto;border-radius:4px;margin:.5em 0}.description-html blockquote{margin:.5em 0;padding:8px 12px;border-left:3px solid var(--accent);background:var(--bg);font-style:italic}.description-html pre,.description-html code{font-family:SF Mono,Monaco,Inconsolata,monospace;background:var(--bg);padding:2px 4px;border-radius:3px;font-size:12px}.description-html pre{padding:10px;overflow-x:auto}.attachment-indicator{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:6px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.attachment-indicator:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}.attachment-indicator svg{width:14px;height:14px}.watchers-section{padding:16px 20px;border-bottom:1px solid var(--border)}.watchers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.watchers-label{font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.watchers-label svg{width:14px;height:14px;color:var(--muted)}.add-watcher-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px dashed var(--border);background:transparent;border-radius:6px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.add-watcher-btn:hover{border-color:var(--accent);color:var(--accent)}.add-watcher-btn svg{width:12px;height:12px}.watchers-list{display:flex;flex-wrap:wrap;gap:6px}.watcher-chip{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:var(--bg-subtle);border-radius:16px;font-size:12px;color:var(--text)}.watcher-chip .watcher-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:#fff}.watcher-chip .remove-watcher{width:14px;height:14px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted);cursor:pointer;border-radius:50%;margin-left:2px}.watcher-chip .remove-watcher:hover{background:var(--danger);color:#fff}.watcher-chip .remove-watcher svg{width:10px;height:10px}.watchers-empty{font-size:12px;color:var(--muted);font-style:italic}.active-team-section{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.active-team-label{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:8px}.active-team-list{display:flex;flex-wrap:wrap;gap:6px}.watcher-chip.active{background:color-mix(in oklab,#10b981 15%,var(--bg-subtle));border:1px solid color-mix(in oklab,#10b981 30%,transparent)}.watcher-chip.active .watcher-avatar{position:relative}.watcher-chip .online-dot{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;background:#10b981;border:2px solid var(--card);border-radius:50%}.watcher-chip.is-self{opacity:.7}.watcher-dropdown{min-width:220px;max-height:240px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026}.watcher-dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;transition:background .15s ease}.watcher-dropdown-item:hover{background:var(--bg-subtle)}.watcher-dropdown-item .watcher-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}.watcher-dropdown-item span{font-size:13px;color:var(--text)}.watcher-dropdown-empty{padding:16px;text-align:center;font-size:12px;color:var(--muted)}.collaborators-section{padding:16px 20px;border-bottom:1px solid var(--border)}.collaborators-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.collaborators-label{font-size:12px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.collaborators-label svg{width:14px;height:14px;color:var(--muted)}.add-collaborator-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:1px dashed var(--border);background:transparent;border-radius:6px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.add-collaborator-btn:hover{border-color:var(--accent);color:var(--accent)}.add-collaborator-btn svg{width:12px;height:12px}.collaborators-hint{font-size:11px;color:var(--muted);margin:0}.invite-collaborator-form{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:10px}.invite-form-field{margin-bottom:8px}.invite-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.invite-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:12px}.invite-input:focus{outline:none;border-color:var(--accent)}.invite-input::placeholder{color:var(--muted)}.invite-form-actions{display:flex;justify-content:flex-end;gap:8px}.invite-cancel-btn{padding:6px 12px;border:1px solid var(--border);background:transparent;border-radius:6px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.invite-cancel-btn:hover{background:var(--surface-soft);color:var(--text)}.invite-send-btn{padding:6px 12px;border:none;background:var(--accent);color:var(--accent-contrast, #fff);border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease}.invite-send-btn:hover{background:var(--accent-hover)}.invite-send-btn:disabled{opacity:.5;cursor:not-allowed}.conversation-mode-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.mode-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative}.mode-tab:hover{color:var(--text);background:var(--surface-soft)}.mode-tab.active{color:var(--primary);background:var(--card)}.mode-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary)}.mode-tab svg{width:16px;height:16px}.mode-tab-count{background:var(--primary);color:#fff;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:600;min-width:18px;text-align:center}.mode-tab:not(.active) .mode-tab-count{background:var(--surface-soft);color:var(--muted)}.mode-tab-count--email{background:var(--success, #10b981)}.mode-tab:not(.active) .mode-tab-count--email{background:var(--surface-soft);color:var(--muted)}.conversation-section{flex:1 1 0;display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:hidden}.conversation-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.conversation-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.conversation-header h3 svg{width:18px;height:18px;color:var(--accent)}.message-count-badge{background:var(--surface-soft);padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;color:var(--muted)}.conversation-header-left{display:flex;align-items:center;gap:12px}.pin-toggle-btn{width:26px;height:26px;border:none;background:var(--surface-soft);border-radius:6px;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pin-toggle-btn:hover{background:var(--accent-soft, rgba(59, 130, 246, .1));color:var(--accent)}.pin-toggle-btn.active{background:var(--accent);color:#fff}.pinned-message-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:linear-gradient(135deg,#3b82f60d,#3b82f61a);border-bottom:1px solid rgba(59,130,246,.2);border-left:3px solid var(--accent)}.pinned-message-icon{display:flex;align-items:center;gap:6px;color:var(--accent);flex-shrink:0}.pinned-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.pinned-message-content{flex:1;min-width:0;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-author{font-weight:600;color:var(--text);margin-right:8px}.pinned-text{color:var(--muted)}.pinned-hide-btn{width:20px;height:20px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.pinned-hide-btn:hover{background:var(--surface-soft);color:var(--text)}.message-pin-btn{width:20px;height:20px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:opacity .15s,color .15s;margin-left:auto}.message-item:hover .message-pin-btn{opacity:.6}.message-pin-btn:hover{opacity:1!important}.message-pin-btn.active{color:var(--accent);opacity:1!important}.message-item.pinned{background:linear-gradient(135deg,#3b82f608,#3b82f614);border:1px solid rgba(59,130,246,.15);border-radius:10px}.message-tabs{display:flex;gap:4px}.message-tab{padding:5px 10px;border:none;background:transparent;border-radius:6px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.message-tab:hover{background:var(--surface-soft);color:var(--text)}.message-tab.active{background:var(--bg-subtle);color:var(--text)}.messages-list{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.message-item{display:flex;gap:12px;padding:12px;background:var(--surface-soft);border-radius:10px;margin-bottom:2px}.message-item:has(.message-body.internal){background:color-mix(in oklab,#f59e0b 8%,var(--surface-soft));border-left:3px solid #f59e0b}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0;align-self:flex-start}.message-avatar.system{background:var(--surface-soft);color:var(--muted)}.message-avatar.system svg{width:16px;height:16px}.message-avatar.ai{background:linear-gradient(135deg,#8b5cf6,#6366f1)}.message-avatar.ai svg{width:16px;height:16px}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.message-author{font-size:13px;font-weight:600;color:var(--text)}.message-role{padding:2px 6px;background:var(--surface-soft);border-radius:4px;font-size:9px;font-weight:600;color:var(--muted);text-transform:uppercase}.message-role.internal{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b}.message-role.customer{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.message-time{font-size:10px;color:var(--muted);margin-left:auto}.message-body{font-size:14px;line-height:1.5;color:var(--text);white-space:pre-wrap}.message-body p{margin:0}.message-body p+p{margin-top:8px}.message-body .mention{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent);padding:1px 4px;border-radius:4px;font-weight:500}.messages-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center;color:var(--muted)}.messages-empty svg{width:48px;height:48px;margin-bottom:16px;opacity:.4}.messages-empty p{margin:0;font-size:13px}.reply-section{padding:14px 20px;border-top:1px solid var(--border);background:var(--card);flex-shrink:0}.reply-type-toggle{display:flex;gap:6px;margin-bottom:10px}.reply-type-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border);background:transparent;border-radius:6px;font-size:11px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.reply-type-btn svg{width:13px;height:13px}.reply-type-btn:hover{border-color:var(--accent);color:var(--text)}.reply-type-btn.active{background:color-mix(in oklab,var(--accent) 10%,transparent);border-color:var(--accent);color:var(--accent)}.reply-type-btn.internal.active{background:color-mix(in oklab,#f59e0b 10%,transparent);border-color:#f59e0b;color:#f59e0b}.reply-input-wrapper{display:flex;gap:10px}.reply-textarea{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:13px;line-height:1.4;resize:none;min-height:70px}.reply-textarea:focus{outline:none;border-color:var(--accent)}.reply-textarea::placeholder{color:var(--muted)}.reply-actions{display:flex;flex-direction:column;gap:6px}.reply-send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--accent);color:var(--accent-contrast, #fff);border-radius:10px;cursor:pointer;transition:all .15s ease}.reply-send-btn svg{width:18px;height:18px}.reply-send-btn:hover{background:var(--accent-hover);transform:scale(1.05)}.reply-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.attach-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);background:var(--surface-bg);color:var(--fg-muted, var(--muted));border-radius:10px;cursor:pointer;transition:all .15s ease}.attach-btn:hover{background:var(--bg-hover);color:var(--accent);border-color:var(--accent)}.attach-btn svg{width:18px;height:18px}.pending-images{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--bg-subtle);border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0}.pending-image{position:relative;width:72px;height:72px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.pending-image img{width:100%;height:100%;object-fit:cover}.pending-image.uploading{opacity:.7}.pending-image-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;border:none;border-radius:50%;cursor:pointer;opacity:0;transition:opacity .15s ease}.pending-image:hover .pending-image-remove{opacity:1}.pending-image-remove svg{width:12px;height:12px}.pending-image-uploading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006}.upload-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.pending-images+.reply-textarea{border-radius:0 0 12px 12px}.message-content-parsed{line-height:1.5}.inline-image-wrapper{margin:8px 0}.inline-image{max-width:100%;max-height:300px;border-radius:8px;cursor:pointer;border:1px solid var(--border);transition:transform .15s ease,box-shadow .15s ease}.inline-image:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.inline-image-loading{display:flex;align-items:center;justify-content:center;width:100px;height:100px;background:var(--bg-subtle);border-radius:8px;border:1px solid var(--border)}.inline-image-loading .spinner-small{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.inline-image-error{padding:8px 12px;background:var(--bg-subtle);border-radius:6px;font-size:.8125rem;color:var(--text-tertiary);font-style:italic}.mention-btn-wrapper{position:relative}.mention-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);background:var(--surface-bg);color:var(--accent);border-radius:10px;cursor:pointer;font-size:18px;font-weight:700;transition:all .15s ease}.mention-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.mention-dropdown{position:absolute;bottom:calc(100% + 8px);right:0;width:280px;background:var(--card-bg, var(--bg));border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0003;z-index:100;overflow:hidden}.mention-dropdown-header{padding:10px;border-bottom:1px solid var(--border)}.mention-dropdown-header input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-bg);font-size:13px;color:var(--fg);outline:none}.mention-dropdown-header input:focus{border-color:var(--accent)}.mention-dropdown-header input::placeholder{color:var(--muted)}.mention-dropdown-list{max-height:240px;overflow-y:auto;padding:6px}.mention-dropdown-empty{text-align:center;padding:20px;color:var(--muted);font-size:13px}.mention-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left;color:var(--fg);transition:background .15s ease}.mention-dropdown-item:hover{background:var(--surface-bg)}.mention-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--primary, #6366f1) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.mention-info{flex:1;min-width:0}.mention-name{font-size:13px;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-role{font-size:11px;color:var(--muted);text-transform:capitalize}.reply-hint{font-size:11px;color:var(--muted);text-align:center;margin-top:8px;opacity:.7}.drawer-backdrop{position:fixed;top:64px!important;left:0;right:0;bottom:0;background:#00000080;z-index:999;animation:fadeIn .2s ease}.drawer-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.drawer-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1600px) and (min-width: 1201px){.item-detail-drawer{width:800px}}@media (max-width: 1024px){.item-detail-drawer{width:100vw}.drawer-panel-left{width:350px}}@media (max-width: 768px){.item-detail-drawer{width:100vw}.drawer-content{flex-direction:column}.drawer-panel-left{width:100%;border-right:none;border-bottom:1px solid var(--border);max-height:40vh;overflow-y:auto}.drawer-panel-right{flex:1;min-height:60vh}.item-meta-grid{grid-template-columns:1fr 1fr}.drawer-header,.item-title-section,.description-section,.watchers-section{padding:12px 16px}.conversation-header,.messages-list,.reply-section{padding-left:16px;padding-right:16px}}.work-item-page .item-detail-drawer{position:relative;width:100%;max-width:1200px;height:auto;min-height:100vh;margin:0 auto;box-shadow:none;border-left:1px solid var(--border);border-right:1px solid var(--border);animation:none}@media (max-width: 1200px){.work-item-page .item-detail-drawer{border:none}}.item-detail-drawer{width:1048px}.item-drawer-body>.drawer-icon-rail{border-right:1px solid var(--border);border-left:none;position:relative;z-index:10}.drawer-expandable-panels{position:absolute;right:100%;top:56px;bottom:0;display:flex;flex-direction:row;z-index:5;pointer-events:none}.drawer-expandable-panels:not(:empty){pointer-events:auto}.drawer-expandable-panels .side-panel{box-shadow:-4px 0 16px #00000026}.mobile-work-drawer-wrapper .item-detail-drawer{top:0!important;bottom:0!important;height:100vh!important;width:100vw!important;max-width:100vw!important;z-index:9999!important}.mobile-work-drawer-wrapper .drawer-backdrop{z-index:9998!important}@media (max-width: 768px){.mobile-work-drawer-wrapper .drawer-icon-rail{display:none}.mobile-work-drawer-wrapper .item-drawer-body{grid-template-columns:1fr}.mobile-work-drawer-wrapper .drawer-expandable-panels{position:fixed;inset:0;z-index:10000}.mobile-work-drawer-wrapper .drawer-expandable-panels .side-panel{width:100vw;max-width:100vw;box-shadow:none}}.mode-tab-dot{width:8px;height:8px;background:var(--primary);border-radius:50%;margin-left:4px}.email-thread-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:16px;gap:16px;min-height:0}.email-thread-content{display:flex;flex-direction:column;gap:16px;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:8px}.email-thread-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--muted)}.email-thread-empty svg{width:48px;height:48px;opacity:.3;margin-bottom:16px}.email-thread-empty h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text)}.email-thread-empty p{margin:0;font-size:13px}.email-thread-hint{margin-top:12px!important;font-size:12px!important;opacity:.7}.email-message{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:visible;flex-shrink:0}.email-message.inbound{border-left:3px solid var(--primary)}.email-message.outbound{border-left:3px solid var(--success)}.email-message.reply{margin-top:16px}.email-message.reply:before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);margin-bottom:16px}.email-message-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.email-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;flex-shrink:0}.email-sender-info{flex:1;min-width:0}.email-sender-name{font-size:13px;font-weight:600;color:var(--text)}.email-sender-address{font-size:11px;color:var(--muted)}.email-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.email-direction{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:10px}.email-direction svg{width:12px;height:12px}.email-direction.inbound{background:color-mix(in oklab,var(--primary) 15%,transparent);color:var(--primary)}.email-direction.outbound{background:color-mix(in oklab,var(--success) 15%,transparent);color:var(--success)}.email-time{font-size:11px;color:var(--muted)}.email-message-subject{padding:10px 16px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface)}.email-message-subject strong{color:var(--text)}.email-message-body{padding:16px;overflow-x:auto;overflow-y:visible;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.email-message-body pre{margin:0;font-family:inherit;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--text)}.email-html-content{font-size:13px;line-height:1.6;color:var(--text);overflow-wrap:break-word;word-wrap:break-word;max-width:100%}.email-html-content>*{max-width:100%}.email-html-content div{max-width:100%;overflow-wrap:break-word}.email-html-content p{margin:.5em 0}.email-html-content a{color:var(--accent)}.email-html-content img{max-width:100%;height:auto;border-radius:4px;margin:.5em 0}.email-html-content table{border-collapse:collapse;width:auto;max-width:100%;margin:.5em 0;table-layout:auto}.email-html-content th,.email-html-content td{border:1px solid var(--border);padding:6px 10px;text-align:left}.email-html-content ul,.email-html-content ol{margin:.5em 0;padding-left:1.5em}.email-html-content blockquote{margin:.5em 0;padding:8px 12px;border-left:3px solid var(--accent);background:var(--bg);font-style:italic}.message-attachments-indicator{display:inline-flex;align-items:center;gap:6px;margin:0 16px 12px;padding:6px 12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:12px}.message-attachments-indicator.clickable{cursor:pointer;transition:all .15s ease}.message-attachments-indicator.clickable:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}.message-attachments-indicator svg{width:14px;height:14px}.email-quoted-section{border-top:1px dashed var(--border);background:var(--surface-soft)}.email-quote-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:10px 16px;background:none;border:none;color:var(--fg-muted);font-size:12px;cursor:pointer;transition:all .15s ease}.email-quote-toggle:hover{background:var(--hover);color:var(--fg)}.email-quote-toggle svg{width:14px;height:14px;flex-shrink:0}.email-quoted-content{padding:12px 16px;border-top:1px dashed var(--border);background:var(--bg)}.email-quoted-content pre{margin:0;font-family:inherit;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--fg-muted);opacity:.8}.email-reply-section{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;flex-shrink:0}.email-reply-header{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text)}.email-reply-header svg{width:14px;height:14px;color:var(--primary)}.email-reply-header span{flex:1}.cc-bcc-toggle{padding:4px 10px;font-size:11px;font-weight:500;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--muted);cursor:pointer;transition:all .15s ease}.cc-bcc-toggle:hover{background:var(--surface);color:var(--text);border-color:var(--text)}.cc-bcc-fields{padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.cc-bcc-row{display:flex;align-items:center;gap:10px}.cc-bcc-row label{width:36px;font-size:12px;font-weight:600;color:var(--muted)}.cc-bcc-row input{flex:1;padding:6px 10px;font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text)}.cc-bcc-row input:focus{outline:none;border-color:var(--primary)}.cc-bcc-row input::placeholder{color:var(--muted);opacity:.6}.email-reply-textarea{width:100%;padding:12px 16px;border:none;background:transparent;font-size:13px;line-height:1.5;resize:none;color:var(--text)}.email-reply-textarea:focus{outline:none}.email-reply-actions{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--border);background:var(--surface)}.email-send-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.email-send-btn:disabled{opacity:.5;cursor:not-allowed}.email-send-btn svg{width:14px;height:14px}.email-reply-note{font-size:11px;color:var(--muted);font-style:italic}.search-toggle-btn{background:none;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);border-radius:6px;transition:all .15s}.search-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-toggle-btn.active{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.search-toggle-btn svg{width:14px;height:14px}.message-search-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.message-search-input-wrapper{display:flex;align-items:center;gap:8px;flex:1;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:8px 12px;transition:border-color .15s}.message-search-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.message-search-input-wrapper svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}.message-search-input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text-primary);outline:none}.message-search-input::placeholder{color:var(--muted)}.message-search-clear{background:none;border:none;padding:2px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:4px}.message-search-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.message-search-clear svg{width:12px;height:12px}.message-search-count{font-size:12px;color:var(--muted);white-space:nowrap}.message-highlight{background:color-mix(in oklab,#f59e0b 30%,transparent);color:inherit;border-radius:2px;padding:0 2px}.more-actions-container{position:relative}.more-actions-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1100;overflow:hidden}.more-action-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;font-size:14px;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s}.more-action-item:hover{background:var(--bg-hover)}.more-action-item svg{width:16px;height:16px;color:var(--muted)}.more-action-item--danger{color:#ef4444}.more-action-item--danger:hover{background:#ef44441a}.more-action-item--danger svg{color:#ef4444}.modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:2000}.convert-job-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:480px;max-width:90vw;max-height:90vh;background:var(--card);border-radius:12px;box-shadow:0 20px 50px #0000004d;z-index:2001;display:flex;flex-direction:column;overflow:hidden}.convert-job-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.convert-job-header h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;padding:6px;cursor:pointer;color:var(--muted);border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-close svg{width:18px;height:18px}.convert-job-body{padding:20px;overflow-y:auto;flex:1}.convert-job-info{margin:0 0 20px;padding:12px;background:var(--bg-subtle);border-radius:8px;font-size:14px;color:var(--muted)}.convert-field{margin-bottom:16px}.convert-field label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.convert-field select,.convert-field input{width:100%;padding:10px 12px;font-size:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);transition:border-color .15s,box-shadow .15s}.convert-field select:focus,.convert-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}.convert-field select:disabled,.convert-field input:disabled{opacity:.6;cursor:not-allowed}.convert-linked-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;background:var(--bg-subtle);border-radius:8px;margin-top:16px}.convert-linked-label{font-size:13px;color:var(--muted)}.convert-linked-item{display:inline-flex;align-items:center;padding:4px 10px;background:var(--primary-alpha);color:var(--primary);border-radius:12px;font-size:13px;font-weight:500}.convert-job-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-subtle)}.convert-job-footer .btn-secondary{padding:10px 20px;font-size:14px;font-weight:500;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:background .15s}.convert-job-footer .btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.convert-job-footer .btn-primary{padding:10px 20px;font-size:14px;font-weight:500;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .15s,opacity .15s}.convert-job-footer .btn-primary:hover:not(:disabled){background:var(--primary-hover)}.convert-job-footer button:disabled{opacity:.5;cursor:not-allowed}.convert-site-field{margin-bottom:16px}.convert-site-loading{padding:12px;font-size:13px;color:var(--muted);background:var(--bg-subtle);border-radius:8px;text-align:center}.convert-site-customer{margin-top:8px;padding:8px 12px;font-size:12px;color:var(--muted);background:var(--bg-subtle);border-radius:6px}.convert-site-field .site-selector{width:100%}.convert-site-field .site-selector .autocomplete-dropdown{max-height:200px}.idd-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px;text-align:center;color:var(--muted)}.idd-error-state svg{color:var(--danger);opacity:.7}.idd-error-state h3{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.idd-error-state p{margin:0;font-size:14px}.idd-error-close{margin-top:8px;padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.idd-error-close:hover{opacity:.9}.toggle-wrapper{display:inline-flex;cursor:pointer;user-select:none}.toggle-wrapper.toggle-disabled{opacity:.5;cursor:not-allowed}.toggle-content{display:flex;align-items:center;gap:10px}.toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.toggle-switch{position:relative;display:inline-flex;align-items:center;background:var(--border, #374151);border-radius:999px;transition:background-color .2s ease;flex-shrink:0;box-sizing:border-box}.toggle-switch.toggle-sm{width:36px;height:20px;min-width:36px;min-height:20px}.toggle-switch.toggle-md{width:44px;height:24px;min-width:44px;min-height:24px}.toggle-switch.toggle-lg{width:52px;height:28px;min-width:52px;min-height:28px}.toggle-slider{position:absolute;top:2px;left:2px;background:#fff;border-radius:50%;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 1px 3px #0003;box-sizing:border-box}.toggle-sm .toggle-slider{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px}.toggle-md .toggle-slider{width:20px;height:20px;min-width:20px;min-height:20px;max-width:20px;max-height:20px}.toggle-lg .toggle-slider{width:24px;height:24px;min-width:24px;min-height:24px;max-width:24px;max-height:24px}.toggle-input:checked+.toggle-switch{background:var(--accent, #8224E3)}.toggle-input:checked+.toggle-switch.toggle-sm .toggle-slider{transform:translate(16px)}.toggle-input:checked+.toggle-switch.toggle-md .toggle-slider{transform:translate(20px)}.toggle-input:checked+.toggle-switch.toggle-lg .toggle-slider{transform:translate(24px)}.toggle-input:focus-visible+.toggle-switch{outline:2px solid var(--accent, #8224E3);outline-offset:2px}.toggle-wrapper:not(.toggle-disabled):hover .toggle-slider{box-shadow:0 2px 8px #00000040}.toggle-labels{display:flex;flex-direction:column;gap:2px}.toggle-label{font-size:14px;font-weight:500;color:var(--text, #e5e7eb);line-height:1.2}.toggle-help{font-size:12px;color:var(--muted, #94a3b8)}[data-theme=dark] .toggle-slider,[data-theme=sentrac] .toggle-slider,[data-theme=gamer] .toggle-slider,[data-theme=christmas] .toggle-slider{background:#e5e7eb}[data-theme=retro] .toggle-slider{background:#0f0}[data-theme=retro] .toggle-switch{background:#0d1a0d;border:1px solid #00ff00}[data-theme=retro] .toggle-input:checked+.toggle-switch{background:#030}.create-item-drawer-content{display:flex;flex-direction:column;gap:0}.type-selector{display:flex;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.type-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;border:2px solid var(--border);border-radius:12px;background:transparent;cursor:pointer;transition:all .2s ease}.type-option:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 5%,transparent)}.type-option.selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.type-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .2s ease}.type-icon svg{width:24px;height:24px}.type-option.ticket .type-icon{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.type-option.ticket.selected .type-icon{background:#8b5cf6;color:#fff}.type-option.task .type-icon{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.type-option.task.selected .type-icon{background:#3b82f6;color:#fff}.type-label{font-size:14px;font-weight:600;color:var(--text)}.type-desc{font-size:12px;color:var(--muted);text-align:center}.create-form-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.form-label{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.form-label svg{width:16px;height:16px;color:var(--muted)}.form-label .required{color:var(--danger)}.form-input{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle);color:var(--text);font-size:14px;transition:all .15s ease}.form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.form-input::placeholder{color:var(--muted)}.form-textarea{min-height:120px;resize:vertical;line-height:1.5}.form-select{padding:12px 40px 12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle);color:var(--text);font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.customer-search-section{border:1px solid var(--border);border-radius:12px;overflow:hidden}.customer-search-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.customer-search-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.customer-search-header h4 svg{width:16px;height:16px;color:var(--accent)}.customer-toggle{display:flex;gap:4px}.customer-toggle-btn{padding:4px 10px;border:none;background:transparent;border-radius:4px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.customer-toggle-btn:hover{background:var(--surface-soft);color:var(--text)}.customer-toggle-btn.active{background:var(--card);color:var(--text);box-shadow:0 1px 2px #0000000d}.customer-search-body{padding:16px}.customer-search-input{position:relative}.customer-search-input svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted);pointer-events:none}.customer-search-input input{width:100%;padding:10px 12px 10px 38px}.customer-email-input{margin-top:12px}.customer-email-input label{font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px;display:block}.selected-customer{display:flex;align-items:center;gap:12px;padding:12px;background:color-mix(in oklab,var(--accent) 5%,var(--bg));border-radius:8px}.selected-customer-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.selected-customer-info{flex:1}.selected-customer-name{font-size:14px;font-weight:600;color:var(--text)}.selected-customer-email{font-size:12px;color:var(--muted)}.selected-customer-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.selected-customer-remove:hover{background:var(--surface-soft);color:var(--danger)}.selected-customer-remove svg{width:16px;height:16px}.customer-results{margin-top:12px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.customer-result-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease}.customer-result-item:last-child{border-bottom:none}.customer-result-item:hover{background:var(--surface-soft)}.customer-result-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.customer-result-info{flex:1}.customer-result-name{font-size:13px;font-weight:600;color:var(--text)}.customer-result-email{font-size:11px;color:var(--muted)}.privacy-toggle-group{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.privacy-toggle-group .toggle-wrapper{display:flex;width:100%;padding:12px 14px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:10px;transition:border-color .15s ease}.privacy-toggle-group .toggle-wrapper:hover{border-color:var(--accent-muted, #93c5fd)}.privacy-toggle-group .toggle-content{display:flex;align-items:center;width:100%;gap:14px}.privacy-toggle-group .toggle-labels{display:flex;flex-direction:column;justify-content:center;flex:1;gap:2px}.privacy-toggle-group .toggle-label,.privacy-toggle-group .toggle-help{line-height:1.3}@media (max-width: 600px){.type-selector{flex-direction:column}.form-row{grid-template-columns:1fr}}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.document-viewer-overlay{position:fixed;inset:0;background:#000000d9;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s ease-out}.document-viewer{background:var(--card-bg, #fff);border-radius:12px;width:100%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s ease-out;overflow:hidden}.document-viewer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--card-bg, #fff);flex-shrink:0}.document-viewer-title{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.document-viewer-title h3{margin:0;font-size:16px;font-weight:600;color:var(--fg, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-page-count{font-size:13px;color:var(--text-muted, #6b7280);background:var(--bg-subtle, #f3f4f6);padding:2px 8px;border-radius:12px;white-space:nowrap}.document-viewer-actions{display:flex;align-items:center;gap:4px}.document-viewer-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--text-muted, #6b7280);cursor:pointer;transition:all .15s ease}.document-viewer-btn:hover{background:var(--bg-subtle, #f3f4f6);color:var(--fg, #1f2937)}.document-viewer-close{margin-left:8px}.document-viewer-close:hover{background:#fee2e2;color:#dc2626}.zoom-level{font-size:13px;color:var(--text-muted, #6b7280);min-width:48px;text-align:center}.document-viewer-content{flex:1;overflow:hidden;position:relative;background:#525659}.document-viewer-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.document-viewer-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.document-viewer-loading p{margin:0;font-size:14px}.document-viewer-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;padding:24px}.document-viewer-error p{margin:0 0 8px}.document-viewer-error .error-detail{font-size:13px;opacity:.7;margin-bottom:16px}.document-viewer-error button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.document-viewer-error button:hover{background:#2563eb}.document-viewer-pdf{width:100%;height:100%;border:none;background:#525659}.document-viewer-image-container{width:100%;height:100%;overflow:auto;display:flex;align-items:center;justify-content:center;padding:24px}.document-viewer-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 4px 12px #0000004d;transition:transform .2s ease;transform-origin:center center}.document-viewer-unsupported{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.document-viewer-unsupported p{margin:0 0 16px}.document-viewer-unsupported button{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.document-viewer-unsupported button:hover{background:#2563eb}.document-viewer-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-top:1px solid var(--border-color, #e5e7eb);background:var(--card-bg, #fff);font-size:12px;color:var(--text-muted, #6b7280);flex-shrink:0;gap:12px}.document-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.meta-item{display:inline-flex;align-items:center;font-weight:500;color:var(--fg-muted, #64748b);letter-spacing:.01em}.meta-item:not(:last-child):after{content:"·";margin-left:6px;margin-right:2px;opacity:.4;font-weight:400}.category-badge{text-transform:capitalize;font-weight:500}.category-badge:after{display:none}.platform-badge{background:var(--surface-soft, #f1f5f9);color:var(--fg-muted, #64748b);padding:3px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--border, #e2e8f0)}@media (max-width: 768px){.document-viewer-overlay{padding:0}.document-viewer{border-radius:0;height:100vh;max-height:none}.document-viewer-header{padding:12px}.document-viewer-title h3{font-size:14px;max-width:150px}.document-page-count{display:none}.document-viewer-btn{width:32px;height:32px}.zoom-level{display:none}.document-viewer-footer{flex-direction:column;gap:4px;padding:8px 12px}.document-meta{flex-wrap:wrap;justify-content:center}}@media (prefers-color-scheme: dark){.document-viewer{background:#1f2937}.document-viewer-header{background:#1f2937;border-color:#374151}.document-viewer-title h3{color:#f9fafb}.document-page-count{background:#374151;color:#9ca3af}.document-viewer-btn{color:#9ca3af}.document-viewer-btn:hover{background:#374151;color:#f9fafb}.document-viewer-close:hover{background:#7f1d1d;color:#fca5a5}.document-viewer-footer{background:#1f2937;border-color:#374151;color:#9ca3af}.platform-badge{background:var(--surface-soft, rgba(255, 255, 255, .08));color:var(--fg-muted, #9ca3af);border-color:var(--border, #374151)}}.dark .document-viewer,[data-theme=dark] .document-viewer{background:#1f2937}.dark .document-viewer-header,[data-theme=dark] .document-viewer-header{background:#1f2937;border-color:#374151}.dark .document-viewer-title h3,[data-theme=dark] .document-viewer-title h3{color:#f9fafb}.dark .document-viewer-footer,[data-theme=dark] .document-viewer-footer{background:#1f2937;border-color:#374151;color:#9ca3af}.document-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--bg, #fff);border:1px solid var(--border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .15s ease}.document-card:hover{background:var(--surface-soft, #f8fafc);border-color:var(--primary, #3b82f6);box-shadow:0 2px 8px #0000000a}.document-card:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.document-card:active{transform:scale(.995)}.document-card.compact{padding:10px 14px;gap:12px}.document-card.compact .document-card-icon{width:36px;height:36px}.document-card.compact .doc-icon{width:18px;height:18px}.document-card.compact .document-card-name{font-size:13px}.document-card.compact .document-card-meta{margin-top:4px}.document-card-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--surface-soft, #f1f5f9);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.doc-icon{width:22px;height:22px}.doc-icon.pdf{color:#e11d48}.doc-icon.image{color:#059669}.doc-icon.file{color:#64748b}.doc-icon.book{color:#0284c7}.document-card-content{flex:1;min-width:0}.document-card-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.document-card-name{margin:0;font-size:14px;font-weight:600;color:var(--fg, #1e293b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.document-card-description{margin:4px 0 0;font-size:13px;color:var(--fg-muted, #64748b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.document-card-notes{margin:6px 0 0;font-size:12px;color:var(--fg-muted, #64748b);font-style:italic}.document-card-meta{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.meta-item{font-size:12px;font-weight:500;color:var(--fg-muted, #64748b);letter-spacing:.01em}.meta-item.pages{display:inline-flex;align-items:center;gap:3px;font-weight:600;color:var(--fg-dim, #94a3b8)}.meta-item.pages:before{content:"";display:inline-block;width:4px;height:4px;background:var(--fg-dim, #94a3b8);border-radius:50%;opacity:.5}.meta-item.category{text-transform:capitalize;color:var(--fg-muted, #64748b)}.meta-item:not(:first-child):not(.pages):before{content:"·";margin-right:6px;opacity:.4}.meta-item.pages:first-child:before{display:none}.document-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;border:1px solid}.document-badge.platform{background:var(--surface-soft, #f1f5f9);color:var(--fg-muted, #64748b);border-color:var(--border, #e2e8f0)}.document-badge.customer{background:color-mix(in srgb,#f59e0b 8%,transparent);color:#b45309;border-color:color-mix(in srgb,#f59e0b 20%,transparent)}.document-badge.site{background:color-mix(in srgb,#10b981 8%,transparent);color:#047857;border-color:color-mix(in srgb,#10b981 20%,transparent)}.document-badge.job{background:color-mix(in srgb,#8b5cf6 8%,transparent);color:#6d28d9;border-color:color-mix(in srgb,#8b5cf6 20%,transparent)}.document-card-arrow{flex-shrink:0;color:var(--fg-dim, #94a3b8);opacity:.4;transition:all .15s ease}.document-card:hover .document-card-arrow{opacity:.8;transform:translate(2px);color:var(--primary, #3b82f6)}.document-list.compact{gap:6px}.document-list-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--fg-muted, #64748b);font-size:14px}.document-list-loading .loading-spinner{width:20px;height:20px;border:2px solid var(--border, #e2e8f0);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.document-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 20px;color:var(--fg-muted, #64748b);font-size:14px;text-align:center}.document-list-empty .doc-icon{width:32px;height:32px;opacity:.4}@media (max-width: 480px){.document-card{padding:12px 14px;gap:12px}.document-card-icon{width:38px;height:38px}.doc-icon{width:20px;height:20px}.document-card-name{font-size:13px}.document-card-meta{gap:6px}.meta-item{font-size:11px}.document-badge{font-size:9px;padding:2px 6px}}[data-theme=dark] .document-card,[data-theme=christmas] .document-card,[data-theme=retro] .document-card,[data-theme=gamer] .document-card,[data-theme=sentrac] .document-card{background:var(--bg, #1e293b);border-color:var(--border, #334155)}[data-theme=dark] .document-card:hover,[data-theme=christmas] .document-card:hover,[data-theme=retro] .document-card:hover,[data-theme=gamer] .document-card:hover,[data-theme=sentrac] .document-card:hover{background:var(--surface-soft, #334155)}[data-theme=dark] .document-card-icon,[data-theme=christmas] .document-card-icon,[data-theme=retro] .document-card-icon,[data-theme=gamer] .document-card-icon,[data-theme=sentrac] .document-card-icon{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--border, #334155)}[data-theme=dark] .document-badge.platform,[data-theme=christmas] .document-badge.platform,[data-theme=retro] .document-badge.platform,[data-theme=gamer] .document-badge.platform,[data-theme=sentrac] .document-badge.platform{background:var(--surface-soft, rgba(255, 255, 255, .08));color:var(--fg-muted, #94a3b8);border-color:var(--border, #334155)}[data-theme=dark] .document-badge.customer,[data-theme=christmas] .document-badge.customer,[data-theme=retro] .document-badge.customer,[data-theme=gamer] .document-badge.customer,[data-theme=sentrac] .document-badge.customer{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#fcd34d;border-color:color-mix(in srgb,#f59e0b 25%,transparent)}[data-theme=dark] .document-badge.site,[data-theme=christmas] .document-badge.site,[data-theme=retro] .document-badge.site,[data-theme=gamer] .document-badge.site,[data-theme=sentrac] .document-badge.site{background:color-mix(in srgb,#10b981 15%,transparent);color:#6ee7b7;border-color:color-mix(in srgb,#10b981 25%,transparent)}[data-theme=dark] .document-badge.job,[data-theme=christmas] .document-badge.job,[data-theme=retro] .document-badge.job,[data-theme=gamer] .document-badge.job,[data-theme=sentrac] .document-badge.job{background:color-mix(in srgb,#8b5cf6 15%,transparent);color:#c4b5fd;border-color:color-mix(in srgb,#8b5cf6 25%,transparent)}.document-qa-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.document-qa-trigger:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.4)}.document-qa-trigger svg{opacity:.9}.document-qa{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.document-qa--compact{position:fixed;bottom:80px;right:20px;width:380px;max-width:calc(100vw - 40px);max-height:500px;z-index:1000;box-shadow:0 8px 32px #0003}.document-qa-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.document-qa-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--fg)}.document-qa-title svg{color:var(--primary)}.document-qa-equipment{font-weight:400;color:var(--fg-muted);font-size:12px;padding-left:8px;border-left:1px solid var(--border)}.document-qa-actions{display:flex;gap:4px}.document-qa-clear,.document-qa-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s}.document-qa-clear:hover,.document-qa-close:hover{background:var(--surface);color:var(--fg)}.document-qa-messages{flex:1;overflow-y:auto;padding:16px;min-height:200px;max-height:350px;display:flex;flex-direction:column;gap:16px}.document-qa-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--fg-muted)}.document-qa-empty-icon{opacity:.4;margin-bottom:12px}.document-qa-empty p{margin:0 0 16px;font-size:14px}.document-qa-suggestions{width:100%}.suggestions-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);margin-bottom:8px}.suggestions-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.suggestion-chip{padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:16px;font-size:12px;color:var(--fg);cursor:pointer;transition:all .15s}.suggestion-chip:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.document-qa-message{display:flex}.message-content{display:flex;gap:10px;max-width:100%}.message-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;text-transform:uppercase;background:var(--surface);color:var(--fg-muted);border:1px solid var(--border)}.message-avatar--ai{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff;border:none}.message-avatar--error{background:var(--error);color:#fff;border:none}.document-qa-message--user .message-content{flex-direction:row-reverse}.document-qa-message--user .message-text{background:var(--primary);color:#fff;border-radius:16px 16px 4px;padding:10px 14px;font-size:14px;line-height:1.4}.document-qa-message--assistant .message-body,.document-qa-message--error .message-text{flex:1}.document-qa-message--assistant .message-text{background:var(--surface-soft);border:1px solid var(--border);border-radius:4px 16px 16px;padding:12px 14px;font-size:14px;line-height:1.5;white-space:pre-wrap}.document-qa-message--error .message-text{background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);color:var(--error);border-radius:4px 16px 16px;padding:10px 14px;font-size:14px}.message-content--error{max-width:100%}.message-sources{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.sources-label{font-size:11px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.3px}.source-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:11px;color:var(--fg);cursor:default;transition:all .15s ease}.source-chip.clickable{cursor:pointer}.source-chip.clickable:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.source-chip.clickable:hover .source-doc-name,.source-chip.clickable:hover .source-page,.source-chip.clickable:hover .source-relevance{color:#fff}.source-doc-name{font-weight:500;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-page{font-weight:600;color:var(--primary);padding:1px 4px;background:color-mix(in srgb,var(--primary) 15%,transparent);border-radius:3px}.source-chip.clickable:hover .source-page{background:#fff3}.source-relevance{font-size:10px;color:var(--fg-muted);opacity:.7}.inline-citation{display:inline;padding:1px 6px;margin:0 1px;background:color-mix(in srgb,var(--primary) 15%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:4px;font-size:12px;font-weight:600;color:var(--primary);cursor:pointer;transition:all .15s ease;vertical-align:baseline;font-family:inherit}.inline-citation:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px rgba(var(--primary-rgb),.3)}.inline-citation:active{transform:translateY(0)}.message-meta{display:flex;gap:12px;margin-top:6px;font-size:11px;color:var(--fg-dim)}.document-qa-message--loading .message-text{padding:10px 14px}.loading-dots{display:inline-flex;gap:2px}.loading-dots span{animation:loadingDot 1.4s infinite;font-size:18px;font-weight:700;color:var(--primary)}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,60%,to{opacity:.3}30%{opacity:1}}.document-qa-input{display:flex;gap:8px;padding:12px 16px;background:var(--surface-soft);border-top:1px solid var(--border)}.document-qa-input input{flex:1;padding:10px 14px;border:1px solid var(--border);border-radius:20px;background:var(--bg);color:var(--fg);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.document-qa-input input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}.document-qa-input input::placeholder{color:var(--fg-dim)}.document-qa-input button{width:40px;height:40px;border-radius:50%;border:none;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.document-qa-input button:hover:not(:disabled){background:var(--primary-dark, #2563eb);transform:scale(1.05)}.document-qa-input button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.document-qa--compact{bottom:70px;right:10px;left:10px;width:auto;max-height:60vh}.document-qa-messages{max-height:45vh}.suggestions-list{flex-direction:column}.suggestion-chip{width:100%;text-align:left}}.job-detail-qa-section{margin-top:16px}.job-detail-qa-section .document-qa{border-radius:8px}.job-detail-qa-section .document-qa-messages{min-height:150px;max-height:280px}.document-qa-history-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s;font-size:12px}.document-qa-history-btn:hover{background:var(--surface);color:var(--fg);border-color:var(--border-hover, var(--border))}.history-count{display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--primary);color:#fff;border-radius:8px;font-size:10px;font-weight:600}.document-qa-history-panel{border-bottom:1px solid var(--border);background:var(--surface-soft);padding:12px;max-height:200px;overflow-y:auto}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.3px}.new-chat-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--primary);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:500;text-transform:none;cursor:pointer;transition:all .15s}.new-chat-btn:hover{background:var(--primary-dark, #2563eb)}.history-loading,.history-empty{padding:16px;text-align:center;color:var(--fg-muted);font-size:13px}.history-list{display:flex;flex-direction:column;gap:6px}.history-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left;width:100%}.history-item:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--bg))}.history-item.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--bg))}.history-item-title{font-size:13px;font-weight:500;color:var(--fg);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-meta{font-size:11px;color:var(--fg-muted)}.section-count{margin-left:auto;font-size:.75rem;font-weight:500;background:var(--primary-light, #dbeafe);color:var(--primary, #2563eb);padding:2px 8px;border-radius:12px}.source-ticket-link{display:inline-flex;align-items:center;font-family:SF Mono,Monaco,Cascadia Code,Consolas,monospace;font-size:.8125rem;background:rgba(var(--accent-rgb),.1);color:var(--accent);padding:2px 8px;border-radius:4px;text-decoration:none;cursor:pointer;transition:all .15s ease}.source-ticket-link:hover{background:rgba(var(--accent-rgb),.2);text-decoration:underline}.source-ticket-link svg{opacity:.7}.service-type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600;background:color-mix(in oklab,#3b82f6 15%,transparent);color:#60a5fa}.timeline-icon--xero{background:color-mix(in oklab,#13B5EA 15%,transparent);color:#13b5ea}@media (max-width: 480px){.job-detail-dl{grid-template-columns:1fr;gap:4px 0}.job-detail-label{margin-bottom:-2px}.job-detail-value{margin-bottom:8px}.photo-grid{grid-template-columns:repeat(3,1fr)}}.job-detail-ai-btn{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:linear-gradient(135deg,var(--primary) 0%,#2563eb 100%);color:#fff;border:none;border-radius:14px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}.job-detail-ai-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #2563eb66}.job-detail-ai-btn svg{opacity:.9}.collapse-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--fg-dim, #64748b);cursor:pointer;transition:all .15s ease;margin-right:4px;flex-shrink:0}.collapse-toggle:hover{background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg)}.collapse-toggle svg{transition:transform .2s ease}.collapse-toggle.collapsed svg{transform:rotate(-90deg)}.job-detail-section-header.clickable{cursor:pointer;border-radius:6px;margin:-8px;padding:8px;transition:background .15s ease}.job-detail-section-header.clickable:hover{background:var(--surface-soft, rgba(148, 163, 184, .05))}.job-detail-section.collapsed{margin-bottom:12px}.job-detail-qa-section{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}.job-detail-section{margin-bottom:28px}.job-detail-section:last-child{margin-bottom:0}.job-detail-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.job-detail-section-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--fg, var(--text))}.job-detail-section-icon{width:18px;height:18px;color:var(--fg-dim, #64748b);flex-shrink:0}.job-detail-dl{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin:0}.job-detail-label{font-size:.8125rem;color:var(--fg-dim, #64748b);align-self:center}.job-detail-value{font-size:.875rem;color:var(--fg, var(--text));margin:0;align-self:center}.job-detail-value--muted{color:var(--fg-muted, #94a3b8);font-style:italic}.job-detail-value--mono{font-family:SF Mono,Monaco,Cascadia Code,Consolas,monospace;font-size:.8125rem;background:var(--surface-soft, rgba(148, 163, 184, .08));padding:2px 8px;border-radius:4px;display:inline-block}.job-detail-value--strong{font-weight:600}.job-detail-value--success{color:var(--success, #22c55e);font-weight:600}.service-type-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.service-type-badge--fill{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#60a5fa}.service-type-badge--flm{background:color-mix(in oklab,#10b981 15%,transparent);color:#34d399}.service-type-badge--slm{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#fbbf24}.service-type-badge--airside{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#a78bfa}.service-type-badge--default{background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg-dim)}.priority-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.priority-badge--urgent{background:color-mix(in oklab,#ef4444 15%,transparent);color:#f87171}.priority-badge--high{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#fbbf24}.priority-badge--normal{background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg-dim)}.priority-badge--low{background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg-muted)}.cassette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.cassette-card{padding:14px;background:var(--surface-soft, rgba(148, 163, 184, .08));border:1px solid var(--border);border-radius:8px;text-align:center}.cassette-card-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);margin:0 0 8px}.cassette-card-amount{font-size:1.25rem;font-weight:700;color:var(--success, #22c55e);margin:0 0 4px}.cassette-card-seal{font-size:.75rem;font-family:SF Mono,Monaco,monospace;color:var(--fg-dim)}.distance-card{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 8%,transparent),color-mix(in oklab,var(--success, #22c55e) 8%,transparent));border:1px solid color-mix(in oklab,var(--accent) 20%,var(--border));border-radius:8px;margin-top:10px}.distance-label{font-size:.875rem;font-weight:500;color:var(--fg-dim)}.distance-value{font-size:1rem;font-weight:600;color:var(--accent)}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.timeline-content{flex:1;padding-top:4px}.timeline-description{font-size:.8125rem;color:var(--fg-dim, #64748b);margin:0 0 2px}@media (max-width: 480px){.job-detail-dl{grid-template-columns:1fr;gap:4px 0}.job-detail-label{margin-bottom:-2px}.job-detail-value{margin-bottom:8px}.cassette-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(3,1fr)}}.job-detail--compact .job-detail-section{margin-bottom:20px}.job-detail--compact .job-detail-section-header{margin-bottom:10px}.job-detail--compact .job-detail-section-header h3{font-size:.9375rem}.job-detail--compact .job-detail-dl{grid-template-columns:110px 1fr;gap:8px 12px}.job-detail--compact .job-detail-label{font-size:.75rem}.job-detail--compact .job-detail-value{font-size:.8125rem}.job-detail--compact .timeline-item{padding:10px 0}.job-detail--compact .timeline-icon{width:28px;height:28px}.job-detail--compact .timeline-icon svg{width:14px;height:14px}.job-detail--compact .timeline-title{font-size:.8125rem}.job-detail--compact .timeline-description{font-size:.75rem}.job-detail--compact .cassette-card{padding:10px}.job-detail--compact .cassette-card-amount{font-size:1.125rem}.job-detail--compact .gps-card{padding:10px 12px}.job-detail--compact .photo-grid{grid-template-columns:repeat(4,1fr);gap:8px}.job-detail--compact .photo-item{border-radius:6px}.dropdown{display:flex;flex-direction:column;gap:6px;width:100%;position:relative;margin-bottom:16px}.dropdown__label{font-size:13px;font-weight:500;color:var(--text, var(--fg));letter-spacing:0;display:flex;align-items:center;gap:4px}.dropdown__label-required{color:#ef4444;font-size:14px;font-weight:700}.dropdown__container{position:relative;display:flex;align-items:center;gap:8px}.dropdown__select{width:100%;min-height:32px;padding:6px 36px 6px 12px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:4px;font-size:14px;font-weight:400;color:var(--fg, var(--text));font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888888' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}@media (prefers-color-scheme: dark){.dropdown__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23aaaaaa' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}}.dropdown__select option{background:var(--card, var(--card-bg));color:var(--fg, var(--text));padding:8px}.dropdown__select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 12%,transparent)}.dropdown__select:hover:not(:disabled){border-color:var(--border-hover, #9ca3af)}.dropdown__select--error,.dropdown__select--error:focus{border-color:#ef4444!important}.dropdown__select--error:focus{box-shadow:0 0 0 3px #ef44441a!important}.dropdown--error .dropdown__label{color:#ef4444}.dropdown__select:disabled{background:var(--card, var(--card-bg));color:var(--muted, #9ca3af);cursor:not-allowed;opacity:.6}.dropdown--disabled .dropdown__label{color:#9ca3af}.dropdown__custom{position:relative;width:100%}.dropdown__trigger{width:100%;min-height:44px;padding:10px 36px 10px 12px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:400;color:var(--text, var(--fg));font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}.dropdown__trigger:hover:not(:disabled){border-color:var(--border-hover, #9ca3af)}.dropdown__trigger:focus,.dropdown--open .dropdown__trigger{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.dropdown__trigger:disabled{background:var(--card, var(--card-bg));color:var(--muted, #9ca3af);cursor:not-allowed;opacity:.6}.dropdown__trigger-value{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown__trigger-placeholder{flex:1;color:var(--muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown__arrow{font-size:10px;color:var(--muted, #6b7280);transition:transform .2s ease;flex-shrink:0}.dropdown--open .dropdown__arrow{transform:rotate(180deg)}.dropdown__clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.dropdown__clear:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 8%,var(--card));color:var(--text, #111827)}.dropdown__clear:active{transform:translateY(-50%) scale(.95)}.dropdown__clear:disabled{opacity:.4;cursor:not-allowed}.dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:1000;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.dropdown__search{padding:8px;border-bottom:1px solid var(--border)}.dropdown__search-input{width:100%;padding:8px 12px;background:var(--bg, var(--bg));border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text, var(--fg));outline:none;transition:border-color .2s ease}.dropdown__search-input:focus{border-color:var(--accent)}.dropdown__search-input::placeholder{color:var(--muted, #9ca3af)}.dropdown__list{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1}.dropdown__option{padding:10px 12px;font-size:14px;color:var(--text, var(--fg));cursor:pointer;border-radius:6px;transition:background .15s ease;display:flex;align-items:center;justify-content:space-between;gap:8px}.dropdown__option:hover{background:color-mix(in oklab,var(--accent) 8%,var(--card))}.dropdown__option--selected{background:var(--accent-light, color-mix(in oklab, var(--accent) 10%, transparent));color:var(--accent);font-weight:500}.dropdown__option--empty{color:var(--muted, #9ca3af);cursor:default;font-style:italic}.dropdown__option--empty:hover{background:transparent}.dropdown__check{font-size:16px;color:var(--accent);flex-shrink:0}.dropdown__help-text{font-size:12px;font-weight:400;color:var(--muted, var(--fg-dim));line-height:1.4}.dropdown__error-text{font-size:12px;font-weight:500;color:#ef4444;line-height:1.4}@media (max-width: 768px){.dropdown__select,.dropdown__trigger{font-size:16px;min-height:48px}.dropdown__menu{max-height:250px}}@media (prefers-contrast: high){.dropdown__select,.dropdown__trigger{border-width:2px}.dropdown__select:focus,.dropdown__trigger:focus{border-width:3px}}.parts-used-field{margin-bottom:1rem}.parts-used-field.readonly{pointer-events:none}.parts-used-label{display:block;font-size:.875rem;font-weight:500;color:var(--fg);margin-bottom:.5rem}.parts-used-table-wrapper{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:.75rem}.parts-used-table{width:100%;border-collapse:collapse;font-size:.875rem}.parts-used-table th{background:var(--bg-muted, #f8f9fa);padding:.5rem .75rem;text-align:left;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;color:var(--fg-muted, #6b7280);border-bottom:1px solid var(--border)}.parts-used-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light, #e5e7eb);vertical-align:middle}.parts-used-table tbody tr:last-child td{border-bottom:none}.parts-used-table tbody tr:hover{background:var(--bg-hover, rgba(0,0,0,.02))}.col-description{min-width:200px}.col-qty{width:80px;text-align:center}.col-unit{width:90px}.col-price,.col-total{width:100px;text-align:right}.col-actions{width:40px;text-align:center}.part-input{width:100%;padding:.375rem .5rem;font-size:.875rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--fg);transition:border-color .15s,background .15s}.part-input:hover{background:var(--bg);border-color:var(--border)}.part-input:focus{outline:none;background:var(--bg);border-color:var(--primary, #0ea5e9);box-shadow:0 0 0 2px #0ea5e91a}.part-description{min-width:180px}.part-qty{width:60px;text-align:center}.part-unit{width:80px;padding:.375rem .25rem}.part-price{width:70px;text-align:right;padding-left:.25rem}.price-input-wrapper{display:flex;align-items:center;gap:.125rem}.price-prefix{color:var(--fg-muted, #6b7280);font-size:.875rem}.part-code-badge{display:inline-block;font-size:.625rem;background:var(--bg-muted, #f3f4f6);color:var(--fg-muted, #6b7280);padding:.125rem .375rem;border-radius:4px;margin-left:.5rem;font-family:monospace}.line-total{font-weight:500;color:var(--fg)}.part-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--fg-muted, #9ca3af);border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.part-remove-btn:hover{background:#fee2e2;color:#ef4444}.parts-used-table tfoot td{padding:.75rem;background:var(--bg-muted, #f8f9fa);font-weight:600;border-top:2px solid var(--border)}.total-label{text-align:right;color:var(--fg-muted, #6b7280)}.grand-total{text-align:right;color:var(--fg);font-size:1rem}.parts-used-empty{text-align:center;padding:1.5rem;background:var(--bg-muted, #f8f9fa);border:1px dashed var(--border);border-radius:8px;margin-bottom:.75rem}.parts-used-empty p{margin:0;color:var(--fg-muted, #6b7280);font-size:.875rem}.parts-used-add-section{margin-top:.5rem}.add-part-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--primary, #0ea5e9);background:transparent;border:1px dashed var(--primary, #0ea5e9);border-radius:6px;cursor:pointer;transition:background .15s,border-style .15s}.add-part-btn:hover{background:#0ea5e90d;border-style:solid}.add-part-form{background:var(--bg-muted, #f8f9fa);border:1px solid var(--border);border-radius:8px;padding:1rem}.add-part-row{margin-bottom:.75rem}.add-part-search{width:100%}.add-part-input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)}.add-part-input:focus{outline:none;border-color:var(--primary, #0ea5e9);box-shadow:0 0 0 2px #0ea5e91a}.add-part-description{margin-bottom:.75rem}.selected-part-preview{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;margin-bottom:.75rem}.selected-part-name{font-weight:500;color:var(--fg)}.add-part-details{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.add-part-qty-group,.add-part-unit-group,.add-part-price-group{display:flex;flex-direction:column;gap:.25rem}.add-part-qty-group label,.add-part-unit-group label,.add-part-price-group label{font-size:.75rem;font-weight:500;color:var(--fg-muted, #6b7280)}.add-part-qty{width:80px}.add-part-unit{width:100px}.add-part-price{width:80px}.add-part-price-group .price-input-wrapper{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding-left:.5rem}.add-part-price-group .price-input-wrapper input{border:none;padding:.5rem .75rem .5rem 0}.add-part-price-group .price-input-wrapper input:focus{box-shadow:none}.add-part-actions{display:flex;gap:.5rem;justify-content:flex-end}.add-part-cancel-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--fg-muted, #6b7280);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .15s}.add-part-cancel-btn:hover{background:var(--bg)}.add-part-confirm-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#fff;background:var(--primary, #0ea5e9);border:none;border-radius:6px;cursor:pointer;transition:background .15s}.add-part-confirm-btn:hover:not(:disabled){background:var(--primary-hover, #0284c7)}.add-part-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.catalog-option{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;width:100%}.catalog-option-code{font-family:monospace;font-size:.75rem;background:var(--bg-muted, #f3f4f6);padding:.125rem .375rem;border-radius:4px;color:var(--fg-muted, #6b7280)}.catalog-option-name{flex:1;color:var(--fg)}.catalog-option-price{font-weight:500;color:var(--success, #10b981)}.parts-used-help{font-size:.75rem;color:var(--fg-muted, #6b7280);margin-top:.25rem}@media (max-width: 640px){.parts-used-table-wrapper{overflow-x:auto}.parts-used-table{min-width:500px}.add-part-details{flex-direction:column;gap:.75rem}.add-part-qty-group,.add-part-unit-group,.add-part-price-group{flex-direction:row;align-items:center;gap:.5rem}.add-part-qty-group label,.add-part-unit-group label,.add-part-price-group label{width:80px}.add-part-qty,.add-part-unit,.add-part-price{flex:1}}@media (prefers-color-scheme: dark){.parts-used-table th,.parts-used-table tfoot td,.parts-used-empty,.add-part-form{background:var(--bg-muted, #1f2937)}.part-remove-btn:hover{background:#ef444433}.part-code-badge,.catalog-option-code{background:var(--bg-muted, #374151)}}.reschedule-drawer-content{display:flex;flex-direction:column;gap:16px;padding-bottom:16px}.reschedule-user-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.reschedule-user-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),color-mix(in oklab,var(--accent) 60%,#000));color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0}.reschedule-user-info{flex:1;min-width:0}.reschedule-user-name{font-size:16px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reschedule-user-label{font-size:13px;color:var(--fg-muted);margin-top:2px}.reschedule-unassigned-notice{padding:12px 16px;background:color-mix(in oklab,#f59e0b 10%,var(--bg));border:1px solid #f59e0b;border-radius:8px;color:var(--fg);font-size:14px}.reschedule-calendar-section{background:var(--card-bg);border-radius:12px;border:1px solid var(--border);overflow:hidden}.reschedule-legend{display:flex;gap:16px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface);justify-content:center}.reschedule-legend-item{display:flex;align-items:center;gap:6px}.reschedule-legend-dot{width:8px;height:8px;border-radius:50%}.reschedule-legend-label{font-size:12px;color:var(--fg-muted)}.reschedule-day-detail{background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reschedule-day-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.reschedule-day-header h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.reschedule-day-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.reschedule-day-close:hover{background:var(--surface-soft);border-color:var(--accent)}.reschedule-day-jobs{padding:16px}.reschedule-day-jobs-label{font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.reschedule-day-empty{padding:24px 16px;text-align:center;color:var(--fg-muted);font-size:14px}.reschedule-job-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px}.reschedule-job-card:last-child{margin-bottom:0}.reschedule-job-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.reschedule-job-module-badge{font-size:10px;font-weight:700;color:#fff;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.reschedule-job-time{font-size:13px;font-weight:500;color:var(--fg)}.reschedule-job-card-body{display:flex;flex-direction:column;gap:4px}.reschedule-job-reference{font-size:14px;font-weight:600;color:var(--fg)}.reschedule-job-location{font-size:13px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reschedule-job-status{font-size:12px;color:var(--fg-dim)}.reschedule-time-section{padding:16px;border-top:1px solid var(--border)}.reschedule-time-label{font-size:13px;font-weight:600;color:var(--fg);margin-bottom:12px}.reschedule-time-inputs{display:flex;gap:12px}.reschedule-time-field{flex:1}.reschedule-time-field label{display:block;font-size:12px;color:var(--fg-muted);margin-bottom:6px}.reschedule-time-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:15px;color-scheme:dark light}.reschedule-time-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}[data-theme=dark] .reschedule-time-input{color-scheme:dark}[data-theme=dark] .reschedule-time-input::-webkit-calendar-picker-indicator{filter:invert(1)}.reschedule-selected-summary{padding:16px;background:color-mix(in oklab,var(--accent) 10%,var(--bg));border:1px solid var(--accent);border-radius:12px;cursor:pointer;transition:all .15s ease}.reschedule-selected-summary:hover{background:color-mix(in oklab,var(--accent) 15%,var(--bg))}.reschedule-selected-date{font-size:16px;font-weight:600;color:var(--fg);margin-bottom:4px}.reschedule-selected-time{font-size:14px;color:var(--fg-muted)}.reschedule-tap-hint{font-size:12px;color:var(--accent);margin-top:8px}.reschedule-footer{display:flex;gap:8px;justify-content:flex-end}@media (max-width: 480px){.reschedule-user-header{padding:12px}.reschedule-user-avatar{width:40px;height:40px;font-size:16px}.reschedule-user-name{font-size:15px}.reschedule-legend{flex-wrap:wrap;gap:12px}.reschedule-day-header h3{font-size:14px}.reschedule-time-inputs{flex-direction:column;gap:12px}}.storeio-insights-panel{display:flex;flex-direction:column;gap:16px;height:100%;overflow-y:auto;padding:12px}.storeio-insights-panel--loading{padding:0}.storeio-insights-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--cc-border, rgba(255, 255, 255, .06));flex-shrink:0}.storeio-insights-header-icon{color:var(--accent, #8b5cf6)}.storeio-insights-header-title{font-size:.8rem;font-weight:600;color:var(--fg, #ffffff);flex:1}.storeio-insights-header-period{font-size:.7rem;font-weight:500;color:var(--accent, #8b5cf6);background:#8b5cf61a;padding:3px 8px;border-radius:4px}.storeio-insights-section{background:var(--cc-surface, var(--bg-secondary, #1a1a2e));border-radius:10px;border:1px solid var(--cc-border, rgba(255, 255, 255, .06));padding:12px}.storeio-insights-section--movements{flex:1;overflow:hidden;display:flex;flex-direction:column}.storeio-insights-title{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;color:var(--fg-dim, #a0a0a0);margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}.storeio-insights-title svg{color:var(--accent, #8b5cf6);opacity:.8}.storeio-summary-grid{display:flex;flex-direction:column;gap:8px}.storeio-summary-row{display:flex;gap:8px}.storeio-tile{flex:1;display:flex;align-items:flex-start;gap:8px;padding:10px;background:#0003;border-radius:8px;border:1px solid transparent;transition:all .2s ease}.storeio-tile:hover{background:#0000004d}.storeio-tile--wide{flex-direction:row;align-items:center;justify-content:flex-start}.storeio-tile--wide .storeio-tile-content{flex-direction:row;align-items:center;gap:8px}.storeio-tile--wide .storeio-tile-label{margin-right:4px}.storeio-tile-qty{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--fg-dim, #a0a0a0);background:#ffffff0d;padding:4px 8px;border-radius:4px}.storeio-tile--issues{border-color:#10b98133}.storeio-tile--issues .storeio-tile-icon{background:#10b98126;color:#10b981}.storeio-tile--returns{border-color:#f59e0b33}.storeio-tile--returns .storeio-tile-icon{background:#f59e0b26;color:#f59e0b}.storeio-tile--net{border-color:#3b82f633}.storeio-tile--net .storeio-tile-icon{background:#3b82f626;color:#3b82f6}.storeio-tile-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.storeio-tile-content{display:flex;flex-direction:column;gap:2px;min-width:0}.storeio-tile-label{font-size:.65rem;font-weight:500;color:var(--fg-dim, #a0a0a0);text-transform:uppercase;letter-spacing:.3px}.storeio-tile-value{font-size:1rem;font-weight:700;color:var(--fg, #ffffff);line-height:1.2}.storeio-tile-meta{font-size:.65rem;color:var(--fg-dim, #a0a0a0);opacity:.8}.storeio-cc-list{display:flex;flex-direction:column;gap:8px}.storeio-cc-item{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.storeio-cc-info{display:flex;justify-content:space-between;align-items:center;gap:8px}.storeio-cc-name{font-size:.75rem;font-weight:500;color:var(--fg, #ffffff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storeio-cc-value{font-size:.7rem;font-weight:600;color:var(--fg-dim, #a0a0a0);white-space:nowrap}.storeio-cc-bar-bg{grid-column:1 / -1;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.storeio-cc-bar{height:100%;background:linear-gradient(90deg,#8b5cf6,#a855f7);border-radius:2px;transition:width .3s ease}.storeio-cc-percent{font-size:.65rem;font-weight:600;color:var(--fg-dim, #a0a0a0);min-width:32px;text-align:right}.storeio-movements-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.storeio-movement-item{display:flex;align-items:flex-start;gap:8px;padding:8px;background:#00000026;border-radius:6px;transition:background .15s ease}.storeio-movement-item:hover{background:#00000040}.storeio-movement-icon{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.storeio-movement-icon--issue{background:#10b98126;color:#10b981}.storeio-movement-icon--return{background:#f59e0b26;color:#f59e0b}.storeio-movement-content{flex:1;min-width:0}.storeio-movement-main{display:flex;align-items:baseline;gap:6px}.storeio-movement-type{font-size:.7rem;font-weight:600;color:var(--fg, #ffffff)}.storeio-movement-items{font-size:.7rem;color:var(--fg-dim, #a0a0a0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storeio-movement-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.storeio-movement-cc{font-size:.6rem;font-weight:500;color:var(--accent, #8b5cf6);background:#8b5cf61a;padding:1px 5px;border-radius:3px}.storeio-movement-time{font-size:.6rem;color:var(--fg-dim, #a0a0a0);opacity:.7}.storeio-section-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px 12px;color:var(--fg-dim, #a0a0a0);background:#0000001a;border-radius:6px}.storeio-section-empty svg{opacity:.4}.storeio-section-empty span{font-size:.75rem;opacity:.7}.storeio-insights-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;text-align:center;color:var(--fg-dim, #a0a0a0)}.storeio-insights-empty svg{opacity:.3}.storeio-insights-empty p{margin:0;font-size:.8rem}.storeio-insights-skeleton{display:flex;flex-direction:column;gap:16px}.skeleton-tiles{display:flex;gap:8px}.skeleton-tile{flex:1;height:70px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f,#ffffff08 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}.skeleton-section{height:120px;background:linear-gradient(90deg,#ffffff08 25%,#ffffff0f,#ffffff08 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:8px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.cc-container{--cc-bg: var(--bg);--cc-card-bg: var(--card-bg);--cc-surface: var(--surface, var(--card-bg));--cc-surface-hover: var(--surface-hover, color-mix(in oklab, var(--accent) 10%, var(--card-bg)));--cc-text: var(--fg);--cc-text-muted: var(--muted);--cc-border: var(--border);--cc-accent: var(--accent);--cc-critical: #ef4444;--cc-critical-bg: rgba(239, 68, 68, .12);--cc-warning: #f59e0b;--cc-warning-bg: rgba(245, 158, 11, .1);--cc-success: #10b981;--cc-info: #3b82f6;--cc-radius: 12px;--cc-radius-sm: 8px;--cc-transition: .2s cubic-bezier(.4, 0, .2, 1);--cc-shadow: 0 1px 3px rgba(0,0,0,.1), 0 2px 8px rgba(0,0,0,.05)}.cc-container{min-height:100vh;background:var(--cc-bg);color:var(--cc-text);padding:0 24px 24px}.page-layout__content:has(.cc-container){max-width:100%!important;padding:0!important}.cc-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:12px;color:var(--cc-text-muted)}.cc-spin{animation:cc-spin 1s linear infinite}@keyframes cc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cc-header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--cc-border);margin-bottom:20px}.cc-header-left h1{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.cc-timestamp{font-size:.75rem;color:var(--cc-text-muted);margin-top:2px}.cc-header-actions{display:flex;gap:8px;align-items:center}.cc-header-layout-controls{display:flex;gap:8px;margin-right:8px}.cc-grid-container{min-height:calc(100vh - 140px);width:100%}.cc-grid-layout{min-height:calc(100vh - 140px)}.cc-grid-layout--editing{background:repeating-linear-gradient(0deg,transparent,transparent 29px,rgba(var(--accent-rgb, 59, 130, 246),.03) 30px)}.cc-grid-item{height:100%}.cc-grid-panel{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--cc-shadow);height:100%}.cc-grid-panel-body{flex:1;min-height:0;overflow-y:auto}.cc-drag-handle{cursor:grab}.cc-drag-handle:active{cursor:grabbing}.cc-drag-icon{color:var(--cc-text-muted);opacity:.5;margin-right:4px}.cc-grid-layout--editing .cc-grid-panel{border-color:rgba(var(--accent-rgb, 59, 130, 246),.3)}.cc-grid-layout--editing .cc-drag-handle{background:rgba(var(--accent-rgb, 59, 130, 246),.05)}.react-grid-item.react-grid-placeholder{background:rgba(var(--accent-rgb, 59, 130, 246),.15);border-radius:var(--cc-radius);border:2px dashed rgba(var(--accent-rgb, 59, 130, 246),.4)}.react-grid-item>.react-resizable-handle{background:transparent}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-right:2px solid var(--cc-text-muted);border-bottom:2px solid var(--cc-text-muted);opacity:.4}.cc-grid-layout--editing .react-grid-item>.react-resizable-handle:after{opacity:.8;border-color:var(--cc-accent)}.cc-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;color:var(--cc-text-muted);font-size:.6875rem;gap:6px;height:100%}.cc-panel-header{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--cc-border);font-size:.75rem;font-weight:600}.cc-panel-header--small{padding:8px 12px;font-size:.6875rem}.cc-panel-header--clickable{cursor:pointer;user-select:none;transition:background var(--cc-transition)}.cc-panel-header--clickable:hover{background:#ffffff0a}.cc-section-toggle{color:var(--cc-text-muted);display:flex;align-items:center;margin-left:auto;transition:transform .2s ease}.cc-section-toggle--open{transform:rotate(180deg)}.cc-section--collapsed{flex:0 0 auto!important}.cc-panel-header--highlight{background:#3b82f61f;border-bottom-color:#3b82f64d}.cc-clear-date-btn{background:#ffffff1a;border:none;padding:4px;cursor:pointer;color:var(--cc-text-muted);border-radius:4px;transition:all var(--cc-transition);display:flex;align-items:center;justify-content:center;margin-left:4px}.cc-clear-date-btn:hover{background:#fff3;color:var(--cc-text)}.cc-panel-icon{color:var(--cc-info);flex-shrink:0}.cc-panel-icon--attention{color:var(--cc-warning)}.cc-panel-title{flex:1}.cc-panel-badge{font-size:.6875rem;font-weight:600;background:#3b82f626;color:var(--cc-info);padding:2px 8px;border-radius:10px}.cc-left-column{display:flex;flex-direction:column;gap:12px;min-height:0}.cc-left-column--collapsed{width:48px}.cc-recent-activity-panel{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);overflow:hidden;box-shadow:var(--cc-shadow);flex-shrink:0}.cc-panel-icon--activity{color:#10b981}.cc-panel-badge--activity{background:#10b98126;color:#10b981}.cc-recent-activity-content{padding:6px;max-height:180px;overflow-y:auto}.cc-recent-activity-empty{padding:12px;text-align:center;color:var(--cc-text-muted);font-size:.6875rem}.cc-activity-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background var(--cc-transition)}.cc-activity-item:hover{background:var(--cc-surface-hover)}.cc-activity-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;background:#ffffff0d}.cc-activity-content{flex:1;min-width:0;display:flex;flex-direction:column}.cc-activity-title{font-size:.6875rem;font-weight:500;color:var(--cc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-activity-subtitle{font-size:.5625rem;color:var(--cc-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-activity-time{flex-shrink:0;font-size:.5625rem;color:var(--cc-text-muted);opacity:.7}.cc-map-panel{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--cc-shadow);transition:all var(--cc-transition);flex:1;min-height:0}.cc-map-panel--collapsed{width:48px}.cc-map-panel--collapsed .cc-panel-header{padding:12px 8px;flex-direction:column;gap:4px}.cc-map-panel--collapsed .cc-panel-title,.cc-map-panel--collapsed .cc-panel-badge{display:none}.cc-expand-btn{background:#ffffff0d;border:none;padding:5px;cursor:pointer;color:var(--cc-text-muted);border-radius:4px;transition:all var(--cc-transition);display:flex;align-items:center;justify-content:center}.cc-expand-btn:hover{background:#ffffff1a;color:var(--cc-info)}.cc-collapse-btn{background:#ffffff0d;border:none;padding:6px;cursor:pointer;color:var(--cc-text-muted);border-radius:4px;transition:all var(--cc-transition);display:flex;align-items:center;justify-content:center;margin-left:auto}.cc-collapse-btn:hover{background:#ffffff1a;color:var(--cc-text)}.cc-map-panel--collapsed .cc-collapse-btn{margin-left:0}.cc-map-content{flex:1;min-height:0}.cc-map-content .jobs-map{height:100%!important}.cc-map-content .jobs-map-container{height:100%;border:none;border-radius:0}.cc-calendar-panel{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--cc-shadow)}.cc-filter-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid var(--cc-border);background:#ffffff05}.cc-filter-tab{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#ffffff08;border:1px solid var(--cc-border);border-radius:16px;font-size:.6875rem;font-weight:500;color:var(--cc-text-muted);cursor:pointer;transition:all var(--cc-transition)}.cc-filter-tab:hover{background:#ffffff0f;border-color:var(--tab-color, var(--cc-border))}.cc-filter-tab--active{background:color-mix(in oklab,var(--tab-color, var(--cc-info)) 15%,transparent);border-color:var(--tab-color, var(--cc-info));color:var(--cc-text)}.cc-filter-tab-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cc-filter-tab-label{white-space:nowrap}.cc-filter-tab-count{font-size:.5625rem;font-weight:600;background:#ffffff1a;padding:1px 4px;border-radius:6px}.cc-filter-tab--active .cc-filter-tab-count{background:#fff3}.cc-calendar-wrapper{padding:8px 12px;flex-shrink:0}.cc-calendar-wrapper .mini-calendar{background:transparent;border:none;box-shadow:none;padding:8px}.cc-calendar-wrapper .mini-calendar-grid{gap:4px}.cc-calendar-wrapper .mini-calendar-day{aspect-ratio:unset!important;min-height:130px;padding:5px 6px;align-items:flex-start;justify-content:flex-start;overflow:hidden}.cc-calendar-wrapper .mini-calendar-day-number{font-size:.75rem;font-weight:600;margin-bottom:3px;flex-shrink:0}.cc-calendar-wrapper .mini-calendar-header{padding:4px 0;margin-bottom:6px}.cc-calendar-wrapper .mini-calendar-day-label{font-size:.5625rem;padding:3px 0}.cc-calendar-wrapper .mini-calendar-nav-btn{width:26px;height:26px;font-size:14px}.cc-calendar-wrapper .mini-calendar-title{font-size:.875rem}.cc-calendar-wrapper .mini-calendar-dots{margin-top:auto}.cc-calendar-wrapper .mini-calendar-cards{gap:4px;flex:1;min-height:0}.cc-calendar-wrapper .mini-calendar-card{padding:4px 6px}.cc-calendar-wrapper .mini-calendar-card-title{font-size:.6875rem;-webkit-line-clamp:2}.cc-calendar-wrapper .mini-calendar-card-subtitle{font-size:.625rem}.cc-calendar-wrapper .mini-calendar-cards.cards-1 .mini-calendar-card{padding:5px 8px}.cc-calendar-wrapper .mini-calendar-cards.cards-1 .mini-calendar-card-title{font-size:.75rem}.cc-calendar-wrapper .mini-calendar-cards.cards-1 .mini-calendar-card-subtitle,.cc-calendar-wrapper .mini-calendar-cards.cards-2 .mini-calendar-card-title{font-size:.6875rem}.cc-calendar-wrapper .mini-calendar-cards.cards-3 .mini-calendar-card-title,.cc-calendar-wrapper .mini-calendar-cards.cards-4 .mini-calendar-card-title{-webkit-line-clamp:1;font-size:.625rem}.cc-calendar-legend{display:flex;flex-wrap:wrap;gap:10px;padding:0 12px 8px;border-bottom:1px solid var(--cc-border)}.cc-legend-item{display:flex;align-items:center;gap:4px;font-size:.625rem;color:var(--cc-text-muted)}.cc-legend-dot{width:6px;height:6px;border-radius:50%}.cc-calendar-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--cc-border);cursor:pointer;transition:all var(--cc-transition);position:relative}.cc-calendar-item:last-child{border-bottom:none}.cc-calendar-item:hover{background:#ffffff08}.cc-calendar-item-indicator{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--item-color, var(--cc-info))}.cc-calendar-item-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--item-color, var(--cc-info)) 15%,transparent);border-radius:8px;color:var(--item-color, var(--cc-info));flex-shrink:0}.cc-calendar-item-content{flex:1;min-width:0}.cc-calendar-item-title{font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-calendar-item-subtitle{font-size:.75rem;color:var(--cc-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.cc-calendar-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.cc-calendar-item-status{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#ffffff1a}.cc-calendar-item-status--pending{background:#6b728033;color:#9ca3af}.cc-calendar-item-status--in-progress{background:#3b82f633;color:#60a5fa}.cc-calendar-item-status--open{background:#f59e0b33;color:#fbbf24}.cc-calendar-item-arrow{color:var(--cc-text-muted);opacity:0;transform:translate(-4px);transition:all var(--cc-transition);flex-shrink:0}.cc-calendar-item:hover .cc-calendar-item-arrow{opacity:1;transform:translate(0)}.cc-calendar-item--external{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(66,133,244,.08) 4px,rgba(66,133,244,.08) 8px);border-left:3px solid #4285f4;cursor:pointer}.cc-calendar-item--external:hover{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(66,133,244,.12) 4px,rgba(66,133,244,.12) 8px)}.cc-calendar-item--external .cc-calendar-item-title{font-style:normal}.cc-external-badge{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;color:#4285f4;background:#4285f426;padding:2px 6px;border-radius:4px;margin-left:8px;font-weight:500}.cc-right-panel{display:flex;flex-direction:column;gap:16px}.cc-compliance-section{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);overflow:hidden}.cc-compliance-chart{padding:14px}.cc-compliance-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--cc-border)}.cc-compliance-bar-segment{transition:width .4s ease}.cc-compliance-bar--compliant{background:var(--cc-success)}.cc-compliance-bar--expiring{background:var(--cc-warning)}.cc-compliance-bar--expired{background:var(--cc-critical)}.cc-compliance-bar--unverified{background:#8b5cf6}.cc-compliance-legend{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:10px;gap:6px}.cc-compliance-legend-item{display:flex;align-items:center;gap:4px;font-size:.625rem;font-weight:500;color:var(--cc-text-muted)}.cc-compliance-dot{width:6px;height:6px;border-radius:50%}.cc-compliance-dot--compliant{background:var(--cc-success)}.cc-compliance-dot--expiring{background:var(--cc-warning)}.cc-compliance-dot--expired{background:var(--cc-critical)}.cc-compliance-dot--unverified{background:#8b5cf6}.cc-attention-section{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);flex:1;display:flex;flex-direction:column;overflow:hidden}.cc-attention-count{background:var(--cc-critical);color:#fff;font-size:.625rem;font-weight:700;padding:2px 6px;border-radius:8px;animation:cc-pulse 2s infinite}@keyframes cc-pulse{0%,to{opacity:1}50%{opacity:.7}}.cc-attention-body{flex:1;overflow-y:auto}.cc-attention-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:var(--cc-success);gap:8px}.cc-attention-empty span{font-size:.8125rem;font-weight:500}.cc-attention-item{border-bottom:1px solid var(--cc-border)}.cc-attention-item:last-child{border-bottom:none}.cc-attention-row{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;border-left:3px solid var(--attn-color, var(--cc-critical));background:color-mix(in oklab,var(--attn-color, var(--cc-critical)) 8%,transparent);transition:all var(--cc-transition)}.cc-attention-row:hover{background:color-mix(in oklab,var(--attn-color, var(--cc-critical)) 12%,transparent)}.cc-attention-row--expanded{background:color-mix(in oklab,var(--attn-color, var(--cc-critical)) 14%,transparent)}.cc-attention-row-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:6px;flex-shrink:0;color:var(--attn-color, var(--cc-critical))}.cc-attention-row-count{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:24px;color:var(--attn-color, var(--cc-critical))}.cc-attention-row-title{font-size:.8125rem;font-weight:500;flex:1}.cc-attention-expand-icon{color:var(--cc-text-muted);display:flex;transition:transform .2s ease}.cc-attention-expand-icon--open{transform:rotate(180deg)}.cc-attention-preview{background:#0000001f;border-top:1px solid var(--cc-border)}.cc-attention-preview-item{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 20px;text-decoration:none;color:inherit;border-bottom:1px solid rgba(255,255,255,.05);transition:all var(--cc-transition)}.cc-attention-preview-item:last-child{border-bottom:none}.cc-attention-preview-item:hover{background:#ffffff0a}.cc-attention-preview-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cc-attention-preview-content{flex:1;min-width:0}.cc-attention-preview-title{display:block;font-size:.75rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-attention-preview-subtitle{display:block;font-size:.6875rem;color:var(--cc-text-muted);margin-top:2px}.cc-attention-preview-arrow{color:var(--cc-text-muted);opacity:0;transform:translate(-4px);transition:all var(--cc-transition);flex-shrink:0}.cc-attention-preview-item:hover .cc-attention-preview-arrow{opacity:1;transform:translate(0)}.cc-attention-preview-more{display:block;padding:10px 14px 10px 20px;text-align:center;font-size:.6875rem;font-weight:500;color:var(--primary);text-decoration:none;background:#3b82f614;transition:background var(--cc-transition)}.cc-attention-preview-more:hover{background:#3b82f626}.cc-selected-section{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);overflow:hidden;max-height:300px;display:flex;flex-direction:column}.cc-selected-items{flex:1;overflow-y:auto}.cc-selected-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--cc-border);cursor:pointer;transition:background var(--cc-transition);position:relative}.cc-selected-item:last-child{border-bottom:none}.cc-selected-item:hover{background:#ffffff08}.cc-selected-item--overdue,.cc-selected-item--urgent{background:var(--cc-critical-bg)}.cc-selected-item--overdue:hover,.cc-selected-item--urgent:hover{background:#ef44442e}.cc-urgent-badge,.cc-stale-badge{background:#f59e0b}.cc-selected-date-panel{min-height:120px}.cc-selected-item--external{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(66,133,244,.06) 4px,rgba(66,133,244,.06) 8px);cursor:pointer}.cc-selected-item--external:hover{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(66,133,244,.1) 4px,rgba(66,133,244,.1) 8px)}.cc-selected-item--external .cc-selected-item-title{font-style:normal}.cc-overdue-section{background:var(--cc-card-bg);border:1px solid var(--cc-critical);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);overflow:hidden;margin-bottom:12px}.cc-panel-header--critical{background:var(--cc-critical-bg);border-bottom-color:#ef44444d}.cc-panel-header--critical .cc-panel-icon{color:var(--cc-critical)}.cc-panel-header--critical .cc-panel-title{color:#fca5a5}.cc-panel-badge--critical{background:var(--cc-critical)!important;color:#fff!important}.cc-panel-badge--stale{background:#f59e0b!important;color:#fff!important}.cc-selected-item--stale{--item-color: #f59e0b}.cc-selected-item--stale .cc-selected-item-indicator{background:#f59e0b}.cc-selected-item--stale .cc-selected-item-subtitle{color:#f59e0b}.cc-stale-divider{display:flex;align-items:center;gap:8px;padding:8px 12px 4px;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#f59e0b}.cc-stale-divider:before,.cc-stale-divider:after{content:"";flex:1;height:1px;background:color-mix(in oklab,#f59e0b 30%,transparent)}.cc-overdue-more{padding:8px 12px;font-size:.6875rem;color:var(--cc-critical);text-align:center;cursor:pointer;border-top:1px solid var(--cc-border)}.cc-overdue-more:hover{background:var(--cc-critical-bg)}.cc-overdue-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-top:1px solid var(--cc-border);background:#ef44440d}.cc-overdue-page-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid rgba(239,68,68,.3);border-radius:4px;background:transparent;color:var(--cc-critical);cursor:pointer;transition:all var(--cc-transition)}.cc-overdue-page-btn:hover:not(:disabled){background:var(--cc-critical-bg);border-color:var(--cc-critical)}.cc-overdue-page-btn:disabled{opacity:.3;cursor:not-allowed}.cc-overdue-page-info{font-size:.6875rem;font-weight:600;color:var(--cc-critical);min-width:40px;text-align:center}.cc-aging-section{background:var(--cc-card-bg);border:1px solid var(--cc-border);border-radius:var(--cc-radius);box-shadow:var(--cc-shadow);overflow:hidden}.cc-panel-header--aging{background:#f59e0b1a;border-bottom-color:#f59e0b33}.cc-panel-header--aging .cc-panel-icon{color:#f59e0b}.cc-panel-badge--aging{background:#f59e0b33!important;color:#f59e0b!important}.cc-aging-buckets{display:flex;flex-direction:column}.cc-aging-bucket{border-bottom:1px solid var(--cc-border);padding:10px 12px;background:color-mix(in oklab,var(--bucket-color, #64748b) 5%,transparent);border-left:3px solid var(--bucket-color, #64748b)}.cc-aging-bucket:last-child{border-bottom:none}.cc-aging-bucket--warning{background:#f59e0b0f}.cc-aging-bucket--stale{background:#f9731614}.cc-aging-bucket--attention{background:#ef444414}.cc-aging-bucket--critical{background:#b91c1c1a}.cc-aging-bucket-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cc-aging-bucket-count{font-size:1rem;font-weight:700;color:var(--bucket-color, var(--cc-text));min-width:24px}.cc-aging-bucket-label{font-size:.6875rem;font-weight:600;color:var(--bucket-color, var(--cc-text-muted));text-transform:uppercase;letter-spacing:.02em}.cc-aging-bucket-items{display:flex;flex-direction:column;gap:4px}.cc-aging-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#ffffff0a;border-radius:6px;cursor:pointer;transition:all var(--cc-transition)}.cc-aging-item:hover{background:#ffffff14}.cc-aging-item-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;background:#ffffff14;border-radius:4px;color:var(--cc-text-muted);flex-shrink:0}.cc-aging-item-content{flex:1;min-width:0}.cc-aging-item-title{font-size:.6875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-aging-item-subtitle{display:block;font-size:.625rem;color:var(--cc-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.cc-aging-item-desc{display:block;font-size:.5625rem;color:var(--cc-text-tertiary, #94a3b8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.cc-aging-item-days{font-size:.625rem;font-weight:600;color:var(--bucket-color, var(--cc-text-muted));background:#ffffff14;padding:2px 5px;border-radius:4px;flex-shrink:0}.cc-aging-bucket-more{font-size:.625rem;color:var(--bucket-color, var(--cc-text-muted));padding:4px 8px;text-align:center;cursor:pointer}.cc-aging-bucket-more:hover{text-decoration:underline}.cc-selected-item-indicator{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--item-color, var(--cc-info))}.cc-selected-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--item-color, var(--cc-info)) 15%,transparent);border-radius:6px;color:var(--item-color, var(--cc-info));flex-shrink:0}.cc-selected-item-content{flex:1;min-width:0}.cc-selected-item-title{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-selected-item-subtitle{font-size:.6875rem;color:var(--cc-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.cc-overdue-badge{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;background:var(--cc-critical);color:#fff;padding:2px 6px;border-radius:4px;flex-shrink:0}.cc-selected-item-arrow{color:var(--cc-text-muted);opacity:0;transform:translate(-4px);transition:all var(--cc-transition);flex-shrink:0}.cc-selected-item:hover .cc-selected-item-arrow{opacity:1;transform:translate(0)}.cc-selected-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px 16px;color:var(--cc-text-muted)}.cc-selected-empty span{font-size:.75rem}@media (max-width: 1400px){.cc-dashboard-grid{grid-template-columns:240px 1fr 280px}.cc-dashboard-grid--map-expanded{grid-template-columns:1fr 1fr 280px}.cc-dashboard-grid--no-map{grid-template-columns:1fr 280px}}@media (max-width: 1200px){.cc-dashboard-grid,.cc-dashboard-grid--map-expanded{grid-template-columns:1fr 280px}.cc-map-panel{display:none}.cc-map-panel--expanded{display:flex;position:fixed;inset:80px 320px 24px 80px;z-index:100;border-radius:var(--cc-radius);box-shadow:0 4px 24px #0000004d}}@media (max-width: 900px){.cc-dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto auto}.cc-right-panel{flex-direction:row}.cc-compliance-section,.cc-attention-section{flex:1}}@media (max-width: 600px){.cc-container{padding:0 16px 16px}.cc-header{padding:16px 0;margin-bottom:16px}.cc-header-left h1{font-size:1.25rem}.cc-right-panel{flex-direction:column}.cc-filter-tabs{gap:6px;padding:10px 12px}.cc-filter-tab{padding:5px 10px}.cc-filter-tab-label{display:none}}.cc-drawer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 24px;color:var(--cc-text-muted)}.cc-drawer-loading span{font-size:.875rem}@media (prefers-reduced-motion: reduce){.cc-spin,.cc-attention-count{animation:none!important}.cc-calendar-item,.cc-attention-row,.cc-filter-tab{transition:none!important}}@media print{.cc-container{background:#fff;color:#000}.cc-map-panel{display:none}}.cc-period-filter{display:flex;gap:4px;margin-right:12px;background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:8px;padding:3px}.cc-period-btn{padding:6px 12px;background:transparent;border:none;border-radius:5px;color:var(--cc-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.cc-period-btn:hover{background:#ffffff0f;color:var(--cc-text)}.cc-period-btn--active{background:var(--cc-accent);color:#fff;font-weight:600}.cc-period-btn--active:hover{background:var(--cc-accent);color:#fff}.cc-storeio-left-panel{background:var(--cc-surface, var(--bg-secondary, #1a1a2e));border-radius:var(--cc-radius);border:1px solid var(--cc-border);overflow:hidden;display:flex;flex-direction:column;height:100%}.cc-storeio-left-panel .storeio-insights-panel{height:100%;padding:0}.cc-storeio-left-panel .storeio-insights-section{background:#0000001a}.cc-quick-actions{display:flex;gap:6px;margin-right:12px}.cc-quick-action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:6px;color:var(--cc-text);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.cc-quick-action-btn:hover{background:var(--cc-surface-hover);border-color:var(--cc-accent);color:var(--cc-accent)}.cc-quick-action-btn:active{transform:scale(.97)}.cc-quick-action-btn svg{flex-shrink:0}@media (max-width: 768px){.cc-quick-action-btn span{display:none}.cc-quick-action-btn{padding:8px}}.cc-context-menu{position:fixed;z-index:1000;background:var(--cc-surface);border:1px solid var(--cc-border);border-radius:8px;box-shadow:0 8px 24px #0000004d;min-width:180px;padding:4px;animation:cc-context-menu-in .15s ease}@keyframes cc-context-menu-in{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.cc-context-menu-header{padding:8px 12px;font-size:.7rem;font-weight:600;color:var(--cc-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--cc-border);margin-bottom:4px}.cc-context-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;border-radius:6px;color:var(--cc-text);font-size:.8125rem;font-weight:500;text-align:left;cursor:pointer;transition:background .1s ease}.cc-context-menu button:hover{background:var(--cc-surface-hover)}.cc-context-menu button svg{color:var(--cc-text-muted)}.cc-context-menu button:hover svg{color:var(--cc-accent)}.cc-external-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px;animation:cc-modal-overlay-in .2s ease}@keyframes cc-modal-overlay-in{0%{opacity:0}to{opacity:1}}.cc-external-modal{background:var(--cc-card-bg);border-radius:16px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:420px;animation:cc-modal-in .25s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes cc-modal-in{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.cc-external-modal-header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--cc-border)}.cc-external-modal-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.cc-external-modal-title-section{flex:1;min-width:0}.cc-external-modal-title-section h3{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--cc-text);line-height:1.3}.cc-external-modal-source{font-size:.75rem;color:#4285f4;font-weight:500}.cc-external-modal-close{background:none;border:none;padding:8px;margin:-8px -8px 0 0;border-radius:8px;color:var(--cc-text-muted);cursor:pointer;transition:all .15s ease}.cc-external-modal-close:hover{background:var(--cc-surface-hover);color:var(--cc-text)}.cc-external-modal-body{padding:16px 20px 20px}.cc-external-modal-row{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--cc-text);font-size:.875rem}.cc-external-modal-row svg{color:var(--cc-text-muted);flex-shrink:0}.cc-external-modal-row span{line-height:1.4}.cc-external-modal-description{margin-top:16px;padding-top:16px;border-top:1px solid var(--cc-border)}.cc-external-modal-description strong{display:block;font-size:.75rem;font-weight:600;color:var(--cc-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.cc-external-modal-description p{margin:0;font-size:.875rem;color:var(--cc-text);line-height:1.5;white-space:pre-wrap}.alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;border:1px solid;margin-bottom:16px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;font-size:18px}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;font-size:14px;margin-bottom:4px}.alert-message{font-size:14px;line-height:1.5}.alert-children{margin-top:8px}.alert-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;background:none;border:none;cursor:pointer;border-radius:4px;transition:background .2s ease;font-size:16px;color:inherit;opacity:.7}.alert-close:hover{opacity:1;background:#0000000d}.alert-info{background:color-mix(in oklab,var(--accent) 8%,var(--bg));border-color:color-mix(in oklab,var(--accent) 50%,transparent);color:var(--accent)}.alert-success{background:#f0fdf4;border-color:#86efac;color:#166534}.alert-warning{background:transparent;border-color:#fcd34d;color:var(--text)}.alert-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}[data-theme=dark] .alert-info{background:#1e3a8a;border-color:var(--primary);color:#dbeafe}[data-theme=dark] .alert-success{background:#14532d;border-color:#22c55e;color:#dcfce7}[data-theme=dark] .alert-warning{background:transparent;border-color:#f59e0b;color:var(--text)}[data-theme=dark] .alert-error{background:#7f1d1d;border-color:#ef4444;color:#fee2e2}[data-theme=dark] .alert-close:hover{background:#ffffff1a}.cce-bento{--cce-bg-base: #0f1419;--cce-bg-surface: #1a1f2e;--cce-bg-elevated: #252b3b;--cce-bg-hover: #2f3647;--cce-text-primary: #e8eaed;--cce-text-secondary: #a8acb8;--cce-text-muted: #6b7280;--cce-border: #363d4f;--cce-primary: #3b82f6;--cce-shadow: 0 4px 12px rgba(0, 0, 0, .4)}[data-theme=light] .cce-bento{--cce-bg-base: #f8fafc;--cce-bg-surface: #ffffff;--cce-bg-elevated: #f1f5f9;--cce-bg-hover: #e2e8f0;--cce-text-primary: #0f172a;--cce-text-secondary: #475569;--cce-text-muted: #94a3b8;--cce-border: #e2e8f0;--cce-shadow: 0 4px 12px rgba(0, 0, 0, .08)}.page-layout__content:has(.cce-bento){max-width:100%!important}.cce-bento{padding:24px;background:var(--cce-bg-base);color:var(--cce-text-primary);min-height:calc(100vh - 64px)}.cce-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px;flex-wrap:wrap}.cce-header-content h1{margin:0;font-size:28px;font-weight:700;color:var(--cce-text-primary)}.cce-timestamp{display:block;margin-top:4px;font-size:13px;color:var(--cce-text-secondary)}.cce-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(140px,auto);gap:16px}.cce-map-cell{grid-column:span 2;grid-row:span 3}.cce-status-cell{grid-column:span 1;grid-row:span 1}.cce-alerts-cell{grid-column:span 1;grid-row:span 2}.cce-workforce-cell{grid-column:span 4;grid-row:span 1}.cce-module-cell{grid-column:span 1;grid-row:span 1}.cce-grid.map-expanded .cce-map-cell{grid-column:span 4;grid-row:span 4}.cce-cell{background:var(--cce-bg-surface);border:1px solid var(--cce-border);border-radius:16px;overflow:hidden;transition:all .2s ease}.cce-cell:hover{box-shadow:var(--cce-shadow)}.cce-cell-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--cce-border);background:var(--cce-bg-elevated)}.cce-cell-header svg{color:var(--cce-primary)}.cce-cell-header h3{margin:0;font-size:13px;font-weight:600;color:var(--cce-text-primary);text-transform:uppercase;letter-spacing:.03em}.cce-map-cell{display:flex;flex-direction:column}.cce-map-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--cce-bg-elevated);border-bottom:1px solid var(--cce-border)}.cce-map-title{display:flex;align-items:center;gap:10px}.cce-map-title svg{color:var(--cce-primary)}.cce-map-title h3{margin:0;font-size:14px;font-weight:600;color:var(--cce-text-primary)}.cce-job-count{font-size:12px;color:var(--cce-text-secondary);background:var(--cce-bg-base);padding:3px 10px;border-radius:12px;border:1px solid var(--cce-border)}.cce-map-toggle{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;color:var(--cce-text-secondary);background:var(--cce-bg-base);border:1px solid var(--cce-border);border-radius:8px;cursor:pointer}.cce-map-toggle:hover{background:var(--cce-bg-surface);color:var(--cce-primary);border-color:var(--cce-primary)}.cce-map-container{flex:1;min-height:350px;position:relative}.cce-map-container .jobs-map-container{height:100%;border:none;border-radius:0}.cce-map-container .jobs-map{height:100%!important;min-height:350px!important}.cce-map-container .leaflet-container,.cce-map-container .leaflet-container img{filter:none!important}.cce-map-container .leaflet-tile-pane{z-index:1}.cce-map-container .leaflet-marker-pane{z-index:2}.cce-status-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:12px}.cce-status-ring{position:relative;width:120px;height:120px}.cce-ring-svg{width:100%;height:100%}.cce-ring-progress{transition:stroke-dashoffset .8s ease}.cce-ring-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.cce-ring-value{display:block;font-size:28px;font-weight:700;line-height:1}.cce-ring-label{display:block;margin-top:4px;font-size:11px;color:var(--cce-text-secondary)}.cce-status-text{font-size:12px;font-weight:600;color:var(--cce-text-primary)}.cce-alerts-cell{display:flex;flex-direction:column}.cce-alerts-list{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px;overflow-y:auto}.cce-alert-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--cce-bg-base);border:1px solid var(--cce-border);border-radius:10px;cursor:pointer;text-align:left;transition:all .2s ease}.cce-alert-card:hover{transform:translate(4px)}.cce-alert-critical{border-color:#ef444466;background:linear-gradient(135deg,rgba(239,68,68,.08) 0%,transparent 100%)}.cce-alert-critical:hover{border-color:#ef4444;box-shadow:0 0 12px #ef444433}.cce-alert-warning{border-color:#f973164d;background:linear-gradient(135deg,rgba(249,115,22,.06) 0%,transparent 100%)}.cce-alert-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px}.cce-alert-critical .cce-alert-icon{background:#ef444426;color:#ef4444}.cce-alert-warning .cce-alert-icon{background:#f9731626;color:#f97316}.cce-alert-info{flex:1}.cce-alert-count{display:block;font-size:18px;font-weight:700;color:var(--cce-text-primary)}.cce-alert-title{display:block;font-size:11px;color:var(--cce-text-secondary)}.cce-alert-arrow{color:var(--cce-text-muted);opacity:0;transition:opacity .2s ease}.cce-alert-card:hover .cce-alert-arrow{opacity:1}.cce-no-alerts{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--cce-text-muted)}.cce-no-alerts svg{color:#10b981}.cce-workforce-strip{display:flex;align-items:center;padding:16px 20px;gap:24px}.cce-workforce-header{display:flex;align-items:center;gap:8px;color:var(--cce-text-secondary);font-size:13px;font-weight:600;text-transform:uppercase}.cce-workforce-header svg{color:#3b82f6}.cce-workforce-stats{display:flex;align-items:center;gap:20px;flex:1}.cce-wf-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.cce-wf-value{font-size:22px;font-weight:700;color:var(--cce-text-primary)}.cce-wf-value.warning{color:#f97316}.cce-wf-value.critical{color:#ef4444}.cce-wf-label{font-size:10px;color:var(--cce-text-secondary);text-transform:uppercase}.cce-wf-divider{width:1px;height:32px;background:var(--cce-border)}.cce-workforce-link{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;color:var(--cce-text-secondary);text-decoration:none;background:var(--cce-bg-base);border:1px solid var(--cce-border);border-radius:8px}.cce-workforce-link:hover{background:var(--cce-bg-elevated);color:var(--cce-primary);border-color:var(--cce-primary)}.cce-module-card{display:flex;align-items:center;gap:14px;width:100%;height:100%;padding:16px;background:var(--cce-bg-surface);border:none;border-radius:16px;cursor:pointer;text-align:left;position:relative;transition:all .2s ease}.cce-module-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--module-color, var(--cce-primary));opacity:0;transition:opacity .2s ease}.cce-module-card:hover{background:var(--cce-bg-elevated);transform:translateY(-2px);box-shadow:var(--cce-shadow)}.cce-module-card:hover:before{opacity:1}.cce-module-card.has-critical{border:1px solid rgba(239,68,68,.4)}.cce-module-card.has-warning{border:1px solid rgba(249,115,22,.3)}.cce-module-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--module-color, var(--cce-primary)) 12%,transparent);border-radius:12px;color:var(--module-color, var(--cce-primary))}.cce-module-card:hover .cce-module-icon{transform:scale(1.05)}.cce-module-info{flex:1}.cce-module-info h4{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--cce-text-primary)}.cce-module-metrics{display:flex;flex-wrap:wrap;gap:8px}.cce-metric{font-size:12px;color:var(--cce-text-secondary)}.cce-metric.critical{color:#ef4444;font-weight:600}.cce-metric.warning{color:#f97316;font-weight:600}.cce-module-badge{position:absolute;top:12px;right:12px;font-size:9px;font-weight:600;padding:3px 8px;border-radius:10px;text-transform:uppercase}.cce-module-badge.critical{background:#ef444426;color:#ef4444}.cce-module-badge.warning{background:#f9731626;color:#f97316}.cce-module-arrow{position:absolute;right:16px;bottom:16px;color:var(--cce-text-muted);opacity:0;transition:all .2s ease}.cce-module-card:hover .cce-module-arrow{opacity:1;color:var(--module-color, var(--cce-primary))}@media (max-width: 1400px){.cce-grid{grid-template-columns:repeat(3,1fr)}.cce-map-cell{grid-column:span 2;grid-row:span 2}.cce-workforce-cell{grid-column:span 3}}@media (max-width: 1024px){.cce-grid{grid-template-columns:repeat(2,1fr)}.cce-map-cell{grid-column:span 2;grid-row:span 2}.cce-alerts-cell{grid-row:span 1}.cce-workforce-cell{grid-column:span 2}}@media (max-width: 768px){.cce-bento{padding:16px}.cce-header{flex-direction:column;align-items:flex-start}.cce-grid{grid-template-columns:1fr}.cce-map-cell,.cce-status-cell,.cce-alerts-cell,.cce-workforce-cell,.cce-module-cell{grid-column:span 1;grid-row:span 1}.cce-map-container{min-height:280px}.cce-workforce-strip{flex-wrap:wrap}.cce-workforce-stats{order:1;width:100%;justify-content:space-around}.cce-workforce-link{order:2;width:100%;justify-content:center}}.form-demo-page{padding:24px;max-width:1200px;margin:0 auto;min-height:100vh;background:var(--bg)}.form-demo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border)}.form-demo-header h1{font-size:28px;font-weight:700;color:var(--fg);margin:0 0 8px}.form-demo-header p{font-size:15px;font-weight:500;color:var(--fg-dim);margin:0}.form-demo-grid{display:flex;flex-direction:column;gap:32px}.form-demo-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.form-demo-section h2{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.form-demo-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.login-form-example{max-width:400px;display:flex;flex-direction:column;gap:16px}@media (max-width: 768px){.form-demo-page{padding:16px}.form-demo-header{flex-direction:column;gap:16px;align-items:flex-start}.theme-toggle{width:100%;justify-content:center}.form-demo-fields{grid-template-columns:1fr}}.date-picker{display:flex;flex-direction:column;gap:6px;width:100%;margin-bottom:16px}.date-picker__label{font-size:13px;font-weight:500;color:var(--text, var(--fg));letter-spacing:0;display:flex;align-items:center;gap:4px}.date-picker__label-required{color:#ef4444;font-size:14px;font-weight:700}.date-picker__container{position:relative;display:flex;align-items:center;gap:8px}.date-picker__input{width:100%;min-height:32px;padding:6px 12px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:4px;font-size:14px;font-weight:400;color:var(--text, var(--fg));font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;outline:none}.date-picker__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 12%,transparent)}.date-picker__input:hover:not(:disabled){border-color:#9ca3af}.date-picker__input--error,.date-picker__input--error:focus{border-color:#ef4444!important}.date-picker__input--error:focus{box-shadow:0 0 0 3px #ef44441a!important}.date-picker--error .date-picker__label{color:#ef4444}.date-picker__input:disabled{background:#f3f4f6!important;color:#9ca3af!important;cursor:not-allowed;opacity:.6}.date-picker--disabled .date-picker__label{color:#9ca3af}.date-picker__range{display:flex;align-items:center;gap:12px;width:100%}.date-picker__range input{flex:1;min-width:0}.date-picker__separator{font-size:13px;font-weight:600;color:var(--fg-dim, #6b7280);white-space:nowrap;flex-shrink:0}.date-picker__clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;font-size:14px;color:#6b7280;cursor:pointer;transition:all .2s ease;flex-shrink:0}.date-picker__clear:hover:not(:disabled){background:#f3f4f6;color:#111827}.date-picker__clear:active{transform:scale(.95)}.date-picker__clear:disabled{opacity:.4;cursor:not-allowed}.date-picker__help-text{font-size:12px;font-weight:400;color:var(--muted, var(--fg-dim));line-height:1.4}.date-picker__error-text{font-size:12px;font-weight:500;color:#ef4444;line-height:1.4}.date-picker__input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:100%;height:100%;cursor:pointer}.date-picker__input::-webkit-datetime-edit{padding:0}.date-picker__input::-webkit-datetime-edit-fields-wrapper{padding:0}.date-picker__input::-webkit-datetime-edit-text{padding:0 2px;color:#6b7280}.date-picker__input::-webkit-datetime-edit-month-field,.date-picker__input::-webkit-datetime-edit-day-field,.date-picker__input::-webkit-datetime-edit-year-field{padding:0}[data-theme=dark] .date-picker__input::-webkit-datetime-edit-text{color:#9ca3af}.date-picker__input::-moz-placeholder{color:#9ca3af;opacity:1}@media (max-width: 768px){.date-picker__input{font-size:16px;min-height:40px;padding:8px 12px}.date-picker__range{flex-direction:column;gap:12px}.date-picker__separator{display:none}.date-picker--range .date-picker__wrapper{width:100%}.date-picker__range .date-picker__wrapper:first-child .date-picker__input{position:relative}.date-picker__range .date-picker__wrapper:first-child .date-picker__input:before{content:"From: ";position:absolute;left:14px;color:#9ca3af}.date-picker__range .date-picker__wrapper:last-child .date-picker__input:before{content:"To: ";position:absolute;left:14px;color:#9ca3af}}@media (prefers-contrast: high){.date-picker__input{border-width:2px}.date-picker__input:focus{border-width:3px}}.datepicker-demo-page{padding:24px;max-width:1200px;margin:0 auto;min-height:100vh;background:var(--bg)}.datepicker-demo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border)}.datepicker-demo-header h1{font-size:28px;font-weight:700;color:var(--fg);margin:0 0 8px}.datepicker-demo-header p{font-size:15px;font-weight:500;color:var(--fg-dim);margin:0}.datepicker-demo-grid{display:flex;flex-direction:column;gap:32px}.datepicker-demo-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.datepicker-demo-section h2{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.datepicker-demo-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}@media (max-width: 768px){.datepicker-demo-page{padding:16px}.datepicker-demo-header{flex-direction:column;gap:16px;align-items:flex-start}.theme-toggle{width:100%;justify-content:center}.datepicker-demo-fields{grid-template-columns:1fr}.example-card{padding:16px}}.dropdown-demo-page{padding:24px;max-width:1200px;margin:0 auto;min-height:100vh;background:var(--bg)}.dropdown-demo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border)}.dropdown-demo-header h1{font-size:28px;font-weight:700;color:var(--fg);margin:0 0 8px}.dropdown-demo-header p{font-size:15px;font-weight:500;color:var(--fg-dim);margin:0}.dropdown-demo-grid{display:flex;flex-direction:column;gap:32px}.dropdown-demo-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.dropdown-demo-section h2{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--border)}.dropdown-demo-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.example-card h3{font-size:16px;font-weight:600;color:var(--fg);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.example-form{display:flex;flex-direction:column;gap:16px}.filter-bar{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.filter-bar .dropdown{margin-bottom:0}.filter-bar .sqr-btn{min-height:32px;margin-bottom:0}@media (max-width: 768px){.dropdown-demo-page{padding:16px}.dropdown-demo-header{flex-direction:column;gap:16px;align-items:flex-start}.dropdown-demo-fields,.filter-bar{grid-template-columns:1fr}.example-card{padding:16px}}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:20px 0 0;border-top:1px solid var(--border)}.pagination__info{color:var(--fg-dim);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pagination__info strong{font-weight:600;color:var(--fg)}.pagination__page-size{display:flex;align-items:center;gap:8px;font-size:.875rem}.pagination__page-size label{color:var(--fg-dim);font-weight:500}.pagination__page-size-select{min-height:36px;padding:6px 10px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text, var(--fg));cursor:pointer;transition:border-color .2s ease}.pagination__page-size-select:hover{border-color:var(--accent)}.pagination__page-size-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.pagination__controls{display:flex;align-items:center;gap:12px}.pagination__btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .2s ease;white-space:nowrap}.pagination__btn:hover:not(:disabled){background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #5e6aa61f}.pagination__btn:active:not(:disabled){transform:translateY(0)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__current{padding:8px 16px;color:var(--fg);font-weight:600;font-size:14px;background:var(--surface-soft, rgba(148, 163, 184, .08));border-radius:8px}.pagination__numbers{display:flex;align-items:center;gap:6px}.pagination__number{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .2s ease}.pagination__number:hover{background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #5e6aa61f}.pagination__number:active{transform:translateY(0)}.pagination__number--active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.pagination__number--active:hover{background:var(--accent);border-color:var(--accent);transform:none;box-shadow:0 2px 8px #5e6aa633}.pagination__ellipsis{padding:8px 4px;color:var(--fg-dim);font-size:14px;font-weight:600;user-select:none}@media (max-width: 768px){.pagination{flex-direction:column;gap:16px;align-items:stretch}.pagination__info{justify-content:center;text-align:center}.pagination__controls{justify-content:center}.pagination__btn{flex:1;max-width:140px}.pagination__numbers{flex-wrap:wrap;justify-content:center}.pagination__page-size{flex-direction:column;gap:6px}}@media (prefers-reduced-motion: reduce){.pagination__btn,.pagination__number{transition:none}.pagination__btn:hover:not(:disabled),.pagination__number:hover{transform:none}}.pagination-demo-page{padding:24px;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg)}.pagination-demo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border)}.pagination-demo-header h1{font-size:28px;font-weight:700;color:var(--fg);margin:0 0 8px}.pagination-demo-header p{font-size:15px;font-weight:500;color:var(--fg-dim);margin:0}.pagination-demo-grid{display:flex;flex-direction:column;gap:32px}.pagination-demo-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.pagination-demo-section.full-width{grid-column:1 / -1}.pagination-demo-section h2{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 8px}.pagination-example{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}.example-info{font-size:13px;color:var(--fg-dim);padding:8px 12px;background:var(--bg);border-radius:6px}.example-info strong{color:var(--fg)}.example-card h3{font-size:16px;font-weight:600;color:var(--fg);margin:0 0 6px}.example-description{font-size:14px;color:var(--fg-dim);margin:0 0 16px}.mock-table{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mock-table table{width:100%;border-collapse:collapse}.mock-table thead{background:var(--surface-soft, rgba(148, 163, 184, .08))}.mock-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border)}.mock-table td{padding:12px 16px;font-size:14px;color:var(--fg);border-bottom:1px solid var(--border)}.mock-table tbody tr:last-child td{border-bottom:none}.mock-table tbody tr:hover{background:var(--hover-bg, rgba(148, 163, 184, .05))}.mock-search{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mock-search-header{padding:16px 20px;font-size:14px;font-weight:600;color:var(--fg);background:var(--surface-soft, rgba(148, 163, 184, .08));border-bottom:1px solid var(--border)}.mock-results{padding:16px;display:flex;flex-direction:column;gap:12px}.mock-result{padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--fg)}.mock-result strong{color:var(--accent);font-weight:600}.mock-large-list{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mock-list-header{padding:16px 20px;font-size:14px;font-weight:600;color:var(--fg);background:var(--surface-soft, rgba(148, 163, 184, .08));border-bottom:1px solid var(--border)}.debug-values{background:#f9fafb;border:1px solid var(--border);border-radius:8px;padding:16px}[data-theme=dark] .debug-values{background:#111827}.debug-values pre{margin:0;font-family:Monaco,Menlo,monospace;font-size:13px;color:var(--fg);overflow-x:auto}@media (max-width: 768px){.pagination-demo-page{padding:16px}.pagination-demo-header{flex-direction:column;gap:16px;align-items:flex-start}.theme-toggle{width:100%;justify-content:center}.mock-table{overflow-x:auto}.example-card{padding:16px}}.empty-state{text-align:center;padding:60px 20px;color:var(--muted, var(--fg-dim))}.empty-state__icon{font-size:48px;margin-bottom:16px;opacity:.3;user-select:none}.empty-state__text{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--muted, var(--fg-dim))}.empty-state__hint{font-size:14px;opacity:.7;color:var(--muted, var(--fg-dim))}.empty-state__action{margin-top:20px;display:flex;justify-content:center;align-items:center;gap:12px}@media (max-width: 768px){.empty-state{padding:40px 20px}.empty-state__icon{font-size:40px}.empty-state__text{font-size:15px}.empty-state__hint{font-size:13px}}.emptystate-demo-page{padding:24px;max-width:1400px;margin:0 auto;min-height:100vh;background:var(--bg)}.emptystate-demo-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border)}.emptystate-demo-header h1{font-size:28px;font-weight:700;color:var(--fg);margin:0 0 8px}.emptystate-demo-header p{font-size:15px;font-weight:500;color:var(--fg-dim);margin:0}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--hover-bg);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.emptystate-demo-grid{display:flex;flex-direction:column;gap:32px}.emptystate-demo-section{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d}.emptystate-demo-section.full-width{width:100%}.emptystate-demo-section h2{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 8px}.section-description{font-size:14px;color:var(--fg-dim);margin:0 0 20px}.empty-state-container{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;min-height:200px;display:flex;align-items:center;justify-content:center}.empty-states-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.empty-state-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.empty-state-card h3{font-size:14px;font-weight:600;color:var(--fg);margin:0;padding:12px 16px;background:var(--surface-soft, rgba(148, 163, 184, .08));border-bottom:1px solid var(--border)}.mock-table-empty,.mock-search-empty,.mock-list-empty,.mock-empty-with-action{min-height:250px;display:flex;align-items:center;justify-content:center;padding:20px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.icon-example{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;min-height:150px;display:flex;align-items:center;justify-content:center}.empty-state-link{display:inline-flex;align-items:center;gap:4px;padding:10px 20px;background:transparent;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;color:var(--accent);text-decoration:none;transition:all .2s ease}.empty-state-link:hover{background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #5e6aa61f}.example-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.example-card:last-child{margin-bottom:0}.example-card h3{font-size:16px;font-weight:600;color:var(--fg);margin:0 0 16px}.mock-full-table,.mock-full-search,.mock-dashboard{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.mock-table-header,.mock-dashboard-header{padding:16px 20px;background:var(--surface-soft, rgba(148, 163, 184, .08));border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.mock-table-header h4,.mock-dashboard-header h4{font-size:16px;font-weight:600;color:var(--fg);margin:0}.mock-filters{display:flex;gap:12px}.mock-search-input,.mock-select{min-height:36px;padding:6px 12px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text, var(--fg))}.mock-search-input{width:200px}.mock-table-body,.mock-dashboard-body{min-height:300px;display:flex;align-items:center;justify-content:center;padding:40px 20px}.mock-search-bar{padding:20px;background:var(--surface-soft, rgba(148, 163, 184, .08));border-bottom:1px solid var(--border)}.mock-search-input-large{width:100%;min-height:44px;padding:10px 16px;background:var(--card, var(--card-bg));border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text, var(--fg))}.mock-search-input-large:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.mock-search-results{min-height:300px;display:flex;align-items:center;justify-content:center;padding:40px 20px}@media (max-width: 768px){.emptystate-demo-page{padding:16px}.emptystate-demo-header{flex-direction:column;gap:16px;align-items:flex-start}.theme-toggle{width:100%;justify-content:center}.empty-states-row{grid-template-columns:1fr}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.mock-filters{flex-direction:column;width:100%}.mock-search-input{width:100%}.example-card{padding:16px}}.button-demo-page{min-height:100vh;background:var(--bg);padding:40px 20px}.button-demo-header{max-width:1200px;margin:0 auto 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.button-demo-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:var(--fg)}.button-demo-header p{margin:0;font-size:16px;color:var(--muted)}.theme-toggle{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{background:var(--surface-soft, rgba(148, 163, 184, .08));border-color:var(--accent)}.button-demo-grid{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.button-demo-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px}.button-demo-section.full-width{width:100%}.button-demo-section h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--fg)}.button-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.button-example{display:flex;flex-direction:column;gap:12px}.button-example h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.button-example p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.button-groups-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.button-group-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px}.button-group-card h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.3px}.button-group{display:flex;gap:12px;align-items:center}.content-variations{display:flex;flex-direction:column;gap:32px}.variation-row{display:flex;flex-direction:column;gap:16px}.variation-row h3{margin:0;font-size:14px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.3px}.real-world-examples{display:flex;flex-direction:column;gap:24px}.example-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px}.example-card h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.3px}.mock-modal-footer{display:flex;gap:12px;align-items:center;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.mock-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.toolbar-left{display:flex;gap:12px}.mock-week-nav{display:flex;gap:12px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.click-feedback{position:fixed;bottom:24px;right:24px;background:var(--accent);color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #00000026;animation:slideUp .3s ease}@media (max-width: 640px){.button-demo-header{flex-direction:column;align-items:flex-start}.button-row,.button-groups-container{grid-template-columns:1fr}.mock-toolbar{flex-direction:column;align-items:stretch}.toolbar-left,.mock-week-nav,.button-group{flex-direction:column}.button-group .sqr-btn{width:100%}.mock-modal-footer{flex-wrap:wrap;gap:8px}.mock-modal-footer .sqr-btn{flex:1 1 auto;min-width:max-content}.mock-modal-footer>div[style*="flex: 1"]{display:none}}.modal-drawer-demo-page{min-height:100vh;background:var(--bg);padding:40px 20px}.modal-drawer-demo-header{max-width:1200px;margin:0 auto 40px;display:flex;justify-content:space-between;align-items:center;gap:20px}.modal-drawer-demo-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:var(--fg)}.modal-drawer-demo-header p{margin:0;font-size:16px;color:var(--muted)}.modal-drawer-demo-grid{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:40px}.demo-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:32px}.demo-section.full-width{width:100%}.demo-section h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--fg)}.section-description{margin:0 0 24px;font-size:14px;color:var(--muted)}.demo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.demo-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px}.demo-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--fg)}.demo-card p{margin:0 0 16px;font-size:13px;color:var(--muted);line-height:1.5}.button-group{display:flex;flex-wrap:wrap;gap:8px}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.comparison-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px}.comparison-card h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--fg)}.comparison-card ul{margin:0 0 16px;padding:0 0 0 20px;list-style-type:disc}.comparison-card li{margin:0 0 8px;font-size:14px;color:var(--text);line-height:1.6}.example-tag{display:inline-block;padding:4px 10px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;border-radius:4px}@media (max-width: 640px){.modal-drawer-demo-header{flex-direction:column;align-items:flex-start}.demo-cards,.comparison-grid{grid-template-columns:1fr}.button-group{flex-direction:column}.button-group .sqr-btn{width:100%}}.theme-demo-page{min-height:100vh;background:var(--bg);color:var(--text);padding-bottom:60px}.theme-demo-header{display:flex;align-items:center;justify-content:space-between;padding:32px 24px;border-bottom:1px solid var(--border);background:var(--card);gap:20px;flex-wrap:wrap}.theme-demo-header h1{margin:0;font-size:28px;font-weight:700;color:var(--text);line-height:1.2}.theme-demo-header p{margin:8px 0 0;font-size:14px;color:var(--muted)}.theme-demo-content{max-width:1200px;margin:0 auto;padding:32px 24px;display:flex;flex-direction:column;gap:48px}.demo-section h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--text)}.section-desc{margin:0 0 24px;color:var(--muted);font-size:14px}.theme-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px}.theme-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.theme-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.theme-card-icon{font-size:48px;margin-bottom:16px;line-height:1}.theme-card h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text)}.theme-card p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.6}.theme-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.theme-features li{font-size:13px;color:var(--muted);padding-left:20px;position:relative}.theme-features li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}.component-showcase{display:flex;flex-direction:column;gap:32px}.showcase-group{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px}.showcase-group h3{margin:0 0 20px;font-size:16px;font-weight:600;color:var(--text)}.button-group{display:flex;flex-wrap:wrap;gap:12px}.demo-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}.demo-card h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text)}.demo-card p{margin:0 0 16px;font-size:14px;color:var(--muted);line-height:1.6}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:24px}.tip-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;text-align:center}.tip-icon{font-size:40px;margin-bottom:16px}.tip-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text)}.tip-card p{margin:0;font-size:14px;color:var(--muted);line-height:1.6}@media (max-width: 768px){.theme-demo-header{padding:20px 16px}.theme-demo-header h1{font-size:24px}.theme-demo-content{padding:24px 16px;gap:32px}.theme-cards,.tips-grid{grid-template-columns:1fr}}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.avatar-circle{border-radius:50%}.avatar-square{border-radius:8px}.avatar-clickable{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.avatar-clickable:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.avatar-xs{width:24px;height:24px}.avatar-sm{width:32px;height:32px}.avatar-md{width:40px;height:40px}.avatar-lg{width:56px;height:56px}.avatar-xl{width:80px;height:80px}.avatar-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;user-select:none}.avatar-xs .avatar-initials{font-size:10px}.avatar-sm .avatar-initials{font-size:12px}.avatar-md .avatar-initials{font-size:14px}.avatar-lg .avatar-initials{font-size:20px}.avatar-xl .avatar-initials{font-size:28px}.avatar-status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:8px;min-height:8px;border-radius:50%;border:2px solid var(--card)}.avatar-status-online{background:#10b981}.avatar-status-offline{background:#6b7280}.avatar-status-busy{background:#ef4444}.avatar-status-away{background:#f59e0b}.avatar-group{display:inline-flex;flex-direction:row-reverse;padding-left:12px}.avatar-group .avatar{margin-left:-12px;border:2px solid var(--card);transition:transform .2s ease,z-index .2s ease}.avatar-group .avatar:hover{transform:translateY(-4px);z-index:10!important}[data-theme=dark] .avatar-status,[data-theme=dark] .avatar-group .avatar{border-color:var(--bg)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab{position:relative;display:flex;align-items:center;gap:8px;padding:12px 20px;background:none;border:none;color:var(--muted);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab:hover:not(.tab-disabled){color:var(--text);background:var(--bg)}.tab-active{color:var(--accent)!important;font-weight:600}.tab-disabled{opacity:.4;cursor:not-allowed}.tabs-underline .tab-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.tabs-pills{border-bottom:none;gap:8px;margin-bottom:20px}.tabs-pills .tab{border-radius:8px;padding:8px 16px}.tabs-pills .tab-active{background:var(--accent);color:var(--accent-contrast)!important}.tabs-pills .tab-active:hover{background:var(--accent)!important}.tabs-boxed{border-bottom:none;background:var(--bg);border-radius:8px;padding:4px;gap:0}.tabs-boxed .tab{border-radius:6px;padding:8px 16px}.tabs-boxed .tab-active{background:var(--card);box-shadow:0 1px 3px #0000001a}.tab-icon{display:flex;align-items:center;font-size:16px}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--accent);color:var(--accent-contrast);font-size:11px;font-weight:600;border-radius:10px}.tab-active .tab-badge{background:var(--accent-contrast);color:var(--accent)}.tab-panel{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.tabs{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:10px 16px;font-size:13px}}[data-theme=dark] .tabs-boxed{background:#ffffff0d}[data-theme=dark] .tabs-boxed .tab-active{box-shadow:0 1px 3px #0000004d}.spinner-container{display:inline-flex;flex-direction:column;align-items:center;gap:12px}.spinner-container.spinner-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner-label{font-size:14px;color:var(--muted);font-weight:500}.spinner{display:inline-block;animation:rotate 1s linear infinite}.spinner-xs{width:16px;height:16px}.spinner-sm{width:24px;height:24px}.spinner-md{width:32px;height:32px}.spinner-lg{width:48px;height:48px}.spinner-xl{width:64px;height:64px}.spinner-circle{width:100%;height:100%;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%}@keyframes rotate{to{transform:rotate(360deg)}}.spinner-dots{display:flex;align-items:center;gap:6px}.spinner-dot{border-radius:50%;background:var(--accent);animation:pulse 1.4s ease-in-out infinite}.spinner-xs .spinner-dot{width:4px;height:4px}.spinner-sm .spinner-dot{width:6px;height:6px}.spinner-md .spinner-dot{width:8px;height:8px}.spinner-lg .spinner-dot{width:12px;height:12px}.spinner-xl .spinner-dot{width:16px;height:16px}.spinner-dot:nth-child(2){animation-delay:.2s}.spinner-dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.spinner-pulse{position:relative;display:inline-block}.spinner-pulse-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid var(--accent);border-radius:50%;animation:ripple 1.2s cubic-bezier(0,.2,.8,1) infinite}.spinner-pulse-ring:nth-child(2){animation-delay:.6s}@keyframes ripple{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.checkbox-wrapper{display:inline-flex;flex-direction:column;cursor:pointer;user-select:none}.checkbox-wrapper.checkbox-disabled{opacity:.5;cursor:not-allowed}.checkbox-content{display:flex;align-items:flex-start;gap:10px}.checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-box{position:relative;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:2px solid var(--border);border-radius:4px;background:var(--card);transition:all .2s ease;flex-shrink:0}.checkbox-icon,.checkbox-icon-indeterminate{width:14px;height:14px;color:transparent;transition:color .2s ease}.checkbox-input:checked+.checkbox-box{background:var(--accent);border-color:var(--accent)}.checkbox-input:checked+.checkbox-box .checkbox-icon{color:var(--accent-contrast)}.checkbox-input:indeterminate+.checkbox-box{background:var(--accent);border-color:var(--accent)}.checkbox-input:indeterminate+.checkbox-box .checkbox-icon-indeterminate{color:var(--accent-contrast)}.checkbox-input:focus-visible+.checkbox-box{outline:2px solid var(--accent);outline-offset:2px}.checkbox-wrapper:not(.checkbox-disabled):hover .checkbox-box{border-color:var(--accent)}.checkbox-labels{display:flex;flex-direction:column;gap:2px;padding-top:1px}.checkbox-label{font-size:14px;font-weight:500;color:var(--text);line-height:1.4}.checkbox-help{font-size:12px;color:var(--muted);line-height:1.4}.checkbox-wrapper.checkbox-error .checkbox-box{border-color:#ef4444}.checkbox-error-message{margin-top:4px;margin-left:30px;font-size:12px;color:#ef4444}[data-theme=dark] .checkbox-box{background:var(--bg)}.ui-elements-demo-page{padding:24px;max-width:1200px;margin:0 auto}.demo-header{margin-bottom:32px}.demo-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--text)}.demo-header p{margin:0;font-size:14px;color:var(--muted)}.demo-section{margin-top:24px}.demo-section h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text)}.demo-section>p{margin:0 0 24px;font-size:14px;color:var(--muted)}.demo-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:20px}.demo-card h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text)}.demo-card code{display:block;margin-top:12px;padding:8px 12px;background:var(--bg);border-radius:6px;font-family:Monaco,Courier New,monospace;font-size:13px;color:var(--accent)}.demo-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.demo-column{display:flex;flex-direction:column;gap:16px}@media (max-width: 640px){.ui-elements-demo-page,.demo-card{padding:16px}}:root{color-scheme:light}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,520px) minmax(320px,1fr);justify-content:center;background:radial-gradient(circle at top left,color-mix(in oklab,var(--accent) 18%,transparent),transparent 45%),radial-gradient(circle at bottom right,rgba(16,185,129,.18),transparent 45%),#0f172a;padding:clamp(24px,4vw,48px);gap:clamp(24px,6vw,72px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a}.auth-card{background:#fffffff5;border-radius:24px;box-shadow:0 40px 80px #0f172a33,0 20px 40px #0f172a1f,inset 0 1px #fff9;padding:clamp(24px,4vw,40px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:clamp(24px,4vw,40px)}.auth-header{display:flex;flex-direction:column;gap:16px}.auth-brand{display:flex;align-items:center;gap:7px;color:#334155}.auth-logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent),#14b8a6);box-shadow:0 12px 24px #2563eb40}.auth-logo-img{width:56px;height:56px;padding:8px;background:#fffffff2;border-radius:12px;box-shadow:0 12px 24px #0073ea40;border:1px solid rgba(0,115,234,.1);filter:drop-shadow(0 0 8px rgba(0,115,234,.4));animation:logoGlow 3s ease-in-out infinite}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 8px rgba(0,115,234,.4))}50%{filter:drop-shadow(0 0 12px rgba(0,115,234,.6))}}.auth-brand-title{font-family:Play,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;margin:-2px 0 0}.auth-brand-subtitle{margin:0;font-size:.8rem;color:#64748b}.auth-title{margin:0;font-size:clamp(1.75rem,3vw,2.4rem);font-weight:600;color:#0f172a}.auth-subtitle{margin:8px 0 0;font-size:1rem;color:#64748b;max-width:38ch}.auth-content{display:flex;flex-direction:column;gap:20px}.auth-highlight{border-radius:clamp(24px,4vw,48px);background:#0f172aba;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 80px #0f172a66;color:#fff;display:flex;align-items:center}.auth-highlight-inner{padding:clamp(24px,5vw,56px);display:flex;flex-direction:column;gap:24px}.auth-tag{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffffb3;margin:0}.auth-highlight h2{margin:0;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600}.auth-highlight-copy{margin:0;color:#e2e8f0d9;font-size:1rem;line-height:1.6}.auth-highlight ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.auth-highlight li{display:flex;gap:16px;align-items:flex-start}.auth-highlight li .dot{width:12px;height:12px;border-radius:999px;background:linear-gradient(135deg,#38bdf8,#22d3ee);margin-top:6px;flex:none;box-shadow:0 6px 12px #38bdf84d}.auth-highlight-title{margin:0;font-weight:600;font-size:.98rem}.auth-highlight-description{margin:6px 0 0;color:#e2e8f0b3;font-size:.9rem;line-height:1.5}@media (max-width: 1024px){.auth-shell{grid-template-columns:minmax(280px,520px);padding:clamp(24px,6vw,56px);min-height:auto}.auth-highlight{display:none}}@media (max-width: 1280px){.auth-shell{grid-template-columns:1fr;min-height:100vh;min-height:100dvh;padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 12%,#0f172a),#0f172a,color-mix(in oklab,#10b981 8%,#0f172a))}.auth-card{width:100%;max-width:100%;min-height:100vh;min-height:100dvh;border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:32px 24px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));box-shadow:none;background:var(--bg, #ffffff)}.auth-header{text-align:center;align-items:center}.auth-brand{justify-content:center;margin-bottom:8px}.auth-logo-img{width:64px;height:64px;padding:10px}.auth-title{font-size:1.75rem}.auth-subtitle{text-align:center;font-size:.95rem}.auth-highlight{display:none}}@media (max-width: 640px){.auth-shell{padding:0}.auth-card{padding:24px 20px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.auth-logo-img{width:56px;height:56px}.auth-title{font-size:1.5rem}.auth-highlight-inner{padding:24px}}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-label{font-size:.9rem;font-weight:600;color:#0f172a}.auth-input{border:1px solid rgba(15,23,42,.12);border-radius:12px;padding:12px 14px;font-size:.95rem;transition:border .2s ease,box-shadow .2s ease;background:#fffffff2;color:#0f172a}.auth-input:focus{outline:none;border-color:color-mix(in oklab,var(--accent) 60%,transparent);box-shadow:0 0 0 4px color-mix(in oklab,var(--accent) 15%,transparent)}.auth-input::placeholder{color:#64748bb3}.auth-footer{display:flex;flex-direction:column;gap:12px;margin-top:12px}.auth-error{padding:10px 12px;border-radius:12px;background:#ef44441a;color:#b91c1c;font-size:.9rem}.auth-info{padding:10px 12px;border-radius:12px;background:color-mix(in oklab,var(--accent) 7%,transparent);color:var(--accent-hover);font-size:.9rem}.auth-button{border:none;border-radius:12px;padding:14px 16px;font-weight:600;font-size:1rem;color:#fff;background:linear-gradient(135deg,var(--accent),#0ea5e9);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 20px #0ea5e940}.auth-button:disabled{opacity:.65;cursor:progress;box-shadow:none}.auth-muted{color:#64748b;font-size:.85rem;text-align:center}.auth-links{display:flex;justify-content:space-between;font-size:.85rem}.auth-link{color:var(--accent);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.auth-link--button{background:none;border:none;padding:0;cursor:pointer}.auth-forgot{margin-top:16px;display:flex;justify-content:flex-end}.auth-reset{margin-top:20px;padding:18px 20px;border-radius:16px;border:1px solid rgba(37,99,235,.18);background:#2563eb0d;display:grid;gap:12px}.auth-reset h3{margin:0;font-size:16px;font-weight:600;color:var(--fg, #0f172a)}.auth-reset p{margin:0;font-size:14px;color:var(--fg-secondary, #475569)}.auth-reset__form{display:grid;gap:10px}.auth-reset__form label{font-size:13px;font-weight:600;color:var(--fg-secondary, #475569)}.auth-button--secondary{background:#2563eb24;color:var(--accent);box-shadow:none}.auth-button--secondary:hover:not(:disabled){box-shadow:0 12px 24px #2563eb2e}.auth-button--secondary:disabled{opacity:.65}.auth-biometric-section{margin-bottom:20px}.auth-biometric-button{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;border:2px solid rgba(37,99,235,.2);border-radius:14px;background:linear-gradient(135deg,#2563eb14,#0ea5e914);color:var(--accent, #2563eb);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.auth-biometric-button:hover:not(:disabled){border-color:var(--accent, #2563eb);background:linear-gradient(135deg,#2563eb1f,#0ea5e91f);transform:translateY(-1px);box-shadow:0 8px 20px #2563eb26}.auth-biometric-button:disabled{opacity:.7;cursor:progress}.auth-biometric-button-icon{display:flex;align-items:center;justify-content:center;color:var(--accent, #2563eb)}.auth-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:#64748b;font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#64748b33}@media (max-width: 1280px){.auth-biometric-section{margin-bottom:0}.auth-biometric-section .auth-biometric-button{padding:20px 24px;font-size:1.1rem;border-radius:16px;background:linear-gradient(135deg,var(--accent, #2563eb),#0ea5e9);color:#fff;border:none;box-shadow:0 8px 24px #2563eb4d}.auth-biometric-section .auth-biometric-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #2563eb66}.auth-biometric-section .auth-biometric-button:active:not(:disabled){transform:scale(.98)}.auth-biometric-section .auth-biometric-button-icon{color:#fff}.auth-biometric-section .auth-biometric-button-icon svg{width:28px;height:28px}.auth-password-toggle{width:100%;padding:14px;margin-top:16px;background:transparent;border:1px solid var(--border, rgba(100, 116, 139, .2));border-radius:12px;color:var(--fg-secondary, #64748b);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.auth-password-toggle:hover{background:var(--bg-secondary, rgba(100, 116, 139, .08));color:var(--fg, #0f172a)}.auth-password-toggle svg{width:18px;height:18px;transition:transform .2s ease}.auth-password-toggle.expanded svg{transform:rotate(180deg)}.auth-password-section{max-height:0;overflow:hidden;opacity:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-password-section.expanded{max-height:500px;opacity:1;margin-top:20px;padding-top:20px;border-top:1px solid var(--border, rgba(100, 116, 139, .15))}.auth-biometric-section .auth-divider{display:none}}@media (max-width: 640px){.auth-biometric-section .auth-biometric-button{padding:18px 20px;font-size:1rem}.auth-biometric-section .auth-biometric-button-icon svg{width:24px;height:24px}}.auth-biometric-prompt{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;text-align:center}.auth-biometric-icon{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,#2563eb1a,#0ea5e91a);color:var(--accent, #2563eb)}.auth-biometric-description{color:#475569;font-size:.95rem;line-height:1.5;max-width:280px}.auth-biometric-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.auth-downloads{display:flex;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid rgba(100,116,139,.15)}.auth-download-link{flex:1;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(100,116,139,.15);border-radius:12px;background:#fff9;text-decoration:none;transition:all .2s ease}.auth-download-link:hover{border-color:var(--accent, #2563eb);background:#2563eb0a;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb1a}.auth-download-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#3ddc84,#00c853);color:#fff;flex-shrink:0}.auth-download-icon svg{width:22px;height:22px}.auth-download-icon--support{background:linear-gradient(135deg,var(--accent, #2563eb),#0ea5e9)}.auth-download-text{display:flex;flex-direction:column;gap:2px;min-width:0}.auth-download-title{font-size:.9rem;font-weight:600;color:#0f172a}.auth-download-subtitle{font-size:.75rem;color:#64748b}@media (max-width: 480px){.auth-downloads{flex-direction:column}}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg);overflow:hidden}.app-header{position:sticky;top:0;z-index:1000;background:var(--bg);border-bottom:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding-top:env(safe-area-inset-top)}.app-header-content{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;height:46px}.app-header-left,.app-header-right{display:flex;align-items:center;gap:12px}.app-logo{display:flex;align-items:center;gap:7px}.app-logo-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.app-logo-icon svg{width:100%;height:100%}.app-logo-text{font-family:Play,sans-serif;font-weight:700;font-size:19px;color:var(--fg);letter-spacing:.08em;line-height:1;margin-top:-2px}.app-header-btn{width:40px;height:40px;border-radius:12px;border:none;background:transparent;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;position:relative}.app-header-btn svg{width:20px;height:20px}.app-header-btn:active{transform:scale(.95);background:var(--bg-subtle)}.app-header-notifications .notification-badge{position:absolute;top:6px;right:6px;width:18px;height:18px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-radius:9px;font-size:11px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.pull-refresh-indicator{position:fixed;top:calc(46px + env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:99;transition:opacity .2s ease}.refresh-spinner{width:40px;height:40px;background:var(--bg);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000014;border:1px solid var(--border)}.refresh-spinner svg{width:20px;height:20px;color:var(--accent)}.refresh-spinner.spinning svg{animation:spin 1s linear infinite}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--bg);position:relative;z-index:1}.app-content.mobile{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.app-content-inner{min-height:100%;padding:16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:color-mix(in oklab,var(--card) 90%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.bottom-nav-content{display:flex;align-items:flex-end;justify-content:space-around;padding:6px 12px 0;height:58px}.bottom-nav-safe-area{height:env(safe-area-inset-bottom);background:var(--bg)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;border:none;background:transparent;padding:8px 4px;border-radius:12px;cursor:pointer;transition:all .2s ease;position:relative}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-icon{width:26px;height:26px;color:var(--fg-muted);transition:all .2s cubic-bezier(.4,0,.2,1);opacity:.7}.bottom-nav-icon svg{width:100%;height:100%;stroke-width:1.6}.bottom-nav-label{font-size:11px;font-weight:500;color:var(--fg-muted);transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:0;opacity:.7}.bottom-nav-item.active .bottom-nav-icon{color:var(--accent);opacity:1}.bottom-nav-item.active .bottom-nav-label{color:var(--accent);font-weight:600;opacity:1}.bottom-nav-item.center-action{flex:.8;margin:0 8px;padding:0}.center-action-button{width:48px;height:48px;border-radius:14px;background:var(--bg);border:1.5px solid var(--border);box-shadow:0 4px 12px #00000014;display:flex;align-items:center;justify-content:center;transform:translateY(-6px);transition:all .2s cubic-bezier(.4,0,.2,1)}.center-action-button:active{transform:translateY(-4px) scale(.96);box-shadow:0 2px 8px #0000001a}.center-action-icon{width:24px;height:24px;color:var(--accent)}.center-action-icon svg{width:100%;height:100%;stroke-width:2.5}.mobile-card{background:var(--card-bg);border-radius:16px;padding:16px;margin-bottom:12px;border:1px solid var(--border);box-shadow:0 2px 8px #0000000a;transition:all .2s ease}.mobile-card.clickable{cursor:pointer}.mobile-card.clickable:active{transform:scale(.98);box-shadow:0 1px 4px #0000000f}.mobile-card.gradient{background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-color:#6366f133}.mobile-card-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.mobile-card-icon{width:40px;height:40px;border-radius:12px;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--accent)}.mobile-card-icon svg{width:20px;height:20px}.mobile-card-titles{flex:1}.mobile-card-title{font-size:16px;font-weight:700;color:var(--fg);margin:0;letter-spacing:-.01em}.mobile-card-subtitle{font-size:13px;color:var(--fg-muted);margin:2px 0 0}.mobile-card-badge{padding:4px 10px;background:var(--bg-subtle);border-radius:8px;font-size:12px;font-weight:600;color:var(--fg-muted)}.mobile-card-content{color:var(--fg)}.mobile-section{margin-bottom:24px}.mobile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px}.mobile-section-title{font-size:20px;font-weight:700;color:var(--fg);margin:0;letter-spacing:-.02em}.mobile-section-action{font-size:14px;font-weight:600;color:var(--accent);cursor:pointer}.mobile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}.mobile-stat-card{background:var(--card-bg);border-radius:16px;padding:16px;border:1px solid var(--border);box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.mobile-stat-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px}.mobile-stat-icon svg{width:18px;height:18px}.mobile-stat-value{font-size:24px;font-weight:800;color:var(--fg);margin-bottom:4px;letter-spacing:-.02em}.mobile-stat-label{font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.mobile-stat-trend{position:absolute;top:12px;right:12px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700}.mobile-stat-trend.up{background:#10b98126;color:#10b981}.mobile-stat-trend.down{background:#ef444426;color:#ef4444}.mobile-list-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card-bg);border-radius:12px;margin-bottom:8px;border:1px solid var(--border);transition:all .2s ease;min-height:64px}.mobile-list-item.clickable{cursor:pointer}.mobile-list-item.clickable:active{transform:scale(.98);background:var(--bg-subtle)}.mobile-list-icon{width:40px;height:40px;border-radius:10px;background:var(--bg-subtle);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.mobile-list-icon svg{width:20px;height:20px}.mobile-list-content{flex:1;min-width:0}.mobile-list-title{font-size:15px;font-weight:600;color:var(--fg);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-subtitle{font-size:13px;color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-list-badge{padding:4px 10px;background:var(--bg-subtle);border-radius:8px;font-size:12px;font-weight:600;color:var(--fg-muted);white-space:nowrap}.mobile-list-right{color:var(--fg-muted);font-size:14px}.mobile-list-chevron{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted);font-size:24px;font-weight:300}@media (min-width: 768px){.app-content-inner{max-width:1200px;margin:0 auto;padding:24px}.mobile-stats-grid{grid-template-columns:repeat(4,1fr)}}@media (prefers-color-scheme: dark){.mobile-card{box-shadow:0 2px 8px #0003}}.animate-slide-up{animation:slideUp .3s ease}.user-dropdown-container{position:relative}.profile-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.5px;position:relative;transition:all .2s ease}.profile-avatar.active-shift{box-shadow:0 0 0 2px var(--bg),0 0 0 4px #10b981}.profile-avatar.active-shift.on-break{box-shadow:0 0 0 2px var(--bg),0 0 0 4px #f59e0b}.active-shift-badge{position:absolute;bottom:-2px;right:-2px;width:16px;height:16px;background:#10b981;border-radius:50%;border:2px solid var(--bg);display:flex;align-items:center;justify-content:center;animation:pulse 2s ease-in-out infinite}.active-shift-badge.on-break{background:#f59e0b;animation:pulse-fast 1s ease-in-out infinite}@keyframes pulse-fast{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.active-shift-badge svg{width:10px;height:10px;color:#fff}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.95)}}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;max-width:90vw;background:var(--card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 32px #0000001f,0 4px 12px #00000014;padding:12px;animation:slideDown .2s ease;z-index:10000}@media (prefers-color-scheme: dark){.user-dropdown-menu{box-shadow:0 12px 32px #0006,0 4px 12px #0000004d}}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;background:color-mix(in oklab,var(--accent) 8%,transparent)}.user-dropdown-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0}.user-dropdown-info{flex:1;min-width:0}.user-dropdown-name{font-size:15px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-dropdown-role{font-size:12px;font-weight:500;color:var(--fg-muted);text-transform:capitalize}.user-dropdown-divider{height:1px;background:var(--border);margin:8px 0}.user-dropdown-actions{display:flex;flex-direction:column;gap:2px}.user-dropdown-action{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;border:none;background:transparent;color:var(--fg);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease;width:100%;min-height:48px}.user-dropdown-action:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}.user-dropdown-action:active{transform:scale(.98);background:color-mix(in oklab,var(--accent) 15%,transparent)}.user-dropdown-action-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted);flex-shrink:0}.user-dropdown-action-icon svg{width:100%;height:100%}.clock-in-action{background:color-mix(in oklab,#10b981 8%,transparent);border:1px solid color-mix(in oklab,#10b981 20%,transparent)}.clock-in-action:hover{background:color-mix(in oklab,#10b981 12%,transparent);border-color:color-mix(in oklab,#10b981 30%,transparent)}.clock-in-action .user-dropdown-action-icon{color:#10b981}.clock-in-action span{color:#10b981;font-weight:600}.clock-out-action{background:color-mix(in oklab,#ef4444 8%,transparent);border:1px solid color-mix(in oklab,#ef4444 20%,transparent)}.clock-out-action:hover{background:color-mix(in oklab,#ef4444 12%,transparent);border-color:color-mix(in oklab,#ef4444 30%,transparent)}.clock-out-action .user-dropdown-action-icon{color:#ef4444}.clock-out-action span{color:#ef4444;font-weight:600}.sign-out-action:hover{background:color-mix(in oklab,#ef4444 8%,transparent)}.sign-out-action:hover .user-dropdown-action-icon,.sign-out-action:hover span{color:#ef4444}@media (max-width: 768px){.user-dropdown-menu{min-width:260px}.user-dropdown-action{min-height:44px}}.notification-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg)}.theme-modal-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px;animation:fadeIn .2s ease}.theme-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:340px;box-shadow:0 20px 60px #0000004d;animation:slideUp .25s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.theme-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.theme-modal-header h3{margin:0;font-size:17px;font-weight:600;color:var(--text)}.theme-modal-close{width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.theme-modal-close:hover{background:var(--bg-alt);color:var(--text)}.theme-modal-options{padding:8px;display:flex;flex-direction:column;gap:4px}.theme-option{display:flex;align-items:center;gap:12px;padding:12px 14px;border:none;background:transparent;border-radius:10px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.theme-option:hover{background:var(--bg-alt)}.theme-option.active{background:color-mix(in srgb,var(--accent) 15%,transparent)}.theme-option-icon{font-size:24px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-alt);border-radius:10px;flex-shrink:0}.theme-option.active .theme-option-icon{background:var(--accent)}.theme-option-info{flex:1;display:flex;flex-direction:column;gap:2px}.theme-option-label{font-size:14px;font-weight:600;color:var(--text)}.theme-option-desc{font-size:12px;color:var(--muted)}.theme-option-check{color:var(--accent);flex-shrink:0}.work-tasks-btn{position:relative;color:var(--accent)!important}.work-tasks-btn svg{width:20px;height:20px}.work-tasks-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--danger, #ef4444);color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg, #ffffff);line-height:1}.ticket-inbox-wrapper{position:relative}.ticket-inbox-btn.is-active{background:var(--primary-soft, rgba(0, 115, 234, .1));color:var(--primary, #0073ea)}.ticket-inbox-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--danger, #ef4444);color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg, #ffffff);line-height:1}.work-tasks-drawer-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:9999;animation:fadeIn .2s ease}.work-tasks-drawer{position:fixed;top:env(safe-area-inset-top,0px);right:0;bottom:calc(58px + env(safe-area-inset-bottom,0px));width:min(380px,100vw - 20px);background:var(--bg);display:flex;flex-direction:column;animation:slideInRight .25s ease;box-shadow:-4px 0 20px #00000026;border-radius:16px 0 0 16px}@media (max-width: 767px),(display-mode: standalone){.work-tasks-drawer-overlay{bottom:calc(58px + env(safe-area-inset-bottom,0px))}.work-tasks-drawer{width:100%;max-width:100%;left:0;right:0;top:60px;bottom:calc(58px + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;animation:slideUpDrawer .25s ease}}@keyframes slideUpDrawer{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.work-tasks-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--card)}.work-tasks-drawer-header h3{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.work-tasks-drawer-close{width:32px;height:32px;border:none;background:transparent;border-radius:8px;color:var(--fg-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.work-tasks-drawer-close:hover{background:var(--surface-soft);color:var(--fg)}.work-tasks-drawer-content{flex:1;overflow-y:auto;padding:12px 12px 0}.work-tasks-loading{text-align:center;padding:40px 20px;color:var(--fg-muted);font-size:14px}.work-tasks-empty{text-align:center;padding:40px 20px}.work-tasks-empty-icon{width:48px;height:48px;margin:0 auto 12px;color:var(--fg-muted);opacity:.5}.work-tasks-empty-icon svg{width:100%;height:100%}.work-tasks-empty p{margin:0;color:var(--fg-muted);font-size:14px}.work-tasks-list{display:flex;flex-direction:column;gap:8px}.work-task-item{display:flex;align-items:flex-start;gap:10px;padding:12px;background:var(--card);border-radius:10px;border:1px solid var(--border);cursor:pointer;transition:all .15s ease}.work-task-item:hover{border-color:var(--accent);background:var(--surface-soft)}.work-task-priority{width:4px;height:100%;min-height:40px;border-radius:2px;flex-shrink:0}.work-task-priority.urgent{background:#ef4444}.work-task-priority.high{background:#f59e0b}.work-task-priority.medium{background:#3b82f6}.work-task-priority.low{background:#6b7280}.work-task-content{flex:1;min-width:0}.work-task-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.work-task-type{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.work-task-type.ticket{background:#3b82f620;color:#3b82f6}.work-task-type.task{background:#8b5cf620;color:#8b5cf6}.work-task-number{font-size:11px;color:var(--fg-muted)}.work-task-title{font-size:14px;font-weight:500;color:var(--fg);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-task-meta{display:flex;align-items:center;gap:8px;font-size:11px}.work-task-status{padding:2px 6px;border-radius:4px;font-weight:500;text-transform:capitalize}.work-task-status.open{background:#3b82f620;color:#3b82f6}.work-task-status.in_progress{background:#f59e0b20;color:#f59e0b}.work-task-customer{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-task-chevron{color:var(--fg-muted);flex-shrink:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.work-task-chevron svg{width:16px;height:16px}.work-tasks-drawer-footer{padding:12px 16px;border-top:1px solid var(--border);background:var(--card);flex-shrink:0}@media (max-width: 767px),(display-mode: standalone){.work-tasks-drawer-footer{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}}.work-tasks-view-all{width:100%;padding:12px;border:none;background:var(--accent);color:#fff;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s ease}.work-tasks-view-all:hover{opacity:.9}.work-tasks-view-all svg{width:16px;height:16px}@media (max-width: 480px){.app-header-right{gap:6px}.app-header-btn{width:36px;height:36px}.app-header-btn svg{width:18px;height:18px}}.wtd-quick-add{display:flex;flex-direction:column;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border);transition:padding .15s ease}.wtd-quick-add.expanded{padding:12px 16px 16px}.wtd-quick-add-row{display:flex;align-items:center;gap:10px}.wtd-quick-add-icon{width:18px;height:18px;color:var(--accent);flex-shrink:0}.wtd-quick-add-icon svg{width:100%;height:100%}.wtd-quick-add input[type=text]{flex:1;background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;font-size:14px;color:var(--fg);padding:0;margin:0;-webkit-appearance:none;appearance:none;min-height:unset;height:auto}.wtd-quick-add input[type=text]:focus{border:none!important;outline:none!important;box-shadow:none!important}.wtd-quick-add input[type=text]::placeholder{color:var(--fg-muted)}.wtd-quick-add-row>button{padding:6px 14px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.wtd-quick-add-row>button:disabled{opacity:.6;cursor:not-allowed}.wtd-quick-add-row>button:hover:not(:disabled){opacity:.9}.wtd-quick-add-options{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.wtd-quick-add-option{display:flex;align-items:center;gap:12px}.wtd-quick-add-option label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--fg-muted);min-width:70px}.wtd-quick-add-option label svg{opacity:.7}.wtd-quick-add-date-options,.wtd-quick-add-priority-options{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.wtd-quick-add-date-options button,.wtd-quick-add-priority-options button{padding:5px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.wtd-quick-add-date-options button:hover,.wtd-quick-add-priority-options button:hover{border-color:var(--accent);color:var(--fg)}.wtd-quick-add-date-options button.active,.wtd-quick-add-priority-options button.active{background:var(--accent);border-color:var(--accent);color:#fff}.wtd-quick-add-date-options button.clear{padding:5px 6px;background:transparent;border:none;color:var(--fg-muted)}.wtd-quick-add-date-options button.clear:hover{color:var(--danger)}.wtd-quick-add-date-options input[type=date]{padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;cursor:pointer}.wtd-quick-add-date-options input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.wtd-quick-add-priority-options .priority-low.active{background:#3b82f6;border-color:#3b82f6}.wtd-quick-add-priority-options .priority-medium.active{background:#f59e0b;border-color:#f59e0b}.wtd-quick-add-priority-options .priority-high.active{background:#ef4444;border-color:#ef4444}.wtd-tabs{display:flex;gap:2px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border)}.wtd-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:transparent;border:none;border-radius:8px;font-size:13px;font-weight:500;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.wtd-tab:hover{background:var(--surface-soft);color:var(--fg)}.wtd-tab.active{background:var(--accent);color:#fff;font-weight:600}.wtd-tab-badge{padding:2px 6px;background:#fff3;border-radius:10px;font-size:11px;font-weight:700}.wtd-tab:not(.active) .wtd-tab-badge{background:var(--surface-soft);color:var(--fg-muted)}.wtd-items-list{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.wtd-item{display:flex;align-items:stretch;gap:0;background:var(--card);border-radius:10px;border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:all .15s ease}.wtd-item:hover{border-color:var(--accent);box-shadow:0 2px 8px #00000014}.wtd-item:active{transform:scale(.99)}.wtd-item-priority-bar{width:4px;flex-shrink:0}.wtd-item-body{flex:1;padding:12px;min-width:0}.wtd-item-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.wtd-item-type{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.wtd-item-type.ticket{background:#3b82f615;color:#3b82f6}.wtd-item-type.task{background:#8b5cf615;color:#8b5cf6}.wtd-item-number{font-size:11px;font-weight:500;color:var(--fg-muted)}.wtd-item-status{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:capitalize}.wtd-item-priority-badge{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase}.wtd-item-title{font-size:14px;font-weight:500;color:var(--fg);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}.wtd-item-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11px}.wtd-item-category{display:flex;align-items:center;gap:4px;color:var(--fg-muted)}.wtd-cat-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.wtd-item-customer{color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.wtd-item-due{display:flex;align-items:center;gap:3px;font-weight:500}.wtd-item-due svg{width:12px;height:12px}.wtd-item-end{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:8px;padding:12px 12px 12px 0}.wtd-add-to-tasks-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:var(--surface);border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease;opacity:.7}.wtd-add-to-tasks-btn:hover{opacity:1;border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.1)}.wtd-add-to-tasks-btn svg{width:14px;height:14px}.wtd-item-messages{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--fg-muted)}.wtd-item-messages svg{width:14px;height:14px}.wtd-item-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;letter-spacing:.3px}.wtd-item-people{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:12px}.wtd-item-assignee,.wtd-item-team{display:flex;align-items:center;gap:6px}.wtd-assignee-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;flex-shrink:0}.wtd-assignee-label,.wtd-team-label{color:var(--fg-muted);font-weight:500}.wtd-assignee-name{color:var(--fg);font-weight:600}.wtd-team-avatars{display:flex;align-items:center;margin-left:2px}.wtd-team-avatar{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;letter-spacing:.2px;margin-left:-6px;border:2px solid var(--card)}.wtd-team-avatar:first-child{margin-left:0}.wtd-team-more{width:22px;height:22px;border-radius:50%;background:var(--bg-secondary);color:var(--fg-muted);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;margin-left:-6px;border:2px solid var(--card)}.wtd-todo-item{display:flex;flex-direction:column;padding:12px;background:var(--card);border-radius:10px;border:1px solid var(--border);transition:all .15s ease}.wtd-todo-item:hover,.wtd-todo-item.expanded{border-color:var(--accent)}.wtd-todo-checkbox{width:20px;height:20px;min-width:20px;padding:0;border:2px solid var(--border);border-radius:6px;background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .15s ease}.wtd-todo-checkbox:hover{border-color:var(--accent)}.wtd-todo-checkbox svg{width:12px;height:12px;color:#fff}.wtd-todo-delete{width:24px;height:24px;min-width:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.wtd-todo-item:hover .wtd-todo-delete{opacity:1}.wtd-todo-delete:hover{background:var(--danger-subtle, rgba(239, 68, 68, .1));color:var(--danger, #ef4444)}.wtd-todo-delete svg{width:14px;height:14px}.wtd-todo-item.completed{opacity:.7}.wtd-todo-item.completed .wtd-todo-title{text-decoration:line-through;color:var(--fg-muted)}.wtd-todo-content{flex:1;min-width:0}.wtd-todo-title{font-size:14px;font-weight:500;color:var(--fg);margin-bottom:4px;display:flex;align-items:center;gap:6px}.wtd-todo-edit-btn{opacity:0;padding:2px;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;transition:opacity .15s,color .15s;flex-shrink:0}.wtd-todo-item:hover .wtd-todo-edit-btn{opacity:1}.wtd-todo-edit-btn:hover{color:var(--accent)}.wtd-todo-title-edit{display:flex;align-items:center;gap:6px;flex:1}.wtd-todo-title-edit input{flex:1;padding:4px 8px;border:1px solid var(--accent);border-radius:4px;background:var(--bg);color:var(--fg);font-size:14px;font-weight:500;outline:none}.wtd-todo-title-edit button{width:24px;height:24px;padding:0;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.wtd-todo-title-edit button:first-of-type{background:var(--success, #10b981);color:#fff}.wtd-todo-title-edit button:first-of-type:hover{background:#059669}.wtd-todo-title-edit button:last-of-type{background:var(--surface-soft);color:var(--fg-muted)}.wtd-todo-title-edit button:last-of-type:hover{background:var(--border);color:var(--fg)}.wtd-todo-title-edit button svg{width:14px;height:14px}@media (hover: none){.wtd-todo-edit-btn{opacity:.6}}.wtd-todo-due{font-size:11px;font-weight:500;display:flex;align-items:center;gap:4px}.work-tasks-empty span{display:block;margin-top:4px;font-size:12px;color:var(--fg-muted);opacity:.7}.wtd-progress{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-soft);border-radius:10px;margin-bottom:12px}.wtd-progress-bar{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}.wtd-progress-fill{height:100%;background:var(--success, #10b981);border-radius:3px;transition:width .3s ease}.wtd-progress-text{font-size:12px;font-weight:500;color:var(--fg-muted);white-space:nowrap}.wtd-todo-row{display:flex;align-items:flex-start;gap:12px}.wtd-todo-actions{display:flex;gap:2px;margin-top:8px;margin-left:32px}.wtd-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.wtd-icon-btn:hover{background:var(--surface-soft, #f1f5f9);color:var(--fg)}.wtd-icon-btn.has-value{color:var(--primary)}.wtd-icon-btn.priority-high{color:var(--warning, #f59e0b)}.wtd-icon-btn.mark-done:hover{background:#10b98126;color:var(--success, #10b981)}.wtd-icon-btn.is-done{color:var(--success, #10b981)}.wtd-icon-btn.is-done:hover{background:#f59e0b26;color:var(--warning, #f59e0b)}.wtd-icon-btn.team:hover{background:#3b82f626;color:var(--primary, #3b82f6)}.wtd-icon-btn.delete:hover{background:#ef444426;color:var(--danger, #ef4444)}.wtd-icon-btn svg{width:16px;height:16px}.wtd-inline-edit{display:flex;align-items:center;gap:4px;padding:4px;background:var(--surface-soft, #f1f5f9);border-radius:6px}.wtd-inline-edit input[type=date]{padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:12px;min-width:120px}.wtd-inline-edit button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--fg-muted);cursor:pointer}.wtd-inline-edit button:first-of-type{background:var(--success, #10b981);color:#fff}.wtd-inline-edit button svg{width:14px;height:14px}.wtd-inline-edit.priority-edit button{padding:4px 8px;font-size:11px;font-weight:600;width:auto}.wtd-inline-edit.priority-edit button.active{background:var(--primary);color:#fff}.wtd-todo-expanded{margin-top:12px;margin-left:32px;padding:12px;background:var(--surface-soft);border-radius:8px}.wtd-notes-edit textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px;font-family:inherit;resize:none}.wtd-notes-edit textarea:focus{outline:none;border-color:var(--accent)}.wtd-notes-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.wtd-char-count{font-size:11px;color:var(--fg-muted);margin-right:auto}.wtd-notes-cancel,.wtd-notes-save{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.wtd-notes-cancel{background:transparent;color:var(--fg-muted)}.wtd-notes-cancel:hover{background:var(--border);color:var(--fg)}.wtd-notes-save{background:var(--accent);color:#fff}.wtd-notes-save:hover{opacity:.9}.wtd-notes-view{position:relative}.wtd-notes-view p{margin:0;font-size:13px;color:var(--fg);line-height:1.5;white-space:pre-wrap}.wtd-notes-edit-btn,.wtd-notes-add-btn{padding:4px 8px;border:none;border-radius:4px;background:transparent;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer}.wtd-notes-edit-btn:hover,.wtd-notes-add-btn:hover{background:#0073ea1a}.wtd-notes-collapse{position:absolute;top:0;right:0;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.wtd-notes-collapse:hover{background:var(--border);color:var(--fg)}.mobile-route-overview{padding-bottom:80px}.mobile-route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;color:var(--fg-muted)}.mobile-route-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.mobile-route-empty{text-align:center;padding:48px 24px}.mobile-route-empty .empty-icon{font-size:48px;margin-bottom:16px}.mobile-route-empty h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--fg)}.mobile-route-empty p{margin:0;font-size:14px;color:var(--fg-muted);line-height:1.5}.route-header-card{margin-bottom:16px}.route-header-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.route-type-icon{font-size:32px;line-height:1}.route-header-info{flex:1;min-width:0}.route-name{margin:0;font-size:20px;font-weight:700;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-type{font-size:13px;color:var(--fg-muted)}.route-code{padding:4px 8px;background:#ffffff1a;border-radius:6px;font-size:12px;font-weight:600;color:var(--fg-muted)}.route-progress{margin-bottom:16px}.progress-bar{height:8px;background:#fff3;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--success, #10b981);border-radius:4px;transition:width .3s ease}.progress-text{display:flex;justify-content:space-between;font-size:12px;color:var(--fg-muted)}.route-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:12px;padding:16px;background:#ffffff0d;border-radius:12px;margin-bottom:16px}.route-stat{text-align:center}.route-stat .stat-value{display:block;font-size:20px;font-weight:700;color:var(--fg)}.route-stat .stat-label{display:block;font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px}.route-action{margin-top:4px}.start-route-btn,.continue-route-btn,.view-route-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-size:16px;font-weight:600;border-radius:12px}.start-route-btn{background:var(--success, #10b981);color:#fff}.start-route-btn:hover{background:var(--success-hover, #059669)}.btn-icon{font-size:14px}.route-stops-section{margin-top:16px}.route-stop-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-card, var(--bg));border:1px solid var(--border);border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .15s ease}.route-stop-item:hover{border-color:var(--accent)}.route-stop-item:active{transform:scale(.98)}.route-stop-item.completed{opacity:.7;background:var(--bg-secondary)}.route-stop-item.current{border-color:var(--accent);background:var(--accent-bg, #eef2ff)}.route-stop-item.is-break{background:var(--warning-bg, #fef3c7);border-color:var(--warning-border, #fcd34d)}.stop-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent, #6366f1);color:#fff;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}.route-stop-item.completed .stop-number{background:var(--success, #10b981)}.route-stop-item.is-break .stop-number{background:var(--warning, #f59e0b)}.stop-check{font-size:16px}.stop-content{flex:1;min-width:0}.stop-name{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:600;color:var(--fg);margin-bottom:4px}.stop-icon{font-size:14px}.stop-details{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.stop-customer{font-size:13px;color:var(--fg-muted)}.stop-checkpoints{font-size:12px;color:var(--accent);font-weight:500;padding:2px 6px;background:var(--accent-bg, #eef2ff);border-radius:4px}.stop-times{display:flex;gap:12px;font-size:12px;color:var(--fg-muted)}.stop-time{display:flex;align-items:center;gap:4px}.time-icon{font-size:11px}.stop-status{flex-shrink:0}.route-info-section{margin-top:16px}.route-description{margin:0 0 12px;font-size:14px;color:var(--fg-muted);line-height:1.5}.route-checkin-info,.route-order-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;font-size:13px;color:var(--fg);margin-bottom:8px}.checkin-icon,.order-icon{font-size:16px}[data-theme=dark] .route-code,[data-theme=dark] .route-stats{background:#0003}[data-theme=dark] .progress-bar{background:#0000004d}@media (max-width: 360px){.route-stats{grid-template-columns:repeat(2,1fr)}.route-stat .stat-value{font-size:18px}}.checkpoint-page{max-width:900px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.checkpoint-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.checkpoint-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:20px}.checkpoint-card header h1{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--fg)}.checkpoint-card header h2{margin:0 0 4px;font-size:20px;font-weight:700;color:var(--fg)}.checkpoint-card .subtitle{margin:0 0 16px;font-size:14px;color:var(--fg-muted)}.checkpoint-card .meta{margin:0 0 16px;font-size:13px;color:var(--fg-muted)}.checkpoint-actions{display:flex;flex-direction:column;gap:20px}.checkpoint-primary{display:flex;flex-direction:column;gap:12px}.checkpoint-status{font-size:14px;margin:0;padding:8px 12px;border-radius:8px;font-weight:500}.checkpoint-status.muted{background:var(--bg-subtle);color:var(--fg-muted)}.checkpoint-status.info{background:#6366f11a;color:var(--accent);border:1px solid rgba(99,102,241,.3)}.checkpoint-status.success{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.checkpoint-status.alert{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.checkpoint-manual label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--fg)}.checkpoint-input-row{display:flex;gap:8px}.code-input{flex:1;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--fg);font-family:SF Mono,Monaco,Courier New,monospace;font-size:14px;text-transform:uppercase;transition:border-color .2s ease}.code-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.checkpoint-detail{animation:slideIn .3s ease}.detail-list dd{margin:0;font-size:14px;color:var(--fg);font-family:SF Mono,Monaco,Courier New,monospace}.checkpoint-form{display:flex;flex-direction:column;gap:16px}.checkpoint-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:var(--fg)}.checkpoint-form input[type=text],.checkpoint-form textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--fg);font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s ease}.checkpoint-form input[type=text]:focus,.checkpoint-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.checkpoint-form textarea{resize:vertical;min-height:80px}.queue-info small{font-size:12px;color:var(--fg-muted)}@media (max-width: 768px){.checkpoint-page{padding:12px}.checkpoint-card header h1{font-size:20px}.checkpoint-card header h2{font-size:18px}.checkpoint-input-row{flex-direction:column}.detail-list{grid-template-columns:1fr;gap:8px}.detail-list dt{font-size:11px;margin-bottom:2px}.detail-list dd{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.detail-list dd:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.status-group{flex-direction:column;gap:12px}.form-footer{flex-direction:column}.queue-item{flex-direction:column;align-items:stretch}}.route-progress-card{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-color:#6366f14d}.route-progress-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.route-info{display:flex;flex-direction:column;gap:2px}.route-info .route-name{font-size:16px;font-weight:700;color:var(--fg)}.route-info .route-stop{font-size:13px;color:var(--accent);font-weight:600}.exit-guided-btn{background:#ffffff1a;border:none;width:28px;height:28px;border-radius:8px;font-size:14px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.exit-guided-btn:hover{background:#ef444433;color:#ef4444}.current-site-info{display:flex;align-items:center;gap:12px;padding:12px;background:var(--card-bg);border-radius:12px;margin-bottom:12px}.current-site-info .site-icon{font-size:24px}.current-site-info .site-details{display:flex;flex-direction:column;gap:2px}.current-site-info .site-details strong{font-size:15px;color:var(--fg)}.current-site-info .checkpoint-progress{font-size:13px;color:var(--fg-muted)}.site-progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:12px}.site-progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#10b981);border-radius:4px;transition:width .3s ease}.remaining-checkpoints{margin-bottom:12px}.remaining-checkpoints .remaining-label{font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:8px}.checkpoint-tags{display:flex;flex-wrap:wrap;gap:6px}.checkpoint-tag{font-size:12px;padding:4px 10px;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--fg)}.checkpoint-tag.more{background:#6366f11a;border-color:#6366f14d;color:var(--accent);font-weight:500}.complete-site-btn{width:100%;margin-top:4px}.skip-modal-content{padding:8px 0}.skip-warning{font-size:14px;font-weight:500;color:var(--fg);margin:0 0 12px}.skip-checkpoint-list{list-style:disc;margin:0 0 16px 20px;padding:0;font-size:13px;color:var(--fg-muted)}.skip-checkpoint-list li{margin-bottom:4px}.skip-reason-field{margin-bottom:16px}.skip-reason-field label{display:block;font-size:13px;font-weight:600;color:var(--fg);margin-bottom:8px}.skip-reason-field textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-family:inherit;font-size:14px;resize:vertical;min-height:80px}.skip-reason-field textarea:focus{outline:none;border-color:var(--accent)}.skip-modal-actions{display:flex;gap:12px;justify-content:flex-end}@media (max-width: 480px){.skip-modal-actions{flex-direction:column-reverse}.skip-modal-actions button{width:100%}}@media (prefers-color-scheme: dark){.checkpoint-card{box-shadow:0 1px 3px #0003}.queue-card{background:#f59e0b14}}.alarm-page{max-width:900px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.alarm-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.alarm-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:20px}.alarm-card header h1,.alarm-card header h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--fg)}.alarm-card header h2{font-size:20px}.alarm-card .subtitle,.alarm-card .meta{margin:0 0 16px;font-size:14px;color:var(--fg-muted)}.alarm-search label{display:block;margin-bottom:8px;font-size:14px;font-weight:600;color:var(--fg)}.search-row{display:flex;gap:8px;margin-bottom:12px}.search-input{flex:1;padding:12px 12px 12px 40px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--fg);font-size:14px;transition:border-color .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cpath d='m21 21-4.35-4.35'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.results-list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:12px}.result-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:12px;transition:all .2s ease}.result-item:hover{background:var(--card-bg);box-shadow:0 2px 8px #00000014}.result-info{display:flex;flex-direction:column;gap:4px;flex:1}.result-info span{font-size:14px;font-weight:600;color:var(--fg)}.result-info .muted{font-size:12px;color:var(--fg-muted)}.alarm-detail{animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-list{display:grid;grid-template-columns:120px 1fr;gap:12px 16px;margin:0 0 24px;padding:16px;background:var(--bg-subtle);border-radius:12px}.detail-list dt{font-size:13px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.03em}.detail-list dd{margin:0;font-size:14px;color:var(--fg)}.detail-list dd.full-width{grid-column:1 / -1;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.navigate-btn{margin-left:12px;padding:4px 12px;font-size:13px;border:1px solid var(--border);background:var(--bg);color:var(--accent);border-radius:8px;cursor:pointer;transition:all .2s ease}.navigate-btn:hover{background:var(--accent);color:#fff}.contacts-section{margin:16px 0 24px;padding:16px;background:var(--bg-subtle);border-radius:12px;border:1px solid var(--border)}.contacts-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:inherit}.contacts-toggle h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.contacts-toggle span{font-size:14px;color:var(--accent)}.contacts-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;gap:12px;padding:12px;background:var(--card-bg);border-radius:8px;border:1px solid var(--border)}.contact-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.contact-info{flex:1}.contact-name{font-weight:600;font-size:14px;color:var(--fg);margin-bottom:2px}.primary-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:#10b9811a;color:#10b981;border-radius:4px}.contact-role{font-size:13px;color:var(--fg-muted);margin-bottom:6px}.contact-details{display:flex;flex-direction:column;gap:4px}.contact-details a{font-size:13px;color:var(--accent);text-decoration:none}.contact-details a:hover{text-decoration:underline}.alarm-form{display:flex;flex-direction:column;gap:16px}.alarm-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:var(--fg)}.alarm-form input[type=text],.alarm-form input[type=search],.alarm-form input[type=time],.alarm-form textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--fg);font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s ease}.alarm-form input[type=text]:focus,.alarm-form input[type=search]:focus,.alarm-form input[type=time]:focus,.alarm-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.alarm-form textarea{resize:vertical}.alarm-form .hint{display:block;margin-top:4px;font-size:12px;color:var(--fg-muted)}.time-tracking-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.time-tracking-row{grid-template-columns:1fr}}.status-group{display:flex;gap:16px;padding:12px;background:var(--bg-subtle);border-radius:12px}.status-group label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer;margin:0}.status-group input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.alarm-form input[type=file]{padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--fg);font-size:14px;cursor:pointer}.photo-previews{margin-top:12px;padding:12px;background:var(--bg-subtle);border-radius:12px}.photo-previews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.photo-previews-header strong{font-size:14px;color:var(--fg)}.clear-photos-btn{padding:4px 12px;font-size:13px;border:1px solid var(--border);background:var(--bg);color:var(--fg-muted);border-radius:8px;cursor:pointer;transition:all .2s ease}.clear-photos-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.photo-preview{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--bg);border:1px solid var(--border)}.photo-preview img{width:100%;height:100%;object-fit:cover}.remove-photo-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#000000b3;color:#fff;border:none;font-size:18px;line-height:1;cursor:pointer;transition:all .2s ease}.remove-photo-btn:hover{background:#ef4444e6}.form-footer{display:flex;gap:12px;padding-top:8px}.offline-notice,.success-notice{padding:12px;border-radius:8px;font-size:14px;font-weight:500;text-align:center}.offline-notice{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.success-notice{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3);animation:fadeIn .3s ease}.queue-card{border-color:#f59e0b4d;background:#f59e0b0d}.queue-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.queue-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}.queue-info{display:flex;flex-direction:column;gap:4px;flex:1}.queue-info span{font-size:14px;font-weight:600;color:var(--fg)}.queue-info .muted{font-size:12px;color:var(--fg-muted)}@media (max-width: 768px){.alarm-page{padding:12px}.alarm-card header h1{font-size:20px}.alarm-card header h2{font-size:18px}.search-row{flex-direction:column}.result-item{flex-direction:column;align-items:stretch}.detail-list{grid-template-columns:1fr;gap:8px}.detail-list dt{font-size:11px;margin-bottom:2px}.detail-list dd{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.detail-list dd:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.navigate-btn{display:block;margin:8px 0 0;width:100%}.status-group{flex-direction:column;gap:12px}.form-footer{flex-direction:column}.queue-item{flex-direction:column;align-items:stretch}}@media (prefers-color-scheme: dark){.alarm-card{box-shadow:0 1px 3px #0003}.result-item:hover{box-shadow:0 2px 8px #0000004d}.queue-card{background:#f59e0b14}}.smart-filter-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 3px #0000000d;flex-wrap:wrap}.sfb-search{flex:0 0 220px;min-width:160px}.sfb-search .search-bar{height:36px}.sfb-search .search-input{height:36px;padding:0 32px 0 36px;font-size:13px}.sfb-search .search-icon{left:10px;width:16px;height:16px}.sfb-search .clear-btn{right:6px;width:24px;height:24px}.sfb-divider{width:1px;height:28px;background:var(--border);flex-shrink:0}.sfb-spacer{flex:1;min-width:8px}.sfb-toggles{display:flex;gap:6px;flex-wrap:wrap}.sfb-toggle{padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap}.sfb-toggle:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--fg)}.sfb-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 4px color-mix(in oklab,var(--accent) 30%,transparent)}.sfb-dropdown{position:relative}.sfb-dropdown-trigger{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;font-size:13px;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap}.sfb-dropdown-trigger:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--fg)}.sfb-dropdown-trigger.active{background:var(--surface-soft, rgba(59, 130, 246, .08));border-color:var(--accent);color:var(--accent)}.sfb-dropdown-trigger svg{flex-shrink:0;opacity:.7;transition:transform .2s ease}.sfb-dropdown.open .sfb-dropdown-trigger svg{transform:rotate(180deg)}.sfb-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;animation:sfb-dropdown-in .15s ease}@keyframes sfb-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sfb-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:none;font-size:13px;font-weight:500;color:var(--fg);cursor:pointer;text-align:left;transition:background .1s ease}.sfb-dropdown-item:hover{background:var(--hover-bg)}.sfb-dropdown-item.selected{background:var(--surface-soft, rgba(59, 130, 246, .08));color:var(--accent)}.sfb-dropdown-item svg{flex-shrink:0;color:var(--accent)}.sfb-toggle{padding:4px 8px;border-radius:6px;transition:background .15s ease}.sfb-toggle:hover{background:var(--hover-bg)}.sfb-toggle .toggle-label{font-size:13px;font-weight:500;color:var(--fg-dim)}.sfb-date-range{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--input-bg);border:1px solid var(--border);border-radius:6px}.sfb-date-range>svg{flex-shrink:0;color:var(--fg-dim);opacity:.6}.sfb-date-separator{color:var(--fg-dim);font-size:12px;opacity:.5}.sfb-date-input{width:110px;height:26px;padding:0 4px;background:transparent;border:none;border-radius:4px;font-size:12px;font-weight:500;color:var(--fg);transition:all .15s ease}.sfb-date-input:focus{outline:none;background:var(--hover-bg)}.sfb-date-input::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer;width:14px;height:14px}.sfb-date-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:50%;color:var(--fg-dim);cursor:pointer;transition:all .15s ease}.sfb-date-clear:hover{background:var(--hover-bg);color:var(--fg)}.sfb-checkbox{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .15s ease;white-space:nowrap}.sfb-checkbox:hover{background:var(--hover-bg);color:var(--fg)}.sfb-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.sfb-toggle-wrapper{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;transition:background .15s ease}.sfb-toggle-wrapper:hover{background:var(--hover-bg)}.sfb-toggle-label{font-size:13px;font-weight:500;color:var(--fg-dim);white-space:nowrap}.sfb-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--fg-dim);cursor:pointer;transition:all .15s ease}.sfb-icon-btn:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--fg)}.sfb-icon-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.sfb-menu{position:relative}.sfb-menu-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden;animation:sfb-dropdown-in .15s ease}.sfb-menu-dropdown.sfb-menu-right{left:auto;right:0}.sfb-menu-section{border-top:1px solid var(--border);padding-top:4px;margin-top:4px}.sfb-menu-section:first-child{border-top:none;padding-top:0;margin-top:0}.sfb-menu-section-label{padding:8px 14px 4px;font-size:11px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.sfb-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;font-size:13px;font-weight:500;color:var(--fg);cursor:pointer;text-align:left;transition:background .1s ease}.sfb-menu-item:hover{background:var(--hover-bg)}.sfb-menu-item.selected{background:var(--surface-soft, rgba(59, 130, 246, .08));color:var(--accent)}.sfb-menu-item svg{flex-shrink:0;opacity:.7}.sfb-menu-item.selected svg{opacity:1;color:var(--accent)}.sfb-menu-item.sfb-menu-item-danger{color:#ef4444}.sfb-menu-item.sfb-menu-item-danger:hover{background:#ef444414}.sfb-menu-item.sfb-menu-item-success{color:#10b981}.sfb-menu-item.sfb-menu-item-success:hover{background:#10b98114}@media (max-width: 1024px){.smart-filter-bar{padding:10px 12px;gap:8px}.sfb-search{flex:1 1 100%;order:-1}.sfb-divider{display:none}.sfb-toggles{order:1}.sfb-dropdown{order:2}.sfb-checkbox,.sfb-toggle-wrapper{order:3}.sfb-spacer{order:4;flex:1 1 100%;min-width:100%;height:0}.sfb-menu{order:5}}@media (max-width: 640px){.sfb-toggles{width:100%;justify-content:flex-start}.sfb-toggle{flex:1;text-align:center;padding:8px 6px;font-size:12px}.sfb-dropdown-trigger,.sfb-checkbox{font-size:12px;padding:6px 10px}.sfb-toggle-label{display:none}}.column-picker-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.column-picker-modal{background:var(--bg);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:700px;width:100%;max-height:80vh;display:flex;flex-direction:column}.column-picker-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 16px;border-bottom:1px solid var(--border)}.column-picker-header h2{margin:0;font-size:20px;font-weight:600;color:var(--fg)}.column-picker-close{background:none;border:none;font-size:32px;line-height:1;color:var(--fg-dim);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.column-picker-close:hover{background:var(--bg-secondary);color:var(--fg)}.column-picker-body{flex:1;overflow-y:auto;padding:16px 24px}.column-picker-instructions{margin-bottom:16px;padding:12px;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--accent)}.column-picker-instructions p{margin:0;font-size:14px;color:var(--fg)}.column-picker-instructions strong{color:var(--accent)}.column-picker-list{display:flex;flex-direction:column;gap:8px}.column-picker-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:move;transition:all .15s ease;user-select:none}.column-picker-item:hover{background:var(--bg-hover);border-color:var(--border)}.column-picker-item.visible{border-color:var(--accent);background:#6366f10d}.column-picker-item.dragging{opacity:.5;transform:scale(1.02)}.column-picker-drag-handle{font-size:18px;color:var(--fg-dim);cursor:move;width:24px;text-align:center}.column-picker-label{flex:1;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--fg)}.column-picker-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.column-picker-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.column-picker-label span{flex:1}.column-picker-locked-badge{font-size:11px;font-weight:600;color:var(--fg-dim);background:var(--bg);padding:4px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.column-picker-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid var(--border)}.column-picker-footer-actions{display:flex;gap:12px}@media (max-width: 767px){.column-picker-modal{max-width:100%;max-height:90vh}.column-picker-header{padding:16px}.column-picker-body{padding:12px 16px}.column-picker-footer{flex-direction:column;gap:12px;padding:16px}.column-picker-footer-actions{width:100%}.column-picker-footer-actions button{flex:1}}.context-menu-overlay{position:fixed;inset:0;z-index:999;background:transparent}.context-menu{position:fixed;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;padding:4px;z-index:1000;animation:contextMenuFadeIn .12s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;border-radius:6px;font-size:14px;font-weight:500;color:var(--fg);text-align:left;cursor:pointer;transition:all .12s ease}.context-menu-item:hover:not(.disabled){background:var(--bg-hover);color:var(--accent)}.context-menu-item.disabled{opacity:.4;cursor:not-allowed}.context-menu-item.danger{color:#ef4444}.context-menu-item.danger:hover:not(.disabled){background:#ef44441a;color:#dc2626}.context-menu-icon{display:flex;align-items:center;justify-content:center;font-size:16px;width:20px}.context-menu-label{flex:1}.data-table-wrapper{background:var(--bg)}.mobile-view-toggle{display:flex;gap:8px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border)}.view-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg-dim);font-size:.875rem;cursor:pointer;transition:all .2s ease}.view-toggle-btn svg{width:16px;height:16px}.view-toggle-btn:hover{background:var(--hover);color:var(--fg)}.view-toggle-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.data-table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9375rem;table-layout:auto}.data-table thead{background:var(--bg);border-bottom:2px solid var(--border)}.data-table th{padding:12px 16px;text-align:left;font-weight:600;color:var(--fg);font-size:.875rem;white-space:nowrap;transition:background-color .15s ease;background:var(--bg);border-bottom:2px solid var(--border)}.data-table th:hover{background:color-mix(in oklab,var(--accent) 8%,transparent)}@media (prefers-color-scheme: dark){.data-table th:hover{background:#60a5fa1f}}.data-table th.actions-header{text-align:right}.data-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .2s ease}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr:hover{background:var(--hover)}.data-table tbody tr:nth-child(2n){background:#00000005}[data-theme=dark] .data-table tbody tr:nth-child(2n){background:#ffffff05}.data-table tbody tr:nth-child(2n):hover{background:var(--hover)}.data-table tbody tr.archived-row{background:#00000008;opacity:.7}@media (prefers-color-scheme: dark){.data-table tbody tr.archived-row{background:#ffffff08;opacity:.7}}.data-table tbody tr.archived-row:hover{background:#0000000d;opacity:.8}@media (prefers-color-scheme: dark){.data-table tbody tr.archived-row:hover{background:#ffffff0d;opacity:.8}}.data-table td{padding:12px 16px;color:var(--fg);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.data-table td>div{white-space:normal}.data-table td.actions-cell{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding-top:8px;padding-bottom:8px}.data-cards{display:flex;flex-direction:column;gap:12px;padding:16px}.data-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease}.data-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.data-card.archived-row{background:#00000005;opacity:.7}@media (prefers-color-scheme: dark){.data-card.archived-row{background:#ffffff05;opacity:.7}}.data-card.archived-row:hover{opacity:.8}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.card-title{font-weight:600;font-size:1rem;color:var(--fg)}.card-actions{display:flex;gap:8px}.card-body{display:flex;flex-direction:column;gap:8px}.card-row{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.card-label{font-weight:500;color:var(--fg-dim);margin-right:8px}.card-value{color:var(--fg);text-align:right}.compact-table-container{overflow-x:auto;padding:0 16px}.compact-table{width:100%;border-collapse:collapse;font-size:.875rem}.compact-table thead{background:var(--bg)}.compact-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--fg);font-size:.8125rem;white-space:nowrap;border-bottom:2px solid var(--border);background:var(--bg)}.compact-table tbody tr{border-bottom:1px solid var(--border)}.compact-table tbody tr.clickable{cursor:pointer}.compact-table tbody tr:active{background:var(--hover)}.compact-table tbody tr:nth-child(2n){background:#00000005}[data-theme=dark] .compact-table tbody tr:nth-child(2n){background:#ffffff05}.compact-table tbody tr:nth-child(2n):active{background:var(--hover)}.compact-table tbody tr.archived-row{background:#00000008;opacity:.7}@media (prefers-color-scheme: dark){.compact-table tbody tr.archived-row{background:#ffffff08;opacity:.7}}.compact-table tbody tr.archived-row:active{background:#0000000d;opacity:.8}@media (prefers-color-scheme: dark){.compact-table tbody tr.archived-row:active{background:#ffffff0d;opacity:.8}}.compact-table td{padding:8px 12px;color:var(--fg);white-space:nowrap}.compact-table td.actions-cell{display:flex;gap:4px;align-items:center}.data-table-loading{padding:16px;display:flex;flex-direction:column;gap:12px}.loading-skeleton{height:48px;background:linear-gradient(90deg,var(--hover) 0%,var(--border) 50%,var(--hover) 100%);background-size:200% 100%;animation:loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.data-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 16px;text-align:center}.data-table-empty svg{color:var(--fg-dim);margin-bottom:16px;opacity:.5}.data-table-empty p{color:var(--fg-dim);font-size:.9375rem;margin:0}.selection-header{width:50px;text-align:center;padding:12px 8px!important}.selection-cell{width:50px;text-align:center;padding:8px!important}.selection-header input[type=checkbox],.selection-cell input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.card-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--primary);margin-right:12px;flex-shrink:0}@media (min-width: 768px){.mobile-view-toggle{display:none}}.data-table-advanced th{user-select:none;border-right:1px solid rgba(0,0,0,.06);overflow:visible;position:relative}[data-theme=dark] .data-table-advanced th{border-right:1px solid rgba(255,255,255,.06)}.data-table-advanced td{border-right:1px solid rgba(0,0,0,.03)}[data-theme=dark] .data-table-advanced td{border-right:1px solid rgba(255,255,255,.03)}.resize-handle{position:absolute;top:0;width:20px;height:100%;cursor:col-resize;z-index:20;pointer-events:auto}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;width:3px;left:50%;transform:translate(-50%);background:var(--border);opacity:.4;transition:opacity .15s ease,background-color .15s ease}.resize-handle:hover:after{background:var(--accent);opacity:1}.resize-handle-right{right:-10px}.resize-handle-left{left:-10px}[data-theme=dark] .resize-handle{background:transparent}.data-table-advanced th:hover .resize-handle{opacity:1;background:var(--accent);width:4px}[data-theme=dark] .data-table-advanced th:hover .resize-handle{background:var(--accent)}.data-table-advanced th:hover .resize-handle-right{right:-1.5px}.data-table-advanced th:hover .resize-handle-left{left:-1.5px}.resize-handle:hover{background:var(--primary)!important;opacity:.9!important;width:4px;box-shadow:0 0 4px #0003}.resize-handle-right:hover{right:-2px}.resize-handle-left:hover{left:-2px}.resize-handle.resizing{background:var(--primary)!important;opacity:1!important;width:4px!important}.data-table-wrapper.is-resizing{user-select:none;cursor:col-resize}.data-table-wrapper.is-resizing *{cursor:col-resize!important}.data-table-advanced th:has(.resize-handle.resizing){background:var(--hover);transition:background-color .1s ease}.data-table-advanced{table-layout:fixed;width:fit-content!important}.data-table-advanced td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table-advanced td>div,.data-table-advanced td>span{overflow:hidden;text-overflow:ellipsis}.data-table-advanced th.actions-header{width:100px;min-width:100px;max-width:100px;text-align:right;border-right:none;position:relative}.data-table-advanced td.actions-cell{width:100px;min-width:100px;max-width:100px;border-right:none;white-space:nowrap;overflow:visible}.data-table-advanced th:has(+.actions-header),.data-table-advanced td:has(+.actions-cell){border-right:none}.data-table-container{position:relative;overflow-x:auto;padding-left:10px;margin-left:-10px}.data-table-container:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--bg);z-index:15;pointer-events:none}@media (max-width: 767px){.data-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.resize-handle{display:block}}.compact-table-advanced{table-layout:auto;width:max-content;min-width:100%;font-size:.875rem}.compact-table-advanced th{position:relative;padding:10px 12px;font-size:.8125rem;border-right:1px solid rgba(0,0,0,.06);cursor:context-menu;user-select:none}.compact-table-advanced td{padding:10px 12px}[data-theme=dark] .compact-table-advanced th{border-right:1px solid rgba(255,255,255,.06)}.compact-table-advanced td{border-right:1px solid rgba(0,0,0,.03)}[data-theme=dark] .compact-table-advanced td{border-right:1px solid rgba(255,255,255,.03)}.compact-table-advanced th .th-content{display:flex;align-items:center;gap:4px;justify-content:space-between}.compact-table-advanced th .pin-badge{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;opacity:.6;flex-shrink:0}.compact-table-advanced th .pin-badge svg{width:10px;height:10px}.compact-table-advanced th.pinned{background:transparent}.compact-table-advanced th.pinned:hover{background:var(--bg-hover)}.compact-table-advanced th.sticky,.compact-table-advanced td.sticky{background:var(--bg);border-right:2px solid var(--border);box-shadow:2px 0 6px #00000026;position:sticky;padding-left:18px}.compact-table-advanced th.sticky{background:var(--bg);z-index:11}.compact-table-advanced td.sticky{background:var(--bg);z-index:9}.compact-table-advanced tbody tr:active td.sticky{background:var(--bg)}.compact-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;padding-left:10px;margin-left:-10px;width:100%;max-width:100%}@media (min-width: 1025px){.compact-table-container{padding:0 16px;margin:0}}.compact-table-container:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:linear-gradient(to right,var(--bg) 0%,var(--bg) 100%);z-index:15;pointer-events:none}.data-table-advanced th .th-content{display:flex;align-items:center;gap:6px;justify-content:space-between}.data-table-advanced th .pin-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;opacity:.6;flex-shrink:0}.data-table-advanced th .pin-badge svg{width:12px;height:12px}.data-table-advanced th.pinned{background:transparent}.data-table-advanced th.pinned:hover{background:var(--bg-hover)}.data-table-advanced th.sticky,.data-table-advanced td.sticky{background:var(--bg);border-right:2px solid var(--border);box-shadow:2px 0 6px #00000026;position:sticky;padding-left:26px;pointer-events:auto}.data-table-advanced th.sticky{background:var(--bg);z-index:11}.data-table-advanced td.sticky{background:var(--bg);z-index:9}.data-table-advanced th{cursor:context-menu;transition:background-color .15s ease}.data-table-advanced th:hover{background:color-mix(in oklab,var(--accent) 8%,transparent)}[data-theme=dark] .data-table-advanced th:hover{background:#60a5fa1f}.data-table-advanced th:has(.resize-handle.resizing){background:color-mix(in oklab,var(--accent) 8%,transparent)}[data-theme=dark] .data-table-advanced th:has(.resize-handle.resizing){background:#60a5fa1f}.data-table-advanced th.sticky:hover{background:color-mix(in oklab,var(--accent) 8%,transparent)}[data-theme=dark] .data-table-advanced th.sticky:hover{background:#60a5fa1f}@media (max-width: 767px){.data-table-advanced th.sticky,.data-table-advanced td.sticky{box-shadow:3px 0 6px #00000026}}.data-table-advanced th,.data-table-advanced td{transition:background-color .15s ease,box-shadow .15s ease}.data-table-advanced tbody tr:hover td.sticky{background:var(--bg)}[data-theme=light] .data-table-advanced th.sticky,[data-theme=light] .data-table-advanced td.sticky,[data-theme=light] .compact-table-advanced th.sticky,[data-theme=light] .compact-table-advanced td.sticky{background:#fff}[data-theme=dark] .data-table-advanced th.sticky,[data-theme=dark] .data-table-advanced td.sticky,[data-theme=dark] .compact-table-advanced th.sticky,[data-theme=dark] .compact-table-advanced td.sticky{background:#111827}[data-theme=dark] .data-table-advanced th.sticky,[data-theme=dark] .data-table-advanced td.sticky{box-shadow:2px 0 6px #0000004d}.cit-gps-map{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #c5c7d0);background:var(--primary-background-color, #ffffff)}.cit-gps-map__container{width:100%;position:relative}.cit-gps-map__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;min-height:200px;background:var(--secondary-background-color, #f6f7fb)}.cit-gps-map__empty svg{margin-bottom:12px;color:var(--secondary-text-color, #676879);opacity:.5}.cit-gps-map__empty-text{font-size:14px;color:var(--secondary-text-color, #676879);font-weight:500}.cit-gps-map__summary{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--primary-background-color, #ffffff);border-top:1px solid var(--border-color, #c5c7d0)}.cit-gps-map__stat{display:flex;align-items:center;gap:8px;font-size:13px}.cit-gps-map__stat--pending{justify-content:center;font-style:italic;color:var(--secondary-text-color, #676879)}.cit-gps-map__stat-marker{width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0000004d;flex-shrink:0}.cit-gps-map__stat-label{color:var(--secondary-text-color, #676879);font-weight:500}.cit-gps-map__stat-value{color:var(--primary-text-color, #323338);font-weight:600;margin-left:auto}.cit-gps-popup{padding:4px;min-width:150px}.cit-gps-popup__title{font-size:14px;font-weight:600;color:var(--primary-text-color, #323338);margin-bottom:6px}.cit-gps-popup__detail{font-size:13px;color:var(--secondary-text-color, #676879);margin-bottom:4px}.cit-gps-popup__detail strong{color:var(--primary-text-color, #323338)}.cit-gps-popup__meta{font-size:11px;color:var(--secondary-text-color, #676879);opacity:.7;margin-top:6px}@media (max-width: 768px){.cit-gps-map__summary{padding:10px}.cit-gps-map__stat{font-size:12px}.cit-gps-popup{min-width:120px}.cit-gps-popup__title{font-size:13px}.cit-gps-popup__detail{font-size:12px}}@media (prefers-color-scheme: dark){.cit-gps-map{background:var(--primary-background-color, #1c1f3b);border-color:var(--border-color, #3a3f5c)}.cit-gps-map__summary{background:var(--primary-background-color, #1c1f3b);border-top-color:var(--border-color, #3a3f5c)}.cit-gps-map__empty{background:var(--secondary-background-color, #2d3252)}.cit-gps-map__empty svg,.cit-gps-map__empty-text,.cit-gps-map__stat-label{color:var(--secondary-text-color, #c5c7d0)}.cit-gps-map__stat-value,.cit-gps-popup__title,.cit-gps-popup__detail strong{color:var(--primary-text-color, #ffffff)}.cit-gps-popup__detail,.cit-gps-popup__meta{color:var(--secondary-text-color, #c5c7d0)}}.ops-page{width:100%;max-width:100%;margin:0 auto;padding:24px 32px;display:flex;flex-direction:column;gap:24px;box-sizing:border-box}.ops-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.ops-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.ops-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}@media (max-width: 1024px){.ops-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ops-stats{grid-template-columns:1fr 1fr}}.ops-filters{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:160px;flex:1}.filter-group label{font-size:14px;font-weight:600;color:var(--fg)}.filter-group input,.filter-group select{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--fg);font-size:14px;transition:border-color .2s ease}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.filter-actions{display:flex;gap:12px;align-items:flex-end}.ops-summary{font-size:14px;color:var(--fg-muted);padding:0 4px}.ops-table-wrapper{overflow-x:auto;background:var(--card-bg);border:1px solid var(--border);border-radius:16px}.ops-table{width:100%;border-collapse:collapse;font-size:14px}.ops-table thead{background:var(--bg-subtle);border-bottom:2px solid var(--border)}.ops-table th{text-align:left;padding:12px 16px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted)}.ops-table td{padding:16px;border-top:1px solid var(--border);color:var(--fg);vertical-align:top}.ops-table tbody tr:hover{background:var(--bg-subtle)}.ops-table tbody tr{transition:background .15s ease}.empty-state{text-align:center!important;color:var(--fg-muted)!important;padding:40px 16px!important;font-style:italic}.site-cell{display:flex;flex-direction:column;gap:4px}.site-name{font-weight:500;color:var(--fg)}.site-name-strong{font-weight:600;color:var(--fg);font-size:14px}.site-address-dim{font-size:12px;color:var(--fg-dim);font-weight:400;opacity:.7}.site-address,.site-checkpoint{font-size:13px;color:var(--fg-muted)}.route-cell{display:flex;flex-direction:column;gap:4px}.route-name{font-weight:600;font-size:14px}.route-details{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.route-progress-item{display:inline-flex;align-items:center;gap:4px;font-size:13px}.route-label{color:var(--fg-dim);font-size:12px;font-weight:400}.status-pill.ok{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-pill.issue{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-pill.neutral{background:var(--bg-subtle);color:var(--fg-muted);border:1px solid var(--border)}.notes-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-count{text-align:center;font-variant-numeric:tabular-nums}.ops-detail-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.ops-detail-panel{background:var(--card-bg);border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.ops-detail-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card-bg);z-index:10}.ops-detail-header h2{margin:0;font-size:20px;font-weight:700;color:var(--fg)}.ops-detail-close{width:32px;height:32px;border:none;background:var(--bg-subtle);color:var(--fg);border-radius:50%;font-size:24px;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ops-detail-close:hover{background:var(--accent);color:#fff}.ops-detail-body{padding:24px;display:flex;flex-direction:column;gap:16px}.detail-field{display:grid;grid-template-columns:140px 1fr;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.detail-field:last-child{border-bottom:none;padding-bottom:0}.detail-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted)}.detail-value{font-size:14px;color:var(--fg);word-wrap:break-word}.detail-photos{display:flex;flex-direction:column;gap:12px;padding-top:16px;border-top:2px solid var(--border)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.photo-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--bg-subtle);cursor:pointer;transition:transform .2s ease;display:block}.photo-item:hover{transform:scale(1.05)}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:12px;color:var(--fg-muted)}@media (max-width: 768px){.ops-page{padding:16px}.ops-header h1{font-size:24px}.ops-stats{grid-template-columns:1fr 1fr}.filter-row{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.filter-actions{align-items:stretch}.ops-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ops-table{min-width:900px}.ops-table th,.ops-table td{padding:12px;font-size:13px}.detail-field{grid-template-columns:1fr;gap:6px}.detail-label{font-size:11px}.ops-detail-panel{max-height:95vh}.ops-detail-header,.ops-detail-body{padding:16px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.ops-pagination{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:space-between}}@media (prefers-color-scheme: dark){.ops-detail-panel{box-shadow:0 20px 60px #0009}.ops-table tbody tr:hover{background:#ffffff08}}.manual-entries-page{padding:24px;max-width:1800px;margin:0 auto;display:flex;flex-direction:column;gap:24px}.manual-entries-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text)}.manual-entries-subtitle{margin:0;font-size:14px;color:var(--muted)}.manual-entries-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.frequency-badge{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.frequency-badge.frequency-high{background:#ef444426;color:#ef4444}.frequency-badge.frequency-medium{background:#fb923c26;color:#fb923c}.frequency-badge.frequency-low{background:#6b728026;color:#6b7280}.date-cell{white-space:nowrap;color:var(--muted);font-size:13px}.site-cell{min-width:250px}.site-name{font-weight:600;color:var(--text);margin-bottom:4px}.site-address{font-size:12px;color:var(--muted)}.guard-cell{font-size:13px;color:var(--muted)}.manual-entry-detail{display:flex;flex-direction:column;gap:24px}.detail-section{padding-bottom:24px;border-bottom:1px solid var(--border)}.detail-section:last-of-type{border-bottom:none;padding-bottom:0}.detail-section h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text)}.detail-field{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:10px 0}.detail-field label{font-size:13px;font-weight:600;color:var(--muted)}.detail-field>div{font-size:14px;color:var(--text)}.detail-text{white-space:pre-wrap;line-height:1.6}.detail-note{font-size:12px;color:#ef4444;font-weight:600;margin-left:8px}.detail-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--border)}.manual-entries-loading,.manual-entries-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px}.error-message{color:#ef4444;font-size:14px}@media (max-width: 768px){.manual-entries-page{padding:16px}.manual-entries-header h1{font-size:24px}.detail-field{grid-template-columns:1fr;gap:4px}.detail-field label{font-weight:700}}.guard-dashboard{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);padding-bottom:80px}.guard-dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:100vh;color:var(--fg-dim)}.guard-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:var(--card-bg);border-bottom:1px solid var(--border);flex-wrap:wrap}.guard-header-left{flex-shrink:0}.guard-header-left h1{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.guard-role{margin:2px 0 0;font-size:12px;color:var(--fg-dim)}.guard-site{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:12px;color:var(--accent)}.guard-site svg{width:12px;height:12px}.guard-header-timers{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.header-break-controls{display:flex;gap:8px}.timer-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;transition:all .3s ease}.timer-pill-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;flex-shrink:0}.timer-pill-icon svg{width:14px;height:14px}.timer-pill.shift-pill{border-color:#10b981;background:#10b9811a}.timer-pill.shift-pill .timer-pill-icon{background:#10b981;color:#fff}.timer-pill.shift-pill .timer-pill-value{color:#10b981}.timer-pill.break-pill{border-color:var(--border)}.timer-pill.break-pill .timer-pill-icon{background:var(--surface-soft);color:var(--fg-dim)}.timer-pill.break-pill.active{border-color:#f59e0b;background:#f59e0b1a;animation:break-flash 2s ease-in-out infinite}.timer-pill.break-pill.active .timer-pill-icon{background:#f59e0b;color:#fff}.timer-pill.break-pill.active .timer-pill-value{color:#f59e0b}@keyframes break-flash{0%,to{opacity:1;border-color:#f59e0b}50%{opacity:.85;border-color:#f59e0b80}}.timer-pill-content{display:flex;flex-direction:column;gap:2px}.timer-pill-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim)}.timer-pill-value{font-size:16px;font-weight:700;font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--fg);line-height:1}.break-controls{display:flex;gap:10px}.break-control-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px}.break-control-btn svg{width:14px;height:14px}.static-post-section{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 16px;margin:0;background:var(--card-bg);border-bottom:2px solid var(--border);transition:background .3s ease,border-color .3s ease}.static-post-section.ok{background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,var(--card-bg) 100%);border-color:var(--tone-success)}.static-post-section.warning{background:linear-gradient(135deg,rgba(245,158,11,.15) 0%,var(--card-bg) 100%);border-color:var(--tone-warning)}.static-post-section.overdue{background:linear-gradient(135deg,rgba(239,68,68,.2) 0%,var(--card-bg) 100%);border-color:var(--tone-error);animation:pulse-danger 1.5s ease-in-out infinite}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.85}}.checkin-timer{display:flex;flex-direction:column;align-items:center;gap:4px}.checkin-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--fg-dim)}.static-post-section.overdue .checkin-label{color:var(--tone-error)}.checkin-countdown{font-size:48px;font-weight:800;font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--tone-success);line-height:1}.static-post-section.warning .checkin-countdown{color:var(--tone-warning)}.static-post-section.overdue .checkin-countdown{color:var(--tone-error)}.checkin-btn{min-width:200px;height:56px;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}.checkin-btn svg{width:22px;height:22px}.checkin-stats{display:flex;gap:16px;font-size:12px;color:var(--fg-dim)}.quick-status-section{padding:12px 16px;background:var(--card-bg);border-bottom:1px solid var(--border)}.quick-status-grid{display:flex;gap:10px}.quick-status-grid.two-col{display:flex}.status-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s ease;flex:1}.status-btn svg{width:16px;height:16px}.status-btn span{font-size:13px;font-weight:500;color:var(--fg)}.status-btn.all-clear{border-color:#10b9814d}.status-btn.all-clear svg{color:var(--tone-success)}.status-btn.all-clear:hover,.status-btn.all-clear:active{background:#10b9811a;border-color:var(--tone-success)}.status-btn.issue{border-color:#f59e0b4d}.status-btn.issue svg{color:var(--tone-warning)}.status-btn.issue:hover,.status-btn.issue:active{background:#f59e0b1a;border-color:var(--tone-warning)}.status-btn.break{border-color:#3b82f64d}.status-btn.break svg{color:var(--tone-info)}.status-btn.break:hover,.status-btn.break:active{background:#3b82f61a;border-color:var(--tone-info)}.status-btn.break.active{background:#3b82f626;border-color:var(--accent)}.status-btn:disabled{opacity:.5;cursor:not-allowed}.status-btn.loading{pointer-events:none;opacity:.7}.duress-section{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:var(--card-bg);border-bottom:1px solid var(--border)}.duress-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:300px;height:60px;border:3px solid var(--tone-error);border-radius:12px;background:#ef44441a;cursor:pointer;transition:all .2s ease}.duress-btn:hover,.duress-btn:active{background:#ef444440;transform:scale(1.02)}.duress-icon{color:var(--tone-error)}.duress-icon svg{width:28px;height:28px}.duress-text{font-size:20px;font-weight:800;color:var(--tone-error);letter-spacing:2px}.duress-hint{font-size:11px;color:var(--fg-dim);margin:0}.duress-overlay{position:fixed;inset:0;background:#ef4444f2;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.duress-modal{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px;text-align:center}.duress-modal .duress-countdown{font-size:96px;font-weight:900;color:#fff;line-height:1;font-family:SF Mono,Monaco,Inconsolata,monospace}.duress-modal h2{margin:0;font-size:24px;font-weight:700;color:#fff;letter-spacing:1px}.duress-modal p{margin:0;font-size:16px;color:#fffc}.duress-modal .btn{min-width:200px;background:#fff;color:var(--tone-error)}.guard-actions-section{padding:16px}.section-title{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim)}.guard-actions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.guard-action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 8px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);cursor:pointer;transition:all .2s ease;position:relative}.guard-action-card:hover,.guard-action-card:active{border-color:var(--accent);background:var(--accent-soft)}.action-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px}.action-icon svg{width:22px;height:22px}.action-icon.patrol{background:#3b82f626;color:var(--accent)}.action-icon.alarm{background:#ef444426;color:var(--tone-error)}.action-icon.shifts{background:#10b98126;color:var(--tone-success)}.action-icon.notes{background:#8b5cf626;color:#8b5cf6}.action-icon.visitors{background:#10b98126;color:#10b981}.action-badge{position:absolute;top:8px;right:8px;min-width:20px;height:20px;padding:0 6px;background:#ef4444;color:#fff;border-radius:10px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}.action-label{font-size:12px;font-weight:600;color:var(--fg)}.guard-summary-section{padding:16px}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px}.summary-icon{color:var(--fg-dim)}.summary-icon svg{width:20px;height:20px}.summary-content{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--fg-dim)}.summary-value{font-size:14px;font-weight:600;color:var(--fg)}.guard-activity-section{padding:16px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header .section-title{display:flex;align-items:center;gap:10px;margin:0}.site-name-badge{font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;padding:3px 8px;background:var(--surface-soft);border:1px solid var(--border);border-radius:4px;color:var(--fg-muted)}.view-all-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:6px;cursor:pointer;transition:all .15s}.view-all-btn:hover{background:var(--accent);color:#fff}.view-all-btn svg{width:12px;height:12px}.site-notes-list{list-style:none;margin:0;padding:0}.site-note-item{display:flex;align-items:flex-start;gap:12px;padding:14px 12px;margin-bottom:8px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s}.site-note-item:last-child{margin-bottom:0}.site-note-item:hover{border-color:var(--accent);background:var(--accent-soft)}.site-note-item.urgent{border-left:3px solid var(--tone-error);background:linear-gradient(90deg,rgba(239,68,68,.06) 0%,var(--card-bg) 100%)}.note-type-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:4px}.note-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.note-item-header{display:flex;align-items:center;gap:8px}.note-type-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.urgent-tag{font-size:9px;font-weight:700;letter-spacing:.5px;padding:2px 5px;background:var(--tone-error);color:#fff;border-radius:3px}.note-item-title{font-size:14px;font-weight:500;color:var(--fg);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-item-meta{font-size:12px;color:var(--fg-dim)}.empty-activity{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;text-align:center}.empty-icon{color:var(--fg-dim)}.empty-activity p{margin:0;color:var(--fg-dim);font-size:14px}@media (max-width: 480px){.guard-header{padding:16px}.guard-header-info h1{font-size:18px}.timer-pills-row{flex-direction:column;gap:10px}.timer-pill{padding:10px 14px}.timer-pill-icon{width:36px;height:36px}.timer-pill-value{font-size:20px}.break-controls{flex-direction:column;gap:8px}.guard-actions-grid{grid-template-columns:repeat(2,1fr)}.summary-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:10px}.view-all-btn{width:100%;justify-content:center}}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.shift-notes-page{display:flex;flex-direction:column;min-height:calc(100vh - 60px);background:var(--bg)}.shift-notes-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;flex:1;color:var(--fg-dim)}.page-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:linear-gradient(180deg,color-mix(in oklab,var(--bg) 95%,var(--primary) 5%) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-left{display:flex;align-items:center;gap:12px;min-width:0}.toolbar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--surface-soft);border-radius:6px;color:var(--fg-muted);cursor:pointer;transition:all .15s;flex-shrink:0}.back-btn:hover{background:var(--border);color:var(--fg)}.back-btn svg{width:18px;height:18px}.page-title{min-width:0}.page-title h1{margin:0;font-size:16px;font-weight:600;color:var(--fg);white-space:nowrap}.page-title .subtitle{display:block;font-size:12px;color:var(--fg-dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-filter{min-width:220px;max-width:300px}.site-filter .site-autocomplete{width:100%}.site-filter .site-autocomplete-input{padding:6px 32px 6px 12px;font-size:13px;height:34px;background:var(--surface-soft);border-radius:6px}.site-filter .site-autocomplete-dropdown{max-height:300px}.shift-notes-filter-bar{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:var(--bg);border-bottom:1px solid var(--border)}.shift-notes-filter-bar .smart-filter-bar{background:transparent;padding:0;border:none}.filter-bar-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.notes-count{font-size:12px;font-weight:500;color:var(--fg-dim)}.clear-filters{padding:4px 10px;font-size:11px;font-weight:500;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:4px;cursor:pointer;transition:all .15s}.clear-filters:hover{background:var(--accent);color:#fff}.page-content{flex:1;overflow-y:auto;padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;min-height:300px}.empty-icon{font-size:48px;line-height:1}.empty-state h3{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.empty-state p{margin:0;font-size:14px;color:var(--fg-dim);max-width:300px}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;max-width:1400px;margin:0 auto}.note-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--card-bg, rgba(15, 23, 42, .7));border:1px solid var(--border, rgba(148, 163, 184, .12));border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.note-card:hover{border-color:var(--border-hover, rgba(148, 163, 184, .24));box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.note-card.urgent{border-left:3px solid var(--tone-error, #ef4444);background:linear-gradient(135deg,rgba(239,68,68,.06) 0%,var(--card-bg) 100%)}.note-card.acknowledged{opacity:.65}.note-card.acknowledged:hover{opacity:.85}.note-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.note-type-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em;border:1px solid}.note-type-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.note-type-icon svg{width:100%;height:100%}.note-card-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--fg-dim, rgba(148, 163, 184, .7))}.note-timestamp{font-weight:500}.urgent-dot{width:8px;height:8px;border-radius:50%;background:var(--tone-error, #ef4444);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.note-card-body{display:flex;flex-direction:column;gap:8px;flex:1}.note-card-title{font-size:.9375rem;font-weight:600;color:var(--fg, #f1f5f9);line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-card-preview{font-size:.8125rem;font-weight:400;color:var(--fg-dim, rgba(148, 163, 184, .8));line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.note-metadata{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px;padding:10px 12px;background:var(--surface-soft, rgba(15, 23, 42, .5));border-radius:6px;border:1px solid var(--border, rgba(148, 163, 184, .08))}.meta-item{display:flex;flex-direction:column;gap:2px}.meta-item .meta-label{font-size:10px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.04em}.meta-item .meta-value{font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-more{grid-column:1 / -1;font-size:11px;color:var(--fg-dim);font-style:italic}.note-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--border, rgba(148, 163, 184, .08))}.note-author{display:flex;align-items:center;gap:8px}.note-author-avatar{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.6875rem;font-weight:700;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:-.02em;flex-shrink:0}.note-author-name{font-size:.75rem;font-weight:500;color:var(--fg-dim, rgba(148, 163, 184, .8))}.my-note{color:var(--accent);font-weight:600}.note-card-actions{display:flex;align-items:center;gap:8px}.ack-count{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--fg-dim)}.ack-count svg{width:12px;height:12px;color:var(--tone-success)}.ack-badge{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--tone-success, #10b981);background:#10b98126;border-radius:50%}.create-note-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group>label{font-size:13px;font-weight:600;color:var(--fg)}.form-group>label .required{color:var(--tone-error);margin-left:2px}.form-group input[type=text],.form-group input[type=datetime-local],.form-group textarea,.form-group select{padding:10px 12px;font-size:14px;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:8px;resize:vertical}.form-group input[type=text]:focus,.form-group input[type=datetime-local]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent)}.form-group textarea{min-height:100px}.checkbox-field{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fg);cursor:pointer}.checkbox-field input{width:18px;height:18px;accent-color:var(--accent)}.type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.type-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-size:11px;font-weight:600;color:var(--fg-dim);background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.type-option:hover{border-color:var(--fg-muted);background:var(--surface-soft)}.type-option.selected{border-width:2px}.type-option .type-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.type-option .type-icon svg{width:100%;height:100%}.type-specific-fields{padding:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px}.fields-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--fg);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.fields-header .type-icon{font-size:18px}.type-specific-fields .form-group{margin-bottom:12px}.type-specific-fields .form-group:last-child{margin-bottom:0}.urgent-toggle .toggle-label{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer}.urgent-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--tone-error)}.urgent-toggle .toggle-text{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--fg)}.urgent-toggle .urgent-icon{font-size:16px}.urgent-toggle .help-text{margin:4px 0 0;font-size:12px;color:var(--fg-dim)}.detail-urgent-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:8px;width:fit-content}.detail-urgent-badge svg{width:16px;height:16px}.detail-type-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;font-size:.875rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em;border:1px solid;width:fit-content}.detail-type-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.detail-type-icon svg{width:100%;height:100%}.detail-title{margin:0;font-size:20px;font-weight:600;color:var(--fg)}.detail-metadata{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px;background:var(--surface-soft);border-radius:10px}.detail-meta-row{display:flex;flex-direction:column;gap:4px}.detail-meta-row .meta-label{font-size:11px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.3px}.detail-meta-row .meta-value{font-size:14px;color:var(--fg)}.detail-content{font-size:15px;line-height:1.6;color:var(--fg);white-space:pre-wrap}.meta-row.acknowledged{color:var(--tone-success)}.meta-row.acknowledged svg{color:var(--tone-success)}@media (max-width: 768px){.page-toolbar{flex-wrap:wrap;gap:12px}.toolbar-left{flex:1}.toolbar-right{width:100%;justify-content:space-between}.site-filter{flex:1;max-width:none}.notes-grid{grid-template-columns:1fr}.type-selector{grid-template-columns:repeat(2,1fr)}.note-metadata,.detail-metadata{grid-template-columns:1fr}.shift-notes-filter-bar .smart-filter-bar{flex-wrap:wrap}.shift-notes-filter-bar .sfb-toggles{flex-wrap:wrap;gap:6px}}@media (max-width: 480px){.type-selector{grid-template-columns:repeat(2,1fr)}.type-option{padding:8px 6px;font-size:10px}.type-option .type-icon{width:18px;height:18px}.note-type-badge{padding:4px 8px;font-size:.6875rem}.note-type-icon{width:12px;height:12px}}.shift-notes-history{display:flex;flex-direction:column;min-height:calc(100vh - 60px);background:var(--bg);padding:20px;gap:16px}.history-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.header-title{display:flex;align-items:baseline;gap:12px}.header-title h1{margin:0;font-size:20px;font-weight:600;color:var(--fg)}.record-count{font-size:13px;color:var(--fg-dim);padding:3px 8px;background:var(--surface-soft);border-radius:12px}.archive-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--fg-muted);cursor:pointer}.archive-toggle input{accent-color:var(--accent)}.history-table-container{flex:1;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px;color:var(--fg-dim)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px;text-align:center}.empty-icon{font-size:40px;line-height:1}.empty-state h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.empty-state p{margin:0;font-size:13px;color:var(--fg-dim)}.history-table{width:100%;border-collapse:collapse}.history-table thead{background:linear-gradient(180deg,color-mix(in oklab,var(--bg) 95%,var(--primary) 5%) 0%,var(--bg) 100%);border-bottom:1px solid var(--border)}.history-table th{padding:10px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);text-align:left;white-space:nowrap}.history-table tbody tr{border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.history-table tbody tr:last-child{border-bottom:none}.history-table tbody tr:hover{background:var(--surface-soft)}.history-table tbody tr.urgent{background:linear-gradient(90deg,rgba(239,68,68,.08) 0%,transparent 50%)}.history-table tbody tr.urgent:hover{background:linear-gradient(90deg,rgba(239,68,68,.12) 0%,var(--surface-soft) 50%)}.history-table tbody tr.archived{opacity:.6}.history-table td{padding:12px;font-size:13px;color:var(--fg);vertical-align:top}.col-date{white-space:nowrap;width:140px}.date-value{font-size:12px;color:var(--fg-muted)}.col-site{width:180px}.site-info{display:flex;flex-direction:column;gap:2px}.site-name{font-weight:500}.customer-name{font-size:11px;color:var(--fg-dim)}.col-type{width:120px}.type-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px}.type-icon{font-size:14px}.type-label{color:var(--fg-muted)}.urgent-badge{display:inline-block;margin-left:6px;padding:2px 5px;font-size:9px;font-weight:700;letter-spacing:.5px;color:#fff;background:var(--tone-error);border-radius:3px}.col-content{min-width:200px}.note-title{font-weight:600;margin-bottom:4px}.note-preview{color:var(--fg-muted);line-height:1.4}.col-author{width:120px;white-space:nowrap}.col-acks{width:60px;text-align:center}.ack-count{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--tone-success)}.ack-count svg{width:14px;height:14px}.no-acks{color:var(--fg-dim)}.history-pagination{display:flex;justify-content:center;padding:8px 0}.note-detail{display:flex;flex-direction:column;gap:16px}.detail-urgent-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:700;color:#fff;background:var(--tone-error);border-radius:8px;width:fit-content}.detail-archived-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;color:var(--fg-dim);background:var(--surface-soft);border-radius:6px;width:fit-content}.detail-type{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.detail-site{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-soft);border-radius:6px}.detail-site strong{font-size:14px;color:var(--fg)}.detail-site .customer{font-size:12px;color:var(--fg-dim)}.detail-title{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.detail-content{font-size:14px;line-height:1.6;color:var(--fg);white-space:pre-wrap}.detail-meta{display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--bg);border-radius:8px;margin-top:8px}.meta-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-dim)}.meta-row svg{width:16px;height:16px;flex-shrink:0}.meta-row.archived{color:var(--fg-dim);opacity:.8}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 900px){.history-table th:nth-child(6),.history-table td:nth-child(6){display:none}}@media (max-width: 768px){.shift-notes-history{padding:12px}.history-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:space-between}.history-table th:nth-child(5),.history-table td:nth-child(5){display:none}.col-site{width:120px}}@media (max-width: 640px){.history-table th:nth-child(2),.history-table td:nth-child(2){display:none}.history-table th:nth-child(3),.history-table td:nth-child(3){display:none}.col-date{width:auto}.col-content{min-width:0}}.visitor-card{background:linear-gradient(135deg,#ffffffe6,#fffffff2);border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:16px;padding:18px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.visitor-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f605,#8b5cf603);opacity:0;transition:opacity .3s ease;pointer-events:none}.visitor-card:hover{border-color:var(--primary, rgba(59, 130, 246, .4));box-shadow:0 8px 24px #00000014,0 0 0 1px #3b82f61a;transform:translateY(-2px)}.visitor-card:hover:before{opacity:1}.visitor-card:active{transform:translateY(0);box-shadow:0 4px 12px #0000000f}[data-theme=dark] .visitor-card{background:linear-gradient(135deg,#ffffff0a,#ffffff0f);border-color:#ffffff1a}[data-theme=dark] .visitor-card:before{background:linear-gradient(135deg,#3b82f614,#8b5cf60a)}[data-theme=dark] .visitor-card:hover{border-color:#60a5fa66;box-shadow:0 8px 24px #0006,0 0 0 1px #60a5fa33}.visitor-card.needs-attention{border-left:4px solid #f59e0b}.visitor-card.needs-attention:after{content:"";position:absolute;top:0;right:0;width:8px;height:8px;background:#f59e0b;border-radius:50%;margin:12px;animation:attention-pulse-dot 2s ease-in-out infinite}@keyframes attention-pulse-dot{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #f59e0bb3}50%{opacity:.7;transform:scale(1.2);box-shadow:0 0 0 4px #f59e0b00}}.visitor-card.compact{padding:14px}.visitor-card.compact .visitor-name{font-size:15px}.visitor-card.compact .visitor-timer{font-size:13px}.visitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.visitor-badge-type{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.01em;transition:all .2s ease}.visitor-badge-type svg{width:14px;height:14px}.visitor-card:hover .visitor-badge-type{transform:scale(1.05)}.visitor-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#10b981;text-transform:uppercase}.status-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}.visitor-main{margin-bottom:12px}.visitor-name{margin:0;font-size:17px;font-weight:700;color:var(--text, #0f172a);letter-spacing:-.01em;line-height:1.3}.visitor-company{margin:4px 0 0;font-size:14px;color:var(--muted, #64748b);font-weight:500}.visitor-timer{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text, #475569);margin-bottom:12px;padding:8px 12px;background:#3b82f60f;border-radius:10px;transition:all .2s ease}.visitor-card:hover .visitor-timer{background:#3b82f61a}[data-theme=dark] .visitor-timer{background:#60a5fa14}[data-theme=dark] .visitor-card:hover .visitor-timer{background:#60a5fa1f}.timer-icon{color:var(--primary, #3b82f6)}.timer-icon svg{width:16px;height:16px}.timer-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text, #0f172a);letter-spacing:-.01em}.warning-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,#f59e0b26,#f59e0b14);border:1px solid rgba(245,158,11,.3);border-radius:10px;color:#f59e0b;font-size:13px;font-weight:600;margin-bottom:12px;transition:all .2s ease}.visitor-card:hover .warning-badge{background:linear-gradient(135deg,#f59e0b33,#f59e0b1f);transform:scale(1.02)}.warning-badge svg{width:16px;height:16px}.visitor-hint{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;margin-top:12px;background:var(--bg, rgba(248, 250, 252, .5));border:1px solid var(--border, rgba(148, 163, 184, .15));border-radius:10px;font-size:13px;color:var(--muted, #64748b);font-weight:500;transition:all .2s ease}.visitor-card:hover .visitor-hint{background:#3b82f614;border-color:#3b82f633;color:var(--primary, #3b82f6)}.visitor-hint svg{width:16px;height:16px;transition:transform .2s ease}.visitor-card:hover .visitor-hint svg{transform:translate(2px)}[data-theme=dark] .visitor-hint{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] .visitor-card:hover .visitor-hint{background:#60a5fa1a;border-color:#60a5fa33}@media (max-width: 480px){.visitor-card{padding:14px}.visitor-name{font-size:16px}.visitor-company{font-size:13px}.visitor-timer{font-size:13px;padding:7px 10px}.warning-badge{font-size:12px;padding:8px 12px}.visitor-hint{font-size:12px;padding:8px 10px}}.host-selector{position:relative;width:100%}.host-selector .selector-input-wrapper{position:relative;display:flex;align-items:center}.host-selector .selector-input-wrapper>svg{position:absolute;left:14px;width:18px;height:18px;color:var(--text-muted, #64748b);pointer-events:none}.host-selector .selector-input-wrapper input{width:100%;padding:14px 14px 14px 44px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;background:var(--bg-secondary, rgba(255, 255, 255, .05));color:var(--text-primary, #f1f5f9);font-size:15px;transition:all .2s ease}.host-selector .selector-input-wrapper input:focus{outline:none;border-color:var(--primary, #3b82f6);background:#3b82f61a;box-shadow:0 0 0 4px #3b82f626}.host-selector .selector-input-wrapper input::placeholder{color:var(--text-muted, #64748b)}.host-selector .loading-spinner{position:absolute;right:14px;width:18px;height:18px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.host-selector.selected .selected-host{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#3b82f61a;border:1px solid var(--primary, #3b82f6);border-radius:12px;box-shadow:0 0 0 4px #3b82f626}.host-selector .host-avatar-small{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary, #3b82f6) 0%,#8b5cf6 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0}.host-selector .selected-info{flex:1;min-width:0}.host-selector .selected-name{display:block;font-size:15px;font-weight:600;color:var(--text-primary, #f1f5f9)}.host-selector .selected-email{display:block;font-size:13px;color:var(--text-muted, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-selector .notify-badge{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#10b98133;color:#10b981;border-radius:8px}.host-selector .notify-badge svg{width:18px;height:18px}.host-selector .clear-btn{background:#ffffff1a;border:none;padding:8px;cursor:pointer;color:var(--text-muted, #94a3b8);border-radius:8px;display:flex;transition:all .2s ease}.host-selector .clear-btn:hover{background:#ffffff26;color:var(--text-primary, #f1f5f9)}.host-selector .clear-btn svg{width:16px;height:16px}.host-selector .selector-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-primary, #0f172a);border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:16px;box-shadow:0 16px 48px #0006;z-index:100;max-height:320px;overflow:hidden;display:flex;flex-direction:column}.host-selector .dropdown-empty{padding:32px 24px;text-align:center}.host-selector .dropdown-empty p{font-size:14px;color:var(--text-muted, #94a3b8);margin:0 0 16px}.host-selector .dropdown-empty button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.host-selector .dropdown-empty button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.host-selector .dropdown-list{flex:1;overflow-y:auto;padding:8px}.host-selector .host-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:none;border:none;border-radius:12px;cursor:pointer;text-align:left;transition:all .15s ease}.host-selector .host-option:hover{background:#ffffff0d}.host-selector .option-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.host-selector .option-name{font-size:14px;font-weight:600;color:var(--text-primary, #f1f5f9)}.host-selector .option-dept{font-size:12px;color:var(--primary, #3b82f6);font-weight:500}.host-selector .option-email{font-size:12px;color:var(--text-muted, #94a3b8);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-selector .notify-indicator{color:#10b981;display:flex}.host-selector .notify-indicator svg{width:16px;height:16px}.host-selector .dropdown-footer{border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));padding:8px}.host-selector .dropdown-footer button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:none;border:none;border-radius:10px;font-size:14px;font-weight:500;color:var(--text-muted, #94a3b8);cursor:pointer;transition:all .15s ease}.host-selector .dropdown-footer button:hover{background:#ffffff0d;color:var(--text-primary, #f1f5f9)}.host-selector .dropdown-footer button svg{width:16px;height:16px}.host-selector .custom-entry{padding:0}.host-selector .custom-header{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1));font-size:15px;font-weight:600;color:var(--text-primary, #f1f5f9)}.host-selector .back-btn{background:#ffffff1a;border:none;padding:8px;cursor:pointer;color:var(--text-muted, #94a3b8);border-radius:8px;display:flex;transition:all .2s ease}.host-selector .back-btn:hover{background:#ffffff26;color:var(--text-primary, #f1f5f9)}.host-selector .back-btn svg{width:18px;height:18px}.host-selector .custom-form{padding:20px}.host-selector .custom-field{margin-bottom:16px}.host-selector .custom-field label{display:block;font-size:12px;font-weight:600;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.host-selector .custom-field input{width:100%;padding:12px 14px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:10px;background:var(--bg-secondary, rgba(255, 255, 255, .05));color:var(--text-primary, #f1f5f9);font-size:14px;transition:all .2s ease}.host-selector .custom-field input:focus{outline:none;border-color:var(--primary, #3b82f6);background:#3b82f61a}.host-selector .custom-save-btn{width:100%;padding:14px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.host-selector .custom-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.host-selector .custom-save-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.host-selector .selector-dropdown{max-height:280px}}.checkin-drawer-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;justify-content:flex-end;z-index:1000;animation:fadeIn .2s ease}.checkin-drawer{width:100%;max-width:440px;height:100%;background:var(--bg-primary, #0f172a);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000004d;animation:slideIn .3s ease;border-left:1px solid var(--border-color, rgba(255, 255, 255, .1))}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.checkin-drawer .drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#3b82f626,#8b5cf61a);border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .1))}.checkin-drawer .header-info h2{margin:0;font-size:20px;font-weight:600;color:var(--text-primary, #f1f5f9);letter-spacing:-.02em}.checkin-drawer .header-info .location-name{margin:4px 0 0;font-size:14px;color:var(--primary, #3b82f6);font-weight:500;display:flex;align-items:center;gap:6px}.checkin-drawer .header-info .location-name:before{content:"";width:8px;height:8px;background:var(--primary, #3b82f6);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.checkin-drawer .close-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:#ffffff1a;border-radius:10px;cursor:pointer;color:var(--text-muted, #94a3b8);transition:all .2s ease}.checkin-drawer .close-button:hover{background:#ffffff26;color:var(--text-primary, #f1f5f9);transform:scale(1.05)}.checkin-drawer .close-button svg{width:20px;height:20px}.checkin-drawer .checkin-form{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.checkin-drawer .form-field{display:flex;flex-direction:column;gap:8px}.checkin-drawer .form-field label{font-size:13px;font-weight:600;color:var(--text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.checkin-drawer .form-field .required{color:#f87171}.checkin-drawer .form-field input,.checkin-drawer .form-field textarea{padding:14px 16px;border:1px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:12px;background:var(--bg-secondary, rgba(255, 255, 255, .05));color:var(--text-primary, #f1f5f9);font-size:15px;transition:all .2s ease}.checkin-drawer .form-field input:focus,.checkin-drawer .form-field textarea:focus{outline:none;border-color:var(--primary, #3b82f6);background:#3b82f61a;box-shadow:0 0 0 4px #3b82f626}.checkin-drawer .form-field input::placeholder,.checkin-drawer .form-field textarea::placeholder{color:var(--text-muted, #64748b)}.checkin-drawer .form-field textarea{resize:none;min-height:100px}.checkin-drawer .form-field.error input,.checkin-drawer .form-field.error textarea{border-color:#f87171;background:#f871711a}.checkin-drawer .error-message{font-size:13px;color:#f87171;display:flex;align-items:center;gap:6px}.checkin-drawer .notify-hint{display:flex;align-items:center;gap:8px;font-size:13px;color:#10b981;padding:10px 14px;background:#10b98126;border-radius:10px;border:1px solid rgba(16,185,129,.2)}.checkin-drawer .notify-hint svg{width:16px;height:16px}.checkin-drawer .badge-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checkin-drawer .badge-type-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px 16px;border:2px solid var(--border-color, rgba(255, 255, 255, .1));border-radius:16px;background:var(--bg-secondary, rgba(255, 255, 255, .03));cursor:pointer;transition:all .2s ease}.checkin-drawer .badge-type-option:hover{border-color:var(--primary-muted, rgba(59, 130, 246, .5));background:#3b82f61a;transform:translateY(-2px)}.checkin-drawer .badge-type-option.selected{border-color:var(--primary, #3b82f6);background:#3b82f626;box-shadow:0 0 0 4px #3b82f626}.checkin-drawer .badge-type-option .badge-icon{font-size:32px;line-height:1;filter:grayscale(.3);transition:all .2s ease}.checkin-drawer .badge-type-option.selected .badge-icon{filter:grayscale(0);transform:scale(1.1)}.checkin-drawer .badge-type-option .badge-label{font-size:14px;font-weight:600;color:var(--text-primary, #f1f5f9);letter-spacing:-.01em}.checkin-drawer .submit-error{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#f8717126;border:1px solid rgba(248,113,113,.3);border-radius:12px;color:#f87171;font-size:14px;font-weight:500}.checkin-drawer .submit-error svg{width:20px;height:20px;flex-shrink:0}.checkin-drawer .form-actions{display:flex;gap:12px;padding:20px 0 0;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));margin-top:auto}.checkin-drawer .form-actions .btn{flex:1;padding:14px 20px;font-size:15px;font-weight:600;border-radius:12px}.checkin-drawer .form-actions .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f666}.checkin-drawer .form-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #3b82f680}.checkin-drawer .form-actions .btn-ghost{background:#ffffff0d;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.checkin-drawer .form-actions .btn-ghost:hover:not(:disabled){background:#ffffff1a}@media (max-width: 480px){.checkin-drawer{max-width:100%}.checkin-drawer .checkin-form{padding:20px 16px;gap:20px}.checkin-drawer .badge-type-grid{gap:10px}.checkin-drawer .badge-type-option{padding:16px 12px;border-radius:12px}.checkin-drawer .badge-type-option .badge-icon{font-size:28px}.checkin-drawer .badge-type-option .badge-label{font-size:13px}.checkin-drawer .form-actions{flex-direction:column-reverse}}.visitor-detail-content{display:flex;flex-direction:column;gap:20px}.visitor-detail-header{background:linear-gradient(135deg,#3b82f614,#8b5cf60d);border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:16px}.visitor-header-top{display:flex;justify-content:space-between;align-items:center}.visitor-badge-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;letter-spacing:.01em}.visitor-badge-chip svg{width:16px;height:16px}.visitor-status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.05em;color:#10b981;text-transform:uppercase}.status-pulse{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 #10b981b3}50%{opacity:.7;transform:scale(1.1);box-shadow:0 0 0 4px #10b98100}}.visitor-identity{padding:8px 0}.visitor-detail-name{margin:0;font-size:24px;font-weight:700;color:var(--text, #0f172a);letter-spacing:-.02em;line-height:1.2}.visitor-detail-company{margin:6px 0 0;font-size:15px;color:var(--muted, #64748b);font-weight:500}.visitor-duration-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--card, #ffffff);border:1px solid var(--border, rgba(148, 163, 184, .15));border-radius:12px;box-shadow:0 2px 8px #0000000a}.duration-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f626,#8b5cf61a);border-radius:10px;color:var(--primary, #3b82f6)}.duration-icon svg{width:20px;height:20px}.duration-info{display:flex;flex-direction:column;gap:2px}.duration-label{font-size:12px;font-weight:600;color:var(--muted, #64748b);text-transform:uppercase;letter-spacing:.05em}.duration-value{font-size:20px;font-weight:700;color:var(--text, #0f172a);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.visitor-alert-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;border:1px solid;animation:alert-fade-in .3s ease}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.visitor-alert-card.warning{background:#f59e0b1a;border-color:#f59e0b4d}.visitor-alert-card .alert-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f59e0b26;border-radius:10px;color:#f59e0b;flex-shrink:0}.visitor-alert-card .alert-icon svg{width:20px;height:20px}.visitor-alert-card .alert-content{flex:1}.visitor-alert-card .alert-content h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--text, #0f172a)}.visitor-alert-card .alert-content p{margin:0;font-size:13px;color:var(--muted, #64748b);line-height:1.5}.visitor-ack-form{background:var(--card, #ffffff);border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px;animation:alert-fade-in .3s ease}.ack-form-header h4{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--text, #0f172a)}.ack-form-header p{margin:0;font-size:14px;color:var(--muted, #64748b)}.ack-form-header strong{color:var(--text, #0f172a);font-weight:600}.ack-form-notes{width:100%;padding:12px 14px;border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:10px;background:var(--bg, #f8fafc);color:var(--text, #0f172a);font-size:14px;font-family:inherit;resize:vertical;transition:all .2s ease}.ack-form-notes:focus{outline:none;border-color:var(--primary, #3b82f6);background:var(--card, #ffffff);box-shadow:0 0 0 3px #3b82f61a}.ack-form-notes::placeholder{color:var(--muted, #94a3b8)}.ack-form-actions{display:flex;flex-direction:column;gap:8px}.ack-form-actions .btn{width:100%;justify-content:center}.visitor-details-section{display:flex;flex-direction:column;gap:12px}.section-title{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--muted, #64748b);text-transform:uppercase;letter-spacing:.08em}.detail-item{display:flex;flex-direction:column;gap:6px;padding:14px;background:var(--bg, #f8fafc);border:1px solid var(--border, rgba(148, 163, 184, .15));border-radius:10px;transition:all .2s ease}.detail-item:hover{background:var(--card, #ffffff);border-color:var(--border, rgba(148, 163, 184, .25))}.detail-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--muted, #64748b);text-transform:uppercase;letter-spacing:.05em}.detail-label svg{width:14px;height:14px;color:var(--muted, #94a3b8)}.detail-value{font-size:14px;font-weight:500;color:var(--text, #0f172a);line-height:1.5}.detail-meta{color:var(--muted, #64748b);font-weight:400}.notes-item{flex-direction:column}.notes-content{white-space:pre-wrap;word-wrap:break-word;font-style:italic;color:var(--muted, #64748b);padding:8px 0 0}[data-theme=dark] .visitor-detail-header{background:linear-gradient(135deg,#3b82f61f,#8b5cf614);border-color:#ffffff1a}[data-theme=dark] .visitor-duration-card{background:#ffffff08;border-color:#ffffff14;box-shadow:0 2px 8px #0003}[data-theme=dark] .visitor-ack-form{background:#ffffff08;border-color:#ffffff1a}[data-theme=dark] .ack-form-notes{background:#0003;border-color:#ffffff14}[data-theme=dark] .ack-form-notes:focus{background:#0000004d;border-color:var(--primary, #60a5fa)}[data-theme=dark] .detail-item{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] .detail-item:hover{background:#ffffff0d;border-color:#ffffff1f}@media (max-width: 480px){.visitor-detail-header{padding:16px}.visitor-detail-name{font-size:20px}.visitor-duration-card{padding:12px}.duration-icon{width:36px;height:36px}.duration-icon svg{width:18px;height:18px}.duration-value{font-size:18px}}.visitor-dashboard{padding:24px;max-width:1200px;margin:0 auto}.visitor-dashboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-muted)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-left{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.dashboard-header h1{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.location-select{padding:8px 32px 8px 12px;border:1px solid var(--border-color, var(--border, #e5e7eb));border-radius:8px;background-color:var(--bg-secondary, var(--bg-card, #1e293b));color:var(--text-primary, var(--fg, #f1f5f9));font-size:14px;min-width:200px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.location-select:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.location-select option{background-color:var(--bg-secondary, var(--bg-card, #1e293b));color:var(--text-primary, var(--fg, #f1f5f9));padding:8px 12px}.location-select option:hover,.location-select option:focus,.location-select option:checked{background-color:var(--bg-tertiary, var(--bg-hover, #334155))}.location-name{font-size:14px;color:var(--text-muted);padding:8px 12px;background:var(--bg-secondary);border-radius:8px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,#ffffffe6,#fffffff2);border:1px solid var(--border-color, rgba(148, 163, 184, .2));border-radius:16px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-card:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.stat-card.onsite{border-left:4px solid #10b981}.stat-card.onsite:before{background:linear-gradient(135deg,#10b98114,#10b98108)}.stat-card.onsite:hover:before{opacity:1}.stat-card.checkout{border-left:4px solid #3b82f6}.stat-card.checkout:before{background:linear-gradient(135deg,#3b82f614,#3b82f608)}.stat-card.checkout:hover:before{opacity:1}.stat-card.attention{border-left:4px solid #6b7280}.stat-card.attention:before{background:linear-gradient(135deg,#6b728014,#6b728008)}.stat-card.attention.warning{border-left-color:#f59e0b}.stat-card.attention.warning:before{background:linear-gradient(135deg,#f59e0b1f,#f59e0b0f);opacity:1;animation:attention-pulse 2s ease-in-out infinite}@keyframes attention-pulse{0%,to{opacity:.6}50%{opacity:1}}.stat-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0;transition:all .3s ease}.stat-icon svg{width:28px;height:28px}.stat-card:hover .stat-icon{transform:scale(1.1)}.stat-card.onsite .stat-icon{background:linear-gradient(135deg,#10b98133,#10b98126);color:#10b981}.stat-card.checkout .stat-icon{background:linear-gradient(135deg,#3b82f633,#3b82f626);color:#3b82f6}.stat-card.attention .stat-icon{background:linear-gradient(135deg,#6b728033,#6b728026);color:#6b7280}.stat-card.attention.warning .stat-icon{background:linear-gradient(135deg,#f59e0b33,#f59e0b26);color:#f59e0b}.stat-content{display:flex;flex-direction:column;gap:2px}.stat-value{font-size:32px;font-weight:800;color:var(--text-primary, #0f172a);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:12px;font-weight:600;color:var(--text-muted, #64748b);margin-top:6px;text-transform:uppercase;letter-spacing:.05em}[data-theme=dark] .stat-card{background:linear-gradient(135deg,#ffffff0a,#ffffff0f);border-color:#ffffff1a}[data-theme=dark] .stat-card:hover{box-shadow:0 8px 24px #0006}.no-location-selected,.no-locations,.no-visitors{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-color)}.empty-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);color:var(--text-muted);margin-bottom:16px}.empty-icon svg{width:32px;height:32px}.no-location-selected h3,.no-locations h3{margin:0 0 8px;font-size:18px;color:var(--text-primary)}.no-location-selected p,.no-locations p,.no-visitors p{margin:0;color:var(--text-muted);font-size:14px}.no-locations .btn{margin-top:16px}.visitors-section{margin-bottom:32px}.section-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--primary);color:#fff;border-radius:12px;font-size:12px;font-weight:600}.count-badge.muted{background:var(--bg-tertiary);color:var(--text-muted)}.visitors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.recent-list{display:flex;flex-direction:column;gap:8px}.recent-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.recent-info{display:flex;align-items:center;gap:8px}.recent-info .visitor-name{font-weight:500;color:var(--text-primary)}.recent-info .visitor-company{font-size:13px;color:var(--text-muted)}.recent-times{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-muted)}.recent-times .time-in{color:#10b981}.recent-times .time-out{color:#6b7280}.auto-checkout-badge{font-size:11px;padding:2px 6px;background:#f59e0b26;color:#f59e0b;border-radius:4px;font-weight:500}@media (max-width: 768px){.visitor-dashboard{padding:16px}.dashboard-header,.header-left{flex-direction:column;align-items:stretch}.header-right{width:100%}.header-right .btn{width:100%;justify-content:center}.location-select{width:100%}.stats-grid,.visitors-grid{grid-template-columns:1fr}.recent-item{flex-direction:column;align-items:flex-start;gap:8px}.recent-times{flex-wrap:wrap}}.visitor-log-page{padding:24px;max-width:1400px;margin:0 auto}.visitor-log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.visitor-log-header h1{font-size:24px;font-weight:600;color:var(--fg);margin:0}.visitor-log-header .subtitle{font-size:14px;color:var(--fg-muted);margin:4px 0 0}.visitor-log-header button{display:flex;align-items:center;gap:8px}.visitor-log-header button svg{width:18px;height:18px}.visitor-log-filters{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:24px}.filter-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-row+.filter-row{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:140px}.filter-group label{font-size:12px;font-weight:500;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px}.filter-group input,.filter-group select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px}.filter-group input:focus,.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.filter-group.search-group{flex:1;min-width:250px}.search-input-wrapper svg{position:absolute;left:12px;width:16px;height:16px;color:var(--fg-muted)}.search-input-wrapper input{padding-left:36px;padding-right:36px;width:100%}.clear-search{position:absolute;right:8px;background:none;border:none;padding:4px;cursor:pointer;color:var(--fg-muted);display:flex;align-items:center;justify-content:center}.clear-search:hover{color:var(--fg)}.clear-search svg{width:14px;height:14px;position:static}.visitor-log-table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--fg-muted)}.loading-state .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:18px;font-weight:600;color:var(--fg);margin:0 0 8px}.visitor-log-table{width:100%;border-collapse:collapse}.visitor-log-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-hover);border-bottom:1px solid var(--border)}.visitor-log-table td{padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;color:var(--fg);vertical-align:top}.visitor-log-table tbody tr:last-child td{border-bottom:none}.visitor-log-table tbody tr:hover{background:var(--bg-hover)}.visitor-log-table tbody tr.active-row{background:#10b9810d}.visitor-log-table tbody tr.active-row:hover{background:#10b9811a}.visitor-cell .visitor-name{font-weight:500;color:var(--fg)}.visitor-cell .visitor-company{font-size:13px;color:var(--fg-muted);margin-top:2px}.visitor-cell .visitor-host{font-size:12px;color:var(--fg-muted);margin-top:4px}.badge-pill{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;color:#fff;text-transform:capitalize}.datetime-cell{display:flex;flex-direction:column}.datetime-cell .date{font-weight:500}.datetime-cell .time{font-size:13px;color:var(--fg-muted)}.by-name{font-size:12px;color:var(--fg-muted);margin-top:4px}.duration-cell{font-weight:500;font-variant-numeric:tabular-nums}.on-site-indicator{color:var(--fg-muted)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:#10b98126;color:#059669}.status-badge.out{background:#6b728026;color:#6b7280}.status-badge.auto{background:#f59e0b26;color:#d97706}.visitor-log-pagination{display:flex;justify-content:center;padding:16px;border-top:1px solid var(--border);background:var(--bg-card);margin-top:-1px;border-radius:0 0 8px 8px}@media (max-width: 768px){.visitor-log-page{padding:16px}.visitor-log-header{flex-direction:column;align-items:flex-start;gap:16px}.filter-row{flex-direction:column;gap:12px}.filter-group,.filter-group.search-group{width:100%;min-width:unset}.visitor-log-table-container{overflow-x:auto}.visitor-log-table{min-width:800px}.visitor-log-table th,.visitor-log-table td{padding:10px 12px}}.host-directory{margin-top:24px}.directory-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:16px}.directory-header .header-title h3{font-size:18px;font-weight:600;color:var(--fg);margin:0 0 4px}.directory-header .header-title p{font-size:14px;color:var(--fg-muted);margin:0}.header-actions{display:flex;gap:12px}.header-actions button{display:flex;align-items:center;gap:6px}.header-actions button svg{width:16px;height:16px}.directory-filters{display:flex;gap:12px;margin-bottom:20px}.search-box{flex:1;position:relative;display:flex;align-items:center}.search-box>svg{position:absolute;left:12px;width:16px;height:16px;color:var(--fg-muted)}.search-box input{width:100%;padding:10px 36px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px}.search-box input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.search-box .clear-btn{position:absolute;right:8px;background:none;border:none;padding:4px;cursor:pointer;color:var(--fg-muted);display:flex}.search-box .clear-btn:hover{color:var(--fg)}.search-box .clear-btn svg{width:14px;height:14px;position:static}.location-filter{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px;min-width:160px}.host-directory .loading-state,.host-directory .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;text-align:center;color:var(--fg-muted);background:var(--bg);border:2px dashed var(--border);border-radius:12px}.host-directory .loading-state .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}.host-directory .empty-state svg{width:48px;height:48px;margin-bottom:16px;opacity:.5}.host-directory .empty-state h4{font-size:16px;font-weight:600;color:var(--fg);margin:0 0 8px}.host-directory .empty-state p{margin:0 0 20px;max-width:400px}.empty-actions{display:flex;gap:12px}.hosts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.hosts-grid.inactive{margin-top:12px}.host-card{position:relative;display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:12px;transition:all .2s ease}.host-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #00000014}.host-card.inactive{opacity:.6;background:var(--bg-hover)}.host-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.host-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.host-info h4{font-size:15px;font-weight:600;color:var(--fg);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host-info .position{font-size:13px;color:var(--fg);font-weight:500}.host-info .department{font-size:12px;color:var(--fg-muted);background:var(--bg-hover);padding:2px 8px;border-radius:4px;display:inline-block;width:fit-content}.host-info .email,.host-info .phone,.host-info .location{font-size:12px;color:var(--fg-muted);display:flex;align-items:center;gap:4px}.host-info .email svg,.host-info .phone svg,.host-info .location svg{width:12px;height:12px;flex-shrink:0}.host-actions{display:flex;gap:4px}.host-actions button{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--fg-muted);transition:all .15s ease}.host-actions button:hover{background:var(--bg-hover);color:var(--fg)}.host-actions button svg{width:16px;height:16px}.notify-toggle.active,.notify-toggle.active:hover{color:var(--primary)}.deactivate-btn:hover{color:#ef4444!important;background:#ef44441a!important}.system-user-badge{position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--bg-hover);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted)}.system-user-badge svg{width:12px;height:12px}.inactive-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.inactive-section h4{font-size:14px;font-weight:500;color:var(--fg-muted);margin:0 0 12px}.host-form{padding:20px}.host-form .form-group{margin-bottom:20px}.host-form .form-group label{display:block;font-size:14px;font-weight:500;color:var(--fg);margin-bottom:8px}.host-form .form-group input,.host-form .form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px}.host-form .form-group input:focus,.host-form .form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.host-form .form-hint{display:block;font-size:12px;color:var(--fg-muted);margin-top:6px}.host-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.host-form .checkbox-group{background:var(--bg-hover);padding:16px;border-radius:8px}.host-form .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--fg)}.host-form .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.host-form .drawer-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.import-modal{background:var(--bg-card);border-radius:16px;max-width:480px;width:100%;box-shadow:0 20px 40px #0003}.import-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.import-modal .modal-header h3{font-size:18px;font-weight:600;color:var(--fg);margin:0}.import-modal .close-btn{background:none;border:none;padding:8px;cursor:pointer;color:var(--fg-muted);border-radius:6px;display:flex}.import-modal .close-btn:hover{background:var(--bg-hover);color:var(--fg)}.import-modal .close-btn svg{width:20px;height:20px}.import-modal .modal-body{padding:24px}.import-modal .modal-body p{font-size:14px;color:var(--fg);margin:0 0 16px;line-height:1.5}.import-info{margin:0;padding-left:20px;font-size:13px;color:var(--fg-muted)}.import-info li{margin-bottom:8px}.import-modal .modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-hover);border-radius:0 0 16px 16px}@media (max-width: 768px){.directory-header{flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1;justify-content:center}.directory-filters{flex-direction:column}.location-filter{width:100%}.hosts-grid,.host-form .form-row{grid-template-columns:1fr}}.site-selector{position:relative;width:100%}.site-selector .selector-input-wrapper{position:relative;display:flex;align-items:center}.site-selector .selector-input-wrapper>svg{position:absolute;left:12px;width:16px;height:16px;color:var(--fg-muted);pointer-events:none}.site-selector .selector-input-wrapper input{width:100%;padding:12px 12px 12px 40px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--fg);font-size:15px}.site-selector .selector-input-wrapper input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.site-selector .selector-input-wrapper input::placeholder{color:var(--fg-muted)}.site-selector .loading-spinner{position:absolute;right:12px;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.site-selector.selected .selected-site{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg);border:1px solid var(--primary);border-radius:10px;box-shadow:0 0 0 3px var(--primary-light)}.site-selector .site-icon{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark, #2563eb) 100%);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.site-selector .site-icon svg{width:20px;height:20px}.site-selector .selected-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.site-selector .selected-name{font-size:14px;font-weight:600;color:var(--fg)}.site-selector .selected-customer{font-size:13px;color:var(--primary);font-weight:500}.site-selector .selected-address{font-size:12px;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-selector .manual-badge{font-size:11px;font-weight:500;padding:4px 8px;background:var(--bg-hover);color:var(--fg-muted);border-radius:4px}.site-selector .clear-btn{background:none;border:none;padding:6px;cursor:pointer;color:var(--fg-muted);border-radius:6px;display:flex}.site-selector .clear-btn:hover{background:var(--bg-hover);color:var(--fg)}.site-selector .clear-btn svg{width:16px;height:16px}.site-selector .selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card, var(--bg-primary, #ffffff));border:1px solid var(--border, var(--border-color, #e5e7eb));border-radius:12px;box-shadow:0 12px 24px #00000026;z-index:100;max-height:400px;overflow:hidden;display:flex;flex-direction:column}.site-selector .dropdown-hint,.site-selector .dropdown-empty{padding:24px;text-align:center}.site-selector .dropdown-hint p,.site-selector .dropdown-empty p{font-size:14px;color:var(--fg-muted);margin:0 0 12px}.site-selector .dropdown-empty button{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.site-selector .dropdown-empty button:hover{opacity:.9}.site-selector .dropdown-list{flex:1;overflow-y:auto;padding:8px}.site-selector .result-group{margin-bottom:8px}.site-selector .result-group:last-child{margin-bottom:0}.site-selector .group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);padding:8px 12px 4px}.site-selector .result-option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background-color .15s}.site-selector .result-option:hover{background:var(--bg-hover)}.site-selector .option-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.site-selector .option-icon.site{background:#3b82f626;color:#3b82f6}.site-selector .option-icon.customer{background:#10b98126;color:#10b981}.site-selector .option-icon svg{width:18px;height:18px}.site-selector .option-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.site-selector .option-name{font-size:14px;font-weight:500;color:var(--fg)}.site-selector .option-customer{font-size:12px;color:var(--primary);font-weight:500}.site-selector .option-address{font-size:12px;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-selector .dropdown-footer{border-top:1px solid var(--border);padding:8px}.site-selector .dropdown-footer button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:none;border:none;border-radius:8px;font-size:14px;color:var(--fg-muted);cursor:pointer;transition:all .15s}.site-selector .dropdown-footer button:hover{background:var(--bg-hover);color:var(--fg)}.site-selector .dropdown-footer button svg{width:16px;height:16px}.site-selector .manual-entry{padding:0}.site-selector .manual-header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);font-size:14px;font-weight:500;color:var(--fg)}.site-selector .back-btn{background:none;border:none;padding:6px;cursor:pointer;color:var(--fg-muted);border-radius:6px;display:flex}.site-selector .back-btn:hover{background:var(--bg-hover);color:var(--fg)}.site-selector .back-btn svg{width:18px;height:18px}.site-selector .manual-form{padding:16px}.site-selector .manual-field{margin-bottom:16px}.site-selector .manual-field label{display:block;font-size:13px;font-weight:500;color:var(--fg-muted);margin-bottom:6px}.site-selector .manual-field input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px}.site-selector .manual-field input:focus{outline:none;border-color:var(--primary)}.site-selector .manual-save-btn{width:100%;padding:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s}.site-selector .manual-save-btn:hover:not(:disabled){opacity:.9}.site-selector .manual-save-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.site-selector .selector-dropdown{max-height:350px}}.visitor-settings-page{padding:24px;max-width:1200px;margin:0 auto}.visitor-settings-page .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;color:var(--fg-muted)}.visitor-settings-page .loading-state .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.settings-header h1{font-size:24px;font-weight:600;color:var(--fg);margin:0}.settings-header .subtitle{font-size:14px;color:var(--fg-muted);margin:4px 0 0}.settings-header button{display:flex;align-items:center;gap:8px}.settings-header button svg{width:18px;height:18px}.settings-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.settings-section .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.settings-section .section-header h2{font-size:18px;font-weight:600;color:var(--fg);margin:0 0 4px}.settings-section .section-header p{font-size:14px;color:var(--fg-muted);margin:0}.section-actions{display:flex;gap:12px}.section-actions button{display:flex;align-items:center;gap:6px}.section-actions button svg{width:16px;height:16px}.empty-locations{text-align:center;padding:40px;color:var(--fg-muted)}.empty-locations .empty-icon{margin-bottom:16px}.empty-locations .empty-icon svg{width:48px;height:48px;opacity:.5}.empty-locations h3{font-size:18px;font-weight:600;color:var(--fg);margin:0 0 8px}.empty-locations p{margin:0}.empty-locations .hint{margin-top:12px;font-size:13px;color:var(--primary)}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.location-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.location-card.inactive{opacity:.6;background:var(--bg-hover)}.location-info h3{font-size:16px;font-weight:600;color:var(--fg);margin:0 0 4px}.location-info .address{font-size:13px;color:var(--fg-muted);margin:0 0 8px}.linked-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--primary);background:var(--primary-light);padding:4px 8px;border-radius:4px}.linked-badge svg{width:12px;height:12px}.location-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-indicator{font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px}.status-indicator.active{background:#10b98126;color:#059669}.status-indicator.inactive{background:#6b728026;color:#6b7280}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.setting-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}.setting-item label{font-size:14px;font-weight:600;color:var(--fg);display:block;margin-bottom:4px}.setting-description{font-size:13px;color:var(--fg-muted);margin:0 0 12px}.setting-value{font-size:14px;color:var(--fg)}.setting-value strong{font-size:24px;font-weight:600;color:var(--primary)}.badge-types{display:flex;flex-wrap:wrap;gap:8px}.badge-type-tag{display:inline-block;padding:4px 12px;background:var(--bg-hover);border:1px solid var(--border);border-radius:16px;font-size:13px;color:var(--fg);text-transform:capitalize}.required-fields-list{display:flex;flex-wrap:wrap;gap:8px}.required-tag{display:inline-block;padding:4px 12px;background:#3b82f626;color:#3b82f6;border-radius:16px;font-size:13px;font-weight:500}.none-required{color:var(--fg-muted);font-style:italic}.settings-edit-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:20px}.settings-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.settings-edit-form .form-group{display:flex;flex-direction:column;gap:6px}.settings-edit-form .form-group label{font-size:14px;font-weight:600;color:var(--fg)}.settings-edit-form .form-hint{font-size:12px;color:var(--fg-muted);margin:0 0 8px}.settings-edit-form .form-group input[type=number]{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--fg);font-size:16px;width:120px}.settings-edit-form .form-group input[type=number]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.settings-edit-form .checkbox-group{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:16px}.settings-edit-form .checkbox-group .checkbox-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;color:var(--fg);cursor:pointer}.settings-edit-form .checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.settings-edit-form .checkbox-group .form-hint{margin:8px 0 0 28px}.settings-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.drawer-form{padding:20px}.drawer-form .form-group{margin-bottom:20px}.drawer-form .form-group label{display:block;font-size:14px;font-weight:500;color:var(--fg);margin-bottom:8px}.drawer-form .form-group input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px}.drawer-form .form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.drawer-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.selected-preview{background:var(--bg-hover);border:1px solid var(--border);border-radius:8px;padding:16px;margin-top:16px}.selected-preview .preview-label{font-size:12px;font-weight:500;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.selected-preview .preview-details{display:flex;flex-direction:column;gap:4px}.selected-preview .preview-details strong{font-size:15px;color:var(--fg)}.selected-preview .preview-details span{font-size:13px;color:var(--fg-muted)}.selected-preview .preview-linked{color:var(--primary)!important;font-weight:500}.selected-preview .preview-manual{color:var(--fg-muted)!important;font-style:italic}.import-drawer{padding:20px}.import-description{font-size:14px;color:var(--fg-muted);margin:0 0 20px;line-height:1.5}.no-sites{text-align:center;padding:40px;color:var(--fg-muted)}.select-all-row{padding:12px 0;border-bottom:1px solid var(--border);margin-bottom:12px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;font-weight:500;color:var(--fg)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.import-list{max-height:400px;overflow-y:auto}.import-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:6px;cursor:pointer;transition:background-color .15s}.import-item:hover{background:var(--bg-hover)}.import-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.import-item-info{display:flex;flex-direction:column;gap:2px}.import-item-info .name{font-size:14px;font-weight:500;color:var(--fg)}.import-item-info .address{font-size:13px;color:var(--fg-muted)}@media (max-width: 768px){.visitor-settings-page{padding:16px}.settings-header{flex-direction:column;align-items:flex-start;gap:16px}.settings-section .section-header{flex-direction:column;gap:16px}.section-actions{width:100%}.section-actions button{flex:1;justify-content:center}.locations-grid{grid-template-columns:1fr}.location-card{flex-direction:column}.location-actions{flex-direction:row;width:100%;justify-content:space-between;align-items:center}.settings-grid{grid-template-columns:1fr}}.shift-timestamp-display{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-subtle);border-radius:8px;border:1px solid var(--border)}.timestamp-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted)}.timestamp-main{display:flex;align-items:center;gap:12px}.timestamp-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%;flex-shrink:0}.timestamp-icon svg{width:20px;height:20px}.timestamp-details{display:flex;flex-direction:column;gap:2px}.timestamp-time{font-size:18px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.timestamp-date{font-size:13px;color:var(--fg-muted)}.timestamp-value.empty{font-size:14px;color:var(--fg-muted);font-style:italic}.gps-info{display:flex;flex-direction:column;gap:8px;margin-top:4px}.distance-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:600;width:fit-content}.distance-badge.ok{background:transparent;border:1px solid #00c875;color:#00c875}.distance-badge.warning{background:transparent;border:1px solid #f97316;color:#f97316}.distance-badge.error{background:transparent;border:1px solid #e44258;color:#e44258}.distance-badge.neutral{background:var(--bg-subtle);color:var(--fg-muted)}.distance-icon{font-size:14px;line-height:1}.distance-value{font-variant-numeric:tabular-nums}.gps-details{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid var(--border)}.gps-row{display:flex;gap:8px;font-size:12px;align-items:flex-start}.gps-label{color:var(--fg-muted);font-weight:500;min-width:70px;flex-shrink:0}.gps-value{color:var(--fg);font-family:Monaco,Menlo,Courier New,monospace;font-size:11px;word-break:break-all}.gps-limited{padding:8px 0;border-top:1px solid var(--border)}.gps-limited .gps-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg)}.gps-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted)}.gps-icon svg{width:14px;height:14px}.gps-text{font-size:13px;color:var(--fg)}.scheduled-comparison{display:flex;gap:8px;font-size:12px;padding-top:8px;border-top:1px solid var(--border)}.scheduled-label{color:var(--fg-muted);font-weight:500}.scheduled-value{color:var(--fg);font-variant-numeric:tabular-nums}@media (max-width: 640px){.timestamp-time{font-size:16px}.timestamp-icon{width:36px;height:36px}.timestamp-icon svg{width:18px;height:18px}.gps-value{font-size:10px}}.my-roster-page{display:flex;flex-direction:column;height:100%}.active-shift-banner{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.active-shift-banner .banner-content{display:flex;align-items:center;gap:12px}.active-shift-banner .pulse-dot{width:10px;height:10px;background:#fff;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.95)}}.active-shift-banner .banner-text{display:flex;flex-direction:column;gap:4px}.active-shift-banner .banner-title{font-size:14px;font-weight:700}.active-shift-banner .banner-time{font-size:12px;opacity:.9}.mobile-only{display:none}@media (max-width: 768px){.mobile-only{display:flex}}.date-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.date-badge.today{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.date-badge.tomorrow{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--primary);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent)}.active-shift-row{background:#10b9810d!important;border-left:4px solid #10b981!important}.active-shift-row:hover{background:#10b9811a!important}.today-shift-row{background:color-mix(in oklab,var(--accent) 3%,transparent)}.today-shift-row:hover{background:color-mix(in oklab,var(--accent) 8%,transparent)}.past-shift-row{opacity:.6}.past-shift-row:hover{opacity:.8}.elapsed-timer{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;background:#10b9811a;color:#10b981;border-radius:4px;font-size:13px;font-weight:600}.elapsed-timer:before{content:"";width:6px;height:6px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}.location-cell{display:flex;flex-direction:column;gap:2px}.location-cell .customer-name{font-weight:600;font-size:13px;color:var(--fg)}.location-cell .site-name{font-size:12px;color:var(--fg-muted)}.notes-preview{max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;color:var(--fg-muted)}@media (max-width: 768px){.data-card.active-shift-row{border-left:4px solid #10b981;background:linear-gradient(to right,rgba(16,185,129,.1) 0%,transparent 100%)}.data-card.active-shift-row .card-header:before{content:"ACTIVE";display:inline-block;padding:2px 8px;background:#10b981;color:#fff;font-size:10px;font-weight:700;border-radius:4px;margin-right:8px;letter-spacing:.5px}.data-card.today-shift-row{border-left:4px solid var(--primary)}}.shift-detail{display:flex;flex-direction:column;gap:24px;padding:16px}.shift-detail-header{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px}.shift-detail-date{font-size:16px;font-weight:700;color:var(--fg)}.shift-detail-type{font-size:14px;font-weight:600;color:var(--fg)}.shift-detail-time{font-size:13px;color:var(--fg-muted)}.active-shift-timer{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:14px;font-weight:600;color:#10b981}.active-shift-timer .pulse-dot{width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}.shift-detail-body{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;color:var(--fg)}.shift-detail-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.shift-detail-actions button{flex:1}.text-muted{color:var(--fg-muted);font-style:italic}@media (max-width: 768px){.my-roster-page{padding-bottom:80px}.shift-detail{padding:12px}.shift-detail-actions{flex-direction:column}.shift-detail-actions button{width:100%}}@media (prefers-color-scheme: dark){.active-shift-banner{background:linear-gradient(135deg,#059669,#047857)}.date-badge.today{background:#10b98133;border-color:#10b98166}.date-badge.tomorrow{background:color-mix(in oklab,var(--accent) 20%,transparent);border-color:color-mix(in oklab,var(--accent) 40%,transparent)}.active-shift-row{background:#10b9811a!important}.today-shift-row{background:color-mix(in oklab,var(--accent) 5%,transparent)}}.shift-gps-map{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--border-color, #c5c7d0);background:var(--primary-background-color, #ffffff)}.shift-gps-map__container{width:100%;position:relative}.shift-gps-map__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;min-height:200px;background:var(--secondary-background-color, #f6f7fb)}.shift-gps-map__empty svg{margin-bottom:12px;color:var(--secondary-text-color, #676879);opacity:.5}.shift-gps-map__empty-text{font-size:14px;color:var(--secondary-text-color, #676879);font-weight:500}.shift-gps-map__summary{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--primary-background-color, #ffffff);border-top:1px solid var(--border-color, #c5c7d0)}.shift-gps-map__stat{display:flex;align-items:center;gap:8px;font-size:13px}.shift-gps-map__stat--pending{justify-content:center;font-style:italic;color:var(--secondary-text-color, #676879)}.shift-gps-map__stat-marker{width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0000004d;flex-shrink:0}.shift-gps-map__stat-label{color:var(--secondary-text-color, #676879);font-weight:500}.shift-gps-map__stat-value{color:var(--primary-text-color, #323338);font-weight:600;margin-left:auto}.shift-gps-popup{padding:4px;min-width:150px}.shift-gps-popup__title{font-size:14px;font-weight:600;color:var(--primary-text-color, #323338);margin-bottom:6px}.shift-gps-popup__detail{font-size:13px;color:var(--secondary-text-color, #676879);margin-bottom:4px}.shift-gps-popup__detail strong{color:var(--primary-text-color, #323338)}.shift-gps-popup__meta{font-size:11px;color:var(--secondary-text-color, #676879);opacity:.7;margin-top:6px}.shift-gps-map__stat--warning .shift-gps-map__stat-value{color:#ff9800}.shift-gps-map__stat--error .shift-gps-map__stat-value{color:#e44258}@media (max-width: 768px){.shift-gps-map__summary{padding:10px}.shift-gps-map__stat{font-size:12px}.shift-gps-popup{min-width:120px}.shift-gps-popup__title{font-size:13px}.shift-gps-popup__detail{font-size:12px}}@media (prefers-color-scheme: dark){.shift-gps-map{background:var(--primary-background-color, #1c1f3b);border-color:var(--border-color, #3a3f5c)}.shift-gps-map__summary{background:var(--primary-background-color, #1c1f3b);border-top-color:var(--border-color, #3a3f5c)}.shift-gps-map__empty{background:var(--secondary-background-color, #2d3252)}.shift-gps-map__empty svg,.shift-gps-map__empty-text,.shift-gps-map__stat-label{color:var(--secondary-text-color, #c5c7d0)}.shift-gps-map__stat-value,.shift-gps-popup__title,.shift-gps-popup__detail strong{color:var(--primary-text-color, #ffffff)}.shift-gps-popup__detail,.shift-gps-popup__meta{color:var(--secondary-text-color, #c5c7d0)}}.payroll-export-modal{max-width:480px}.export-date-range{padding:12px 16px;background:var(--bg-subtle);border-radius:6px;margin-bottom:24px;font-size:14px;color:var(--fg-muted)}.export-date-range strong{color:var(--fg);display:block;margin-bottom:4px;font-weight:600}.form-group{margin-bottom:20px}.form-label{display:block;font-size:14px;font-weight:600;color:var(--fg);margin-bottom:8px}.form-select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;cursor:pointer;transition:border-color .15s ease}.form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-10)}.form-select option{padding:8px}.form-hint{margin-top:6px;font-size:12px;color:var(--fg-muted);line-height:1.4}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--fg);user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.checkbox-label span{font-weight:500}.detail-section{margin-bottom:28px}.detail-section:last-child{margin-bottom:0}.detail-section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.detail-section-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--fg, var(--text))}.detail-section-icon{width:18px;height:18px;color:var(--fg-dim, #64748b);flex-shrink:0}.detail-section-icon svg{width:18px;height:18px}.detail-dl{display:grid;grid-template-columns:130px 1fr;gap:10px 16px;margin:0}.detail-label{font-size:.8125rem;color:var(--fg-dim, #64748b);align-self:center}.detail-value{font-size:.875rem;color:var(--fg, var(--text));margin:0;align-self:center}.detail-value--muted{color:var(--fg-muted, #94a3b8);font-style:italic}.detail-value--mono{font-family:SF Mono,Monaco,Cascadia Code,Consolas,monospace;font-size:.8125rem;background:var(--surface-soft, rgba(148, 163, 184, .08));padding:2px 8px;border-radius:4px;display:inline-block}.detail-value--strong{font-weight:600}.detail-value--success{color:var(--success, #22c55e);font-weight:600}.detail-value--warning{color:var(--warning, #f59e0b);font-weight:600}.detail-value--danger{color:var(--danger, #ef4444);font-weight:600}.value-with-action{display:inline-flex;align-items:center;gap:10px}.inline-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg-dim, #64748b);cursor:pointer;transition:all .15s ease;flex-shrink:0;font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.inline-action-btn:hover{background:color-mix(in oklab,var(--accent) 15%,transparent);border-color:color-mix(in oklab,var(--accent) 30%,var(--border));color:var(--accent)}.inline-action-btn:active{transform:scale(.97)}.inline-action-btn svg{width:12px;height:12px;flex-shrink:0}.inline-action-btn--success:hover{background:color-mix(in oklab,var(--success, #22c55e) 15%,transparent);border-color:color-mix(in oklab,var(--success, #22c55e) 30%,var(--border));color:var(--success, #22c55e)}.inline-action-btn--danger:hover{background:color-mix(in oklab,var(--danger, #ef4444) 15%,transparent);border-color:color-mix(in oklab,var(--danger, #ef4444) 30%,var(--border));color:var(--danger, #ef4444)}.inline-action-btn--warning:hover{background:color-mix(in oklab,var(--warning, #f59e0b) 15%,transparent);border-color:color-mix(in oklab,var(--warning, #f59e0b) 30%,var(--border));color:var(--warning, #f59e0b)}.user-badge{display:inline-flex;align-items:center;gap:8px}.user-badge-avatar{width:26px;height:26px;border-radius:50%;background:var(--accent, #3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600}.user-badge-name{font-size:.875rem;font-weight:500;color:var(--fg, var(--text))}.detail-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:4px;font-size:.75rem;font-weight:600}.detail-badge--success{background:color-mix(in oklab,#10b981 15%,transparent);color:#34d399}.detail-badge--warning{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#fbbf24}.detail-badge--danger{background:color-mix(in oklab,#ef4444 15%,transparent);color:#f87171}.detail-badge--info{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#60a5fa}.detail-badge--purple{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#a78bfa}.detail-badge--neutral{background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg-dim)}.info-box{padding:12px 14px;background:var(--surface-soft, rgba(148, 163, 184, .08));border-radius:8px;font-size:.875rem;line-height:1.6;color:var(--fg, var(--text));margin-top:8px}.info-box--empty{color:var(--fg-muted, #94a3b8);font-style:italic}.info-box--success{background:color-mix(in oklab,#10b981 10%,var(--surface-soft));border:1px solid color-mix(in oklab,#10b981 20%,var(--border))}.info-box--warning{background:color-mix(in oklab,#f59e0b 10%,var(--surface-soft));border:1px solid color-mix(in oklab,#f59e0b 20%,var(--border))}.info-box--danger{background:color-mix(in oklab,#ef4444 10%,var(--surface-soft));border:1px solid color-mix(in oklab,#ef4444 20%,var(--border))}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.photo-item{position:relative;padding-bottom:100%;background:var(--surface-soft);border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}.photo-item:hover{transform:scale(1.03);box-shadow:0 4px 12px #00000026}.photo-item img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.summary-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.summary-card{padding:14px;background:var(--surface-soft, rgba(148, 163, 184, .08));border:1px solid var(--border);border-radius:8px;text-align:center}.summary-card-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);margin:0 0 8px}.summary-card-value{font-size:1.25rem;font-weight:700;color:var(--fg, var(--text));margin:0}.summary-card-value--success{color:var(--success, #22c55e)}.summary-card-value--warning{color:var(--warning, #f59e0b)}.summary-card-sub{font-size:.75rem;color:var(--fg-dim);margin-top:4px}.gps-card{padding:12px 14px;background:color-mix(in oklab,#3b82f6 5%,var(--surface-soft));border:1px solid color-mix(in oklab,#3b82f6 15%,var(--border));border-radius:8px;margin-bottom:10px}.gps-card:last-child{margin-bottom:0}.gps-card-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);margin:0 0 4px}.gps-coordinates{font-family:SF Mono,Monaco,monospace;font-size:.8125rem;color:var(--accent, #3b82f6)}@media (max-width: 480px){.detail-dl{grid-template-columns:1fr;gap:4px 0}.detail-label{margin-bottom:-2px}.detail-value{margin-bottom:8px}.summary-cards{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(3,1fr)}}.timeline{display:flex;flex-direction:column;gap:0;margin-top:4px}.timeline-item{display:flex;gap:12px;padding:14px 0;position:relative}.timeline-item:first-child{padding-top:0}.timeline-item:last-child{padding-bottom:0}.timeline-item:not(:last-child):before{content:"";position:absolute;left:15px;top:42px;bottom:0;width:2px;background:var(--border)}.timeline-item:first-child:not(:last-child):before{top:32px}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1}.timeline-icon svg{width:16px;height:16px}.timeline-icon--success{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.timeline-icon--info{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.timeline-icon--warning{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b}.timeline-icon--danger{background:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444}.timeline-icon--purple{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.timeline-icon--neutral{background:var(--surface-soft, rgba(148, 163, 184, .08));color:var(--fg-dim, #64748b)}.timeline-content{flex:1;padding-top:4px;min-width:0}.timeline-title{font-size:.875rem;font-weight:600;color:var(--fg, var(--text));margin:0 0 2px}.timeline-description{font-size:.8125rem;color:var(--fg-dim, #64748b);margin:0 0 2px;line-height:1.4}.timeline-time{font-size:.75rem;color:var(--fg-muted, #94a3b8)}.timeline-gps{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:4px 8px;background:color-mix(in oklab,#3b82f6 8%,transparent);border-radius:4px;font-size:.6875rem;font-family:SF Mono,Monaco,monospace;color:var(--accent, #3b82f6)}.timeline-gps-icon{width:12px;height:12px}.timeline-gps-accuracy{color:var(--fg-muted);font-family:inherit}.timeline-duration{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:var(--surface-soft, rgba(148, 163, 184, .08));border-radius:4px;font-size:.75rem;font-weight:600;color:var(--fg-dim, #64748b)}.timeline-duration--success{background:color-mix(in oklab,#10b981 12%,transparent);color:#10b981}.timeline--compact .timeline-item{padding:10px 0}.timeline--compact .timeline-icon{width:28px;height:28px}.timeline--compact .timeline-icon svg{width:14px;height:14px}.timeline--compact .timeline-item:not(:last-child):before{left:13px;top:36px}.timeline--compact .timeline-item:first-child:not(:last-child):before{top:28px}@media (max-width: 480px){.timeline-gps{display:flex;margin-top:8px}}.shift-clock-timeline{display:flex;flex-direction:column;gap:16px}.shift-summary{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--surface-soft, rgba(148, 163, 184, .06));border-radius:8px;border:1px solid var(--border)}.shift-summary__row{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.shift-summary__label{color:var(--fg-dim, #64748b);font-weight:500}.shift-summary__value{font-weight:600;color:var(--fg, var(--text));font-family:SF Mono,Monaco,monospace;font-size:.875rem}.shift-summary__row--break .shift-summary__label,.shift-summary__row--break .shift-summary__value{color:#f59e0b}.shift-summary__row--net{margin-top:6px;padding-top:8px;border-top:1px solid var(--border)}.shift-summary__row--net .shift-summary__label{font-weight:600;color:var(--fg, var(--text))}.shift-summary__row--net .shift-summary__value{font-size:1rem;color:#10b981}.week-selector{display:flex;align-items:center;gap:8px}.ws-nav-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;cursor:pointer;color:var(--fg);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ws-nav-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.ws-nav-btn:active{transform:scale(.95)}.ws-nav-btn--week{font-size:12px;letter-spacing:-2px}.ws-today-btn{height:32px;padding:0 12px;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;cursor:pointer;color:var(--fg);font-size:13px;font-weight:500;transition:all .15s ease}.ws-today-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent)}.ws-today-btn:disabled{opacity:.5;cursor:not-allowed}.ws-today-btn--active{background:var(--accent);color:#fff;border-color:var(--accent)}.ws-date-display{font-size:14px;font-weight:600;color:var(--fg);min-width:180px;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.ws-today-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--accent);color:#fff;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}@media (max-width: 600px){.week-selector{gap:4px}.ws-nav-btn{width:28px;height:28px;font-size:12px}.ws-today-btn{height:28px;padding:0 8px;font-size:12px}.ws-date-display{min-width:120px;font-size:12px}.ws-today-badge{display:none}}.expandable-legend{display:flex;align-items:center;gap:0}.expandable-legend__toggle{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft, rgba(148, 163, 184, .06));color:var(--fg-dim, #64748b);cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.expandable-legend__toggle:hover{background:var(--surface-hover, rgba(148, 163, 184, .12));color:var(--fg, var(--text));border-color:var(--border-hover, var(--border))}.expandable-legend__toggle--active{background:color-mix(in oklab,var(--accent, #3b82f6) 10%,transparent);border-color:color-mix(in oklab,var(--accent, #3b82f6) 30%,var(--border));color:var(--accent, #3b82f6)}.expandable-legend__toggle-icon{width:14px;height:14px;flex-shrink:0}.expandable-legend__toggle-label{user-select:none}.expandable-legend__arrow{width:12px;height:12px;flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1)}.expandable-legend__arrow--left{transform:rotate(180deg)}.expandable-legend__arrow--left.expandable-legend__arrow--expanded,.expandable-legend__arrow--right{transform:rotate(0)}.expandable-legend__arrow--right.expandable-legend__arrow--expanded{transform:rotate(180deg)}.expandable-legend__content{overflow:hidden;transition:max-width .35s cubic-bezier(.4,0,.2,1),opacity .25s ease;opacity:0}.expandable-legend__content--expanded{opacity:1}.expandable-legend__items{display:flex;align-items:center;gap:12px;padding:0 12px;white-space:nowrap}.expandable-legend__item{display:flex;align-items:center;gap:4px;opacity:0;transform:translate(-8px);transition:opacity .2s ease,transform .2s ease}.expandable-legend__content--expanded .expandable-legend__item{opacity:1;transform:translate(0)}.expandable-legend__content--expanded .expandable-legend__item:nth-child(1){transition-delay:.05s}.expandable-legend__content--expanded .expandable-legend__item:nth-child(2){transition-delay:.1s}.expandable-legend__content--expanded .expandable-legend__item:nth-child(3){transition-delay:.15s}.expandable-legend__content--expanded .expandable-legend__item:nth-child(4){transition-delay:.2s}.expandable-legend__content--expanded .expandable-legend__item:nth-child(5){transition-delay:.25s}.expandable-legend__icon{font-size:.875rem;font-weight:600;line-height:1}.expandable-legend__label{font-size:.6875rem;color:var(--fg-dim, #64748b);font-weight:500}.expandable-legend--left{flex-direction:row}.expandable-legend--left .expandable-legend__toggle{border-top-left-radius:0;border-bottom-left-radius:0;border-left:none}.expandable-legend--left .expandable-legend__content--expanded+.expandable-legend__toggle,.expandable-legend--left:has(.expandable-legend__content--expanded) .expandable-legend__toggle{border-top-left-radius:0;border-bottom-left-radius:0}.expandable-legend--left .expandable-legend__content{display:flex;justify-content:flex-end}.expandable-legend--left .expandable-legend__content--expanded{padding-left:2px;border:1px solid var(--border);border-right:none;border-radius:6px 0 0 6px;background:var(--surface-soft, rgba(148, 163, 184, .04))}.expandable-legend--right{flex-direction:row}.expandable-legend--right .expandable-legend__toggle{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.expandable-legend--right .expandable-legend__content--expanded{padding-right:2px;border:1px solid var(--border);border-left:none;border-radius:0 6px 6px 0;background:var(--surface-soft, rgba(148, 163, 184, .04))}@media (max-width: 640px){.expandable-legend__items{gap:8px;padding:0 8px}.expandable-legend__item{gap:3px}.expandable-legend__label{font-size:.625rem}.expandable-legend__toggle{padding:5px 8px}.expandable-legend__toggle-label{display:none}}.payroll-page{padding:24px;max-width:1600px;margin:0 auto}.payroll-header{margin-bottom:32px}.payroll-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--fg)}.payroll-header .subtitle{margin:0;font-size:15px;color:var(--fg-muted)}.payroll-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}.bulk-actions-toolbar{position:sticky;top:0;z-index:100;background:#10b9811a;border:2px solid #10b981;border-radius:8px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #0000001a}.bulk-actions-toolbar .selection-count{font-weight:600;color:#10b981;margin-right:auto}.status-pill{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.status-pill.pending{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.status-pill.approved{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.3)}.status-pill.disputed{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.status-pill.rejected{background:#6b72801a;color:#6b7280;border:1px solid rgba(107,114,128,.3)}.payroll-week-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:var(--card-bg);border-bottom:1px solid var(--border)}.payroll-week-row__right{display:flex;align-items:center;gap:16px}.payroll-shift-count{font-size:.8125rem;color:var(--fg-muted);font-weight:500}@media (max-width: 768px){.payroll-page{padding:16px}.payroll-header h1{font-size:24px}.payroll-stats{grid-template-columns:1fr}.bulk-actions-toolbar{flex-direction:column;align-items:stretch}.bulk-actions-toolbar .selection-count{margin-bottom:8px}.payroll-week-row{flex-direction:column;gap:12px;padding:12px 16px}.payroll-week-row__right{width:100%;justify-content:space-between}}.activity-badge-container{position:relative}.activity-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.875rem;color:var(--fg);transition:all .15s ease}.activity-badge:hover{background:var(--surface-soft);border-color:var(--border-hover)}.activity-badge.loading{opacity:.6;cursor:wait}.activity-badge.error{border-color:var(--danger);color:var(--danger)}.badge-icon{width:18px;height:18px;color:var(--fg-dim)}.badge-icon svg{width:100%;height:100%}.badge-text{font-weight:500}.badge-counts{display:flex;gap:4px;margin-left:4px}.count-dot{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:.75rem;font-weight:600}.count-dot.active{background:color-mix(in oklab,var(--success) 20%,transparent);color:var(--success)}.count-dot.away{background:color-mix(in oklab,var(--warning) 20%,transparent);color:var(--warning)}.count-dot.inactive{background:color-mix(in oklab,var(--danger) 20%,transparent);color:var(--danger)}.badge-chevron{width:14px;height:14px;color:var(--fg-dim);margin-left:2px}.badge-chevron svg{width:100%;height:100%}.activity-drawer-content{display:flex;flex-direction:column;height:100%}.activity-filter-tabs{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.filter-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface-soft);border:1px solid var(--border);border-radius:20px;font-size:.8125rem;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .15s ease}.filter-tab:hover{background:var(--bg-hover);color:var(--fg)}.filter-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.active{background:var(--success)}.status-dot.away{background:var(--warning)}.status-dot.inactive{background:var(--danger)}.filter-tab.active .status-dot{background:#fff}.empty-activity-list{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:var(--fg-dim);text-align:center}.empty-activity-list .empty-icon{width:48px;height:48px;opacity:.5}.empty-activity-list .empty-icon svg{width:100%;height:100%}.staff-activity-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.staff-activity-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px;transition:all .15s ease}.staff-activity-card:hover{border-color:var(--border-hover)}.staff-activity-card.inactive{border-left:3px solid var(--danger)}.staff-activity-card.away{border-left:3px solid var(--warning)}.staff-activity-card.active{border-left:3px solid var(--success)}.staff-card-main{display:flex;align-items:center;gap:12px}.staff-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.staff-name{display:block;font-weight:600;font-size:.9375rem;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-activity{display:block;font-size:.8125rem;color:var(--fg-dim);margin-top:2px}.staff-status{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;flex-shrink:0}.status-icon-small{width:14px;height:14px}.status-icon-small svg{width:100%;height:100%}.staff-card-meta{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.meta-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.meta-badge svg{width:12px;height:12px}.meta-badge.shift{background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--accent)}.meta-badge.location{background:color-mix(in oklab,var(--primary) 15%,transparent);color:var(--primary)}.meta-badge.warning{background:color-mix(in oklab,var(--danger) 15%,transparent);color:var(--danger)}.activity-drawer-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-soft)}.refresh-info{font-size:.75rem;color:var(--fg-dim)}.refresh-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--fg);cursor:pointer;transition:all .15s ease}.refresh-btn:hover{background:var(--bg-hover);border-color:var(--border-hover)}.refresh-btn svg{width:14px;height:14px}@media (max-width: 480px){.activity-badge{padding:6px 10px;font-size:.8125rem}.badge-text{display:none}.activity-filter-tabs{padding:12px;gap:6px}.filter-tab{padding:6px 10px;font-size:.75rem}.staff-activity-list{padding:12px;gap:10px}.staff-activity-card{padding:12px}.staff-avatar{width:36px;height:36px;font-size:.875rem}.staff-name{font-size:.875rem}.staff-status span:last-child{display:none}}.supervisor-shifts-page{min-height:100vh;background:var(--bg)}.ops-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:24px 24px 16px}.ops-header h1{margin:0;font-size:28px;font-weight:700;color:var(--fg)}.ops-header .subtitle{margin:4px 0 0;font-size:14px;color:var(--fg-muted)}.ops-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--fg-muted)}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.week-selector-container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px 16px}.on-duty-section{padding:0 24px 24px}.section-title{font-size:18px;font-weight:700;color:var(--fg);margin:0 0 16px;display:flex;align-items:center}.on-duty-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.on-duty-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;position:relative}.on-duty-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.on-duty-card.hours-short{border-left:4px solid #10b981}.on-duty-card.hours-normal{border-left:4px solid var(--primary)}.on-duty-card.hours-long{border-left:4px solid #ef4444}.on-duty-employee{flex:1}.employee-name{font-size:15px;font-weight:600;color:var(--fg);margin-bottom:4px}.employee-site{font-size:13px;color:var(--fg-muted)}.on-duty-time{display:flex;align-items:center;padding-left:16px}.clock-out-btn-small{padding:4px 10px;font-size:11px;font-weight:600;border:1px solid #dc2626;border-radius:6px;background:#fee;color:#dc2626;cursor:pointer;transition:all .15s ease;white-space:nowrap}.clock-out-btn-small:hover{background:#dc2626;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #dc26264d}.clock-out-btn-small:active{transform:translateY(0)}.empty-on-duty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;text-align:center;color:var(--fg-muted);background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:0 24px 24px}.empty-on-duty svg{opacity:.5}.empty-on-duty p{margin:0;font-size:14px;font-weight:500}.ops-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;padding:0 24px 24px}.status-filter{display:flex;align-items:center}.filter-select{padding:8px 32px 8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5L6 8L9 5' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.filter-select:hover{border-color:var(--primary)}.filter-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 10%,transparent)}.status-pill{display:inline-block;padding:4px 10px;font-size:12px;font-weight:600;border-radius:6px;white-space:nowrap}.status-pill.ok{background:#10b9811a;color:#059669}.status-pill.neutral{background:#64748b1a;color:#475569}.status-pill.issue{background:#ef44441a;color:#dc2626}@media (max-width: 768px){.ops-header{padding:16px 16px 12px}.ops-header h1{font-size:24px}.week-selector-container{padding:0 16px 12px}.on-duty-section{padding:0 16px 16px}.section-title{font-size:16px}.on-duty-grid{grid-template-columns:1fr;gap:12px}.ops-stats{grid-template-columns:1fr;gap:12px;padding:0 16px 16px}.empty-on-duty{margin:0 16px 16px;padding:32px 16px}}@media (prefers-color-scheme: dark){.filter-select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 5L6 8L9 5' stroke='%23aaa' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}.leave-approval-panel{display:flex;flex-direction:column;gap:1.5rem;max-height:70vh;overflow-y:auto}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.loading-state .spinner{width:2rem;height:2rem;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}.loading-state p{color:var(--text-secondary);font-size:.875rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;text-align:center}.empty-icon{font-size:3rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.empty-state p{color:var(--text-secondary);font-size:.875rem;margin:0}.requests-list{display:flex;flex-direction:column;gap:1rem}.leave-request-card{border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;background:var(--bg);transition:box-shadow .2s}.leave-request-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.employee-info{display:flex;flex-direction:column;gap:.25rem}.employee-info h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.employee-email{font-size:.75rem;color:var(--text-secondary)}.leave-type-badge{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap}.date-range{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem}.date-label{color:var(--text-secondary)}.duration{color:var(--text-secondary);font-size:.75rem}.reason-section{margin-bottom:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:6px}.reason-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.reason-text{margin:.5rem 0 0;font-size:.875rem;color:var(--text-primary);line-height:1.5}.conflicts-section{margin-bottom:1rem;padding:.75rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:6px}.conflicts-warning{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#92400e}.conflicts-warning .icon{font-size:1.25rem}.conflicts-details{margin-top:.75rem}.conflicts-details summary{cursor:pointer;font-size:.75rem;color:#92400e;font-weight:600;user-select:none}.conflicts-details summary:hover{text-decoration:underline}.conflicts-list{list-style:none;padding:.75rem 0 0;margin:0}.conflicts-list li{padding:.5rem;margin-bottom:.25rem;background:#fbbf241a;border-radius:4px;font-size:.75rem;color:#92400e}.auto-cancel-note{margin-top:.75rem;font-size:.75rem;color:#065f46;font-weight:500}.card-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border-color)}.denial-form{padding-top:1rem;border-top:1px solid var(--border-color)}.denial-form label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.denial-form .required{color:var(--error-color, #dc2626)}.denial-form textarea{width:100%;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;font-size:.875rem;background:var(--input-bg, var(--bg));color:var(--text-primary);font-family:inherit;resize:vertical}.denial-form textarea:focus{outline:none;border-color:var(--error-color, #dc2626);box-shadow:0 0 0 3px #dc26261a}.denial-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.75rem}.card-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.card-footer small{font-size:.75rem;color:var(--text-secondary)}.panel-footer{display:flex;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color);margin-top:auto}@media (prefers-color-scheme: dark){.conflicts-section{background:#d9770626;border-color:#d97706}.conflicts-warning{color:#fbbf24}.conflicts-details summary{color:#fbbf24}.conflicts-list li{background:#fbbf241a;color:#fbbf24}.auto-cancel-note{color:#34d399}}.leave-management-page{padding:24px;max-width:1400px;margin:0 auto}@media (max-width: 768px){.leave-management-page{padding:16px}}.leave-approval-page{padding:24px;max-width:1600px;margin:0 auto}.leave-approval-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}@media (max-width: 768px){.leave-approval-page{padding:16px}.leave-approval-page .page-header{flex-direction:column;align-items:flex-start;gap:16px}}.site-centric-view{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);height:100%;display:flex;flex-direction:column}.scv-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--muted)}.scv-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:scv-spin .8s linear infinite;margin-bottom:12px}@keyframes scv-spin{to{transform:rotate(360deg)}}.scv-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--muted);text-align:center}.scv-empty-icon{width:48px;height:48px;margin-bottom:16px;opacity:.5}.scv-empty-icon svg{width:48px;height:48px}.scv-empty p{margin:0}.scv-empty .hint{font-size:13px;margin-top:8px;opacity:.7}.scv-grid{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.scv-header{display:grid;background:var(--bg);border-bottom:2px solid var(--border);position:sticky;top:0;z-index:10}.scv-site-header{padding:14px 16px;font-weight:600;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px;background:var(--bg);border-right:1px solid var(--border);position:sticky;left:0;z-index:15}.scv-site-header .header-icon{width:14px;height:14px;opacity:.7}.scv-site-header .header-icon svg{width:14px;height:14px}.scv-day-header{padding:12px 8px;text-align:center;border-left:1px solid var(--border);background:var(--bg)}.scv-day-header .day-name{font-weight:600;font-size:12px;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.scv-day-header .day-date{font-size:11px;color:var(--muted)}.scv-body{min-height:200px}.scv-row{display:grid;border-bottom:1px solid var(--border);min-height:80px}.scv-row:last-child{border-bottom:none}.scv-site-cell{padding:12px 16px;display:flex;flex-direction:column;justify-content:center;gap:2px;background:var(--bg);border-right:1px solid var(--border);position:sticky;left:0;z-index:5}.scv-site-cell .site-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.scv-site-cell .site-customer{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scv-site-cell .site-code{font-size:11px;color:var(--muted);background:var(--hover-bg);padding:2px 6px;border-radius:4px;display:inline-block;margin-top:4px;width:fit-content}.scv-cell{min-height:80px;padding:8px;border-left:1px solid var(--border);display:flex;flex-direction:column;gap:6px;position:relative;transition:background-color .15s ease;cursor:pointer}.scv-cell:hover{background-color:color-mix(in oklab,var(--accent) 5%,var(--card))}.scv-cell.has-jobs{cursor:default}.scv-cell.has-jobs:hover{background-color:color-mix(in oklab,var(--accent) 3%,var(--card))}.scv-cell.drag-over{background-color:color-mix(in oklab,var(--accent) 15%,var(--card));outline:2px dashed var(--accent);outline-offset:-2px}.scv-cell.today{background-color:color-mix(in oklab,var(--accent) 8%,var(--card))}.scv-cell.today:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent)}.scv-add-btn{position:absolute;bottom:8px;right:8px;width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);background:var(--card);color:var(--accent);font-size:18px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1);z-index:5}.scv-cell:hover .scv-add-btn{opacity:1;transform:scale(1)}.scv-add-btn:hover{background:var(--accent);color:var(--accent-contrast);transform:scale(1.1)}.cell-empty-hint{flex:1}.job-block{display:flex;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;overflow:hidden;cursor:grab;transition:all .15s ease;position:relative}.job-block:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.job-block:active{cursor:grabbing}.job-block.dragging{opacity:.9;box-shadow:0 8px 24px #0003;transform:rotate(2deg)}.job-block-priority-bar{width:4px;min-height:100%;flex-shrink:0}.job-block-content{flex:1;padding:6px 8px;min-width:0;display:flex;flex-direction:column;gap:2px}.job-block-time{font-size:11px;font-weight:600;color:var(--muted)}.job-block-title{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-block-assignee{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.job-block-assignee .assignee-icon{width:12px;height:12px;opacity:.7}.job-block-assignee .assignee-icon svg{width:12px;height:12px}.job-block-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 6px;border-radius:4px;width:fit-content;margin-top:2px}.job-block-status.status-pending{background:var(--hover-bg);color:var(--muted)}.job-block-status.status-in-progress{background:#dbeafe;color:#1e40af}.job-block-status.status-complete{background:#dcfce7;color:#166534}.job-block.priority-low{border-left:none}.job-block.priority-low .job-block-priority-bar{background:#94a3b8}.job-block.priority-normal .job-block-priority-bar{background:#3b82f6}.job-block.priority-high .job-block-priority-bar{background:#f97316}.job-block.priority-urgent .job-block-priority-bar{background:#ef4444}.job-block.priority-urgent{animation:urgent-pulse 2s ease-in-out infinite}@keyframes urgent-pulse{0%,to{box-shadow:0 0 #ef444433}50%{box-shadow:0 0 0 4px #ef444433}}.job-block.overdue{border-color:#ef4444}.job-block-overdue{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:#ef4444;color:#fff;border-radius:50%;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.job-block.priority-open{border:2px dashed #f59e0b;background:repeating-linear-gradient(-45deg,rgba(245,158,11,.05),rgba(245,158,11,.05) 5px,transparent 5px,transparent 10px)}.job-block.priority-open .job-block-priority-bar{background:#f59e0b}.job-block.priority-open .job-block-status{background:#f59e0b26;color:#d97706}.job-block.priority-open:hover{border-color:#d97706;background:repeating-linear-gradient(-45deg,rgba(245,158,11,.1),rgba(245,158,11,.1) 5px,transparent 5px,transparent 10px)}.job-block.selected{box-shadow:0 0 0 2px var(--accent, #3b82f6),0 0 0 4px #3b82f64d;transform:scale(1.02)}.job-block.selected:after{content:"✓";position:absolute;top:-6px;right:-6px;width:18px;height:18px;background:var(--accent, #3b82f6);color:#fff;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}[data-theme=dark] .scv-cell{border-color:var(--border-subtle, rgba(148, 163, 184, .12))}[data-theme=dark] .scv-cell:hover{background-color:color-mix(in oklab,var(--accent) 10%,var(--card))}[data-theme=dark] .scv-cell.drag-over{background-color:color-mix(in oklab,var(--accent) 20%,var(--card))}[data-theme=dark] .job-block{background:var(--bg);border-color:var(--border)}[data-theme=dark] .job-block:hover{border-color:var(--accent)}[data-theme=dark] .job-block-status.status-in-progress{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .job-block-status.status-complete{background:#14532d;color:#86efac}@media (max-width: 768px){.scv-site-cell{padding:10px 12px}.scv-site-cell .site-name{font-size:13px;max-width:120px}.scv-site-cell .site-customer{font-size:11px}.scv-cell{min-height:60px;padding:6px}.job-block-content{padding:4px 6px}.job-block-title{font-size:11px}.job-block-time,.job-block-assignee{font-size:10px}.job-block-status{font-size:9px;padding:1px 4px}}@media (max-width: 480px){.scv-site-header{padding:10px 12px;font-size:11px}.scv-day-header{padding:8px 4px}.scv-day-header .day-name{font-size:11px}.scv-day-header .day-date{font-size:10px}}.compact-time-picker{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.compact-time-picker label{font-size:14px;font-weight:600;color:var(--fg);margin-bottom:4px}.compact-time-picker label .required{color:#ef4444;margin-left:4px}.compact-time-picker input[type=time]{height:40px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--fg);transition:all .15s ease}.compact-time-picker input[type=time]:hover{border-color:var(--primary)}.compact-time-picker input[type=time]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.compact-time-picker input[type=time].error{border-color:#ef4444}.compact-time-picker input[type=time].error:focus{box-shadow:0 0 0 3px #ef44441a}.time-presets-inline{display:flex;gap:6px;flex-wrap:wrap}.preset-chip{padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;color:var(--fg);cursor:pointer;transition:all .15s ease;white-space:nowrap}.preset-chip:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.preset-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 2px 4px #6366f133}.preset-chip:active{transform:translateY(0)}.error-message{font-size:12px;color:#ef4444;margin-top:-4px}@media (prefers-color-scheme: dark){.compact-time-picker input[type=time]{color-scheme:dark}}@media (max-width: 768px){.time-presets-inline{gap:8px}.preset-chip{flex:1 1 auto;min-width:70px;text-align:center}}.page-layout:has(.workforce-hub) .page-layout__content{max-width:none;padding:0}.workforce-hub{display:flex;width:100%;height:calc(100vh - var(--topbar-height, 64px));min-height:600px;background:var(--bg)}.workforce-hub.guard-mode .wh-sidebar{display:none!important}.workforce-hub.guard-mode .wh-main{margin-left:0}.workforce-hub.guard-mode .wh-module-selector,.workforce-hub.guard-mode .wh-view-toggle{display:none!important}.wh-sidebar{width:260px;min-width:260px;background:var(--card-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:all .2s ease}.wh-sidebar.collapsed{width:48px;min-width:48px}.wh-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.wh-sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:var(--fg);white-space:nowrap;display:flex;align-items:center;gap:8px}.wh-sidebar-header .header-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.wh-sidebar-header .header-icon svg{width:16px;height:16px}.wh-sidebar.collapsed .wh-sidebar-header h3{display:none}.sidebar-toggle{width:24px;height:24px;border:none;background:var(--hover-bg);border-radius:4px;cursor:pointer;color:var(--fg-dim);font-size:16px;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:var(--border);color:var(--fg)}.wh-sidebar-search{padding:12px 16px;border-bottom:1px solid var(--border)}.site-search-input{width:100%;height:32px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--fg);font-size:13px}.site-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.15)}.site-option{display:flex;align-items:center;gap:8px}.site-option-name{flex:1}.site-option-code{font-size:11px;color:var(--fg-dim);background:var(--hover-bg);padding:2px 6px;border-radius:4px}.wh-sites-list{flex:1;overflow-y:auto;padding:8px}.sites-loading,.sites-empty{padding:24px 16px;text-align:center;color:var(--fg-dim);font-size:13px}.site-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--fg);font-size:13px;text-align:left;transition:all .15s ease}.site-item:hover{background:var(--hover-bg)}.site-item.active{background:var(--accent);color:#fff}.site-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;opacity:.7}.site-icon svg{width:14px;height:14px}.site-item.active .site-icon{opacity:1}.site-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-code{font-size:11px;color:var(--fg-dim);background:var(--hover-bg);padding:2px 6px;border-radius:4px}.site-item.active .site-code{background:#fff3;color:#fff}.site-count{font-size:11px;color:var(--fg-dim);background:var(--hover-bg);padding:2px 8px;border-radius:10px}.site-item.active .site-count{background:#fff3;color:#fff}.wh-search-input-wrapper{position:relative;display:flex;align-items:center}.wh-search-icon{position:absolute;left:10px;width:16px;height:16px;color:var(--fg-dim);pointer-events:none;display:flex;align-items:center;justify-content:center}.wh-search-icon svg{width:16px;height:16px}.wh-search-input{width:100%;height:36px;padding:0 32px 0 34px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:13px;transition:all .15s ease}.wh-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0073ea26}.wh-search-input::placeholder{color:var(--fg-dim)}.wh-search-clear{position:absolute;right:8px;width:20px;height:20px;border:none;background:var(--hover-bg);border-radius:50%;cursor:pointer;color:var(--fg-dim);font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.wh-search-clear:hover{background:var(--border);color:var(--fg)}.site-item.all-sites{margin-bottom:12px;padding:12px 14px;font-weight:600;font-size:14px;background:var(--hover-bg);border:none;border-bottom:1px solid var(--border);border-radius:8px 8px 0 0}.site-item.all-sites .site-icon{width:18px;height:18px;opacity:1}.site-item.all-sites .site-icon svg{width:18px;height:18px}.site-item.all-sites:hover{background:#0073ea1a}.site-item.all-sites .site-count{background:var(--accent);color:#fff;font-weight:600}.customer-group{margin-bottom:1px}.customer-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--fg);font-size:13px;text-align:left;transition:all .15s ease;font-weight:600;position:relative}.customer-item:hover{background:var(--hover-bg)}.customer-item.expanded{background:#0073ea1a;border-left:3px solid var(--accent);padding-left:9px;border-radius:0 6px 6px 0}.expand-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--fg-dim);transition:transform .2s ease,color .15s ease;flex-shrink:0}.expand-icon svg{width:14px;height:14px}.customer-item.expanded .expand-icon{transform:rotate(90deg);color:var(--accent)}.customer-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;opacity:.8}.customer-icon svg{width:16px;height:16px}.customer-item.expanded .customer-icon{opacity:1}.customer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-item.child-site{padding-left:52px;font-size:13px;font-weight:400;padding-top:8px;padding-bottom:8px;position:relative}.site-item.child-site:before{content:"";position:absolute;left:23px;top:0;bottom:0;width:1px;background:var(--border);opacity:.5}.site-item.child-site:after{content:"";position:absolute;left:23px;top:50%;width:14px;height:1px;background:var(--border);opacity:.5}.site-item.child-site .site-icon{width:14px;height:14px;opacity:.7}.site-item.child-site .site-icon svg{width:14px;height:14px}.site-item.child-site:hover{background:var(--hover-bg)}.site-item.child-site:hover:before,.site-item.child-site:hover:after{background:var(--accent);opacity:.6}.site-item.child-site.active{background:var(--accent);color:#fff}.site-item.child-site.active:before,.site-item.child-site.active:after{background:var(--accent);opacity:1}.site-item.child-site.active .site-icon{opacity:1}.wh-loading-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:wh-spin .8s linear infinite}.wh-loading-spinner.small{width:14px;height:14px;border-width:2px}@keyframes wh-spin{to{transform:rotate(360deg)}}.sites-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px}.wh-load-more{padding:8px;margin-top:8px}.wh-load-more-content{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--hover-bg);border-radius:6px;cursor:pointer;color:var(--fg-dim);font-size:12px;transition:all .15s ease}.wh-load-more-content:hover{background:var(--border);color:var(--fg)}.wh-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.wh-topbar{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--card-bg);border-bottom:1px solid var(--border)}.wh-module-selector{position:relative;display:flex;align-items:center}.module-select-btn{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px}.module-select-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.module-select-btn .module-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.module-select-btn .module-icon svg{width:16px;height:16px}.module-select-btn .module-chevron{width:12px;height:12px;opacity:.6}.module-select-btn .module-chevron svg{width:12px;height:12px}.module-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:160px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.module-option{width:100%;padding:10px 12px;border:none;background:transparent;color:var(--fg);font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;text-align:left}.module-option:hover{background:var(--hover-bg)}.module-option.active{background:var(--accent);color:#fff}.module-option .module-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.module-option .module-icon svg{width:16px;height:16px}.wh-view-toggle{display:flex;align-items:center;background:var(--hover-bg);border-radius:8px;padding:4px;gap:2px}.view-toggle-btn{height:32px;padding:0 14px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--fg-dim);font-size:13px;font-weight:500;display:flex;align-items:center;gap:6px;transition:all .15s ease}.view-toggle-btn:hover{color:var(--fg);background:var(--card-bg)}.view-toggle-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 4px #0000001a}.view-toggle-btn .toggle-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center}.view-toggle-btn .toggle-icon svg{width:14px;height:14px}.view-toggle-btn .toggle-label{white-space:nowrap}.wh-week-nav{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.week-nav-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;cursor:pointer;color:var(--fg);font-size:16px;display:flex;align-items:center;justify-content:center}.week-nav-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.week-nav-btn:active{transform:scale(.95)}.week-today-btn{height:32px;padding:0 12px;border:1px solid var(--accent);background:var(--accent);border-radius:6px;cursor:pointer;color:#fff;font-size:13px;font-weight:500;transition:all .15s ease}.week-today-btn:hover{background:var(--accent-hover, var(--accent));filter:brightness(1.1);border-color:var(--accent)}.week-display{font-size:14px;font-weight:600;color:var(--fg);min-width:180px;text-align:center}.wh-actions{display:flex;align-items:center;gap:8px}.wh-actions .action-btn-with-badge{position:relative}.wh-actions .action-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:#ef4444;color:#fff;font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.wh-actions button svg{width:16px;height:16px}.wh-actions button span{margin-left:4px}.wh-scheduler-container{flex:1;overflow:auto;padding:16px;min-width:0;width:100%}.scheduler-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--fg-dim)}.scheduler-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.scheduler-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--fg-dim);text-align:center}.scheduler-empty p{margin:0}.scheduler-empty .hint{font-size:13px;margin-top:8px;opacity:.7}.shift-form{display:flex;flex-direction:column;gap:16px}.shift-form .form-group{display:flex;flex-direction:column;gap:6px}.shift-form .form-group label{font-size:13px;font-weight:500;color:var(--fg)}.shift-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.shift-form select,.shift-form input[type=date],.shift-form textarea{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--fg);font-size:14px}.shift-form textarea{height:auto;padding:10px 12px;resize:vertical}.shift-form select:focus,.shift-form input:focus,.shift-form textarea:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border);margin-top:8px}.modal-actions .spacer{flex:1}@media (max-width: 960px){.wh-sidebar{position:absolute;left:0;top:0;bottom:0;z-index:100;box-shadow:2px 0 8px #0000001a}.wh-sidebar.collapsed{left:-48px}.wh-topbar{flex-wrap:wrap;gap:12px}.wh-week-nav{order:1;width:100%;justify-content:center}.shift-form .form-row{grid-template-columns:1fr}}@media (max-width: 600px){.wh-topbar{padding:10px 12px}.week-display{min-width:140px;font-size:13px}.wh-scheduler-container{padding:8px}.view-toggle-btn .toggle-label{display:none}.view-toggle-btn{padding:0 10px}}.wh-conflict-banner{display:flex;align-items:center;gap:12px;padding:12px 20px;margin:0 16px 16px;background:#ef44441a;border:1px solid #ef4444;border-radius:8px;color:#ef4444;font-size:14px;font-weight:500}.wh-conflict-banner .conflict-icon{width:20px;height:20px;flex-shrink:0}.wh-conflict-banner .conflict-icon svg{width:100%;height:100%}.wh-conflict-banner .conflict-text{flex:1}.wh-multiselect-group{display:flex;align-items:center;gap:12px;padding:4px 12px;background:var(--hover-bg);border-radius:8px;border:1px solid transparent;transition:all .2s ease}.wh-multiselect-group .toggle-wrapper{display:flex;align-items:center}.wh-multiselect-group .toggle-content{align-items:center}.wh-multiselect-group .toggle-label{font-size:13px;line-height:1}.wh-multiselect-group:has(.toggle-input:checked){background:#3b82f61a;border-color:#3b82f64d}.wh-selection-info{display:flex;align-items:center;gap:8px;padding-left:12px;border-left:1px solid var(--border);animation:selection-fade-in .15s ease-out}@keyframes selection-fade-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.wh-selection-info .selection-count{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}@media (max-width: 600px){.wh-multiselect-group{padding:4px 8px;gap:8px}.wh-selection-info{gap:4px;padding-left:8px}.wh-selection-info .selection-count{font-size:12px}}.page-layout:has(.workforce-calendar) .page-layout__content{max-width:none;padding:0}.workforce-calendar{display:flex;flex-direction:column;width:100%;height:calc(100vh - var(--topbar-height, 64px));min-height:600px;background:var(--bg)}.workforce-calendar.loading{display:flex;align-items:center;justify-content:center;min-height:400px}.wc-filters{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap;border-bottom:1px solid var(--border);background:var(--surface)}.wc-filter-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface-soft);color:var(--fg-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.wc-filter-chip:hover{background:var(--surface-hover)}.wc-filter-chip.active{border-color:var(--filter-color);background:color-mix(in oklab,var(--filter-color) 15%,transparent);color:var(--filter-color)}.wc-filter-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wc-main-layout{display:flex;flex-direction:column;flex:1;min-height:0}.wc-calendar-container{padding:16px;border-bottom:1px solid var(--border)}.wc-day-panel{display:flex;flex-direction:column;flex:1;min-height:0}.wc-day-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);background:var(--surface)}.wc-day-header h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.wc-day-count{font-size:13px;color:var(--fg-muted)}.wc-day-list{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.wc-empty-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--fg-muted);text-align:center}.wc-empty-day svg{opacity:.5;margin-bottom:12px}.wc-empty-day p{margin:0;font-size:14px}.wc-shift-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card-bg, var(--surface));border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s ease}.wc-shift-card:hover{border-color:var(--card-color);background:color-mix(in oklab,var(--card-color) 5%,var(--card-bg, var(--surface)))}.wc-shift-card:active{transform:scale(.99)}.wc-shift-card.available{border-style:dashed;border-color:var(--card-color);background:color-mix(in oklab,var(--card-color) 5%,var(--card-bg, var(--surface)))}.wc-shift-indicator{width:4px;height:40px;border-radius:2px;background:var(--card-color);flex-shrink:0}.wc-shift-content{flex:1;min-width:0}.wc-shift-time{font-size:15px;font-weight:600;color:var(--fg);display:flex;align-items:center;gap:8px}.wc-shift-duration{font-size:12px;font-weight:500;color:var(--fg-muted)}.wc-shift-location{font-size:13px;color:var(--fg-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wc-shift-route{font-size:12px;color:var(--fg-muted);opacity:.8;margin-top:2px}.wc-shift-customer{font-size:14px;color:var(--fg);margin-top:4px}.wc-customer-name{font-weight:600}.wc-site-name{color:var(--fg-muted)}.wc-separator{color:var(--fg-muted);opacity:.5}.wc-shift-address{font-size:12px;color:var(--fg-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wc-shift-meta{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.wc-template-badge,.wc-route-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--surface-soft);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.3px}.wc-confirm-prompt{margin-top:6px}.wc-confirm-text{font-size:12px;color:var(--warning);font-weight:500}.wc-shift-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wc-confirm-btn{padding:6px 12px;border-radius:6px;background:var(--success);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;border:none;cursor:pointer;transition:all .15s ease}.wc-confirm-btn:hover{background:color-mix(in oklab,var(--success) 85%,black);transform:scale(1.02)}.wc-confirm-btn:active{transform:scale(.98)}.wc-shift-title{font-size:15px;font-weight:600;color:var(--fg)}.wc-shift-subtitle{font-size:13px;color:var(--fg-muted);margin-top:2px}.wc-claim-badge{padding:4px 10px;border-radius:12px;background:var(--card-color);color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;flex-shrink:0}.wc-shift-chevron{color:var(--fg-muted);opacity:.5;flex-shrink:0}.wc-detail-content{padding:20px}.wc-detail-section{margin-bottom:20px}.wc-detail-section:last-child{margin-bottom:0}.wc-detail-datetime{text-align:center;padding:16px;background:var(--surface-soft);border-radius:12px}.wc-detail-date{font-size:14px;color:var(--fg-muted);margin-bottom:4px}.wc-detail-time{font-size:24px;font-weight:700;color:var(--fg)}.wc-detail-duration{font-size:14px;font-weight:400;color:var(--fg-muted);margin-left:8px}.wc-detail-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.wc-detail-label svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.wc-detail-value{font-size:15px;color:var(--fg);line-height:1.5}.wc-detail-location-name{font-weight:600}.wc-detail-customer{color:var(--fg-muted);font-size:14px}.wc-detail-address{color:var(--fg-muted);font-size:13px;margin-top:4px}.wc-notes-box{padding:12px 16px;background:color-mix(in oklab,var(--warning) 10%,transparent);border:1px solid color-mix(in oklab,var(--warning) 30%,transparent);border-radius:8px;color:var(--fg)}.wc-status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.wc-status-badge.confirmed{background:color-mix(in oklab,var(--success) 15%,transparent);color:var(--success)}.wc-status-badge.pending{background:color-mix(in oklab,var(--warning) 15%,transparent);color:var(--warning)}.wc-status-badge.approved{background:color-mix(in oklab,var(--success) 15%,transparent);color:var(--success)}.wc-status-badge.declined{background:color-mix(in oklab,var(--danger) 15%,transparent);color:var(--danger)}@media (max-width: 480px){.wc-filters{padding:10px 12px}.wc-filter-chip{padding:5px 10px;font-size:11px}.wc-calendar-container,.wc-day-header{padding:12px}.wc-day-list{padding:10px 12px}.wc-shift-card{padding:12px}.wc-detail-content{padding:16px}}@media (min-width: 768px){.wc-main-layout{flex-direction:row}.wc-calendar-container{width:420px;flex-shrink:0;padding:20px;border-bottom:none;border-right:1px solid var(--border);background:var(--bg)}.wc-day-panel{flex:1 1 auto;min-width:400px;max-width:600px;background:var(--bg)}.wc-day-header{padding:16px 24px}.wc-day-list{overflow-y:auto;padding:16px 24px}.wc-filters{padding:12px 24px}.wc-shift-card{padding:16px 20px}}.location-picker{display:flex;flex-direction:column;gap:12px}.location-picker__header{display:flex;justify-content:space-between;align-items:center}.location-picker__label{font-size:14px;font-weight:600;color:var(--fg, #1e293b);display:flex;flex-direction:column;gap:4px}.location-picker__help-text{font-size:12px;font-weight:400;color:var(--fg-muted, #64748b)}.location-picker__search{display:flex;gap:8px;flex-wrap:wrap}.location-picker__search-input{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--border, #e2e8f0);border-radius:8px;font-size:14px;color:var(--fg, #1e293b);background:var(--bg, #ffffff);transition:border-color .15s,box-shadow .15s}.location-picker__search-input:focus{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.location-picker__search-input::placeholder{color:var(--fg-dim, #94a3b8)}.location-picker__search-input:disabled{background:var(--surface-soft, #f1f5f9);cursor:not-allowed;opacity:.7}.location-picker__search-button,.location-picker__location-button,.location-picker__clear-button{padding:10px 16px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.location-picker__search-button{background:var(--primary, #3b82f6);color:#fff}.location-picker__search-button:hover:not(:disabled){background:var(--primary-dark, #2563eb)}.location-picker__search-button:disabled{opacity:.5;cursor:not-allowed}.location-picker__location-button{background:var(--success, #10b981);color:#fff}.location-picker__location-button:hover:not(:disabled){background:#059669}.location-picker__location-button:disabled{opacity:.5;cursor:not-allowed}.location-picker__clear-button{background:var(--surface-soft, #f1f5f9);color:var(--fg-muted, #64748b);border:1px solid var(--border, #e2e8f0)}.location-picker__clear-button:hover{background:var(--surface, #e2e8f0);color:var(--fg, #1e293b)}.location-picker__error{padding:10px 14px;background:color-mix(in srgb,var(--error, #ef4444) 10%,transparent);border:1px solid color-mix(in srgb,var(--error, #ef4444) 30%,transparent);border-radius:8px;font-size:13px;color:var(--error, #ef4444)}.location-picker__map{width:100%;border-radius:10px;border:1px solid var(--border, #e2e8f0);overflow:hidden;box-shadow:0 1px 3px #0000000d}.location-picker__map .leaflet-control-attribution{font-size:11px;background:#ffffffe6}.location-picker__map .leaflet-control-zoom{border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden}.location-picker__map .leaflet-control-zoom a{color:var(--fg, #1e293b);background:var(--bg, #ffffff);border-bottom:1px solid var(--border, #e2e8f0)}.location-picker__map .leaflet-control-zoom a:hover{background:var(--surface-soft, #f1f5f9)}.location-picker__map .leaflet-control-zoom a:last-child{border-bottom:none}.location-picker__coordinates{display:flex;gap:24px;padding:14px 16px;background:var(--surface-soft, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0)}.location-picker__coordinate{display:flex;align-items:center;gap:8px}.location-picker__coordinate-label{font-size:12px;font-weight:500;color:var(--fg-muted, #64748b);text-transform:uppercase;letter-spacing:.02em}.location-picker__coordinate-value{font-size:14px;font-weight:600;color:var(--fg, #1e293b);font-family:SF Mono,Monaco,Consolas,monospace}.location-picker__hint{padding:14px 16px;background:color-mix(in srgb,var(--primary, #3b82f6) 8%,transparent);border:1px solid color-mix(in srgb,var(--primary, #3b82f6) 20%,transparent);border-radius:10px;font-size:13px;color:var(--fg-muted, #64748b);text-align:center}@media (max-width: 768px){.location-picker__search{flex-direction:column}.location-picker__search-input{min-width:auto;width:100%}.location-picker__search-button,.location-picker__location-button,.location-picker__clear-button{width:100%}.location-picker__coordinates{flex-direction:column;gap:8px}.location-picker__coordinate{justify-content:space-between}.location-picker__map{height:300px!important}}[data-theme=dark] .location-picker__label,[data-theme=sentrac] .location-picker__label,[data-theme=gamer] .location-picker__label,[data-theme=retro] .location-picker__label,[data-theme=christmas] .location-picker__label{color:var(--fg, #f1f5f9)}[data-theme=dark] .location-picker__search-input,[data-theme=sentrac] .location-picker__search-input,[data-theme=gamer] .location-picker__search-input,[data-theme=retro] .location-picker__search-input,[data-theme=christmas] .location-picker__search-input{background:var(--bg, #1e293b);color:var(--fg, #f1f5f9);border-color:var(--border, #334155)}[data-theme=dark] .location-picker__coordinates,[data-theme=sentrac] .location-picker__coordinates,[data-theme=gamer] .location-picker__coordinates,[data-theme=retro] .location-picker__coordinates,[data-theme=christmas] .location-picker__coordinates{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--border, #334155)}[data-theme=dark] .location-picker__coordinate-value,[data-theme=sentrac] .location-picker__coordinate-value,[data-theme=gamer] .location-picker__coordinate-value,[data-theme=retro] .location-picker__coordinate-value,[data-theme=christmas] .location-picker__coordinate-value{color:var(--fg, #f1f5f9)}[data-theme=dark] .location-picker__map,[data-theme=sentrac] .location-picker__map,[data-theme=gamer] .location-picker__map,[data-theme=retro] .location-picker__map,[data-theme=christmas] .location-picker__map,[data-theme=dark] .location-picker__map .leaflet-control-zoom,[data-theme=sentrac] .location-picker__map .leaflet-control-zoom,[data-theme=gamer] .location-picker__map .leaflet-control-zoom,[data-theme=retro] .location-picker__map .leaflet-control-zoom,[data-theme=christmas] .location-picker__map .leaflet-control-zoom{border-color:var(--border, #334155)}[data-theme=dark] .location-picker__map .leaflet-control-zoom a,[data-theme=sentrac] .location-picker__map .leaflet-control-zoom a,[data-theme=gamer] .location-picker__map .leaflet-control-zoom a,[data-theme=retro] .location-picker__map .leaflet-control-zoom a,[data-theme=christmas] .location-picker__map .leaflet-control-zoom a{background:var(--bg, #1e293b);color:var(--fg, #f1f5f9);border-color:var(--border, #334155)}[data-theme=dark] .location-picker__map .leaflet-control-zoom a:hover,[data-theme=sentrac] .location-picker__map .leaflet-control-zoom a:hover,[data-theme=gamer] .location-picker__map .leaflet-control-zoom a:hover,[data-theme=retro] .location-picker__map .leaflet-control-zoom a:hover,[data-theme=christmas] .location-picker__map .leaflet-control-zoom a:hover{background:var(--surface-soft, rgba(255, 255, 255, .1))}[data-theme=dark] .location-picker__map .leaflet-control-attribution,[data-theme=sentrac] .location-picker__map .leaflet-control-attribution,[data-theme=gamer] .location-picker__map .leaflet-control-attribution,[data-theme=retro] .location-picker__map .leaflet-control-attribution,[data-theme=christmas] .location-picker__map .leaflet-control-attribution{background:#1e293be6;color:var(--fg-muted, #94a3b8)}[data-theme=dark] .location-picker__map .leaflet-control-attribution a,[data-theme=sentrac] .location-picker__map .leaflet-control-attribution a,[data-theme=gamer] .location-picker__map .leaflet-control-attribution a,[data-theme=retro] .location-picker__map .leaflet-control-attribution a,[data-theme=christmas] .location-picker__map .leaflet-control-attribution a{color:var(--primary, #3b82f6)}[data-theme=dark] .location-picker__clear-button,[data-theme=sentrac] .location-picker__clear-button,[data-theme=gamer] .location-picker__clear-button,[data-theme=retro] .location-picker__clear-button,[data-theme=christmas] .location-picker__clear-button{background:var(--surface-soft, rgba(255, 255, 255, .08));color:var(--fg-muted, #94a3b8);border-color:var(--border, #334155)}[data-theme=dark] .location-picker__clear-button:hover,[data-theme=sentrac] .location-picker__clear-button:hover,[data-theme=gamer] .location-picker__clear-button:hover,[data-theme=retro] .location-picker__clear-button:hover,[data-theme=christmas] .location-picker__clear-button:hover{background:var(--surface, rgba(255, 255, 255, .12));color:var(--fg, #f1f5f9)}.collapsable-section{margin:16px 0}.collapsable-header-wrapper{display:flex;align-items:center;gap:12px}.collapsable-header{display:flex;align-items:center;gap:8px;flex:1;padding:10px 12px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.collapsable-header-action{flex-shrink:0}.collapsable-header:hover{background:var(--bg-subtle);border-color:var(--accent)}.collapsable-arrow{font-size:10px;color:var(--fg-muted);transition:transform .2s ease}.collapsable-title{flex:1;color:var(--fg)}.collapsable-primary{color:var(--fg-muted);font-weight:400}.collapsable-content{margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-subtle)}.contact-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;transition:all .2s ease}.contact-card:last-child{margin-bottom:0}.contact-card:hover{background:var(--surface-soft);border-color:var(--accent)}.contact-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.contact-card-name-row{display:flex;align-items:center;gap:8px;flex:1}.contact-card-name{font-size:16px;font-weight:600;color:var(--fg)}.contact-card-primary-badge{display:inline-block;padding:2px 8px;background:#10b98126;border:1px solid rgba(16,185,129,.4);border-radius:4px;color:#10b981;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.contact-card-edit-icon{width:18px;height:18px;color:var(--accent);opacity:.7;transition:opacity .2s ease}.contact-card:hover .contact-card-edit-icon{opacity:1}.contact-card-role{font-size:14px;color:var(--fg-muted);margin-bottom:10px}.contact-card-details{display:flex;flex-direction:column;gap:6px}.contact-card-detail{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-muted);text-decoration:none;transition:color .2s ease}.contact-card-detail:hover{color:var(--accent)}.contact-card-icon{font-size:14px;opacity:.7}.contact-card-text{flex:1}.contact-cards-empty{padding:20px;text-align:center;color:var(--fg-muted);font-size:14px;font-style:italic}.asset-location-modal{display:flex;flex-direction:column;gap:20px}.asset-location-context{padding:16px;background:var(--surface-soft, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:10px}.asset-location-context .context-row{display:flex;align-items:baseline;gap:10px}.asset-location-context .context-label{font-size:12px;font-weight:600;color:var(--fg-muted, #64748b);min-width:70px;text-transform:uppercase;letter-spacing:.02em}.asset-location-context .context-value{font-size:14px;font-weight:500;color:var(--fg, #1e293b)}.asset-location-context .context-address-wrapper{display:flex;align-items:center;gap:8px;flex:1}.asset-location-context .context-code{font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace;background:var(--bg, #ffffff);padding:3px 8px;border-radius:6px;border:1px solid var(--border, #e2e8f0);color:var(--primary, #3b82f6)}.asset-location-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}@media (max-width: 768px){.asset-location-context{padding:14px}.asset-location-context .context-row{flex-direction:column;gap:4px}.asset-location-context .context-label{min-width:auto}.asset-location-actions{flex-direction:column-reverse}.asset-location-actions button{width:100%}}[data-theme=dark] .asset-location-context,[data-theme=sentrac] .asset-location-context,[data-theme=gamer] .asset-location-context,[data-theme=retro] .asset-location-context,[data-theme=christmas] .asset-location-context{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--border, #334155)}[data-theme=dark] .asset-location-context .context-label,[data-theme=sentrac] .asset-location-context .context-label,[data-theme=gamer] .asset-location-context .context-label,[data-theme=retro] .asset-location-context .context-label,[data-theme=christmas] .asset-location-context .context-label{color:var(--fg-muted, #94a3b8)}[data-theme=dark] .asset-location-context .context-value,[data-theme=sentrac] .asset-location-context .context-value,[data-theme=gamer] .asset-location-context .context-value,[data-theme=retro] .asset-location-context .context-value,[data-theme=christmas] .asset-location-context .context-value{color:var(--fg, #f1f5f9)}[data-theme=dark] .asset-location-context .context-code,[data-theme=sentrac] .asset-location-context .context-code,[data-theme=gamer] .asset-location-context .context-code,[data-theme=retro] .asset-location-context .context-code,[data-theme=christmas] .asset-location-context .context-code{background:var(--bg, #1e293b);border-color:var(--border, #334155);color:var(--primary, #60a5fa)}[data-theme=dark] .asset-location-actions,[data-theme=sentrac] .asset-location-actions,[data-theme=gamer] .asset-location-actions,[data-theme=retro] .asset-location-actions,[data-theme=christmas] .asset-location-actions{border-color:var(--border, #334155)}.asset-table-wrapper{display:flex;flex-direction:column;gap:12px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:16px}.asset-table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.asset-table-toolbar-left{display:flex;align-items:center;gap:8px}.asset-filter-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;position:relative}.asset-filter-toggle:hover{background:var(--bg-muted);border-color:var(--accent)}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;border-radius:9px;margin-left:4px}.asset-clear-filters{padding:6px 10px;background:transparent;border:1px dashed var(--border);border-radius:6px;color:var(--fg-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.asset-clear-filters:hover{color:var(--accent);border-color:var(--accent)}.asset-table-count{font-size:13px;color:var(--fg-muted);font-weight:500}.asset-filters-panel{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.asset-filter-group{display:flex;flex-direction:column;gap:8px}.asset-filter-group label{font-size:12px;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.asset-filter-input{padding:8px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s ease}.asset-filter-input:focus{border-color:var(--accent)}.asset-filter-input::placeholder{color:var(--fg-muted);opacity:.6}.asset-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.asset-filter-chip{padding:6px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:capitalize}.asset-filter-chip:hover{background:var(--bg-muted);border-color:var(--accent)}.asset-filter-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.asset-table-scroll{overflow-x:auto;border-radius:8px;border:1px solid var(--border)}.asset-table{width:100%;border-collapse:collapse;background:var(--card-bg)}.asset-table thead{background:var(--bg);border-bottom:2px solid var(--border)}.asset-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.asset-table-actions-col{text-align:right}.asset-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .15s ease}.asset-table tbody tr:hover{background:var(--bg)}.asset-table tbody tr:last-child{border-bottom:none}.asset-table td{padding:12px 16px;font-size:14px;color:var(--fg)}.asset-table-name{font-weight:500}.asset-code{display:inline-block;padding:4px 8px;background:#0073ea1a;border:1px solid rgba(0,115,234,.3);border-radius:4px;color:#0073ea;font-size:12px;font-family:Courier New,monospace;font-weight:500}.asset-type-cell{text-transform:capitalize}.asset-type-label{display:inline-block;padding:4px 10px;background:var(--bg);border-radius:6px;font-size:13px;font-weight:500;color:var(--fg)}.asset-status-pill{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.asset-status-pill.active{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.4)}.asset-status-pill.inactive{background:#9ca3af26;color:#9ca3af;border:1px solid rgba(156,163,175,.4)}.asset-table-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px}.asset-gps-cell{font-size:13px}.asset-gps-set{display:inline-flex;align-items:center;gap:6px;color:#10b981}.asset-gps-set svg{flex-shrink:0}.asset-gps-coords{font-family:Courier New,monospace;font-size:11px;color:var(--fg-muted)}.asset-gps-not-set{color:var(--fg-muted);opacity:.5;font-size:16px}.asset-table-empty{padding:40px 20px;text-align:center;color:var(--fg-muted)}.asset-table-empty p{font-size:14px;margin-bottom:12px}.asset-clear-filters-btn{padding:8px 16px;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .15s ease}.asset-clear-filters-btn:hover{opacity:.9}@media (max-width: 768px){.asset-table-toolbar{flex-direction:column;align-items:flex-start}.asset-table-scroll{overflow-x:scroll}.asset-table{min-width:600px}}.customer-table-wrapper{display:flex;flex-direction:column;gap:16px}.customer-table-toolbar{display:flex;flex-direction:column;gap:12px}.customer-table-search{position:relative;width:100%}.customer-search-input{width:100%;padding:10px 40px 10px 16px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:all .15s ease}.customer-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.customer-search-input::placeholder{color:var(--muted);opacity:.8}.customer-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--muted);font-size:20px;cursor:pointer;transition:all .15s ease;line-height:1;padding:0}.customer-search-clear:hover{background:var(--bg);color:var(--text)}.customer-segment-filters{display:flex;flex-wrap:wrap;gap:8px}.customer-segment-chip{padding:6px 14px;background:var(--bg);border:1px solid var(--border);border-radius:20px;color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.customer-segment-chip:hover{border-color:var(--accent);background:var(--card)}.customer-segment-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.customer-table-count{font-size:13px;color:var(--muted);font-weight:500}.customer-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--card)}.customer-table{width:100%;border-collapse:collapse;font-size:14px}.customer-table thead{background:var(--bg);border-bottom:1px solid var(--border)}.customer-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.customer-table-stats-col{text-align:center;width:80px}.customer-table-actions-col{width:100px;text-align:right}.customer-table tbody tr{border-bottom:1px solid var(--border);transition:all .15s ease;cursor:pointer}.customer-table tbody tr:last-child{border-bottom:none}.customer-table tbody tr:hover{background:var(--bg)}.customer-table td{padding:14px 16px;color:var(--text)}.customer-table-name{font-weight:500;min-width:200px}.customer-name-cell{display:flex;align-items:center;gap:8px}.customer-name-text{color:var(--text);font-weight:500}.customer-segment-cell{min-width:120px}.customer-segment-badge{display:inline-block;padding:4px 10px;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:12px;color:var(--accent);font-size:12px;font-weight:600}.customer-asset-types-cell{min-width:200px}.customer-asset-type-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.asset-type-pill{display:inline-block;padding:4px 8px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:10px;color:#10b981;font-size:11px;font-weight:600;white-space:nowrap}.asset-type-pill-more{display:inline-block;padding:4px 8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:11px;font-weight:600}.customer-no-assets{color:var(--muted);font-size:12px}.customer-stat-cell{text-align:center;color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.customer-table-actions{display:flex;justify-content:flex-end;gap:4px}.customer-table-empty{padding:48px 24px;text-align:center;color:var(--muted);font-size:14px}.customer-table-empty p{margin:0 0 16px}.customer-clear-filters-btn{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.customer-clear-filters-btn:hover{opacity:.9;transform:translateY(-1px)}.customer-table-row.archived{opacity:.7;cursor:default}.customer-table-row.archived:hover{background:transparent}.customer-archived-badge{display:inline-block;padding:2px 6px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-left:8px}@media (max-width: 1024px){.customer-asset-types-cell{min-width:150px}.asset-type-pill{font-size:10px;padding:3px 6px}}@media (max-width: 768px){.customer-table-scroll{overflow-x:auto}.customer-table{min-width:800px}.customer-segment-filters{overflow-x:auto;flex-wrap:nowrap}}.search-autocomplete{position:relative;width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;width:18px;height:18px;color:var(--muted);pointer-events:none;display:flex;align-items:center;justify-content:center}.search-autocomplete-input{width:100%;padding:10px 40px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:all .15s ease}.search-autocomplete-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.search-autocomplete-input::placeholder{color:var(--muted);opacity:.8}.search-clear{position:absolute;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--muted);font-size:20px;cursor:pointer;transition:all .15s ease;line-height:1;padding:0}.search-clear:hover{background:var(--bg);color:var(--text)}.search-results-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:500px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:1000;padding:8px 0}.search-results-section{margin-bottom:8px}.search-results-section:last-child{margin-bottom:0}.search-results-section-header{display:flex;align-items:center;gap:6px;padding:8px 16px 6px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);margin-bottom:4px}.search-results-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center}.search-result-item{display:flex;flex-direction:column;gap:4px;width:100%;padding:10px 16px;background:transparent;border:none;border-left:3px solid transparent;text-align:left;cursor:pointer;transition:all .15s ease}.search-result-item:hover,.search-result-item.selected{background:var(--bg);border-left-color:var(--accent)}.search-result-main{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text)}.search-result-code{display:inline-block;padding:2px 6px;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:4px;color:#6366f1;font-size:11px;font-family:Courier New,monospace;font-weight:600}.search-result-badge{display:inline-block;padding:2px 6px;background:#10b98126;border:1px solid rgba(16,185,129,.4);border-radius:4px;color:#10b981;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.search-result-meta{font-size:12px;color:var(--muted)}.search-result-meta-small{font-size:11px;color:var(--muted);opacity:.8}.search-no-results{padding:24px 16px;text-align:center;color:var(--muted);font-size:14px}.search-results-dropdown::-webkit-scrollbar{width:8px}.search-results-dropdown::-webkit-scrollbar-track{background:transparent}.search-results-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.search-results-dropdown::-webkit-scrollbar-thumb:hover{background:var(--muted)}.confirm-dialog-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:8px 0}.confirm-dialog-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#ef44441a;border-radius:50%}.confirm-dialog-message{font-size:15px;color:var(--fg);text-align:center;margin:0;line-height:1.5}.confirm-dialog-warnings{width:100%;padding:12px 16px;background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:13px;color:var(--fg)}.confirm-dialog-warnings strong{display:block;margin-bottom:8px;color:var(--danger);font-weight:600}.confirm-dialog-warnings ul{margin:0;padding-left:20px}.confirm-dialog-warnings li{margin-bottom:4px;line-height:1.4}.confirm-dialog-warnings li:last-child{margin-bottom:0}.site-location-modal{display:flex;flex-direction:column;gap:20px}.site-location-context{padding:16px;background:var(--surface-soft, #f8fafc);border-radius:10px;border:1px solid var(--border, #e2e8f0);display:flex;flex-direction:column;gap:10px}.context-row{display:flex;align-items:baseline;gap:10px}.context-label{font-size:12px;font-weight:600;color:var(--fg-muted, #64748b);min-width:70px;text-transform:uppercase;letter-spacing:.02em}.context-value{font-size:14px;font-weight:500;color:var(--fg, #1e293b)}.context-address-wrapper{display:flex;align-items:center;gap:8px;flex:1}.context-code{font-size:13px;font-family:SF Mono,Monaco,Consolas,monospace;background:var(--bg, #ffffff);padding:3px 8px;border-radius:6px;border:1px solid var(--border, #e2e8f0);color:var(--primary, #3b82f6)}.site-location-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border, #e2e8f0)}@media (max-width: 768px){.site-location-context{padding:14px}.context-row{flex-direction:column;gap:4px}.context-label{min-width:auto}.site-location-actions{flex-direction:column-reverse}.site-location-actions button{width:100%}}[data-theme=dark] .site-location-context,[data-theme=sentrac] .site-location-context,[data-theme=gamer] .site-location-context,[data-theme=retro] .site-location-context,[data-theme=christmas] .site-location-context{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--border, #334155)}[data-theme=dark] .context-label,[data-theme=sentrac] .context-label,[data-theme=gamer] .context-label,[data-theme=retro] .context-label,[data-theme=christmas] .context-label{color:var(--fg-muted, #94a3b8)}[data-theme=dark] .context-value,[data-theme=sentrac] .context-value,[data-theme=gamer] .context-value,[data-theme=retro] .context-value,[data-theme=christmas] .context-value{color:var(--fg, #f1f5f9)}[data-theme=dark] .context-code,[data-theme=sentrac] .context-code,[data-theme=gamer] .context-code,[data-theme=retro] .context-code,[data-theme=christmas] .context-code{background:var(--bg, #1e293b);border-color:var(--border, #334155);color:var(--primary, #60a5fa)}[data-theme=dark] .site-location-actions,[data-theme=sentrac] .site-location-actions,[data-theme=gamer] .site-location-actions,[data-theme=retro] .site-location-actions,[data-theme=christmas] .site-location-actions{border-color:var(--border, #334155)}.site-map{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--border, #e2e8f0)}.site-map__container{width:100%;position:relative}.site-map__stats{position:absolute;top:10px;right:10px;background:var(--bg, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);padding:8px 12px;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border, #e2e8f0);z-index:1000}.site-map__stat{display:flex;align-items:center;gap:6px;font-size:13px}.site-map__stat-label{color:var(--fg-muted, #64748b);font-weight:500}.site-map__stat-value{color:var(--fg, #1e293b);font-weight:600}.site-map__empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:1000;background:var(--bg, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);padding:32px;border-radius:12px;box-shadow:0 4px 16px #0000001a;border:1px solid var(--border, #e2e8f0);max-width:300px}.site-map__empty svg{margin-bottom:12px;color:var(--fg-muted, #64748b)}.site-map__empty-title{font-size:16px;font-weight:600;color:var(--fg, #1e293b);margin:0 0 8px}.site-map__empty-message{font-size:14px;color:var(--fg-muted, #64748b);margin:0;line-height:1.5}.site-map__legend{position:absolute;bottom:10px;left:10px;background:var(--bg, rgba(255, 255, 255, .95));backdrop-filter:blur(8px);padding:12px;border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border, #e2e8f0);z-index:1000;display:flex;flex-direction:column;gap:6px}.site-map__legend-title{font-size:12px;font-weight:600;color:var(--fg-muted, #64748b);margin-bottom:4px;text-transform:uppercase;letter-spacing:.02em}.site-map__legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fg, #1e293b)}.site-map__legend-marker{width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 1px 3px #0000004d}.site-map__legend-label{white-space:nowrap}.custom-marker-icon{background:none;border:none}.custom-marker-icon svg{filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:all .2s ease;cursor:pointer}.leaflet-marker-icon:hover .custom-marker-icon svg,.custom-marker-icon:hover svg{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 5px 10px rgba(0,0,0,.5))}.asset-map-popup{padding:4px}.asset-popup-name{font-size:14px;font-weight:600;color:var(--fg, #1e293b);margin:0 0 6px}.asset-popup-code{font-size:12px;color:var(--fg-muted, #64748b);margin-bottom:6px}.asset-popup-code code{font-family:SF Mono,Monaco,Consolas,monospace;background:var(--surface-soft, #f1f5f9);padding:2px 6px;border-radius:4px;font-size:11px;color:var(--primary, #3b82f6)}.asset-popup-type{font-size:12px;color:var(--fg-muted, #64748b);margin-bottom:4px}.asset-popup-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.asset-popup-status.status-active{background:color-mix(in srgb,var(--success, #10b981) 15%,transparent);color:var(--success, #10b981)}.asset-popup-status.status-inactive{background:var(--surface-soft, #f1f5f9);color:var(--fg-muted, #64748b)}@media (max-width: 768px){.site-map__stats{top:5px;right:5px;font-size:11px;padding:6px 10px}.site-map__legend{bottom:5px;left:5px;padding:8px;font-size:11px}.site-map__empty{padding:24px;max-width:250px}.site-map__empty svg{width:36px;height:36px}.site-map__empty-title{font-size:14px}.site-map__empty-message{font-size:13px}}[data-theme=dark] .site-map,[data-theme=sentrac] .site-map,[data-theme=gamer] .site-map,[data-theme=retro] .site-map,[data-theme=christmas] .site-map{border-color:var(--border, #334155)}[data-theme=dark] .site-map__stats,[data-theme=dark] .site-map__legend,[data-theme=dark] .site-map__empty,[data-theme=sentrac] .site-map__stats,[data-theme=sentrac] .site-map__legend,[data-theme=sentrac] .site-map__empty,[data-theme=gamer] .site-map__stats,[data-theme=gamer] .site-map__legend,[data-theme=gamer] .site-map__empty,[data-theme=retro] .site-map__stats,[data-theme=retro] .site-map__legend,[data-theme=retro] .site-map__empty,[data-theme=christmas] .site-map__stats,[data-theme=christmas] .site-map__legend,[data-theme=christmas] .site-map__empty{background:var(--bg, rgba(30, 41, 59, .95));border-color:var(--border, #334155)}[data-theme=dark] .site-map__stat-label,[data-theme=dark] .site-map__legend-title,[data-theme=sentrac] .site-map__stat-label,[data-theme=sentrac] .site-map__legend-title,[data-theme=gamer] .site-map__stat-label,[data-theme=gamer] .site-map__legend-title,[data-theme=retro] .site-map__stat-label,[data-theme=retro] .site-map__legend-title,[data-theme=christmas] .site-map__stat-label,[data-theme=christmas] .site-map__legend-title{color:var(--fg-muted, #94a3b8)}[data-theme=dark] .site-map__stat-value,[data-theme=dark] .site-map__legend-item,[data-theme=dark] .asset-popup-name,[data-theme=sentrac] .site-map__stat-value,[data-theme=sentrac] .site-map__legend-item,[data-theme=sentrac] .asset-popup-name,[data-theme=gamer] .site-map__stat-value,[data-theme=gamer] .site-map__legend-item,[data-theme=gamer] .asset-popup-name,[data-theme=retro] .site-map__stat-value,[data-theme=retro] .site-map__legend-item,[data-theme=retro] .asset-popup-name,[data-theme=christmas] .site-map__stat-value,[data-theme=christmas] .site-map__legend-item,[data-theme=christmas] .asset-popup-name,[data-theme=dark] .site-map__empty-title,[data-theme=sentrac] .site-map__empty-title,[data-theme=gamer] .site-map__empty-title,[data-theme=retro] .site-map__empty-title,[data-theme=christmas] .site-map__empty-title{color:var(--fg, #f1f5f9)}[data-theme=dark] .site-map__empty-message,[data-theme=dark] .asset-popup-type,[data-theme=dark] .asset-popup-code,[data-theme=sentrac] .site-map__empty-message,[data-theme=sentrac] .asset-popup-type,[data-theme=sentrac] .asset-popup-code,[data-theme=gamer] .site-map__empty-message,[data-theme=gamer] .asset-popup-type,[data-theme=gamer] .asset-popup-code,[data-theme=retro] .site-map__empty-message,[data-theme=retro] .asset-popup-type,[data-theme=retro] .asset-popup-code,[data-theme=christmas] .site-map__empty-message,[data-theme=christmas] .asset-popup-type,[data-theme=christmas] .asset-popup-code{color:var(--fg-muted, #94a3b8)}[data-theme=dark] .asset-popup-code code,[data-theme=sentrac] .asset-popup-code code,[data-theme=gamer] .asset-popup-code code,[data-theme=retro] .asset-popup-code code,[data-theme=christmas] .asset-popup-code code{background:var(--surface-soft, rgba(255, 255, 255, .08));color:var(--primary, #60a5fa)}[data-theme=dark] .site-map__container .leaflet-control-zoom,[data-theme=sentrac] .site-map__container .leaflet-control-zoom,[data-theme=gamer] .site-map__container .leaflet-control-zoom,[data-theme=retro] .site-map__container .leaflet-control-zoom,[data-theme=christmas] .site-map__container .leaflet-control-zoom{border-color:var(--border, #334155);border-radius:8px;overflow:hidden}[data-theme=dark] .site-map__container .leaflet-control-zoom a,[data-theme=sentrac] .site-map__container .leaflet-control-zoom a,[data-theme=gamer] .site-map__container .leaflet-control-zoom a,[data-theme=retro] .site-map__container .leaflet-control-zoom a,[data-theme=christmas] .site-map__container .leaflet-control-zoom a{background:var(--bg, #1e293b);color:var(--fg, #f1f5f9);border-color:var(--border, #334155)}[data-theme=dark] .site-map__container .leaflet-control-zoom a:hover,[data-theme=sentrac] .site-map__container .leaflet-control-zoom a:hover,[data-theme=gamer] .site-map__container .leaflet-control-zoom a:hover,[data-theme=retro] .site-map__container .leaflet-control-zoom a:hover,[data-theme=christmas] .site-map__container .leaflet-control-zoom a:hover{background:var(--surface-soft, rgba(255, 255, 255, .1))}[data-theme=dark] .site-map__container .leaflet-control-attribution,[data-theme=sentrac] .site-map__container .leaflet-control-attribution,[data-theme=gamer] .site-map__container .leaflet-control-attribution,[data-theme=retro] .site-map__container .leaflet-control-attribution,[data-theme=christmas] .site-map__container .leaflet-control-attribution{background:#1e293be6;color:var(--fg-muted, #94a3b8)}[data-theme=dark] .site-map__container .leaflet-control-attribution a,[data-theme=sentrac] .site-map__container .leaflet-control-attribution a,[data-theme=gamer] .site-map__container .leaflet-control-attribution a,[data-theme=retro] .site-map__container .leaflet-control-attribution a,[data-theme=christmas] .site-map__container .leaflet-control-attribution a{color:var(--primary, #60a5fa)}.conditional-logic-modal{display:flex;flex-direction:column;gap:24px}.conditional-logic-header{padding-bottom:16px;border-bottom:1px solid var(--border)}.conditional-logic-hint{margin-top:8px;font-size:14px;color:var(--text-secondary)}.conditional-logic-intro{font-size:15px;font-weight:500;color:var(--fg);margin-bottom:8px}.condition-group{margin-bottom:16px}.condition-group-separator{display:flex;align-items:center;justify-content:center;margin:16px 0}.condition-group-operator{background:var(--primary);color:#fff;padding:6px 20px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.condition-group-box{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:16px}.condition-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.condition-group-label{font-size:14px;font-weight:600;color:var(--fg)}.condition-group-remove{background:none;border:none;color:var(--danger);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .15s ease}.condition-group-remove:hover{background:var(--danger-bg)}.condition-row{margin-bottom:12px}.condition-row:last-child{margin-bottom:0}.condition-and-label{display:inline-block;background:var(--bg);color:var(--text-secondary);padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.condition-inputs{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:start}.condition-field,.condition-operator,.condition-value{min-width:0}.condition-value-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--fg);font-size:14px;font-family:inherit;transition:all .15s ease}.condition-value-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.condition-value-input:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-subtle)}.condition-actions{display:flex;gap:8px;align-items:center}.condition-add-and,.condition-remove{padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;border:1px solid var(--border);white-space:nowrap}.condition-add-and{background:var(--card);color:var(--primary);border-color:var(--primary)}.condition-add-and:hover{background:var(--primary);color:#fff}.condition-remove{background:none;color:var(--danger);border-color:var(--danger);padding:8px;min-width:36px}.condition-remove:hover{background:var(--danger);color:#fff}.condition-add-group{display:flex;justify-content:center;padding-top:16px;border-top:1px solid var(--border)}.conditional-logic-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid var(--border)}@media (min-width: 769px) and (max-width: 1024px){.condition-inputs{grid-template-columns:1.2fr 1fr auto}}@media (max-width: 768px){.condition-inputs{grid-template-columns:1fr}.condition-actions{justify-content:flex-end}.condition-and-label{margin-left:0}}.searchable-select{position:relative;width:100%}.searchable-select.disabled{opacity:.5;cursor:not-allowed}.select-trigger{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;cursor:pointer;transition:all .2s;user-select:none}.select-trigger:hover:not(.disabled){border-color:var(--primary)}.select-trigger:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #60a5fa1a}.select-trigger.open{border-color:var(--primary)}.select-trigger .placeholder{color:var(--fg-dim)}.select-trigger .value{color:var(--fg);font-weight:500}.select-trigger .chevron{flex-shrink:0;margin-left:8px;transition:transform .2s;color:var(--fg-dim)}.select-trigger.open .chevron{transform:rotate(180deg)}.dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:320px;display:flex;flex-direction:column;overflow:hidden}.search-box{padding:8px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.search-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit}.search-input:focus{outline:none;border-color:var(--primary)}.search-input::placeholder{color:var(--fg-dim);opacity:.6}.options-list{overflow-y:auto;max-height:260px}.option{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:14px;color:var(--fg);cursor:pointer;transition:background .15s;border-bottom:1px solid transparent}.option:hover,.option.highlighted{background:var(--bg-hover)}.option.selected{background:#60a5fa1a;color:var(--primary);font-weight:500}.option .check-icon{flex-shrink:0;margin-left:8px;color:var(--primary)}.no-results{padding:20px;text-align:center;color:var(--fg-dim);font-size:14px}.options-list::-webkit-scrollbar{width:8px}.options-list::-webkit-scrollbar-track{background:var(--bg-subtle)}.options-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.options-list::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}.create-schedule-modal{display:flex;flex-direction:column;gap:24px;max-height:70vh;overflow-y:auto;padding:4px 16px 4px 4px}@media (max-width: 768px){.create-schedule-modal{padding:4px 8px 4px 4px}}.form-section{display:flex;flex-direction:column;gap:12px}.form-help{font-size:13px;color:var(--fg-dim);margin:0}.form-label{font-size:14px;font-weight:500;color:var(--fg);display:block;margin-bottom:6px}.form-select,.form-input,.autocomplete-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;transition:border-color .2s}.form-select:focus,.form-input:focus,.autocomplete-input:focus{outline:none;border-color:var(--primary)}.autocomplete-input input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg)!important;font-size:14px;font-family:inherit}.autocomplete-input input::placeholder{color:var(--fg-dim);opacity:.6}.form-field{display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.field-actions{display:flex;gap:12px}.link-button{background:none;border:none;color:var(--primary);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.link-button:hover{background:#60a5fa1a}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px;background:var(--bg-hover);border:1px solid var(--border);border-radius:8px}.field-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px;border-radius:4px;transition:background .2s}.field-checkbox:hover{background:#60a5fa14}.field-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.field-count{font-size:13px;color:var(--fg-dim);margin:4px 0 0;font-weight:500}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.radio-option:hover{border-color:var(--primary);background:#60a5fa0d}.radio-option input[type=radio]{margin-top:2px;width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.radio-option:has(input:checked){border-color:var(--primary);background:#60a5fa1a}.radio-option p{margin:0;font-size:13px;color:var(--fg-dim)}.conditions-summary{padding:12px;background:#60a5fa1a;border:1px solid var(--primary);border-radius:6px;margin-top:8px}.conditions-summary p{margin:0;font-size:13px;color:var(--fg)}.conditions-summary strong{color:var(--primary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 768px){.form-row,.field-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:8px}}.create-schedule-modal.drawer-mode{max-height:none;overflow:visible;padding:0}.event-type-group{margin-bottom:16px}.event-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);margin-bottom:8px}.event-type-options{display:flex;flex-direction:column;gap:8px}.event-type-btn{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.event-type-btn:hover{background:var(--surface-soft);border-color:var(--border-hover)}.event-type-btn.active{background:color-mix(in oklab,var(--primary) 10%,transparent);border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.event-type-btn.alert:hover{border-color:var(--danger)}.event-type-btn.alert.active{background:color-mix(in oklab,var(--danger) 10%,transparent);border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.event-type-btn .event-icon{font-size:1.25rem}.event-type-btn .event-label{font-size:14px;font-weight:500;color:var(--fg)}.alert-info{display:flex;gap:12px;padding:16px;background:color-mix(in oklab,var(--info) 10%,transparent);border:1px solid color-mix(in oklab,var(--info) 30%,transparent);border-radius:8px}.alert-info-icon{font-size:1.25rem;flex-shrink:0}.alert-info strong{display:block;font-size:14px;margin-bottom:4px;color:var(--fg)}.alert-info p{margin:0;font-size:13px;color:var(--fg-dim);line-height:1.4}.conditions-badge{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#60a5fa1a;border:1px solid var(--primary);border-radius:6px}.conditions-badge span{font-size:14px;color:var(--fg);font-weight:500}.btn-link{background:none;border:none;color:var(--primary);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s}.btn-link:hover{background:#60a5fa26}.btn-secondary{padding:10px 16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-hover)}.form-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:monospace;resize:vertical;min-height:80px}.form-textarea:focus{outline:none;border-color:var(--primary)}.report-generator-modal{display:flex;flex-direction:column;gap:32px;padding:8px 0}.form-section{display:flex;flex-direction:column;gap:16px}.form-section h3{font-size:16px;font-weight:600;color:var(--fg);margin:0}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;background:var(--bg)}.radio-option:hover{border-color:var(--primary);background:var(--bg-subtle)}.radio-option input[type=radio]{margin-top:2px;cursor:pointer;flex-shrink:0}.radio-option input[type=radio]:checked~div{color:var(--primary)}.radio-option div{flex:1}.radio-option strong{display:block;font-size:14px;font-weight:600;color:var(--fg);margin-bottom:4px}.radio-option p{font-size:13px;color:var(--fg-dim);margin:0}.custom-date-inputs{display:flex;align-items:center;gap:12px;margin-top:12px}.date-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--fg);font-size:14px;font-family:inherit;transition:all .15s ease}.date-input:hover{border-color:var(--primary)}.date-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.field-actions{display:flex;gap:16px}.link-button{background:none;border:none;color:var(--primary);font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s ease}.link-button:hover{background:#4caf501a;text-decoration:underline}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px;background:var(--bg-subtle);border-radius:8px;border:1px solid var(--border)}.field-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:background .15s ease}.field-checkbox:hover{background:var(--hover)}.field-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0}.field-checkbox span{font-size:14px;color:var(--fg);user-select:none}.field-count{font-size:13px;color:var(--fg-dim);margin:0;text-align:right}.config-summary{display:flex;flex-direction:column;gap:16px;padding:16px;background:#60a5fa0d;border:1px solid var(--border);border-radius:8px}.config-item{display:flex;flex-direction:column;gap:6px}.config-label{font-size:13px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.config-value{font-size:14px;color:var(--fg);line-height:1.5}.config-value strong{color:var(--primary);font-weight:600}.config-help{font-size:13px;color:var(--fg-dim);margin:8px 0 0;padding-top:12px;border-top:1px solid var(--border)}.config-item{display:flex;align-items:flex-start;gap:12px;position:relative}.edit-config-btn{background:transparent;border:1px solid var(--border);border-radius:4px;padding:6px 8px;cursor:pointer;transition:all .15s ease;color:var(--fg-dim);flex-shrink:0;margin-top:2px}.edit-config-btn:hover{background:var(--bg-subtle);border-color:var(--primary);color:var(--primary)}.edit-config-btn svg{display:block}.edit-fields-modal,.edit-theme-modal{display:flex;flex-direction:column;gap:20px}.modal-help{color:var(--fg-dim);font-size:14px;margin:0}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-height:400px;overflow-y:auto;padding:16px;background:var(--bg-subtle);border-radius:8px}.field-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--fg);cursor:pointer;padding:4px;border-radius:4px;transition:background .15s ease}.field-checkbox:hover{background:var(--bg-hover)}.field-checkbox input[type=checkbox]{cursor:pointer}.theme-options{display:flex;flex-direction:column;gap:12px}.theme-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.theme-option:hover{border-color:var(--primary);background:var(--bg-subtle)}.theme-option input[type=radio]{margin-top:4px;cursor:pointer}.theme-option strong{display:block;font-size:15px;color:var(--fg);margin-bottom:4px}.theme-option p{margin:0;font-size:13px;color:var(--fg-dim)}@media (max-width: 768px){.field-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch;gap:12px}.field-actions{justify-content:flex-start}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.job-tile{position:relative;padding:14px 16px;border-left:4px solid var(--accent);border-radius:8px;background:var(--card-bg, var(--surface, var(--card)));border:1px solid var(--border);border-left-width:4px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:8px;box-shadow:0 1px 3px #00000014}.job-tile:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in oklab,var(--accent) 12%,transparent)}.job-tile-header{display:flex;align-items:center;gap:8px;font-size:13px}.job-tile-emoji{font-size:16px;line-height:1}.job-tile-date{color:var(--muted, var(--text-secondary));font-weight:500;flex:1}.job-tile-module-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;background:currentColor;color:#fff;border-radius:4px;opacity:.9}.job-tile-type{font-size:15px;font-weight:600;color:var(--text, var(--text-primary));line-height:1.3}.job-tile-details{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted, var(--text-secondary))}.job-tile-tech{display:flex;align-items:center;gap:4px}.job-tile-status{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot.status-completed{background:#22c55e}.status-dot.status-in_progress{background:#f59e0b}.status-dot.status-pending{background:#94a3b8}.status-dot.status-cancelled{background:#ef4444}.status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.status-pill.ok{background:#10b9811a;color:#10b981}.status-pill.issue{background:#ef44441a;color:#ef4444}.status-pill.neutral{background:#94a3b81a;color:#64748b}.job-tile-summary{font-size:13px;color:var(--muted, var(--text-secondary));line-height:1.5;margin-top:2px}.job-tile-action{margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.view-details-link{font-size:13px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:4px;transition:opacity .2s ease}.job-tile:hover .view-details-link{opacity:.8}@media (max-width: 768px){.job-tile{padding:12px 14px;gap:6px}.job-tile-header{font-size:12px}.job-tile-type{font-size:14px}.job-tile-details{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.job-tile-summary{font-size:12px}}.job-detail-modal{display:flex;flex-direction:column;gap:24px}.job-modal-title{display:flex;align-items:center;gap:8px}.job-modal-emoji{font-size:20px}.job-detail-loading,.job-detail-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;text-align:center}.job-detail-error{background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:8px}.error-hint{font-size:13px;color:var(--muted);margin-top:4px}.job-detail-header{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:2px solid var(--border)}.job-detail-ref{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.5px}.job-detail-date{font-size:15px;font-weight:600;color:var(--text, var(--text-primary))}.job-detail-badges{display:flex;align-items:center;gap:8px}.job-detail-module-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff}.job-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;padding:16px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border-radius:8px}.job-detail-modal .detail-row{display:flex;align-items:flex-start;gap:4px}.job-detail-modal .detail-label{font-size:12px;font-weight:700;color:var(--text, var(--text-primary));text-transform:uppercase;letter-spacing:.3px;min-width:90px}.job-detail-modal .detail-value{font-size:14px;font-weight:400;color:var(--text, var(--text-primary));opacity:.85}.job-detail-section{display:flex;flex-direction:column;gap:12px}.section-title{font-size:15px;font-weight:700;color:var(--text, var(--text-primary));margin:0}.summary-box{padding:12px 16px;background:color-mix(in oklab,var(--accent) 5%,transparent);border-left:3px solid var(--accent);border-radius:6px;font-size:14px;line-height:1.6;color:var(--text, var(--text-primary))}.issue-box{padding:12px 16px;background:#ef44440d;border-left:3px solid #ef4444;border-radius:6px;font-size:14px;line-height:1.6;color:var(--text, var(--text-primary));font-weight:500}.notes-box{padding:16px;background:var(--surface, var(--card));border:1px solid var(--border);border-radius:8px;font-size:14px;line-height:1.7;color:var(--text, var(--text-primary));white-space:pre-wrap;font-family:ui-sans-serif,system-ui,sans-serif}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.photo-item{display:flex;flex-direction:column;gap:8px}.photo-thumbnail{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--border);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.photo-thumbnail:hover{transform:scale(1.05);box-shadow:0 8px 24px #00000026}.photo-caption{font-size:12px;color:var(--muted, var(--text-secondary));text-align:center}.document-list{display:flex;flex-direction:column;gap:8px}.document-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface, var(--card));border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--text, var(--text-primary));transition:all .2s ease}.document-item:hover{background:var(--bg-subtle, rgba(148, 163, 184, .04));border-color:var(--accent);transform:translate(4px)}.document-icon{font-size:20px}.document-name{flex:1;font-size:14px;font-weight:500}.document-arrow{font-size:16px;color:var(--accent);opacity:0;transition:opacity .2s ease}.document-item:hover .document-arrow{opacity:1}.job-detail-timestamps{display:flex;gap:24px;padding:12px 16px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border-radius:8px;font-size:13px}.timestamp-item{display:flex;gap:8px}.timestamp-label{font-weight:600;color:var(--muted, var(--text-secondary))}.timestamp-value{font-weight:500;color:var(--text, var(--text-primary))}.job-detail-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 768px){.job-detail-grid{grid-template-columns:1fr;gap:10px}.job-detail-modal .detail-row{flex-direction:column;align-items:flex-start;gap:4px}.job-detail-modal .detail-label{min-width:auto;font-size:12px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.job-detail-header{flex-direction:column;align-items:flex-start}}.asset-job-history{display:flex;flex-direction:column;gap:24px;padding:4px}.asset-summary{background:var(--surface, var(--card));border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:8px}.asset-summary-row{display:flex;align-items:center;gap:12px}.asset-summary-label{font-size:13px;font-weight:600;color:var(--muted, var(--text-secondary));min-width:80px}.asset-summary-value{font-size:14px;color:var(--text, var(--text-primary));font-weight:500}.asset-summary-value code{background:color-mix(in oklab,var(--accent) 8%,transparent);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px;color:var(--accent)}.job-stats{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border-radius:8px}.job-stat{display:flex;align-items:center;gap:6px}.job-stat-label{font-size:13px;color:var(--muted, var(--text-secondary))}.job-stat-value{font-size:14px;font-weight:700;color:var(--text, var(--text-primary))}.search-section{display:flex;flex-direction:column;gap:8px}.search-label{font-size:13px;font-weight:600;color:var(--text, var(--text-primary))}.autocomplete-wrapper{position:relative}.search-input{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--surface, var(--card));color:var(--text, var(--text-primary));transition:border-color .2s ease,box-shadow .2s ease}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.search-input::placeholder{color:var(--muted, var(--text-secondary))}.autocomplete-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:var(--surface, var(--card));border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000001f;z-index:1000}.autocomplete-option{padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s ease}.autocomplete-option:hover{background:color-mix(in oklab,var(--accent) 6%,transparent)}.autocomplete-option:last-child{border-bottom:none}.option-main{display:flex;align-items:center;gap:6px;margin-bottom:4px}.option-module-badge{font-size:16px;line-height:1}.option-main strong{font-size:14px;color:var(--text, var(--text-primary))}.option-secondary{font-size:13px;color:var(--muted, var(--text-secondary))}.option-detail{font-size:13px;color:var(--muted, var(--text-secondary));margin-left:22px}.selected-preview{padding:10px 12px;background:color-mix(in oklab,var(--accent) 8%,transparent);border:1px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:6px;font-size:13px;color:var(--text, var(--text-primary))}.selected-preview strong{font-weight:600;margin-right:4px}.change-button{margin-left:8px;padding:0;background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer;transition:opacity .2s ease}.change-button:hover{opacity:.8}.filter-section{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--surface, var(--card));border:1px solid var(--border);border-radius:8px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:13px;font-weight:600;color:var(--text, var(--text-primary))}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-button{padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface, var(--card));color:var(--text, var(--text-primary));font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.filter-button:hover{background:var(--bg-subtle, rgba(148, 163, 184, .04))}.filter-button.active{font-weight:600}.filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface, var(--card));color:var(--text, var(--text-primary));font-size:14px;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:var(--accent)}.job-timeline{display:flex;flex-direction:column;gap:24px}.timeline-loading,.timeline-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--muted, var(--text-secondary))}.timeline-empty svg{margin-bottom:16px;opacity:.5}.timeline-empty h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text, var(--text-primary))}.timeline-empty p{margin:0;font-size:14px}.timeline-month{display:flex;flex-direction:column;gap:12px}.timeline-month-header{font-size:15px;font-weight:700;color:var(--text, var(--text-primary));margin:0;padding-bottom:8px;border-bottom:2px solid var(--border)}.timeline-month-jobs{display:flex;flex-direction:column;gap:12px}@media (max-width: 768px){.asset-summary-row{flex-direction:column;align-items:flex-start;gap:4px}.asset-summary-label{min-width:auto;font-size:12px}.job-stats{flex-direction:column;gap:8px}.filter-section{gap:12px}.filter-buttons{gap:6px}.filter-button{padding:6px 12px;font-size:12px}}.asset-docs-header{display:flex;flex-direction:column;gap:2px}.asset-docs-title{font-size:1rem;font-weight:600}.asset-docs-subtitle{font-size:.8125rem;color:var(--fg-muted);font-weight:400}.asset-documents-drawer{display:flex;flex-direction:column;gap:24px;padding:16px 0}.attached-docs-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.attached-docs-section .section-header h3{margin:0;font-size:.9375rem;font-weight:600;color:var(--fg)}.asset-documents-drawer .empty-state{text-align:center;padding:32px 24px;background:var(--surface-soft);border-radius:12px;border:1px dashed var(--border)}.asset-documents-drawer .empty-state .empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.5}.asset-documents-drawer .empty-state p{margin:0 0 8px;color:var(--fg-muted)}.asset-documents-drawer .empty-state .empty-hint{font-size:.8125rem;max-width:320px;margin:0 auto 16px}.attached-docs-list{display:flex;flex-direction:column;gap:8px}.attached-doc-item{position:relative;display:flex;align-items:center;gap:8px}.attached-doc-item .document-card{flex:1}.detach-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;border:none;background:var(--danger);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s,transform .15s;z-index:10}.attached-doc-item:hover .detach-btn{opacity:1}.detach-btn:hover{transform:scale(1.1)}.detach-btn:disabled{opacity:.5;cursor:not-allowed}.asset-info-section{background:var(--surface-soft);border-radius:8px;padding:16px;border:1px solid var(--border)}.asset-info-section h4{margin:0 0 12px;font-size:.8125rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px}.asset-info-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}.asset-info-grid dt{font-size:.8125rem;color:var(--fg-muted);font-weight:500}.asset-info-grid dd{margin:0;font-size:.875rem;color:var(--fg)}.asset-info-grid code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;background:var(--surface);padding:2px 6px;border-radius:4px}.loading-state{padding:24px;text-align:center;color:var(--fg-muted)}.library-browser{display:flex;flex-direction:column;gap:16px;max-height:60vh}.library-filters{display:flex;gap:12px;flex-wrap:wrap}.library-search{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font-size:.875rem}.library-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.library-category-filter{padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font-size:.875rem;cursor:pointer}.library-docs-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;max-height:400px}.library-doc-item{display:flex;align-items:center;gap:12px}.library-doc-item .document-card{flex:1}.library-doc-item .attach-btn{flex-shrink:0;padding:8px 16px;font-weight:600}@media (hover: none){.detach-btn{opacity:1}}@media (max-width: 600px){.library-filters{flex-direction:column}.library-search,.library-category-filter{width:100%}.asset-info-grid{grid-template-columns:1fr;gap:4px}.asset-info-grid dt{margin-top:8px}.asset-info-grid dd{padding-left:12px}}.invoice-preview-panel{display:flex;flex-direction:column;gap:20px;padding:0;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.preview-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-secondary)}.preview-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.preview-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:var(--danger);text-align:center}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.preview-header-left{display:flex;flex-direction:column;gap:8px}.preview-back{background:none;border:none;padding:0;color:var(--primary);font-size:13px;cursor:pointer;text-align:left}.preview-back:hover{text-decoration:underline}.preview-title{margin:0;font-size:20px;font-weight:600;color:var(--fg)}.preview-header-right{display:flex;align-items:center;gap:12px}.xero-link-btn{padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;color:var(--primary);font-size:13px;text-decoration:none;transition:all .15s ease}.xero-link-btn:hover{background:var(--bg-hover);border-color:var(--primary)}.preview-meta{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:8px}.preview-meta-row{display:flex;gap:24px;flex-wrap:wrap}.preview-meta-item{display:flex;flex-direction:column;gap:4px;min-width:120px}.preview-meta-item.full-width{flex:1;min-width:100%}.meta-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.meta-value{font-size:14px;color:var(--fg)}.preview-items h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--fg)}.preview-items-table{width:100%;border-collapse:collapse;font-size:13px}.preview-items-table th{padding:10px 12px;text-align:left;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border)}.preview-items-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:top}.preview-items-table tr:last-child td{border-bottom:none}.col-desc{width:50%}.col-qty{width:10%;text-align:right}.col-unit,.col-amount{width:20%;text-align:right}.preview-items-table th.col-qty,.preview-items-table th.col-unit,.preview-items-table th.col-amount{text-align:right}.no-desc{color:var(--text-secondary);font-style:italic}.item-code{display:inline-block;margin-left:8px;padding:2px 6px;background:var(--bg-secondary);border-radius:4px;font-size:11px;color:var(--text-secondary)}.preview-totals{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--bg-secondary);border-radius:8px;margin-left:auto;width:280px}.preview-totals-row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.preview-totals-row.total{padding-top:8px;border-top:1px solid var(--border);font-size:15px;font-weight:600;color:var(--fg)}.preview-totals-row.paid{color:var(--success)}.preview-totals-row.due{font-weight:600;color:var(--fg)}.preview-section{padding:16px;background:var(--bg-secondary);border-radius:8px}.preview-section h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--fg)}.preview-section p{margin:0;font-size:13px;color:var(--text-secondary);white-space:pre-wrap}@media (max-width: 640px){.invoice-preview-panel{gap:16px}.preview-header{flex-direction:column;gap:12px;position:sticky;top:0;background:var(--bg);padding:12px 0;margin:-12px 0 0;z-index:10;border-bottom:1px solid var(--border)}.preview-back{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;width:100%;justify-content:center}.preview-back:hover{text-decoration:none;background:var(--bg-hover)}.preview-title{font-size:18px;text-align:center}.preview-header-right{width:100%;justify-content:space-between}.xero-link-btn{flex:1;text-align:center}.preview-meta-row{flex-direction:column;gap:12px}.preview-meta-item{min-width:100%}.preview-items-table{font-size:12px}.preview-items-table th,.preview-items-table td{padding:8px 6px}.col-desc{width:40%}.preview-totals{width:100%}}.customer-billing-drawer{padding:0}.billing-summary{padding:16px;background:var(--surface-soft);border-radius:8px;margin-bottom:16px}.billing-summary-header{display:flex;align-items:center;gap:12px}.billing-summary-header h3{margin:0;font-size:18px;font-weight:600}.xero-badge{font-size:11px;padding:2px 8px;background:#0078c1;color:#fff;border-radius:4px;font-weight:500}.billing-summary-abn{margin-top:4px;font-size:13px;color:var(--fg-dim)}.billing-stats{display:flex;gap:16px;margin-bottom:16px}.billing-stat{flex:1;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;text-align:center}.billing-stat.highlight{background:var(--success-soft);border-color:var(--success)}.billing-stat-value{display:block;font-size:24px;font-weight:600;color:var(--fg)}.billing-stat.highlight .billing-stat-value{color:var(--success)}.billing-stat-label{display:block;font-size:12px;color:var(--fg-dim);margin-top:4px}.billing-filters{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:12px;background:var(--surface-soft);border-radius:8px}.billing-filters .filter-group{display:flex;align-items:center;gap:8px}.billing-filters label{font-size:13px;font-weight:500;color:var(--fg-dim)}.filter-buttons{display:flex;gap:4px}.filter-btn{padding:6px 12px;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--fg);cursor:pointer;transition:all .15s}.filter-btn:hover{background:var(--surface-soft)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.date-select{padding:6px 12px;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--fg)}.billing-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.billing-loading,.billing-empty{padding:48px 24px;text-align:center;color:var(--fg-dim)}.billing-empty svg{margin-bottom:12px;opacity:.5}.billing-empty h4{margin:0 0 8px;color:var(--fg)}.billing-empty p{margin:0}.billing-month-header{position:sticky;top:0;margin:0;padding:10px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);background:var(--surface-soft);border-bottom:1px solid var(--border);z-index:1}.billing-month+.billing-month{border-top:1px solid var(--border)}.billing-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-light);transition:background .15s}.billing-item:last-child{border-bottom:none}.billing-item:hover{background:var(--surface-soft)}.billing-item.clickable{cursor:pointer}.billing-item.clickable:hover{background:var(--primary-soft, rgba(var(--primary-rgb, 59, 130, 246), .08))}.preview-arrow{font-size:16px;color:var(--fg-dim);opacity:0;transition:opacity .15s,transform .15s}.billing-item.clickable:hover .preview-arrow{opacity:1;transform:translate(2px)}.billing-item-type{display:flex;align-items:center;gap:6px;min-width:80px}.type-icon{font-size:18px}.type-label{font-size:12px;font-weight:500;color:var(--fg-dim)}.billing-item-main{flex:1;min-width:0}.billing-item-ref{font-weight:600;color:var(--fg)}.billing-item-date,.billing-item-site{font-size:12px;color:var(--fg-dim);margin-top:2px}.billing-item-amount{font-size:15px;font-weight:600;color:var(--success);white-space:nowrap}.xero-link{font-size:12px;color:#0078c1;text-decoration:none;padding:4px 8px;border-radius:4px;transition:background .15s}.xero-link:hover{background:#0078c11a}@media (max-width: 600px){.billing-stats,.billing-filters{flex-direction:column}.billing-item{flex-wrap:wrap}.billing-item-main{order:1;width:100%}.billing-item-amount{order:2}}.route-table{width:100%}.route-table__toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.route-table__search{flex:1;min-width:200px}.route-table__search-input{width:100%;padding:10px 14px;border:1px solid var(--border, #2d2d3d);border-radius:8px;font-size:14px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0)}.route-table__search-input::placeholder{color:var(--muted, #888)}.route-table__search-input:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.route-table__filters{display:flex;gap:8px;align-items:center}.route-table__filter-select{padding:10px 14px;border:1px solid var(--border, #2d2d3d);border-radius:8px;font-size:13px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0);cursor:pointer}.route-table__filter-select:focus{outline:none;border-color:var(--accent, #6366f1)}.route-table__clear-btn{padding:8px 14px;background:transparent;border:1px solid var(--border, #2d2d3d);border-radius:8px;font-size:12px;color:var(--muted, #888);cursor:pointer;transition:all .15s}.route-table__clear-btn:hover{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--accent, #6366f1);color:var(--text, #e0e0e0)}.route-table__count{font-size:13px;color:var(--muted, #888);white-space:nowrap}.route-table__loading,.route-table__empty{padding:48px 24px;text-align:center;color:var(--muted, #888);background:var(--surface, #1e1e2e);border:1px solid var(--border, #2d2d3d);border-radius:12px}.route-table__empty p{margin:0 0 16px;color:var(--text, #e0e0e0)}.route-table__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.route-card{background:var(--card, #1a1a2e);border:1px solid var(--border, #2d2d3d);border-radius:12px;padding:18px;transition:all .2s ease}.route-card:hover{border-color:var(--accent, #6366f1);box-shadow:0 4px 16px #0003}.route-card__header{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}.route-card__icon{font-size:28px;line-height:1}.route-card__title{flex:1;min-width:0}.route-card__title h4{margin:0;font-size:16px;font-weight:600;color:var(--text, #e0e0e0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-card__code{display:inline-block;font-size:11px;font-weight:500;color:var(--muted, #888);background:var(--surface, #1e1e2e);padding:3px 8px;border-radius:4px;margin-top:5px}.route-card__status{font-size:12px;font-weight:600;text-transform:capitalize;padding:4px 10px;border-radius:6px;background:var(--surface, #1e1e2e)}.route-card__status--active{color:var(--success, #10b981);background:#10b9811a}.route-card__status--inactive{color:var(--muted, #888);background:var(--surface, #1e1e2e)}.route-card__status--draft{color:var(--warning, #f59e0b);background:#f59e0b1a}.route-card__type{font-size:13px;color:var(--muted, #888);margin-bottom:10px}.route-card__description{font-size:13px;color:var(--muted, #888);margin:0 0 14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.route-card__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;padding:14px;background:var(--surface, #1e1e2e);border-radius:8px}.route-card__stat{display:flex;flex-direction:column;gap:3px}.stat-label{font-size:11px;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:15px;font-weight:600;color:var(--text, #e0e0e0)}.route-card__checkin{display:inline-block;font-size:12px;color:var(--accent, #6366f1);background:#6366f11a;padding:6px 10px;border-radius:6px;margin-bottom:14px}.route-card__actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--border, #2d2d3d)}.route-card__actions .btn{flex:1;padding:8px 12px;font-size:13px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.route-card__actions .btn-ghost{background:transparent;border:1px solid var(--border, #2d2d3d);color:var(--text, #e0e0e0)}.route-card__actions .btn-ghost:hover{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--accent, #6366f1)}.route-card__actions .btn-secondary{background:var(--surface, #1e1e2e);border:1px solid var(--border, #2d2d3d);color:var(--text, #e0e0e0)}.route-card__actions .btn-secondary:hover{background:var(--surface-soft, rgba(255, 255, 255, .08));border-color:var(--accent, #6366f1)}.btn-danger{background:transparent;border:1px solid var(--danger, #ef4444);color:var(--danger, #ef4444)}.btn-danger:hover{background:#ef44441a}.btn-sm{padding:6px 12px;font-size:12px}@media (max-width: 640px){.route-table__toolbar{flex-direction:column;align-items:stretch}.route-table__search{width:100%}.route-table__filters{flex-wrap:wrap}.route-table__grid{grid-template-columns:1fr}}.map-route-planner{width:100%;display:flex;flex-direction:column;gap:12px}.map-route-planner--fullscreen{height:calc(100vh - 180px);min-height:500px}.map-route-planner__toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;flex-shrink:0}.map-route-planner__search{flex:1;min-width:250px;max-width:350px}.site-search-option{display:flex;flex-direction:column;gap:2px;padding:4px 0}.site-search-option__name{font-weight:500;color:var(--text, #e0e0e0)}.site-search-option__meta{font-size:12px;color:var(--muted, #888)}.map-route-planner__toggle{display:flex;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2d2d3d);border-radius:8px;padding:3px;gap:3px}.map-route-planner__toggle .toggle-btn{padding:6px 14px;font-size:12px;font-weight:500;background:transparent;border:none;border-radius:6px;color:var(--muted, #888);cursor:pointer;transition:all .2s ease;white-space:nowrap}.map-route-planner__toggle .toggle-btn:hover{color:var(--text, #e0e0e0);background:var(--surface-soft, rgba(255, 255, 255, .05))}.map-route-planner__toggle .toggle-btn.active{background:var(--accent, #6366f1);color:#fff}.map-route-planner__toggle .toggle-btn.has-warning{color:var(--warning, #f59e0b)}.map-route-planner__toggle .toggle-btn.has-warning.active{background:var(--warning, #f59e0b);color:#fff}.map-route-planner__toggle .toggle-btn--muted{opacity:.6}.map-route-planner__toggle .toggle-btn--muted.active{background:var(--muted, #888);opacity:1}.map-route-planner__geo-search{display:flex;flex-wrap:wrap;gap:10px;align-items:center;flex-shrink:0}.geo-search-input-group{display:flex;gap:6px;flex:1;min-width:200px;max-width:350px}.geo-search-input{flex:1;padding:8px 12px;font-size:13px;border:1px solid var(--border, #2d2d3d);border-radius:8px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0)}.geo-search-input:focus{outline:none;border-color:var(--accent, #6366f1)}.geo-search-btn{padding:8px 14px;font-size:12px;font-weight:500;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap}.geo-search-btn:hover{background:#5558e3}.geo-search-active{display:flex;align-items:center;gap:12px;padding:6px 12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:8px;flex-wrap:wrap}.geo-location-name{font-size:12px;font-weight:500;color:var(--warning, #f59e0b);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.geo-radius-selector{display:flex;align-items:center;gap:6px}.geo-radius-selector label{font-size:11px;color:var(--muted, #888)}.geo-radius-selector select{padding:4px 8px;font-size:12px;border:1px solid var(--border, #2d2d3d);border-radius:6px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0);cursor:pointer}.geo-site-count{font-size:11px;color:var(--text, #e0e0e0);background:#6366f133;padding:3px 8px;border-radius:10px}.geo-clear-btn{padding:4px 10px;font-size:11px;font-weight:500;background:transparent;border:1px solid var(--border, #2d2d3d);border-radius:6px;color:var(--muted, #888);cursor:pointer;transition:all .15s}.geo-clear-btn:hover{border-color:var(--danger, #ef4444);color:var(--danger, #ef4444)}.map-route-planner__endpoints{display:flex;gap:12px;flex-shrink:0}.endpoint-input{flex:1;position:relative}.endpoint-input.placing{border-radius:8px;background:#6366f11a;padding:8px;margin:-8px}.endpoint-input label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.endpoint-badge{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:700;color:#fff}.endpoint-badge.start{background:var(--success, #10b981)}.endpoint-badge.end{background:var(--danger, #ef4444)}.endpoint-input-row{display:flex;gap:6px;align-items:center}.endpoint-input input{flex:1;padding:10px 12px;font-size:13px;border:1px solid var(--border, #2d2d3d);border-radius:8px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0)}.endpoint-input input::placeholder{color:var(--muted, #666)}.endpoint-input input:focus{outline:none;border-color:var(--accent, #6366f1)}.endpoint-map-btn{padding:8px 10px;font-size:14px;border:1px solid var(--border, #2d2d3d);border-radius:8px;background:var(--surface, #1e1e2e);color:var(--muted, #888);cursor:pointer;transition:all .15s}.endpoint-map-btn:hover{border-color:var(--accent, #6366f1);color:var(--text, #e0e0e0)}.endpoint-map-btn.active{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.endpoint-clear-btn{padding:8px 10px;font-size:14px;border:1px solid var(--border, #2d2d3d);border-radius:8px;background:var(--surface, #1e1e2e);color:var(--muted, #888);cursor:pointer;transition:all .15s}.endpoint-clear-btn:hover{border-color:var(--danger, #ef4444);color:var(--danger, #ef4444)}.endpoint-hint{font-size:11px;color:var(--accent, #6366f1);margin-top:4px;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.endpoint-verified{position:absolute;right:10px;top:28px;color:var(--success, #10b981);font-size:14px;font-weight:700}.route-endpoint-marker{background:transparent;border:none}.route-endpoint-marker .endpoint-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;color:#fff;box-shadow:0 2px 8px #0000004d}.route-endpoint-marker.start .endpoint-icon{background:var(--success, #10b981)}.route-endpoint-marker.end .endpoint-icon{background:var(--danger, #ef4444)}.route-arrow-marker{background:transparent!important;border:none!important}.route-arrow{width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:#fff;text-shadow:-1px -1px 0 #6366f1,1px -1px 0 #6366f1,-1px 1px 0 #6366f1,1px 1px 0 #6366f1,0 0 4px rgba(99,102,241,.8);line-height:1}.site-marker-with-badge{position:relative;background:transparent!important;border:none!important}.site-marker-with-badge .site-diamond{width:16px;height:16px;transform:rotate(45deg);border-radius:3px;border:2px solid white;box-shadow:0 2px 6px #0006;position:absolute;top:4px;left:4px}.site-marker-with-badge .checkpoint-count-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;background:#3b82f6;color:#fff;font-size:10px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white;box-shadow:0 1px 3px #0000004d}.route-planner-popup .popup-zoom-hint{font-size:11px;color:#6366f1;font-style:italic;margin-top:4px}.site-cluster-marker{background:transparent}.site-cluster-marker .cluster-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:3px solid;box-shadow:0 2px 8px #0006;opacity:.9;transition:transform .15s ease,opacity .15s ease}.site-cluster-marker:hover .cluster-circle{transform:scale(1.1);opacity:1}.site-cluster-marker .cluster-count{font-size:14px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.site-cluster-marker .cluster-checkpoint-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:#3b82f6;color:#fff;font-size:10px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white;box-shadow:0 1px 3px #0000004d}.cluster-popup{min-width:200px}.cluster-popup .cluster-site-list{margin-top:8px;max-height:200px;overflow-y:auto;border-top:1px solid var(--border, #2d2d3d);padding-top:8px}.cluster-popup .cluster-site-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:12px}.cluster-popup .cluster-site-item.in-route{color:#22c55e}.cluster-popup .cluster-site-item .site-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cluster-popup .cluster-site-item .site-checkpoints{font-size:10px;color:#3b82f6;padding:2px 6px;background:#3b82f626;border-radius:4px}.cluster-popup .popup-add-btn-sm{padding:2px 8px;font-size:12px;font-weight:700;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:4px;cursor:pointer;flex-shrink:0}.cluster-popup .popup-add-btn-sm:hover{background:var(--accent-hover, #4f46e5)}.map-route-planner__layout{display:grid;grid-template-columns:1fr 340px;gap:12px;flex:1;min-height:0;overflow:hidden}@media (max-width: 1100px){.map-route-planner__layout{grid-template-columns:1fr;grid-template-rows:1fr auto}.map-route-planner__toolbar{flex-direction:column;align-items:stretch}.map-route-planner__search{max-width:none}.map-route-planner__toggle{justify-content:center}.map-route-planner__endpoints{flex-direction:column}.map-route-planner--fullscreen{height:auto;min-height:calc(100vh - 200px)}}.map-route-planner__map-panel{display:flex;flex-direction:column;border:1px solid var(--border, #2d2d3d);border-radius:8px;overflow:hidden;background:var(--card, #1a1a2e);min-height:0}.map-route-planner__map-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface, #1e1e2e);border-bottom:1px solid var(--border, #2d2d3d);font-size:12px;color:var(--muted, #888);flex-shrink:0}.map-route-planner__site-count{font-weight:500;color:var(--text, #e0e0e0)}.map-route-planner__map{flex:1;min-height:300px}.leaflet-popup-content-wrapper{background:var(--card, #1a1a2e)!important;color:var(--text, #e0e0e0)!important;border:1px solid var(--border, #2d2d3d)!important;border-radius:8px!important;box-shadow:0 4px 20px #0000004d!important}.leaflet-popup-tip{background:var(--card, #1a1a2e)!important;border:1px solid var(--border, #2d2d3d)!important}.leaflet-popup-close-button{color:var(--muted, #888)!important}.leaflet-popup-close-button:hover{color:var(--text, #e0e0e0)!important}.route-planner-popup{min-width:180px;padding:2px}.route-planner-popup strong{display:block;font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text, #e0e0e0)}.popup-customer{font-size:12px;color:var(--muted, #888);margin-bottom:3px}.popup-address{font-size:12px;color:var(--muted, #888);margin-bottom:6px}.popup-code{font-size:11px;color:var(--accent, #6366f1);font-family:Fira Code,Consolas,monospace;background:#6366f11a;padding:2px 6px;border-radius:4px;display:inline-block;margin-bottom:4px}.popup-site{font-size:11px;color:var(--muted, #888);margin-bottom:6px}.popup-checkpoints{font-size:12px;color:var(--accent, #6366f1);font-weight:500;margin-bottom:8px}.popup-in-route{font-size:12px;color:var(--success, #10b981);font-weight:500;padding:5px 8px;background:#10b98126;border-radius:6px;display:inline-block}.popup-add-btn{display:block;width:100%;padding:7px 12px;background:var(--accent, #6366f1);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s}.popup-add-btn:hover{background:var(--accent-hover, #4f46e5)}.map-route-planner__playlist-panel{display:flex;flex-direction:column;border:1px solid var(--border, #2d2d3d);border-radius:8px;background:var(--card, #1a1a2e);overflow:hidden;min-height:0}.map-route-planner__playlist-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--surface, #1e1e2e);border-bottom:1px solid var(--border, #2d2d3d);flex-shrink:0}.map-route-planner__playlist-header h4{margin:0;font-size:13px;font-weight:600;color:var(--text, #e0e0e0)}.map-route-planner__empty{padding:30px 16px;text-align:center;color:var(--muted, #888)}.map-route-planner__empty p{margin:0 0 6px;color:var(--text, #e0e0e0);font-size:13px}.map-route-planner__empty .hint{font-size:12px;color:var(--muted, #888)}.map-route-planner__stops{flex:1;overflow-y:auto;padding:8px;min-height:0}.map-route-planner__stops::-webkit-scrollbar{width:5px}.map-route-planner__stops::-webkit-scrollbar-track{background:transparent}.map-route-planner__stops::-webkit-scrollbar-thumb{background:var(--border, #2d2d3d);border-radius:3px}.map-route-planner__stops::-webkit-scrollbar-thumb:hover{background:var(--muted, #888)}.map-route-planner__stop{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;margin-bottom:6px;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2d2d3d);border-radius:8px;transition:all .15s}.map-route-planner__stop:hover{border-color:var(--accent, #6366f1)}.map-route-planner__stop.dragging{opacity:.5;border-color:var(--accent, #6366f1);background:#6366f11a}.map-route-planner__stop.is-break{background:#f59e0b1a;border-color:#f59e0b4d}.stop__drag-handle{cursor:grab;padding:2px;color:var(--muted, #888);font-size:14px;line-height:1;user-select:none}.stop__drag-handle:active{cursor:grabbing}.stop__number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--accent, #6366f1);color:#fff;border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0}.map-route-planner__stop.is-break .stop__number{background:var(--warning, #f59e0b)}.stop__content{flex:1;min-width:0}.stop__name{font-weight:500;font-size:13px;display:flex;align-items:center;gap:5px;color:var(--text, #e0e0e0)}.stop__name.clickable{cursor:pointer}.stop__name.clickable:hover{color:var(--accent, #6366f1)}.stop__icon{font-size:12px}.stop__customer{font-size:11px;color:var(--muted, #888);margin-top:1px}.stop__meta{display:flex;gap:6px;margin-top:3px;font-size:11px}.stop__checkpoints{color:var(--accent, #6366f1);font-weight:500}.stop__break-type{padding:3px 6px;font-size:11px;border:1px solid var(--border, #2d2d3d);border-radius:4px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0);cursor:pointer}.stop__break-type:focus{outline:none;border-color:var(--accent, #6366f1)}.stop__checkpoints-toggle{display:flex;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;font-size:inherit}.stop__checkpoints-toggle:hover .stop__checkpoints{text-decoration:underline}.toggle-arrow{font-size:10px;color:var(--muted, #888);transition:transform .2s ease}.toggle-arrow.expanded{transform:rotate(180deg)}.stop__visit-mode{display:flex;gap:12px;margin:6px 0;padding:6px 0;border-bottom:1px solid var(--border, #2d2d3d)}.visit-mode-option{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted, #888);cursor:pointer;transition:color .15s}.visit-mode-option:hover{color:var(--text, #e0e0e0)}.visit-mode-option input[type=radio]{accent-color:var(--accent, #6366f1);width:14px;height:14px;margin:0}.visit-mode-option input[type=radio]:checked+span{color:var(--accent, #6366f1);font-weight:500}.stop__checkpoint-list{margin-top:8px;padding:8px 10px;background:var(--surface, #1e1e2e);border:1px solid var(--border, #2d2d3d);border-radius:6px}.checkpoint-list-actions{display:flex;gap:4px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--border, #2d2d3d)}.checkpoint-action-btn{padding:4px 8px;font-size:10px;background:transparent;border:1px solid var(--border, #2d2d3d);border-radius:4px;color:var(--muted, #888);cursor:pointer;transition:all .15s}.checkpoint-action-btn:hover:not(:disabled){background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.checkpoint-action-btn:disabled{opacity:.5;cursor:not-allowed}.checkpoint-item{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px;color:var(--text, #e0e0e0)}.checkpoint-item.selectable{cursor:pointer;padding:5px 6px;margin:1px 0;border-radius:4px;transition:background .15s}.checkpoint-item.selectable:hover{background:#6366f11f}.checkpoint-item.selectable.selected{background:#22c55e1f}.checkpoint-item.selectable:not(.selected){opacity:.5}.checkpoint-item:not(.selectable):not(:last-child){border-bottom:1px solid var(--border, #2d2d3d)}.checkpoint-checkbox{accent-color:var(--success, #22c55e);width:14px;height:14px;margin:0;flex-shrink:0;pointer-events:none}.checkpoint-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkpoint-code{font-size:9px;color:var(--muted, #666);background:var(--surface, #1e1e2e);padding:1px 5px;border-radius:3px;font-family:monospace;flex-shrink:0;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkpoint-sub-number{font-size:11px;font-weight:600;color:var(--muted, #888);min-width:28px;flex-shrink:0}.stop__checkpoint-list.assets-mode{background:#6366f10d;border-radius:6px;padding:6px;border:1px solid rgba(99,102,241,.15)}.stop__times{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.stop__time-input{display:flex;flex-direction:column;gap:4px}.stop__time-input label{font-size:9px;color:var(--muted, #888);text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:6px}.stop__time-input--travel label .travel-distance{font-size:9px;color:var(--accent, #6366f1);font-weight:500}.time-input-group{display:flex;align-items:center;gap:6px}.time-quick-buttons{display:flex;gap:3px}.time-quick-btn{padding:4px 7px;font-size:11px;font-weight:500;border:1px solid var(--border, #2d2d3d);border-radius:4px;background:var(--surface, #1e1e2e);color:var(--muted, #888);cursor:pointer;transition:all .15s;min-width:28px}.time-quick-btn:hover{border-color:var(--accent, #6366f1);color:var(--text, #e0e0e0)}.time-quick-btn.active{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.time-quick-btn:disabled{opacity:.5;cursor:not-allowed}.time-custom-input{width:45px;padding:4px 5px;font-size:11px;border:1px solid var(--border, #2d2d3d);border-radius:4px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0);text-align:center}.time-custom-input:focus{outline:none;border-color:var(--accent, #6366f1)}.time-custom-input::placeholder{color:var(--muted, #888)}.travel-auto-value{font-size:12px;font-weight:500;color:var(--text, #e0e0e0);background:var(--surface, #1e1e2e);border:1px solid var(--border, #2d2d3d);border-radius:4px;padding:4px 8px;min-width:60px;text-align:center}.travel-clear-btn{padding:3px 6px;font-size:12px;border:1px solid var(--border, #2d2d3d);border-radius:4px;background:var(--surface, #1e1e2e);color:var(--muted, #888);cursor:pointer;transition:all .15s}.travel-clear-btn:hover{border-color:var(--accent, #6366f1);color:var(--accent, #6366f1)}.travel-clear-btn:disabled{opacity:.5;cursor:not-allowed}.stop__time-input input:not(.time-custom-input){width:55px;padding:5px 6px;font-size:12px;border:1px solid var(--border, #2d2d3d);border-radius:5px;background:var(--surface, #1e1e2e);color:var(--text, #e0e0e0)}.stop__time-input input:not(.time-custom-input):focus{outline:none;border-color:var(--accent, #6366f1)}.stop__time-input input:not(.time-custom-input)::placeholder{color:var(--muted, #888)}.stop__remove{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--muted, #888);font-size:16px;cursor:pointer;border-radius:5px;transition:all .15s;flex-shrink:0}.stop__remove:hover{background:#ef444426;color:var(--danger, #ef4444)}.map-route-planner__stop.is-endpoint{background:#6366f114;border-color:#6366f14d;padding:10px 12px 10px 10px}.map-route-planner__stop.is-endpoint.is-start{border-left:3px solid var(--success, #22c55e)}.map-route-planner__stop.is-endpoint.is-end{border-left:3px solid var(--accent, #6366f1)}.stop__endpoint-badge{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.stop__endpoint-badge.start{background:var(--success, #22c55e);color:#fff}.stop__endpoint-badge.end{background:var(--accent, #6366f1);color:#fff}.map-route-planner__stop.is-endpoint .stop__address{font-size:11px;color:var(--muted, #888);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-route-planner__stop.is-endpoint .stop__hint{font-size:10px;color:var(--accent, #6366f1);margin-top:3px;font-style:italic}.map-route-planner__summary{padding:10px 14px;background:var(--surface, #1e1e2e);border-top:1px solid var(--border, #2d2d3d);flex-shrink:0}.summary__row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px}.summary__row span{color:var(--muted, #888)}.summary__row strong{color:var(--text, #e0e0e0);font-weight:600}.summary__divider{height:1px;background:var(--border, #2d2d3d);margin:6px 0}.summary__total{font-size:13px}.summary__total span,.summary__total strong{color:var(--accent, #6366f1)}.btn-sm{padding:5px 10px;font-size:11px}.btn-ghost{background:transparent;border:1px solid var(--border, #2d2d3d);color:var(--text, #e0e0e0);cursor:pointer;border-radius:5px;transition:all .15s}.btn-ghost:hover{background:var(--surface-soft, rgba(255, 255, 255, .05));border-color:var(--accent, #6366f1)}.route-form{display:flex;flex-direction:column;gap:16px}.route-form__section{padding:16px;background:var(--surface, #1e1e2e);border-radius:8px}.route-form__section-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text, #e0e0e0)}.route-form__hint{margin:4px 0 0;font-size:12px;color:var(--muted, #888)}.route-form__actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border, #2d2d3d)}.supplier-order-drawer{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.order-header-info{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-radius:10px;gap:1rem}.supplier-info{display:flex;align-items:center;gap:.75rem}.supplier-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;color:#fff;font-weight:600;font-size:1.125rem}.supplier-details h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.supplier-email{font-size:.8125rem;color:var(--text-secondary)}.order-status{padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase}.order-status.status-secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.order-status.status-info{background:#3b82f626;color:#3b82f6}.order-status.status-success{background:#22c55e26;color:#22c55e}.order-status.status-warning{background:#f59e0b26;color:#f59e0b}.order-status.status-danger{background:#ef444426;color:#ef4444}.header-actions{display:flex;align-items:center;gap:.75rem}.edit-mode-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease}.edit-mode-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent)}.edit-mode-btn.cancel{color:var(--text-tertiary)}.edit-mode-btn.cancel:hover{color:#ef4444;border-color:#ef4444}.edit-mode-btn svg{width:14px;height:14px}.form-select{width:100%;padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary)}.order-type-selector{display:flex;gap:.75rem}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.type-btn:hover{border-color:var(--accent);color:var(--text-primary)}.type-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.type-btn svg{width:18px;height:18px}.line-items{background:var(--bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.line-items-header{display:grid;grid-template-columns:2fr 110px 70px 100px 100px 40px;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.line-items-header span{white-space:nowrap}.line-item{display:grid;grid-template-columns:2fr 110px 70px 100px 100px 40px;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--border);align-items:center}.line-item:first-of-type{border-top:none}.line-item input{padding:.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary)}.line-item input:focus{outline:none;border-color:var(--accent);background:var(--bg)}.line-item .col-desc{min-width:0}.line-item .col-sku{font-size:.8125rem}.line-item .col-qty{text-align:center}.line-item .col-price,.line-item .col-total{text-align:right}.line-item .col-total{font-weight:500;color:var(--text-primary)}.remove-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease}.remove-btn:hover:not(:disabled){background:#ef44441a;color:#ef4444}.remove-btn:disabled{opacity:.3;cursor:not-allowed}.remove-btn svg{width:16px;height:16px}.add-item-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem;background:transparent;border:none;border-top:1px solid var(--border);color:var(--accent);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s ease}.add-item-btn:hover{background:var(--accent-subtle)}.add-item-btn svg{width:16px;height:16px}@media (max-width: 900px){.line-items-header{grid-template-columns:2fr 80px 60px 80px 80px 36px;gap:.5rem;font-size:.625rem}.line-item{grid-template-columns:2fr 80px 60px 80px 80px 36px;gap:.5rem}}@media (max-width: 768px){.order-header-info{flex-direction:column;align-items:flex-start}.order-type-selector{flex-direction:column}.line-items-header{display:none}.line-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;position:relative}.line-item input{padding:.625rem;width:100%}.line-item .col-desc{order:1}.line-item .col-sku{order:2}.line-item .col-qty,.line-item .col-price{order:3;width:48%;display:inline-block}.line-item .col-total{order:4;font-size:1rem;text-align:right}.line-item .col-action{position:absolute;top:.75rem;right:.75rem;order:5}.form-grid{grid-template-columns:1fr}.drawer-actions{flex-direction:column}.drawer-actions .spacer{display:none}.drawer-actions button{width:100%}}.send-preview-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.send-preview-modal{width:100%;max-width:600px;max-height:85vh;background:var(--bg);border-radius:16px;box-shadow:0 25px 50px -12px #0006;display:flex;flex-direction:column;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.preview-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.preview-header h3 svg{width:18px;height:18px;color:var(--accent)}.preview-header .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.preview-header .close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.preview-header .close-btn svg{width:18px;height:18px}.preview-content{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.preview-field{display:flex;gap:.75rem;align-items:baseline}.preview-field label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);min-width:80px}.preview-field span{font-size:.9375rem;color:var(--text-primary)}.preview-section{display:flex;flex-direction:column;gap:.5rem}.preview-section label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.preview-text{font-size:.9375rem;color:var(--text-primary);white-space:pre-wrap;background:var(--bg-secondary);padding:.75rem 1rem;border-radius:8px}.preview-text.muted{color:var(--text-secondary);background:var(--bg-tertiary)}.preview-internal-notes label{display:flex;align-items:center;gap:.5rem;color:var(--text-tertiary)}.preview-internal-notes label svg{width:14px;height:14px}.preview-order-summary{background:var(--bg-secondary);border-radius:10px;overflow:hidden}.preview-items-table{width:100%;border-collapse:collapse;font-size:.875rem}.preview-items-table th{text-align:left;padding:.75rem 1rem;font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.preview-items-table td{padding:.75rem 1rem;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:top}.preview-items-table .item-desc{max-width:250px;white-space:pre-wrap;word-break:break-word}.preview-items-table tbody tr:last-child td{border-bottom:none}.preview-items-table tfoot{background:var(--bg-tertiary)}.preview-items-table tfoot td{padding:.5rem 1rem;font-size:.8125rem;border-bottom:none}.preview-items-table tfoot tr:first-child td{padding-top:.75rem}.preview-items-table tfoot .total-row td{padding-top:.5rem;padding-bottom:.75rem;font-size:1rem;border-top:1px solid var(--border)}.preview-items-table .text-right{text-align:right}.preview-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-secondary);border-top:1px solid var(--border)}@media (max-width: 600px){.send-preview-modal{max-height:90vh;border-radius:12px}.preview-field{flex-direction:column;gap:.25rem}.preview-field label{min-width:unset}.preview-items-table th:nth-child(2),.preview-items-table td:nth-child(2){display:none}.preview-actions{flex-direction:column}.preview-actions button{width:100%}}.supplier-detail-drawer{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem}.supplier-header{display:flex;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.supplier-avatar.large{width:56px;height:56px;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.supplier-header .supplier-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.supplier-header .supplier-info h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.supplier-header .supplier-code{font-size:.75rem;color:var(--text-secondary);font-family:var(--font-mono)}.supplier-header .preferred-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--warning-bg);color:var(--warning);border-radius:4px;font-size:.75rem;font-weight:500;width:fit-content}.supplier-quick-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;padding:1rem;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.supplier-quick-info .info-item{display:flex;flex-direction:column;gap:.25rem}.supplier-quick-info .info-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.supplier-quick-info .info-value{font-size:.875rem;color:var(--text-primary)}.supplier-quick-info .info-value.link{color:var(--accent);text-decoration:none}.supplier-quick-info .info-value.link:hover{text-decoration:underline}.tab-content{flex:1;min-height:300px}.loading-state{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.tab-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.tab-header h3{margin:0;font-size:1rem;font-weight:600}.empty-state{text-align:center;padding:2rem;background:var(--surface);border-radius:8px;border:1px dashed var(--border)}.sites-list{display:flex;flex-direction:column;gap:.75rem}.site-card{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .2s}.site-card:hover{border-color:var(--accent)}.site-card.default{border-color:var(--accent);background:var(--accent-soft)}.site-info{display:flex;flex-direction:column;gap:.35rem;flex:1}.site-name{font-weight:600;display:flex;align-items:center;gap:.5rem}.default-badge,.pickup-badge{font-size:.65rem;padding:.15rem .35rem;border-radius:3px;font-weight:500}.default-badge{background:var(--accent);color:#fff}.pickup-badge{background:var(--success-bg);color:var(--success)}.site-address,.site-hours,.site-email{font-size:.8rem}.site-email a{color:var(--accent);text-decoration:none}.site-email a:hover{text-decoration:underline}.site-actions{display:flex;gap:.5rem}.contacts-list{display:flex;flex-direction:column;gap:.75rem}.contact-card{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .2s}.contact-card:hover,.contact-card.primary{border-color:var(--accent)}.contact-info{display:flex;flex-direction:column;gap:.35rem;flex:1}.contact-name{font-weight:600;display:flex;align-items:center;gap:.5rem}.primary-badge{font-size:.65rem;padding:.15rem .35rem;border-radius:3px;font-weight:500;background:var(--accent);color:#fff}.contact-role{font-size:.8rem}.contact-email{font-size:.85rem;color:var(--accent);text-decoration:none}.contact-email:hover{text-decoration:underline}.contact-phones{display:flex;gap:1rem;font-size:.8rem}.contact-phones a{color:var(--text-secondary);text-decoration:none}.contact-phones a:hover{color:var(--accent)}.contact-flags{display:flex;gap:.5rem;margin-top:.35rem}.contact-flags .flag{font-size:.65rem;padding:.15rem .35rem;border-radius:3px;background:var(--surface-hover);color:var(--text-secondary)}.contact-actions{display:flex;gap:.5rem}.catalog-list{display:flex;flex-direction:column;gap:.75rem}.catalog-card{display:flex;align-items:flex-start;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .2s;gap:1rem}.catalog-card:hover{border-color:var(--accent)}.catalog-info{flex:1;display:flex;flex-direction:column;gap:.35rem}.catalog-name{font-weight:600}.catalog-part-number{font-size:.75rem;font-family:var(--font-mono)}.catalog-description{font-size:.8rem;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-pricing{text-align:right;display:flex;flex-direction:column;gap:.25rem;min-width:100px}.catalog-price{font-weight:600;font-size:1rem;color:var(--text-primary)}.catalog-price .currency{font-size:.75rem;font-weight:400}.catalog-lead-time{font-size:.75rem}.out-of-stock-badge{font-size:.65rem;padding:.2rem .4rem;border-radius:3px;background:var(--danger-bg);color:var(--danger)}.catalog-actions{display:flex;gap:.5rem;align-items:flex-start}.category-tag{font-size:.65rem;padding:.2rem .4rem;border-radius:3px;background:var(--accent-soft);color:var(--accent);text-transform:capitalize;width:fit-content}.icon-btn{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.icon-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.icon-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-bg)}.form-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.form-modal{background:var(--bg);border-radius:12px;padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.form-modal.wide{max-width:600px}.form-modal h3{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;font-weight:500;color:var(--text-secondary);margin-bottom:.35rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:.875rem;font-family:inherit}.form-hint{font-size:.7rem;color:var(--text-muted);margin-top:.25rem;display:block}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row.three-col{grid-template-columns:1fr 1fr 1fr}.form-row.checkboxes{display:flex;gap:1.5rem;margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-primary);cursor:pointer}.checkbox-label.inline{margin-top:1.5rem}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.checkbox-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.price-input-group{display:flex;align-items:center}.price-input-group .currency-prefix{padding:.625rem .75rem;background:var(--surface-hover);border:1px solid var(--border);border-right:none;border-radius:6px 0 0 6px;color:var(--text-muted);font-size:.875rem}.price-input-group input{border-radius:0 6px 6px 0}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}@media (max-width: 600px){.form-row,.form-row.three-col{grid-template-columns:1fr}.supplier-quick-info{grid-template-columns:1fr 1fr}.catalog-card{flex-direction:column}.catalog-pricing{text-align:left;flex-direction:row;gap:1rem;align-items:center}}.ra-panel{padding:0}.ra-panel.ra-loading{display:flex;align-items:center;gap:8px;padding:12px;color:var(--muted);font-size:13px}.ra-empty{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.ra-empty .muted{font-size:13px;color:var(--muted)}.ra-device-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.ra-device{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.ra-device:hover{border-color:var(--accent)}.ra-device-main{display:flex;align-items:center;gap:10px;padding:10px 12px}.ra-device-icon{width:18px;height:18px;color:var(--muted);flex-shrink:0}.ra-device-icon svg{width:100%;height:100%}.ra-device-info{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ra-device-name{font-weight:500;font-size:13px;color:var(--fg)}.ra-device-id{font-size:11px;color:var(--muted);background:var(--surface-soft);padding:1px 5px;border-radius:3px;font-family:var(--font-mono)}.ra-device-desc{width:100%;font-size:12px;color:var(--muted);margin-top:2px}.ra-device-actions{display:flex;gap:4px;flex-shrink:0}.ra-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--fg);cursor:pointer;transition:all .15s}.ra-action-btn svg{width:14px;height:14px}.ra-action-btn:hover{background:var(--surface-soft);border-color:var(--accent);color:var(--accent)}.ra-action-btn:disabled{opacity:.4;cursor:not-allowed}.ra-action-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ra-action-btn.primary:hover{background:color-mix(in oklab,var(--accent) 85%,black)}.ra-action-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.ra-password-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:color-mix(in oklab,var(--warning) 8%,var(--surface));border-top:1px solid var(--border);font-size:12px}.ra-password-label{color:var(--muted);font-weight:500}.ra-password-value{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--fg)}.ra-hide-btn{padding:2px 8px;font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:3px;color:var(--muted);cursor:pointer}.ra-hide-btn:hover{background:var(--surface-soft)}.ra-add-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;color:var(--accent);background:transparent;border:1px dashed var(--border);border-radius:4px;cursor:pointer;transition:all .15s}.ra-add-btn:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 5%,transparent)}.form-divider{display:flex;align-items:center;gap:12px;margin:20px 0 12px}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:var(--border)}.form-divider span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.loading-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}@media (max-width: 480px){.ra-device-main{flex-wrap:wrap}.ra-device-actions{width:100%;margin-top:8px;justify-content:flex-end}}.credential-order-drawer{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.order-status-header{display:flex;align-items:center;gap:1rem}.linked-po{font-size:.75rem;padding:.25rem .5rem;background:var(--accent-subtle);color:var(--accent);border-radius:4px}.supplier-info-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:10px;border:1px solid var(--border)}.supplier-info-card .supplier-avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;font-weight:600;font-size:1rem}.supplier-info-card .supplier-details{flex:1;display:flex;flex-direction:column;gap:.125rem}.supplier-info-card .supplier-name{font-weight:600;color:var(--text-primary)}.supplier-info-card .supplier-email{font-size:.8125rem;color:var(--accent);text-decoration:none}.supplier-info-card .supplier-email:hover{text-decoration:underline}.supplier-info-card .linked-po-badge{font-size:.7rem;padding:.25rem .5rem;background:var(--success-bg);color:var(--success);border-radius:4px;font-weight:500}.form-hint{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.customer-info-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:10px}.customer-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,color-mix(in oklab,var(--accent) 70%,#000) 100%);border-radius:10px;color:#fff;font-weight:600;font-size:1.125rem}.customer-details h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.customer-details .site-name{font-size:.8125rem;color:var(--text-secondary)}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.form-select{padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary)}.form-select:focus{outline:none;border-color:var(--accent)}.loading-configs,.no-configs{padding:2rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px}.no-configs p{margin:0 0 1rem}.config-selection{display:flex;flex-direction:column;gap:.75rem}.config-item{padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:10px;transition:all .15s ease}.config-item.selected{border-color:var(--accent);background:var(--accent-subtle)}.config-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.config-info .config-label{font-weight:600;color:var(--text-primary)}.config-info .config-specs{font-size:.8125rem;color:var(--text-secondary)}.config-available{font-size:.75rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);white-space:nowrap}.config-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.qty-control{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.qty-control button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-secondary);border:none;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.qty-control button:hover:not(:disabled){background:var(--accent-subtle);color:var(--accent)}.qty-control button:disabled{opacity:.3;cursor:not-allowed}.qty-control button svg{width:16px;height:16px}.qty-control input{width:60px;padding:.5rem;text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--bg);font-size:.875rem;font-weight:600;color:var(--text-primary)}.qty-control input:focus{outline:none}.line-total{font-weight:600;color:var(--accent)}.allocation-preview{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border);display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.preview-label{color:var(--text-secondary)}.preview-numbers{font-family:var(--font-mono, monospace);color:var(--accent);font-weight:500}.order-items-list{display:flex;flex-direction:column;gap:.5rem}.order-item{display:grid;grid-template-columns:1fr auto auto auto;gap:1rem;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:8px}.order-item .item-info{display:flex;flex-direction:column;gap:.125rem}.order-item .item-label{font-weight:600;color:var(--text-primary)}.order-item .item-specs{font-size:.75rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.35rem}.order-item .item-specs .spec-tag{display:inline-block;padding:.15rem .4rem;background:var(--bg-tertiary);border-radius:4px;font-size:.7rem}.order-item .item-part-number{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--accent);margin-top:.25rem}.order-item .item-qty{font-weight:600;color:var(--text-primary)}.order-item .item-numbers{font-family:var(--font-mono, monospace);font-size:.8125rem;color:var(--accent)}.order-item .item-total{font-weight:600;color:var(--text-primary)}.order-totals{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-radius:10px}.total-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-secondary)}.total-row.total-final{padding-top:.5rem;border-top:1px solid var(--border);font-size:1rem;font-weight:600;color:var(--text-primary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{font-size:.8125rem;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary);resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.readonly-value{font-size:.875rem;color:var(--text-primary);white-space:pre-wrap}.drawer-actions{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border);margin-top:auto}.drawer-actions .spacer{flex:1}.site-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.site-selection-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem;background:var(--bg);border:2px solid var(--border);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s ease}.site-selection-card:hover{border-color:var(--accent);background:var(--accent-subtle)}.site-selection-card.selected{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.site-card-name{font-weight:600;color:var(--text-primary)}.site-card-address{font-size:.8125rem;color:var(--text-secondary);line-height:1.3}.no-sites-message{padding:2rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px}.no-sites-message p{margin:0}.fulfillment-toggle{display:flex;gap:.5rem;padding:.25rem;background:var(--bg-secondary);border-radius:10px;width:fit-content}.fulfillment-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.fulfillment-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg)}.fulfillment-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in oklab,var(--accent) 30%,transparent)}.fulfillment-btn:disabled{opacity:.4;cursor:not-allowed}.fulfillment-btn svg{width:16px;height:16px}.pickup-locations{margin-top:1rem}.loading-locations,.no-locations{padding:1.5rem;text-align:center;background:var(--bg-secondary);border-radius:8px}.supplier-location-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.supplier-location-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;background:var(--bg);border:2px solid var(--border);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s ease}.supplier-location-card:hover{border-color:var(--accent);background:var(--accent-subtle)}.supplier-location-card.selected{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.supplier-location-card .location-name{font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.supplier-location-card .location-name .default-badge{font-size:.65rem;padding:.15rem .35rem;border-radius:3px;background:var(--accent);color:#fff;font-weight:500}.supplier-location-card .location-address{font-size:.8125rem;color:var(--text-secondary);line-height:1.3}.supplier-location-card .location-hours{font-size:.75rem;margin-top:.25rem}@media (max-width: 768px){.config-header{flex-direction:column;gap:.5rem}.config-controls{flex-direction:column;align-items:stretch;gap:.75rem}.order-item{grid-template-columns:1fr;gap:.5rem}.form-grid{grid-template-columns:1fr}.drawer-actions{flex-direction:column}.drawer-actions .spacer{display:none}.drawer-actions button{width:100%}}.credential-config-drawer{display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.credential-config-drawer .form-section{display:flex;flex-direction:column;gap:.5rem}.credential-config-drawer .form-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.customer-display{padding:.625rem .75rem;background:var(--bg-secondary);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--text-primary)}.credential-config-drawer .form-select{padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary)}.credential-config-drawer .form-select:focus{outline:none;border-color:var(--accent)}.type-selector{display:flex;gap:.5rem;flex-wrap:wrap}.type-selector .type-btn{padding:.5rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.type-selector .type-btn:hover{border-color:var(--accent);color:var(--text-primary)}.type-selector .type-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);font-weight:500}.card-style-selector{display:flex;flex-wrap:wrap;gap:.5rem}.card-style-btn{padding:.625rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;white-space:nowrap}.card-style-btn:hover{border-color:var(--accent);color:var(--text-primary);background:var(--bg-secondary)}.card-style-btn.active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);font-weight:500}.credential-config-drawer .form-input,.credential-config-drawer .form-textarea{padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary)}.credential-config-drawer .form-input:focus,.credential-config-drawer .form-textarea:focus{outline:none;border-color:var(--accent)}.credential-config-drawer .form-textarea{resize:vertical;min-height:80px}.credential-config-drawer .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.credential-config-drawer .form-group{display:flex;flex-direction:column;gap:.375rem}.credential-config-drawer .form-group label{font-size:.8125rem;color:var(--text-secondary)}.credential-config-drawer .form-group input{padding:.625rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.875rem;color:var(--text-primary)}.credential-config-drawer .form-group input:focus{outline:none;border-color:var(--accent)}.form-hint{font-size:.75rem;color:var(--text-tertiary)}.form-error{font-size:.75rem;color:var(--danger, #ef4444)}.range-inputs{display:flex;align-items:flex-end;gap:1rem}.range-inputs .form-group{flex:1}.range-separator{padding-bottom:.75rem;color:var(--text-secondary)}.price-input{display:flex;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.price-input:focus-within{border-color:var(--accent)}.price-input .currency-symbol{padding:.625rem 0 .625rem .75rem;color:var(--text-secondary);font-size:.875rem}.price-input input{flex:1;padding:.625rem .75rem .625rem .25rem;border:none;background:transparent;font-size:.875rem;color:var(--text-primary)}.price-input input:focus{outline:none}.credential-config-drawer .drawer-actions{display:flex;align-items:center;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border);margin-top:auto}.credential-config-drawer .drawer-actions .spacer{flex:1}.credential-config-drawer .site-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.credential-config-drawer .site-selection-card{display:flex;flex-direction:column;gap:.25rem;padding:.875rem;background:var(--bg);border:2px solid var(--border);border-radius:10px;cursor:pointer;text-align:left;transition:all .15s ease}.credential-config-drawer .site-selection-card:hover{border-color:var(--accent);background:var(--accent-subtle)}.credential-config-drawer .site-selection-card.selected{border-color:var(--accent);background:var(--accent-subtle);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.credential-config-drawer .site-card-name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.credential-config-drawer .site-card-address{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.credential-config-drawer .no-sites-message{padding:1.5rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;font-size:.875rem}@media (max-width: 768px){.credential-config-drawer .form-grid,.credential-config-drawer .site-selection-grid{grid-template-columns:1fr}.range-inputs{flex-direction:column;align-items:stretch}.range-separator{text-align:center;padding:.5rem 0}.type-selector{gap:.375rem}.type-selector .type-btn{flex:1;min-width:calc(50% - .375rem);text-align:center}.credential-config-drawer .drawer-actions{flex-direction:column}.credential-config-drawer .drawer-actions .spacer{display:none}.credential-config-drawer .drawer-actions button{width:100%}}.key-manager{padding:16px 0}.key-manager__loading{display:flex;justify-content:center;padding:24px}.key-manager__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.key-manager__header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--fg)}.key-manager__header h3 svg{width:16px;height:16px;color:var(--fg-dim)}.key-manager__list{display:flex;flex-direction:column;gap:8px}.key-manager__item{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;transition:border-color .2s}.key-manager__item:hover{border-color:var(--accent)}.key-manager__item-info{flex:1;min-width:0}.key-manager__item-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.key-manager__item-code{font-size:14px;font-weight:600;color:var(--fg)}.key-manager__item-meta{font-size:13px;color:var(--fg-dim)}.key-manager__item-assigned{font-size:12px;color:var(--accent);margin-top:4px}.key-manager__item-actions{display:flex;gap:4px;flex-shrink:0}.key-manager__form{display:flex;flex-direction:column;gap:16px}.key-manager__form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 640px){.key-manager__form-row{grid-template-columns:1fr}.key-manager__item{flex-direction:column;gap:12px}.key-manager__item-actions{width:100%;justify-content:flex-end}}.directory-page{max-width:1200px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:16px}.directory-loading,.directory-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.directory-error h2{margin:0;color:var(--fg)}.directory-error p{color:var(--fg-muted);margin:0}.directory-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.directory-header h1{margin:0;font-size:28px;font-weight:700;color:var(--fg)}.directory-header .muted{margin:4px 0 0;font-size:14px;color:var(--fg-muted)}.directory-actions{display:flex;gap:12px}.directory-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--fg);cursor:pointer;flex-shrink:0;transition:all .15s}.directory-back-btn:hover{background:var(--surface-soft);border-color:var(--accent);color:var(--accent)}.directory-back-btn svg{width:20px;height:20px}.directory-page.directory-mobile .directory-header{align-items:center;gap:12px}.directory-page.directory-mobile .directory-header h1{font-size:20px}.directory-page.directory-mobile .directory-actions{gap:8px}.directory-page.directory-mobile .directory-actions .btn{padding:8px 12px;font-size:13px}.directory-flash{padding:12px 16px;border-radius:12px;font-size:14px;animation:slideDown .3s ease}.directory-flash.success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#22c55e}.directory-flash.error{background:#f871711f;border:1px solid rgba(248,113,113,.45);color:#f87171}.directory-flash.info{background:color-mix(in oklab,var(--accent) 12%,transparent);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);color:var(--primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.directory-search{display:flex;flex-direction:column;gap:6px}.directory-search label{font-size:14px;font-weight:600}.directory-search-input{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--fg);font-size:14px;transition:border-color .2s ease}.directory-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.directory-breadcrumbs{display:flex;align-items:center;gap:6px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:14px}.breadcrumb-item{background:transparent;border:none;color:var(--fg-muted);cursor:pointer;padding:6px 10px;border-radius:6px;font-size:inherit;font-weight:500;transition:all .15s ease}.breadcrumb-item:hover:not(:disabled){color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.breadcrumb-item:disabled{color:var(--fg);cursor:default;font-weight:600;background:color-mix(in oklab,var(--accent) 8%,transparent)}.breadcrumb-separator{color:var(--fg-muted);opacity:.5;font-size:12px;user-select:none}.directory-quick-actions{padding:20px}.directory-quick-actions h2{font-size:18px;margin:0 0 16px;color:var(--fg);font-weight:600}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.quick-action-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:transparent;cursor:pointer;transition:all .2s ease;text-align:left}.quick-action-card:hover{background:#94a3b80a;border-color:var(--accent);transform:translateY(-2px)}.quick-action-icon{font-size:24px;opacity:.8}.quick-action-label{font-size:15px;font-weight:600;color:var(--fg)}.quick-action-desc{font-size:13px;color:var(--fg-muted);line-height:1.4}.directory-customer-list h2{font-size:18px;font-weight:600;color:var(--fg);margin:0 0 16px}.customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.customer-card{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--card-bg);cursor:pointer;transition:all .2s ease}.customer-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.customer-card-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.customer-card-name{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.customer-card-segment{display:inline-block;padding:4px 10px;border-radius:6px;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;width:fit-content}.customer-card-stats{display:flex;gap:16px;font-size:13px;color:var(--fg-muted)}.directory-two-column{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.directory-column-left,.directory-column-right{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:8px;min-width:0;overflow:hidden;box-shadow:0 1px 3px #0000000a}.directory-single-column{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.customer-detail-view,.site-detail-view{display:flex;flex-direction:column;gap:16px}.directory-entity-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:2px solid var(--border);margin-bottom:24px}.directory-entity-title{display:flex;align-items:center;gap:14px;flex:1}.directory-entity-title h2{margin:0;font-size:28px;font-weight:700;color:var(--fg);letter-spacing:-.02em}.directory-edit-icon{width:20px;height:20px;color:var(--accent);cursor:pointer;transition:transform .2s ease}.directory-edit-icon:hover{transform:scale(1.1)}.directory-actions{display:flex;align-items:center;gap:8px}.customer-detail-header,.site-detail-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.customer-detail-header h2,.site-detail-header h2{margin:0;font-size:24px;font-weight:700;color:var(--fg)}.customer-detail-info,.site-detail-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;padding:16px 0}.info-field{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-bottom:1px solid color-mix(in oklab,var(--border) 50%,transparent)}.info-field:last-of-type{border-bottom:none}.info-field label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted)}.info-field span,.info-field p{font-size:15px;color:var(--fg);line-height:1.5;margin:0;font-weight:500}.info-field code{font-family:var(--font-mono, "SF Mono", "Consolas", monospace);font-size:13px;font-weight:600;color:var(--accent);line-height:1.5;margin:0;padding:6px 10px;background:color-mix(in oklab,var(--accent) 8%,var(--surface));border:1px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:6px;width:fit-content}.rate-card-field{margin-top:4px}.rate-card-select{width:100%;padding:8px 32px 8px 12px;font-size:14px;font-weight:500;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.rate-card-select:hover{border-color:var(--accent)}.rate-card-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 20%,transparent)}.customer-sites-list{display:flex;flex-direction:column;gap:0}.customer-sites-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.customer-sites-list-header h3{margin:0;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted)}.column-section-label{margin:0 0 16px;padding-bottom:8px;font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);display:inline-block}.site-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:14px;font-weight:500;cursor:pointer;margin-bottom:20px;transition:all .2s ease}.site-back-btn:hover{background:var(--surface-soft);border-color:var(--accent);color:var(--accent)}.site-back-btn svg{width:16px;height:16px}.select-site-prompt{margin:0;font-size:13px;font-weight:500;color:var(--accent)}.customer-sites-list-items{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.customer-site-item{position:relative;padding:14px 18px 14px 26px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--fg);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease}.customer-site-item:last-child{border-bottom:none}.customer-site-item:hover{background:color-mix(in oklab,var(--accent) 6%,var(--surface));color:var(--accent)}.customer-site-item:hover .site-pulse-line{animation:sitePulseHover 2s ease-out}.customer-site-item.active{background:var(--accent);color:#fff;font-weight:600}.site-pulse-line{position:absolute;left:0;top:0;bottom:0;width:3px;background:#0073ea;opacity:0}.customer-site-item[data-index="0"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 0s}.customer-site-item[data-index="1"] .site-pulse-line{animation:sitePulseCascade 2s ease-out .3s}.customer-site-item[data-index="2"] .site-pulse-line{animation:sitePulseCascade 2s ease-out .6s}.customer-site-item[data-index="3"] .site-pulse-line{animation:sitePulseCascade 2s ease-out .9s}.customer-site-item[data-index="4"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 1.2s}.customer-site-item[data-index="5"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 1.5s}.customer-site-item[data-index="6"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 1.8s}.customer-site-item[data-index="7"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 2.1s}.customer-site-item[data-index="8"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 2.4s}.customer-site-item[data-index="9"] .site-pulse-line{animation:sitePulseCascade 2s ease-out 2.7s}@keyframes sitePulseCascade{0%{opacity:0;transform:scaleX(0);transform-origin:left}20%{opacity:.8;transform:scaleX(1)}40%{opacity:.5;width:8px}to{opacity:0;width:16px;transform:scaleX(1)}}@keyframes sitePulseHover{0%{opacity:0;transform:scaleX(0);transform-origin:left}20%{opacity:.8;transform:scaleX(1)}40%{opacity:.5;width:8px}to{opacity:0;width:16px;transform:scaleX(1)}}.add-site-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:12px;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-site-btn:hover{background:color-mix(in oklab,var(--accent) 6%,transparent);border-color:var(--accent);border-style:solid}.add-contact-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:12px;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;justify-content:center}.add-contact-btn:hover{background:color-mix(in oklab,var(--accent) 6%,transparent);border-color:var(--accent);border-style:solid}.add-contact-link{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:none;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .2s ease}.add-contact-link:hover{color:var(--accent-dark);text-decoration:underline}.customer-sites-section,.site-assets-section{padding-top:16px;border-top:1px solid var(--border)}.section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.section-header h3{margin:0;font-size:20px;font-weight:700;color:var(--fg);letter-spacing:-.01em}.site-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.site-card{padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-subtle);cursor:pointer;transition:all .2s ease}.site-card:hover{border-color:var(--accent);background:var(--card-bg)}.site-card h4{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--fg)}.site-customer{font-size:12px;color:var(--muted);margin:0 0 6px;font-weight:500}.site-address{font-size:13px;color:var(--fg-muted);margin:0 0 8px}.site-code{display:inline-block;padding:3px 8px;background:#94a3b814;border-radius:6px;font-size:12px;font-family:Courier New,monospace}.empty-state{text-align:center;padding:40px 20px;color:var(--fg-muted);font-size:14px}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal{background:var(--card-bg);border-radius:16px;width:min(600px,100%);max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column}.modal-header h2{margin:0;font-size:20px;font-weight:700;color:var(--fg)}.modal-close{width:32px;height:32px;border:none;background:transparent;color:var(--fg);font-size:24px;cursor:pointer;border-radius:6px;transition:background .2s ease}.modal-close:hover{background:#94a3b81a}.modal-body{padding:24px;overflow-y:auto}@media (max-width: 768px){.directory-page{padding:16px}.directory-header{flex-direction:column;align-items:flex-start}.quick-actions-grid,.customer-grid,.site-grid,.customer-detail-info,.site-detail-info{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start}}@media (max-width: 768px){.directory-page{padding:16px}.directory-header h1{font-size:24px}.directory-two-column,.quick-actions-grid,.customer-grid,.site-grid,.customer-detail-info,.site-detail-info,.reports-cards{grid-template-columns:1fr}}.customer-reports-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.reports-section-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--fg);margin:0 0 16px}.reports-title-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--accent)}.reports-title-icon svg{width:100%;height:100%}.reports-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-card{display:flex;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;transition:all .2s ease}.report-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a}.report-card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent);border-radius:10px}.report-card-icon svg{width:22px;height:22px}.report-card-content{display:flex;flex-direction:column;gap:8px;flex:1}.report-card-title{font-size:14px;font-weight:600;color:var(--fg);margin:0}.report-card-description{font-size:13px;color:var(--fg-muted);margin:0;line-height:1.4}.report-card-stats{font-size:13px;color:var(--fg-muted)}.report-card-stats strong{color:var(--accent);font-weight:600}.report-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.btn-sm{font-size:13px;padding:6px 12px;white-space:nowrap}.credentials-card .config-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.credentials-card .config-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;background:var(--bg);border-radius:6px;font-size:12px}.credentials-card .config-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.credentials-card .config-item-label{font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credentials-card .config-item-details{color:var(--fg-muted);font-size:11px}.credentials-card .config-item-edit{padding:4px 8px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--fg-muted);cursor:pointer;transition:all .15s}.credentials-card .config-item-edit:hover{border-color:var(--accent);color:var(--accent)}.directory-tabs{display:flex;gap:4px;padding:4px;background:var(--bg-alt);border-radius:12px;margin-bottom:20px}.directory-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease}.directory-tab:hover{color:var(--text);background:var(--surface-soft)}.directory-tab.active{background:var(--accent);color:var(--accent-contrast)}.directory-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#fff3;border-radius:10px;font-size:12px;font-weight:600}.directory-tab.active .tab-count{background:#ffffff4d}@media (max-width: 768px){.directory-tabs{flex-wrap:wrap}.directory-tab{flex:0 0 calc(50% - 2px);padding:10px 12px;font-size:13px}}.directory-routes-section{padding:16px}.routes-warning-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:8px;margin-bottom:16px}.routes-warning-banner .warning-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;color:var(--warning)}.routes-warning-banner .warning-icon svg{width:100%;height:100%}.routes-warning-banner .warning-text{flex:1;font-size:13px;color:var(--text)}.routes-warning-banner .warning-text strong{color:#f59e0b}.routes-warning-banner .warning-action{padding:6px 14px;font-size:12px;font-weight:500;background:#f59e0b;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.routes-warning-banner .warning-action:hover{background:#d97706}.routes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.routes-header h3{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.route-modal-content{display:flex;flex-direction:column;gap:24px}.route-modal-step{padding:16px;background:var(--bg-alt);border-radius:8px}.route-modal-step h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--fg)}.route-form-wrapper{background:var(--bg);border-radius:8px;border:1px solid var(--border)}.route-planner-wrapper{background:var(--bg);border-radius:8px;overflow:hidden}.route-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border);margin-top:8px}.route-type-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px;background:var(--bg-alt);color:var(--muted)}.route-type-badge.patrol{background:color-mix(in oklab,var(--accent) 15%,var(--card));color:var(--accent)}.route-type-badge.static_post{background:color-mix(in oklab,#f59e0b 15%,var(--card));color:#d97706}.route-type-badge.service_run{background:color-mix(in oklab,var(--success) 15%,var(--card));color:var(--success)}@media (max-width: 768px){.routes-header{flex-direction:column;align-items:stretch;gap:12px}.routes-header h3{text-align:center}.routes-header .btn{width:100%;justify-content:center}}.info-field-row{display:flex;align-items:center;gap:12px}.move-site-link{background:none;border:none;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s}.move-site-link:hover{background:var(--accent);color:#fff}.move-site-modal{display:flex;flex-direction:column;gap:16px}.move-site-info{margin:0;color:var(--fg-muted);font-size:14px;line-height:1.5}.move-site-info strong{color:var(--fg)}.move-site-search{position:relative}.move-site-search-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--fg);font-size:14px}.move-site-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.move-site-customer-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:4px}.move-site-customer-item{display:flex;flex-direction:column;gap:2px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s}.move-site-customer-item:hover{border-color:var(--accent);background:var(--surface-soft)}.move-site-customer-item.selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,var(--surface));box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 30%,transparent)}.customer-item-name{font-weight:500;color:var(--fg)}.customer-item-abn{font-size:12px;color:var(--fg-muted)}.no-customers-message{text-align:center;color:var(--fg-muted);padding:24px;margin:0}.move-site-confirmation{padding:12px;background:color-mix(in oklab,var(--accent) 10%,var(--surface));border:1px solid var(--accent);border-radius:8px}.move-site-confirmation p{margin:0 0 8px;font-size:14px}.move-site-counts{display:flex;gap:16px;font-size:12px;color:var(--fg-muted)}.move-site-counts span{display:flex;align-items:center;gap:4px}.move-site-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--border)}.billing-settings-section{margin-top:8px;padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)}.cod-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.cod-toggle input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.cod-toggle-content{display:flex;flex-direction:column;gap:2px}.cod-toggle-content strong{font-size:.875rem;color:var(--fg)}.cod-toggle-content span{font-size:.8125rem;color:var(--fg-muted)}.cod-toggle:hover .cod-toggle-content strong{color:var(--accent)}.supplier-form{display:flex;flex-direction:column;gap:20px}.supplier-form .form-section{display:flex;flex-direction:column;gap:12px}.supplier-form .form-section-title{margin:0 0 4px;padding-bottom:8px;border-bottom:1px solid var(--border);font-size:.875rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px}.supplier-form .form-group{display:flex;flex-direction:column;gap:4px}.supplier-form .form-group label{font-size:.875rem;font-weight:500;color:var(--fg)}.supplier-form .form-group .required{color:#ef4444;margin-left:2px}.supplier-form .form-group input,.supplier-form .form-group select,.supplier-form .form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:.875rem;transition:border-color .2s,box-shadow .2s}.supplier-form .form-group input:focus,.supplier-form .form-group select:focus,.supplier-form .form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.supplier-form .form-group input.error,.supplier-form .form-group select.error,.supplier-form .form-group textarea.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.supplier-form .form-group .error-message{font-size:.8125rem;color:#ef4444;margin-top:2px}.supplier-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.supplier-form .form-row-3{grid-template-columns:1fr 1fr 1fr}.supplier-form .checkbox-group{display:flex;align-items:center;gap:8px;padding:8px 0}.supplier-form .checkbox-group label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.supplier-form .checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.supplier-form .category-chips{display:flex;flex-wrap:wrap;gap:8px}.supplier-form .category-chip{padding:6px 12px;border:1px solid var(--border);border-radius:16px;background:var(--bg);color:var(--fg-muted);font-size:.8125rem;cursor:pointer;transition:all .15s;text-transform:capitalize}.supplier-form .category-chip:hover{border-color:var(--accent);color:var(--accent)}.supplier-form .category-chip.selected{background:var(--accent);border-color:var(--accent);color:#fff}.supplier-form .rating-selector{display:flex;align-items:center;gap:4px}.supplier-form .star-btn{background:none;border:none;font-size:1.25rem;color:var(--border);cursor:pointer;padding:2px;transition:color .15s}.supplier-form .star-btn:hover,.supplier-form .star-btn.filled{color:#fbbf24}.supplier-form .clear-rating{margin-left:8px;padding:4px 8px;background:none;border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--fg-muted);cursor:pointer}.supplier-form .clear-rating:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 600px){.supplier-form .form-row,.supplier-form .form-row-3{grid-template-columns:1fr}}.directory-keys-section .section-header{margin-bottom:20px}.directory-keys-section .section-header h3{margin:0 0 4px;font-size:18px;font-weight:600}.directory-keys-section .section-header .muted{margin:0;font-size:14px;color:var(--fg-dim)}.keys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.keys-site-group{padding:16px}.keys-site-group h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--fg);padding-bottom:8px;border-bottom:1px solid var(--border)}.keys-list{display:flex;flex-direction:column;gap:8px}.key-item{padding:10px 12px;background:var(--surface-soft);border-radius:8px}.key-item-info{display:flex;align-items:center;gap:10px;margin-bottom:4px}.key-code{font-size:14px;font-weight:600;color:var(--fg)}.key-status{font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px;text-transform:uppercase}.key-status--available{background:var(--success-bg);color:var(--success)}.key-status--issued{background:var(--info-bg);color:var(--info)}.key-status--lost{background:var(--danger-bg);color:var(--danger)}.key-status--damaged{background:var(--warning-bg);color:var(--warning)}.key-item-meta{font-size:13px;color:var(--fg-dim)}.key-item-assigned{font-size:12px;color:var(--accent);margin-top:4px}.supplier-table-container{display:flex;flex-direction:column;gap:16px}.supplier-table-container .table-filters{display:flex;gap:16px;flex-wrap:wrap}.supplier-table-container .filter-group{display:flex;flex-direction:column;gap:4px}.supplier-table-container .filter-group label{font-size:12px}.supplier-table-container .filter-select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px;min-width:180px}.supplier-table{width:100%;border-collapse:collapse}.supplier-table th{text-align:left;padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);font-weight:600;font-size:13px;color:var(--fg-muted)}.supplier-table th.sortable{cursor:pointer;user-select:none}.supplier-table th.sortable:hover{background:var(--surface)}.supplier-table td{padding:16px;border-bottom:1px solid var(--border);vertical-align:top}.supplier-table tbody tr:hover{background:var(--surface-soft)}.supplier-table tbody tr.clickable{cursor:pointer}.supplier-table tbody tr.clickable:hover{background:var(--accent-soft, color-mix(in oklab, var(--accent) 8%, transparent))}.supplier-info{display:flex;gap:12px;align-items:flex-start}.supplier-avatar{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,color-mix(in oklab,var(--accent) 70%,#000) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.supplier-details{display:flex;flex-direction:column;gap:2px}.supplier-name{font-weight:600;color:var(--fg)}.supplier-code{font-size:12px;font-family:monospace;color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent);padding:2px 6px;border-radius:4px;width:fit-content}.supplier-abn{font-size:12px}.contact-info{display:flex;flex-direction:column;gap:4px}.contact-name{font-weight:500;color:var(--fg)}.contact-email,.contact-phone{font-size:13px;color:var(--accent);text-decoration:none}.contact-email:hover,.contact-phone:hover{text-decoration:underline}.contact-phone{color:var(--fg-muted)}.supplier-categories{display:flex;gap:6px;flex-wrap:wrap}.category-tag{padding:4px 8px;background:var(--surface);border-radius:6px;font-size:12px;color:var(--fg);text-transform:capitalize}.category-tag.more{background:var(--surface-soft);color:var(--fg-muted)}.supplier-rating{display:flex;gap:2px}.supplier-rating .star{color:var(--border);font-size:14px}.supplier-rating .star.filled{color:#f59e0b}.preferred-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b;border-radius:20px;font-size:12px;font-weight:600}.preferred-badge svg{width:12px;height:12px}.action-buttons{display:flex;gap:8px}.icon-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.icon-btn:hover{background:var(--surface-soft);color:var(--accent);border-color:var(--accent)}.icon-btn.danger:hover{background:color-mix(in oklab,var(--danger) 10%,transparent);color:var(--danger);border-color:var(--danger)}.icon-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.icon-btn.primary:hover{background:color-mix(in oklab,var(--accent) 85%,#000);border-color:color-mix(in oklab,var(--accent) 85%,#000)}.icon-btn svg{width:16px;height:16px}.table-footer{font-size:13px;text-align:right;padding:8px 0}.supplier-table-container .empty-state{text-align:center;padding:60px 20px}.supplier-table-container .empty-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--fg-muted);opacity:.5}.supplier-table-container .empty-icon svg{width:100%;height:100%}.supplier-table-container .empty-state h3{margin:0 0 8px;font-size:18px;color:var(--fg)}.supplier-table-container .empty-state p{margin:0;font-size:14px}@media (max-width: 1024px){.supplier-table th:nth-child(3),.supplier-table td:nth-child(3),.supplier-table th:nth-child(4),.supplier-table td:nth-child(4){display:none}}@media (max-width: 768px){.supplier-table th:nth-child(5),.supplier-table td:nth-child(5){display:none}.supplier-info{flex-direction:column;gap:8px}}.file-explorer{display:flex;flex-direction:column;height:calc(100vh - 60px);background:var(--bg);border-radius:8px;overflow:hidden;border:1px solid var(--border);margin:16px}.explorer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:linear-gradient(180deg,color-mix(in oklab,var(--bg) 95%,var(--primary) 5%) 0%,var(--bg) 100%);border-bottom:1px solid var(--border);gap:12px;flex-shrink:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:6px}.upload-btn{display:flex;align-items:center;gap:6px}.upload-btn svg{width:16px;height:16px}.explorer-toolbar .delete-btn:hover{color:var(--danger)}.view-mode-group{display:flex;background:var(--surface-soft);border-radius:6px;padding:2px;gap:2px}.view-mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.view-mode-btn:hover{background:var(--bg);color:var(--fg)}.view-mode-btn.active{background:var(--bg);color:var(--primary);box-shadow:0 1px 3px #0000001a}.search-box{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface-soft);border:1px solid transparent;border-radius:6px;min-width:220px;transition:all .15s ease}.search-box:focus-within{background:var(--bg);border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--primary) 20%,transparent)}.search-box svg{width:16px;height:16px;color:var(--fg-muted);flex-shrink:0}.search-box input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--fg);outline:none}.search-box input::placeholder{color:var(--fg-muted)}.search-clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:var(--fg-muted);color:var(--bg);border-radius:50%;font-size:12px;cursor:pointer;opacity:.7;transition:opacity .15s}.search-clear:hover{opacity:1}.nav-pane{width:220px;background:color-mix(in oklab,var(--bg) 97%,var(--fg) 3%);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:relative;transition:width .2s ease;overflow-y:auto}.nav-pane.collapsed{width:32px}.nav-collapse-btn{position:absolute;top:8px;right:4px;width:24px;height:24px;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;border-radius:4px;font-size:14px;z-index:1;transition:all .15s}.nav-collapse-btn:hover{background:var(--surface-soft);color:var(--fg)}.nav-pane.collapsed .nav-collapse-btn{right:4px}.nav-section{padding:12px 8px}.nav-section:not(:last-child){border-bottom:1px solid var(--border)}.nav-section-header{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted);padding:0 8px 8px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--fg);font-size:.8125rem;text-align:left;border-radius:6px;cursor:pointer;transition:all .15s ease}.nav-item:hover{background:color-mix(in oklab,var(--primary) 10%,transparent)}.nav-item.active{background:color-mix(in oklab,var(--primary) 15%,transparent);color:var(--primary);font-weight:500}.nav-icon{display:flex;width:18px;height:18px;flex-shrink:0}.nav-icon svg{width:100%;height:100%}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-toggle{display:flex;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;color:var(--fg);cursor:pointer}.nav-toggle input{accent-color:var(--primary)}.content-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.breadcrumb-bar{display:flex;align-items:center;padding:10px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);font-size:.875rem;flex-shrink:0}.breadcrumb-sep{margin:0 8px;color:var(--fg-muted)}.breadcrumb-item .current{font-weight:500;color:var(--fg)}.breadcrumb-item span:not(.current):not(.breadcrumb-sep){color:var(--fg-muted);cursor:pointer}.breadcrumb-item span:not(.current):not(.breadcrumb-sep):hover{color:var(--primary);text-decoration:underline}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px;color:var(--fg-muted)}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center;flex:1}.empty-icon svg{width:80px;height:80px}.empty-state h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--fg)}.empty-state p{margin:0;font-size:.875rem;color:var(--fg-muted);max-width:300px}.files-grid{display:grid;padding:16px;gap:8px;overflow-y:auto;flex:1;align-content:start}.files-grid.large-icons{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}.files-grid.small-icons{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.files-grid.list{grid-template-columns:1fr;gap:2px}.files-grid.tiles{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.file-item{position:relative;cursor:pointer;border-radius:6px;transition:all .15s ease;user-select:none}.file-item:hover{background:color-mix(in oklab,var(--primary) 8%,transparent)}.file-item.selected{background:color-mix(in oklab,var(--primary) 15%,transparent)}.file-item.selected:hover{background:color-mix(in oklab,var(--primary) 20%,transparent)}.file-item.large-icons,.file-item.medium-icons,.file-item.small-icons{display:flex;flex-direction:column;align-items:center;padding:12px 8px;text-align:center}.file-item.large-icons .file-icon-wrapper{width:64px;height:64px}.file-item.medium-icons .file-icon-wrapper{width:48px;height:48px}.file-item.small-icons .file-icon-wrapper{width:32px;height:32px}.file-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.file-icon-wrapper svg,.file-type-icon{width:100%;height:100%}.file-item.large-icons .file-name-text,.file-item.medium-icons .file-name-text,.file-item.small-icons .file-name-text{font-size:.75rem;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.icon-checkbox{position:absolute;top:4px;left:4px;opacity:0;transition:opacity .15s}.file-item:hover .icon-checkbox,.file-item.selected .icon-checkbox{opacity:1}.file-item.list{display:flex;align-items:center;gap:10px;padding:6px 12px}.file-item.list .file-icon-small{width:18px;height:18px;flex-shrink:0}.file-item.list .file-name-text{flex:1;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item.list input[type=checkbox]{flex-shrink:0}.file-item.tiles{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);background:var(--bg)}.file-item.tiles:hover{border-color:var(--primary)}.file-item.tiles.selected{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 8%,transparent)}.file-icon-medium{width:40px;height:40px;flex-shrink:0}.tile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tile-info .file-name-text{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-meta{font-size:.75rem;color:var(--fg-muted)}.tile-checkbox{position:absolute;top:8px;left:8px;opacity:0;transition:opacity .15s}.file-item.tiles:hover .tile-checkbox,.file-item.tiles.selected .tile-checkbox{opacity:1}.tile-ai{position:absolute;top:8px;right:8px}.details-view table{width:100%;border-collapse:collapse;font-size:.8125rem}.details-view thead{position:sticky;top:0;background:var(--bg);z-index:1}.details-view th{text-align:left;padding:10px 12px;font-weight:500;color:var(--fg-muted);border-bottom:1px solid var(--border);white-space:nowrap}.details-view th.sortable:hover{color:var(--fg);background:var(--surface-soft)}.sort-indicator{margin-left:4px;font-size:.75rem}.details-view td{padding:8px 12px;border-bottom:1px solid color-mix(in oklab,var(--border) 50%,transparent);color:var(--fg)}.details-view tr.file-item:hover td{background:color-mix(in oklab,var(--primary) 8%,transparent)}.details-view tr.file-item.selected td{background:color-mix(in oklab,var(--primary) 15%,transparent)}.cell-type,.cell-manufacturer{width:140px}.cell-size{width:80px;text-align:right}.cell-date{width:120px}.file-icon-small{width:20px;height:20px;flex-shrink:0}.ai-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-size:.625rem;font-weight:600;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.ai-badge.processing{background:linear-gradient(135deg,#f59e0b,#d97706);animation:pulse 1.5s ease-in-out infinite}.icon-ai{position:absolute;bottom:-4px;right:-4px;font-size:.5rem;padding:1px 4px}.platform-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-size:.625rem;font-weight:600;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-radius:4px;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.tile-tag.platform{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.icon-platform{position:absolute;top:-4px;right:-4px;font-size:.5rem;padding:1px 4px}.status-bar{display:flex;align-items:center;gap:16px;padding:6px 16px;background:var(--surface-soft);border-top:1px solid var(--border);font-size:.75rem;color:var(--fg-muted);flex-shrink:0}.context-menu{position:fixed;z-index:1000;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;padding:6px;min-width:180px}.context-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--fg);font-size:.8125rem;text-align:left;border-radius:4px;cursor:pointer;transition:background .15s}.context-menu button:hover{background:var(--surface-soft)}.context-menu button.danger{color:var(--danger)}.context-menu button.danger:hover{background:color-mix(in oklab,var(--danger) 10%,transparent)}.context-menu button svg{width:16px;height:16px}.upload-form{display:flex;flex-direction:column;gap:16px}.form-group label{font-size:.8125rem;font-weight:500;color:var(--fg)}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:.875rem;transition:all .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklab,var(--primary) 20%,transparent)}.file-drop-zone{position:relative;border:2px dashed var(--border);border-radius:8px;padding:24px;text-align:center;transition:all .15s;cursor:pointer}.file-drop-zone:hover{border-color:var(--primary);background:color-mix(in oklab,var(--primary) 5%,transparent)}.file-drop-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--fg-muted)}.drop-placeholder svg{width:32px;height:32px}.selected-file{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-soft);border-radius:6px;text-align:left}.selected-file svg{width:40px;height:40px;flex-shrink:0}.file-info{flex:1;min-width:0}.file-info .file-name{display:block;font-weight:500;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info .file-size{font-size:.75rem;color:var(--fg-muted)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.delete-confirm{text-align:center;padding:8px 0}.delete-confirm p{margin:0 0 8px;color:var(--fg)}.delete-warning{font-size:.8125rem;color:var(--fg-muted)!important;margin-bottom:20px!important}@media (max-width: 768px){.file-explorer{margin:8px;height:calc(100vh - 76px)}.explorer-toolbar{flex-wrap:wrap;gap:8px}.toolbar-right{flex:1;justify-content:flex-end}.search-box{min-width:160px}.nav-pane{display:none}.files-grid.large-icons{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.files-grid.tiles,.form-row{grid-template-columns:1fr}.cell-manufacturer,.cell-type{display:none}}@media (max-width: 480px){.view-mode-group{display:none}.files-grid{padding:8px}}.nav-pane::-webkit-scrollbar,.content-area::-webkit-scrollbar,.details-view::-webkit-scrollbar,.files-grid::-webkit-scrollbar{width:8px}.nav-pane::-webkit-scrollbar-track,.content-area::-webkit-scrollbar-track,.details-view::-webkit-scrollbar-track,.files-grid::-webkit-scrollbar-track{background:transparent}.nav-pane::-webkit-scrollbar-thumb,.content-area::-webkit-scrollbar-thumb,.details-view::-webkit-scrollbar-thumb,.files-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.nav-pane::-webkit-scrollbar-thumb:hover,.content-area::-webkit-scrollbar-thumb:hover,.details-view::-webkit-scrollbar-thumb:hover,.files-grid::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}.tile-tags{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.tile-tag{display:inline-flex;align-items:center;padding:2px 6px;font-size:10px;font-weight:500;border-radius:4px;white-space:nowrap;line-height:1.4}.tile-tag.category{background:#6366f126;color:#818cf8}.tile-tag.manufacturer{background:#3b82f626;color:#60a5fa}.tile-tag.asset-cat{background:#8b5cf626;color:#a78bfa}.tile-tag.ai{background:#10b98133;color:#34d399;font-weight:600}.tile-tag.processing{background:#fbbf2433;color:#fbbf24;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-color-scheme: light){.tile-tag.category{background:#6366f11a;color:#4f46e5}.tile-tag.manufacturer{background:#3b82f61a;color:#2563eb}.tile-tag.asset-cat{background:#8b5cf61a;color:#7c3aed}.tile-tag.ai{background:#10b98126;color:#059669}.tile-tag.processing{background:#fbbf2426;color:#d97706}}.ai-chat-btn{display:flex;align-items:center;gap:6px}.ai-chat-btn svg{width:16px;height:16px}.ai-doc-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;background:var(--primary);color:#fff;border-radius:9px;margin-left:2px}.ai-chat-btn[class*=primary] .ai-doc-count{background:#ffffff40}.ai-drawer-overlay{position:fixed;inset:0;background:#0006;z-index:1000;animation:fadeIn .2s ease-out}.ai-support-drawer{position:fixed;top:0;right:0;width:720px;max-width:90vw;height:100vh;background:var(--card);border-left:1px solid var(--border);box-shadow:-8px 0 32px #0003;display:flex;flex-direction:column;z-index:1001;animation:slideInDrawer .25s ease-out}@keyframes slideInDrawer{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.ai-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,var(--card)) 0%,var(--card) 100%);border-bottom:1px solid var(--border);flex-shrink:0}.ai-drawer-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--fg)}.ai-drawer-title svg{color:var(--primary)}.ai-drawer-badge{font-size:11px;font-weight:600;padding:3px 8px;background:var(--primary);color:#fff;border-radius:10px}.ai-drawer-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:8px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease}.ai-drawer-close:hover{background:var(--surface-soft);color:var(--fg)}.ai-drawer-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ai-doc-viewer{display:flex;flex-direction:column;height:50%;border-bottom:1px solid var(--border);background:var(--surface-soft)}.ai-doc-tabs{display:flex;gap:2px;padding:8px 12px;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.ai-doc-tab{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px 6px 0 0;font-size:12px;color:var(--fg-muted);cursor:pointer;transition:all .15s ease;white-space:nowrap}.ai-doc-tab:hover{background:var(--surface);color:var(--fg)}.ai-doc-tab.active{background:var(--card);border-bottom-color:var(--card);color:var(--fg);font-weight:500}.ai-doc-tab .tab-icon{width:14px;height:14px;flex-shrink:0}.ai-doc-tab .tab-icon svg{width:100%;height:100%}.ai-doc-tab .tab-name{max-width:180px;overflow:hidden;text-overflow:ellipsis}.ai-doc-tab .tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--fg-muted);font-size:14px;cursor:pointer;border-radius:50%;margin-left:4px;transition:all .15s ease}.ai-doc-tab .tab-close:hover{background:var(--danger);color:#fff}.ai-doc-viewer-frame{flex:1;display:flex;flex-direction:column;min-height:0}.ai-doc-viewer-controls{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.viewer-doc-name{font-size:12px;font-weight:500;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.viewer-page-controls{display:flex;align-items:center;gap:8px}.viewer-page-controls button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:16px;color:var(--fg);cursor:pointer;transition:all .15s ease}.viewer-page-controls button:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff}.viewer-page-controls button:disabled{opacity:.4;cursor:not-allowed}.viewer-page-controls span{font-size:12px;font-weight:500;color:var(--fg-muted);min-width:60px;text-align:center}.ai-doc-iframe{flex:1;width:100%;border:none;background:var(--bg)}.ai-doc-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface-soft);color:var(--fg-muted)}.ai-doc-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.ai-doc-error{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface-soft);color:var(--fg-muted)}.ai-doc-error button{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.ai-doc-error button:hover{background:var(--primary-dark, #2563eb)}.ai-drawer-chat{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ai-drawer-chat.with-viewer{height:50%}.ai-drawer-docs{padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border);flex-shrink:0}.ai-docs-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ai-docs-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted)}.ai-docs-clear{font-size:11px;font-weight:500;color:var(--primary);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;transition:background .15s ease}.ai-docs-clear:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.ai-docs-pills{display:flex;flex-wrap:wrap;gap:8px}.ai-doc-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--fg);cursor:pointer;transition:all .15s ease}.ai-doc-pill:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 5%,var(--bg))}.ai-doc-pill .pill-icon{width:16px;height:16px;flex-shrink:0}.ai-doc-pill .pill-icon svg{width:100%;height:100%}.ai-doc-pill .pill-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-doc-pill .pill-badge{padding:1px 4px;font-size:9px;font-weight:700;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:3px;text-transform:uppercase}.ai-doc-pill .pill-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--fg-muted);font-size:14px;border-radius:50%;transition:all .15s ease}.ai-doc-pill .pill-remove:hover{background:var(--danger);color:#fff}.ai-chat-container{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.ai-chat-container .document-qa{height:100%;border:none;border-radius:0;background:transparent}.ai-chat-container .document-qa-header{display:none}.ai-chat-container .document-qa-messages{flex:1;min-height:200px;max-height:none}.ai-drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center;color:var(--fg-muted)}.ai-drawer-empty .empty-icon{margin-bottom:20px;opacity:.4}.ai-drawer-empty .empty-icon svg{stroke:var(--fg-muted)}.ai-drawer-empty h4{margin:0 0 10px;font-size:16px;font-weight:600;color:var(--fg)}.ai-drawer-empty p{margin:0 0 20px;font-size:14px;line-height:1.5;max-width:320px}.ai-drawer-empty .empty-tip{display:inline-block;font-size:12px;padding:8px 14px;background:color-mix(in srgb,var(--primary) 10%,transparent);border-radius:8px;color:var(--primary)}@media (max-width: 768px){.ai-support-drawer{width:100%;max-width:100%}.ai-doc-viewer{height:40%}.ai-drawer-chat.with-viewer{height:60%}.ai-chat-btn span:not(.ai-doc-count){display:none}.ai-doc-pill .pill-name{max-width:120px}}.nearby-discovery-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{font-size:28px;font-weight:700;color:var(--text);margin-bottom:8px}.page-header p{font-size:14px;color:var(--muted)}.gps-status-card{margin-bottom:16px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.gps-not-found,.gps-found,.gps-error{display:flex;align-items:center;justify-content:space-between;gap:16px}.gps-error{color:#ef4444}.gps-error p{color:#ef4444;font-weight:500}.accuracy{margin-left:8px;font-size:12px;color:var(--muted);font-weight:400}.search-mode-toggle{display:flex;gap:12px;margin-bottom:16px;padding:4px;background:var(--card);border-radius:10px;border:1px solid var(--border)}.mode-btn{flex:1;padding:12px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer;transition:all .2s ease}.mode-btn:hover{background:var(--hover);color:var(--text)}.mode-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #0073ea4d}.address-search-card{margin-bottom:16px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.address-search-wrapper{display:flex;flex-direction:column;gap:8px}.address-search-form{display:flex;gap:12px;margin-bottom:0}.address-input-wrapper{flex:1;position:relative}.address-input{width:100%;padding:10px 40px 10px 12px;background:var(--background);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text);transition:all .2s ease}.address-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.address-input::placeholder{color:var(--muted)}.autocomplete-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:14px}.address-hint{margin:0;font-size:12px;color:var(--muted);font-style:italic}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000}.autocomplete-item{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background:var(--hover)}.autocomplete-item .location-icon{font-size:16px;flex-shrink:0}.autocomplete-item .suggestion-text{flex:1;font-size:13px;color:var(--text);line-height:1.4}.address-error{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:6px;margin-top:12px}.address-error p{margin:0;color:#ef4444;font-size:14px}.address-found{padding:12px;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:6px;margin-top:12px}.address-found p{margin:0;color:var(--text);font-size:14px}.address-found .coords{margin-top:6px;color:var(--muted);font-size:12px;font-family:Courier New,monospace}.search-controls{margin-bottom:16px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:8px}.radius-buttons{display:flex;gap:8px}.radius-buttons button{flex:1;padding:8px 16px;background:var(--card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.radius-buttons button:hover:not(:disabled){border-color:var(--accent)}.radius-buttons button.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.radius-buttons button:disabled{opacity:.5;cursor:not-allowed}.control-group select{width:100%;padding:10px 12px;font-size:14px;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:6px;outline:none;transition:all .2s ease}.control-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.control-group select:disabled{opacity:.5;cursor:not-allowed}.results-summary{margin-bottom:16px;padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:8px}.results-summary p{margin:0;font-size:14px;color:var(--text)}.results-summary strong{color:var(--accent);font-weight:700}.ignored-note{margin-left:8px;font-size:12px;color:var(--muted)}.results-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:600px}.map-container{height:100%;border-radius:8px;overflow:hidden;border:1px solid var(--border);box-shadow:0 2px 8px #0000000d}.results-list{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.results-list::-webkit-scrollbar{width:8px}.results-list::-webkit-scrollbar-track{background:var(--bg);border-radius:4px}.results-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.results-list::-webkit-scrollbar-thumb:hover{background:var(--muted)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.spinner{width:40px;height:40px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-state p{color:var(--muted);font-size:14px}.no-results{text-align:center;padding:48px 24px;color:var(--muted)}.no-results p{margin:8px 0;font-size:14px}.load-more-container{padding:16px;text-align:center;border-top:1px solid var(--border)}.load-more-container button{min-width:200px}.result-card{padding:16px;background:var(--card);border:1px solid var(--border);border-radius:8px;transition:all .2s ease}.result-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a}.result-card.highlighted{border-color:var(--accent);background:#0073ea1a;box-shadow:0 0 0 3px #0073ea33;animation:pulse-highlight 1.5s ease-in-out}@keyframes pulse-highlight{0%,to{box-shadow:0 0 0 3px #0073ea33}50%{box-shadow:0 0 0 6px #0073ea4d}}.result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:12px}.result-header h3{font-size:16px;font-weight:600;color:var(--text);margin:0;flex:1}.distance{font-size:12px;padding:4px 8px;background:var(--accent);color:var(--accent-contrast);border-radius:4px;font-weight:600;white-space:nowrap}.address{font-size:13px;color:var(--muted);margin-bottom:8px}.meta{font-size:12px;color:var(--text);margin-bottom:4px}.result-actions{display:flex;gap:8px;margin-top:12px}.ignore-dropdown{position:relative}.ignore-btn{padding:8px 12px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.ignore-btn:hover{border-color:#ef4444;color:#ef4444}.ignore-menu{position:absolute;top:calc(100% + 4px);right:0;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:100;overflow:hidden}.ignore-menu button{display:block;width:100%;padding:10px 12px;background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:13px;text-align:left;cursor:pointer;transition:all .15s ease}.ignore-menu button:last-child{border-bottom:none}.ignore-menu button:hover{background:var(--bg)}.duplicate-warning{margin-top:12px;padding:12px 14px;background:#fbbf2426;border:1px solid rgba(251,191,36,.25);border-radius:8px;font-size:13px}.duplicate-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600}.duplicate-icon{font-size:16px;color:#fbbf24}.duplicate-header strong{color:#fbbf24;text-transform:uppercase;letter-spacing:.3px;font-size:11px}.duplicate-details{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding-left:24px}.duplicate-field{display:flex;gap:8px;font-size:12px}.duplicate-label{font-weight:600;color:#fbbf24cc;min-width:70px;font-size:11px;text-transform:uppercase;letter-spacing:.3px}.duplicate-value{color:var(--text);opacity:.9}.duplicate-actions{display:flex;gap:8px;padding-left:24px}.view-similar-btn{flex:1;padding:6px 14px;background:color-mix(in oklab,var(--accent) 15%,transparent);color:var(--primary);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);border-radius:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s}.view-similar-btn:hover{background:color-mix(in oklab,var(--accent) 25%,transparent);border-color:color-mix(in oklab,var(--accent) 40%,transparent);transform:translateY(-1px)}.view-similar-btn:active{transform:translateY(0)}.modal-content{background:var(--card);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 12px 24px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:20px;font-weight:700;color:var(--text);margin:0}.close-btn{background:transparent;border:none;font-size:24px;color:var(--muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-btn:hover:not(:disabled){background:var(--bg);color:var(--text)}.close-btn:disabled{opacity:.5;cursor:not-allowed}.import-form{padding:24px}.import-mode-selector{display:flex;gap:12px;margin-bottom:20px;padding:4px;background:var(--bg);border-radius:10px;border:1px solid var(--border)}.mode-option{flex:1;padding:16px;background:transparent;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:6px}.mode-option:hover:not(:disabled){background:var(--hover);border-color:var(--border)}.mode-option.active{background:#0073ea1a;border-color:var(--accent);box-shadow:0 0 0 3px #0073ea1a}.mode-option strong{font-size:14px;color:var(--text);display:block}.mode-option span{font-size:12px;color:var(--muted);font-weight:400}.mode-option:disabled{opacity:.5;cursor:not-allowed}.site-details{margin-bottom:20px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.site-details h3{font-size:14px;font-weight:600;color:var(--text);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.detail-row{display:flex;gap:12px;margin-bottom:8px;font-size:13px}.detail-row:last-child{margin-bottom:0}.detail-label{font-weight:600;color:var(--muted);min-width:80px;flex-shrink:0}.detail-value{color:var(--text);flex:1;word-break:break-word}.field-hint{margin:6px 0 0;font-size:12px;color:var(--muted);font-style:italic}.form-group{margin-bottom:16px}.form-group:last-of-type{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;outline:none;transition:all .2s ease;font-family:inherit}.form-group input[readonly]{background:var(--muted);opacity:.7;cursor:not-allowed}.form-group input:focus:not([readonly]),.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.5;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:60px}.error-message{padding:12px;background:#fef2f2;border-left:3px solid #ef4444;border-radius:4px;color:#991b1b;font-size:13px;margin-bottom:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border)}.map-popup{font-size:13px}.popup-address{font-size:12px;color:#6b7280}.popup-distance{font-size:12px;font-weight:600;color:var(--primary)}@media (max-width: 1024px){.results-layout{grid-template-columns:1fr;height:auto}.map-container{height:400px}.results-list{height:auto;max-height:600px}}@media (max-width: 640px){.nearby-discovery-page{padding:16px}.page-header h1{font-size:24px}.radius-buttons{flex-wrap:wrap}.radius-buttons button{flex:1 1 calc(50% - 4px)}.modal-overlay{padding:12px}.modal-content{max-height:95vh}.result-card{padding:12px}.result-header{flex-direction:column;align-items:flex-start;gap:8px}.distance{align-self:flex-end}}:root{--warning: #f59e0b;--warning-bg: #fef3c7;--warning-border: #fde68a}@media (prefers-color-scheme: dark){.duplicate-warning{background:#fbbf2433;border-color:#fbbf244d}.view-similar-btn{background:color-mix(in oklab,var(--accent) 20%,transparent);border-color:color-mix(in oklab,var(--accent) 35%,transparent)}.view-similar-btn:hover{background:color-mix(in oklab,var(--accent) 30%,transparent);border-color:color-mix(in oklab,var(--accent) 50%,transparent)}}[data-theme=dark] .error-message{background:#7f1d1d;border-left-color:#ef4444;color:#fecaca}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] .modal-content{background:var(--surface-2);box-shadow:0 12px 24px #00000080}.network-coming-soon{max-width:1200px;margin:0 auto;padding:40px 20px}.hero{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#0073ea0d,#0073ea05);border-radius:16px;margin-bottom:60px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--accent);color:#fff;border-radius:20px;font-size:14px;font-weight:500;margin-bottom:20px}.hero h1{font-size:48px;font-weight:700;margin:0 0 16px;color:var(--fg)}.hero .tagline{font-size:20px;color:var(--fg-muted);max-width:700px;margin:0 auto;line-height:1.6}.vision-container{margin:60px 0}.vision-mockup{max-width:900px;margin:0 auto;background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0000001a}.mockup-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.mockup-dots{display:flex;gap:6px}.mockup-dots span{width:12px;height:12px;border-radius:50%;background:var(--fg-muted);opacity:.3}.mockup-title{font-size:14px;color:var(--fg-muted);flex:1;text-align:center}.mockup-content{padding:40px;min-height:400px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0073ea05,#0073ea0d)}.mockup-screen{width:100%}.demo-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:32px;text-align:center;box-shadow:0 4px 12px #0000000d}.demo-card svg{width:64px;height:64px;margin-bottom:20px;color:var(--accent)}.demo-card h3{font-size:24px;margin:0 0 12px;color:var(--fg)}.demo-card p{font-size:16px;color:var(--fg-muted);margin:0 0 20px;font-style:italic}.demo-response{background:#0073ea0d;border-left:3px solid var(--accent);padding:16px;border-radius:8px;text-align:left;font-family:SF Mono,Monaco,Courier New,monospace;font-size:14px;line-height:1.8;color:var(--fg)}.features-preview{margin:80px 0}.features-preview h2{text-align:center;font-size:36px;margin-bottom:40px;color:var(--fg)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.feature-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:32px;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.feature-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:#0073ea1a;border-radius:12px;margin-bottom:20px}.feature-icon svg{width:32px;height:32px;color:var(--accent)}.feature-card h3{font-size:20px;margin:0 0 12px;color:var(--fg)}.feature-card p{font-size:15px;line-height:1.6;color:var(--fg-muted);margin:0 0 16px}.feature-status{display:inline-block;padding:4px 12px;background:#0073ea1a;color:var(--accent);border-radius:12px;font-size:13px;font-weight:500}.differentiation{margin:80px 0;padding:60px 40px;background:var(--bg-elevated);border-radius:16px}.differentiation h2{text-align:center;font-size:36px;margin-bottom:40px;color:var(--fg)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1000px;margin:0 auto}.comparison-col h3{font-size:20px;margin:0 0 20px}.comparison-col.bad h3{color:#ef4444}.comparison-col.good h3{color:#10b981}.comparison-col ul{list-style:none;padding:0;margin:0}.comparison-col li{padding:12px 0;font-size:15px;line-height:1.6;color:var(--fg);border-bottom:1px solid var(--border)}.comparison-col li:last-child{border-bottom:none}.roadmap{margin:80px 0}.roadmap h2{text-align:center;font-size:36px;margin-bottom:60px;color:var(--fg)}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{position:relative;padding:0 0 40px 60px}.timeline-marker{position:absolute;left:11px;top:4px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:3px solid var(--border)}.timeline-item.completed .timeline-marker{background:#10b981;border-color:#10b981}.timeline-item.current .timeline-marker{background:var(--accent);border-color:var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #0073ea66}50%{box-shadow:0 0 0 8px #0073ea00}}.timeline-content h4{font-size:20px;margin:0 0 8px;color:var(--fg)}.timeline-content p{font-size:15px;color:var(--fg-muted);margin:0 0 12px;line-height:1.6}.timeline-status{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.timeline-item.completed .timeline-status{background:#10b9811a;color:#10b981}.timeline-item.current .timeline-status{background:#0073ea1a;color:var(--accent)}.timeline-item.upcoming .timeline-status{background:var(--bg-elevated);color:var(--fg-muted)}.beta-signup{margin:80px 0;padding:60px 40px;background:linear-gradient(135deg,#0073ea1a,#0073ea0d);border-radius:16px;text-align:center}.beta-content h2{font-size:36px;margin:0 0 12px;color:var(--fg)}.beta-content p{font-size:18px;color:var(--fg-muted);margin:0 0 32px}.beta-form{display:flex;gap:12px;max-width:500px;margin:0 auto;flex-wrap:wrap;justify-content:center}.beta-form input{flex:1;min-width:280px;padding:14px 20px;font-size:16px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg)}.beta-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0073ea1a}.beta-success{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;background:#10b9811a;border:1px solid #10b981;border-radius:8px;color:#10b981;font-size:16px;font-weight:500;max-width:600px;margin:0 auto}.beta-success svg{width:24px;height:24px}.contact-section{text-align:center;margin:60px 0 0;padding:40px 20px}.contact-section p{font-size:16px;color:var(--fg-muted);margin:0 0 20px}@media (max-width: 768px){.hero h1{font-size:32px}.hero .tagline{font-size:16px}.comparison{grid-template-columns:1fr;gap:32px}.feature-grid{grid-template-columns:1fr}.mockup-content{padding:20px;min-height:300px}.beta-form{flex-direction:column;align-items:stretch}.beta-form input{min-width:100%}}.sort-modal{display:flex;flex-direction:column;gap:24px}.sort-options{display:flex;flex-direction:column;gap:8px}.sort-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.sort-option:hover{background:var(--bg-hover);border-color:var(--primary)}.sort-option input[type=radio]{margin-top:2px;cursor:pointer}.sort-option input[type=radio]:checked+.sort-option-content .sort-option-label{color:var(--primary);font-weight:600}.sort-option-content{display:flex;flex-direction:column;gap:4px;flex:1}.sort-option-label{font-size:.938rem;font-weight:500;color:var(--fg)}.sort-option-description{font-size:.813rem;color:var(--fg-dim);line-height:1.4}.sort-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.sort-modal-actions .btn{padding:8px 16px;font-size:.875rem;border-radius:6px;font-weight:500;cursor:pointer;transition:all .15s ease}.sort-modal-actions .btn-secondary{background:transparent;border:1px solid var(--border);color:var(--fg)}.sort-modal-actions .btn-secondary:hover{background:var(--bg-hover)}.sort-modal-actions .btn-primary{background:var(--primary);border:1px solid var(--primary);color:#fff}.sort-modal-actions .btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.cit-job-queue-page{padding:20px;max-width:1400px;margin:0 auto}@media (max-width: 768px){.cit-job-queue-page{padding:12px}.page-header{flex-direction:column;gap:16px}.page-actions{width:100%;flex-direction:column}.page-actions button{width:100%}.pagination-controls{flex-direction:column;gap:12px}.pagination-info{order:-1}}.cit-atm-service-page{max-width:800px;margin:0 auto;padding:24px}.service-form{display:flex;flex-direction:column;gap:24px}.cassettes-section{border:1px solid var(--border);border-radius:8px;padding:20px;background:var(--surface-soft)}.cassettes-section h3{margin:0 0 8px;font-size:1.125rem;font-weight:600}.cassettes-section .hint{margin:0 0 16px;font-size:.875rem;color:var(--fg-dim)}.cassettes-grid{display:flex;flex-direction:column;gap:16px}.cassette-row{border:1px solid var(--border);border-radius:6px;padding:16px;background:var(--bg)}.cassette-row h4{margin:0 0 12px;font-size:.938rem;font-weight:600;color:var(--fg-dim)}.cassette-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photos-section{border:1px solid var(--border);border-radius:8px;padding:20px;background:var(--surface-soft)}.photos-section label{display:block;font-weight:500;margin-bottom:4px}.photos-section .hint{font-size:.875rem;color:var(--fg-dim);margin:0}.photos-section input[type=file]{width:100%}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--border)}@media (max-width: 640px){.cit-atm-service-page{padding:16px}.cassette-fields{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.sqr-select{width:100%;padding:10px 36px 10px 14px;border:1px solid var(--border);border-radius:8px;background-color:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;line-height:1.5;cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}.sqr-select:hover:not(:disabled){border-color:var(--primary);background-color:var(--bg-subtle)}.sqr-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.sqr-select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-subtle)}.sqr-select option{background-color:var(--card);color:var(--fg);padding:10px}.sqr-select option:disabled{color:var(--fg-dim)}@media (prefers-color-scheme: dark){.sqr-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}}.create-movement-form{display:flex;flex-direction:column;gap:24px;padding:16px 0}.form-section{display:flex;flex-direction:column;gap:8px}.section-label{font-size:.875rem;font-weight:500;color:var(--text)}.type-toggle{display:flex;gap:8px}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.type-btn:hover{border-color:var(--accent);background:var(--hover)}.type-btn.active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.line-items{display:flex;flex-direction:column;gap:12px}.line-item{display:flex;gap:12px;align-items:flex-end}.part-input-wrapper{flex:3;position:relative}.qty-input{flex:1;max-width:100px}.remove-item-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted);cursor:pointer;transition:all .15s ease;margin-bottom:2px}.remove-item-btn:hover{border-color:var(--danger);background:color-mix(in oklab,var(--danger) 10%,transparent);color:var(--danger)}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;z-index:100;max-height:200px;overflow-y:auto;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px}.suggestion-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .1s ease}@media (max-width: 640px){.line-item{flex-wrap:wrap}.part-input-wrapper{flex:1 1 100%}.qty-input{flex:1;max-width:none}}.date-range-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.drt-presets{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px}.drt-preset-btn{padding:6px 12px;font-size:.8125rem;font-weight:500;color:var(--muted);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.drt-preset-btn:hover{color:var(--text);background:var(--hover)}.drt-preset-btn--active{color:var(--text);background:var(--card);box-shadow:0 1px 2px #0000000d}.drt-navigation{display:flex;align-items:center;gap:8px}.drt-nav-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.drt-nav-btn:hover:not(:disabled){color:var(--text);background:var(--hover);border-color:var(--accent)}.drt-nav-btn:disabled{opacity:.4;cursor:not-allowed}.drt-range-display{font-size:.875rem;font-weight:500;color:var(--text);min-width:120px;text-align:center}@media (max-width: 768px){.date-range-toolbar{flex-direction:column;align-items:stretch;gap:8px}.drt-presets{justify-content:center;flex-wrap:wrap}.drt-preset-btn{padding:8px 10px;font-size:.75rem}.drt-navigation{justify-content:center}}.chart-picker{padding:8px 0}.chart-picker-intro{font-size:.875rem;color:var(--muted);margin:0 0 16px}.chart-picker-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.chart-picker-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:all .15s ease}.chart-picker-item--selected{background:color-mix(in oklab,var(--accent) 5%,var(--surface));border-color:color-mix(in oklab,var(--accent) 30%,var(--border))}.chart-picker-checkbox{position:relative;width:20px;height:20px;flex-shrink:0}.chart-picker-checkbox input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%;z-index:1}.chart-picker-checkmark{position:absolute;top:0;left:0;width:20px;height:20px;background:var(--card);border:2px solid var(--border);border-radius:4px;transition:all .15s ease}.chart-picker-checkbox input:checked~.chart-picker-checkmark{background:var(--accent);border-color:var(--accent)}.chart-picker-checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.chart-picker-checkbox input:checked~.chart-picker-checkmark:after{display:block}.chart-picker-info{flex:1;min-width:0}.chart-picker-label{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:2px}.chart-picker-description{font-size:.75rem;color:var(--muted)}.chart-picker-reorder{display:flex;flex-direction:column;gap:2px}.chart-picker-move{width:24px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.chart-picker-move:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.chart-picker-move:disabled{opacity:.3;cursor:not-allowed}.chart-picker-actions{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border)}.chart-picker-actions-right{display:flex;gap:8px}@media (max-width: 640px){.chart-picker-item{padding:10px}.chart-picker-reorder{flex-direction:row}.chart-picker-actions{flex-direction:column;gap:12px}.chart-picker-actions-right{width:100%;justify-content:flex-end}}.store-io-dashboard{padding:24px;max-width:1400px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.dashboard-header h1{font-size:1.75rem;font-weight:600;color:var(--text);margin:0}.dashboard-header .subtitle{font-size:.875rem;color:var(--muted);margin:4px 0 0}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.toolbar-actions{display:flex;gap:8px}.quick-actions{margin-bottom:32px}.quick-actions h2{font-size:1.125rem;font-weight:600;color:var(--text);margin:0 0 16px}.actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 768px){.actions-grid{grid-template-columns:1fr}}.action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.action-card:hover{border-color:var(--accent);background:var(--hover)}.action-card svg{color:var(--accent)}.action-card span{font-size:.9375rem;font-weight:500;color:var(--text)}.dashboard-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:32px}@media (max-width: 900px){.dashboard-charts{grid-template-columns:1fr}}.chart-card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px}.chart-header{margin-bottom:16px}.chart-header h3{font-size:1rem;font-weight:600;color:var(--text);margin:0}.chart-subtitle{font-size:.75rem;color:var(--muted);margin:4px 0 0}.chart-container{min-height:200px;display:flex;align-items:center;justify-content:center}.chart-loading,.chart-empty{font-size:.875rem;color:var(--muted);text-align:center}.recent-movements{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--text);margin:0}.movements-table-wrapper{overflow-x:auto}.movements-table{width:100%;border-collapse:collapse}.movements-table th,.movements-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.movements-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--muted);background:var(--bg)}.movements-table tbody tr{cursor:pointer;transition:background .15s ease}.movements-table tbody tr:hover{background:var(--hover)}.movements-table td{font-size:.875rem;color:var(--text)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--muted);text-align:center}.empty-state svg{color:var(--border);margin-bottom:16px}.empty-state p{margin:0 0 16px}@media (max-width: 640px){.store-io-dashboard{padding:16px}.dashboard-header{flex-direction:column;align-items:stretch}.header-actions{width:100%}.header-actions button{width:100%;justify-content:center}}.movement-detail-panel{padding:16px 0}.movement-detail-loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--muted)}.detail-section h3{font-size:.875rem;font-weight:600;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.movement-id{font-size:.875rem;color:var(--muted);font-family:monospace}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item label{font-size:.75rem;font-weight:500;text-transform:uppercase;color:var(--muted)}.detail-item span{font-size:.9375rem;color:var(--text)}.items-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:6px}.items-table{width:100%;border-collapse:collapse}.items-table th,.items-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.items-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--muted);background:var(--bg)}.items-table td{font-size:.875rem;color:var(--text)}.items-table .part-number{font-family:monospace;font-weight:500}.items-table .qty{text-align:center}.items-table tfoot{background:var(--bg)}.items-table .total-label{text-align:right;font-weight:600}.items-table .total-value{font-weight:600;color:var(--accent)}.no-items{padding:24px;text-align:center;color:var(--muted);background:var(--bg);border-radius:6px}@media (max-width: 640px){.detail-grid{grid-template-columns:1fr}}.stock-movements-page{padding:24px;max-width:1400px;margin:0 auto}.movement-type{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:.8125rem;font-weight:500}.movement-type--out{background:#f973161a;color:#f97316}.movement-type--in{background:#22c55e1a;color:#16a34a}.value-with-arrow{display:inline-flex;align-items:center;gap:4px;font-weight:500;font-variant-numeric:tabular-nums}.value-arrow{font-size:1rem;font-weight:700}.value--out{color:#f97316}.value--in{color:#16a34a}.items-cell{display:flex;flex-direction:column;gap:4px}.item-line{display:flex;align-items:center;gap:8px;font-size:.8125rem;line-height:1.3;padding:2px 0}.item-line:not(:last-child){border-bottom:1px solid var(--border);padding-bottom:4px}.item-part{font-weight:500;color:var(--text)}.item-qty{color:var(--primary);font-weight:600;white-space:nowrap}.item-desc{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.pending-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:help}@media (max-width: 768px){.stock-movements-page{padding:16px}.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.header-actions button{width:100%;justify-content:center}}.create-item-form{padding:16px 0}.form-grid{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:2fr 1fr;gap:16px}.form-toggle{display:flex;flex-direction:column;gap:4px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.toggle-label span{font-size:.9375rem;font-weight:500;color:var(--text)}.toggle-help{font-size:.75rem;color:var(--muted);margin-left:26px}.form-section-divider{display:flex;flex-direction:column;gap:4px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border)}.section-title{font-size:.875rem;font-weight:600;color:var(--text)}.section-subtitle{font-size:.75rem;color:var(--muted)}.field-help{font-size:.75rem;color:var(--muted);line-height:1.4;margin-top:-12px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;margin-top:24px;border-top:1px solid var(--border)}@media (max-width: 640px){.form-row{grid-template-columns:1fr}}.stock-adjustment-form{display:flex;flex-direction:column;gap:20px}.adjustment-item-info{background:var(--surface);border-radius:8px;padding:16px;border:1px solid var(--border)}.item-part-number{font-family:monospace;font-weight:600;font-size:1.125rem;color:var(--accent);margin-bottom:4px}.item-description{color:var(--muted);font-size:.875rem;margin-bottom:12px}.item-current-stock{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.item-current-stock .label{font-size:.875rem;color:var(--muted)}.item-current-stock .value{font-size:1.25rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.adjustment-preview{background:var(--surface);border-radius:8px;padding:16px;border:1px solid var(--border)}.preview-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.preview-row:not(:last-child){border-bottom:1px dashed var(--border)}.preview-label{font-size:.875rem;color:var(--muted)}.preview-value{font-weight:600;font-variant-numeric:tabular-nums}.preview-value.positive{color:#16a34a}.preview-value.negative{color:#dc2626}.preview-total{padding-top:12px;margin-top:4px}.preview-total .preview-label{font-weight:600;color:var(--text)}.preview-total .preview-value{font-size:1.125rem;color:var(--text)}.field-help{display:block;font-size:.75rem;color:var(--muted);margin-top:4px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--border)}.item-detail-panel{display:flex;flex-direction:column;gap:16px}.stock-info-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.stock-info-main{display:flex;flex-direction:column;gap:4px}.stock-info-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stock-info-value{display:flex;align-items:baseline;gap:6px}.stock-info-value .stock-qty{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.stock-info-value .stock-uom{font-size:.875rem;color:var(--muted)}.stock-info--in .stock-qty{color:#16a34a}.stock-info--low .stock-qty{color:#ea580c}.stock-info--out .stock-qty{color:#dc2626}.stock-status-badge{display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:4px;margin-top:4px}.stock-badge--in{background:#22c55e1a;color:#16a34a}.stock-badge--low{background:#fb923c26;color:#ea580c}.stock-badge--out{background:#ef44441a;color:#dc2626}.reorder-info{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.reorder-label{font-size:.875rem;color:var(--muted)}.reorder-value{font-weight:600;font-variant-numeric:tabular-nums}.panel-divider{height:1px;background:var(--border);margin:8px 0}.bulk-import-modal{display:flex;flex-direction:column;gap:20px;min-width:400px}.import-instructions{display:flex;justify-content:space-between;align-items:center;gap:16px}.import-instructions p{margin:0;font-size:.875rem;color:var(--muted)}.file-upload-area{border:2px dashed var(--border);border-radius:8px;padding:24px;text-align:center}.upload-button{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:16px;background:transparent;border:none;cursor:pointer;color:var(--muted);transition:color .15s ease}.upload-button:hover{color:var(--accent)}.file-selected{display:flex;align-items:center;gap:8px;justify-content:center}.file-selected span{font-size:.875rem;color:var(--text)}.file-selected button{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;cursor:pointer;color:var(--muted)}.file-selected button:hover{color:var(--danger)}.import-preview h4{font-size:.875rem;font-weight:600;color:var(--text);margin:0 0 8px}.preview-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:6px}.preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.preview-table th,.preview-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.preview-table th{background:var(--bg);font-weight:600;color:var(--muted);text-transform:uppercase;font-size:.6875rem}.import-mode label:first-child{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:8px}.mode-options{display:flex;flex-direction:column;gap:8px}.mode-option{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:12px;border:1px solid var(--border);border-radius:6px;transition:border-color .15s ease}.mode-option:hover{border-color:var(--accent)}.mode-option input[type=radio]{margin-top:2px;accent-color:var(--accent)}.mode-option span{display:flex;flex-direction:column}.mode-option strong{font-size:.875rem;color:var(--text)}.mode-option small{font-size:.75rem;color:var(--muted)}.import-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 500px){.bulk-import-modal{min-width:auto}.import-instructions{flex-direction:column;align-items:flex-start}}.items-catalog-page{padding:24px;max-width:1400px;margin:0 auto}.part-number{font-family:monospace;font-weight:500;color:var(--accent)}.rfid-tag{font-family:monospace;font-size:.75rem;color:var(--muted);background:var(--surface);padding:2px 6px;border-radius:4px}.stock-level{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:.8125rem;font-weight:500}.stock-qty{font-weight:600;font-variant-numeric:tabular-nums}.stock-label{font-size:.75rem;opacity:.85}.stock-level--in{background:#22c55e1a;color:#16a34a}.stock-level--low{background:#fb923c26;color:#ea580c}.stock-level--out{background:#ef44441a;color:#dc2626}.archived-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 6px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em;background:#6b728026;color:var(--muted);border-radius:4px}.archived-row{opacity:.6;background:var(--hover)}.archived-row:hover{opacity:.8}.drawer-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;width:100%}@media (max-width: 768px){.items-catalog-page{padding:16px}.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.header-actions button{width:100%;justify-content:center}}.stock-io-scan-page{max-width:600px;margin:0 auto;padding:20px}.scan-header{text-align:center;margin-bottom:24px}.scan-header h1{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 4px}.scan-header .subtitle{font-size:.875rem;color:var(--muted);margin:0}.nfc-scanner-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px;text-align:center}.scan-status{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border-radius:8px;font-size:.875rem;margin-bottom:16px}.scan-status.muted{background:var(--bg);color:var(--muted)}.scan-status.info{background:var(--info-bg, rgba(59, 130, 246, .1));color:var(--info, #3b82f6)}.scan-status.success{background:var(--success-bg, rgba(34, 197, 94, .1));color:var(--success, #22c55e)}.scan-status.warning{background:var(--warning-bg, rgba(245, 158, 11, .1));color:var(--warning, #f59e0b)}.scan-status.error{background:var(--danger-bg, rgba(239, 68, 68, .1));color:var(--danger, #ef4444)}.scanner-controls{display:flex;justify-content:center;gap:12px}.movement-form{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.type-toggle{display:flex;gap:8px;margin-bottom:20px}.type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.type-btn:hover{border-color:var(--accent);color:var(--text)}.type-btn.active.issue{border-color:var(--warning, #f59e0b);background:var(--warning-bg, rgba(245, 158, 11, .1));color:var(--warning, #f59e0b)}.type-btn.active.return{border-color:var(--success, #22c55e);background:var(--success-bg, rgba(34, 197, 94, .1));color:var(--success, #22c55e)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:.75rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.form-field input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.875rem}.form-field input:focus{outline:none;border-color:var(--accent)}.items-section{margin-bottom:20px}.section-header label{font-size:.75rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.line-items{display:flex;flex-direction:column;gap:8px}.line-item{display:flex;align-items:center;gap:8px}.part-input-wrapper{flex:1;position:relative}.part-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.875rem}.part-input:focus{outline:none;border-color:var(--accent)}.qty-input{width:80px;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.875rem;text-align:center}.qty-input:focus{outline:none;border-color:var(--accent)}.remove-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.remove-btn:hover{background:var(--danger-bg, rgba(239, 68, 68, .1));color:var(--danger, #ef4444)}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-lg);z-index:100;max-height:200px;overflow-y:auto}.suggestion-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px 12px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.suggestion-item .part-num{font-size:.875rem;font-weight:500;color:var(--text)}.suggestion-item .part-desc{font-size:.75rem;color:var(--muted)}.submit-btn{width:100%;padding:14px;font-size:1rem}@media (max-width: 500px){.stock-io-scan-page{padding:16px}.form-row{grid-template-columns:1fr}.type-toggle{flex-direction:column}}.pending-assignments-page{padding:24px;max-width:1400px;margin:0 auto}.info-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;color:var(--muted);font-size:.875rem;line-height:1.5}.info-banner svg{flex-shrink:0;width:20px;height:20px;margin-top:2px;color:var(--accent)}.batch-actions{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--accent);color:#fff;border-radius:8px;margin-bottom:16px}.batch-actions span{font-weight:500}.batch-form{display:flex;align-items:center;gap:12px;margin-left:auto}.batch-input{width:180px}.batch-input input{background:#ffffffe6;border-color:transparent}.table-container{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:16px}.part-numbers{font-family:monospace;font-size:.8125rem;color:var(--text);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.assign-form{padding:16px 0}.form-field-wrapper{display:flex;flex-direction:column;gap:6px}.form-field-wrapper .form-label{font-size:.875rem;font-weight:500;color:var(--text)}.form-field-wrapper .required{color:#dc2626}.movement-summary{background:var(--surface);border-radius:8px;padding:16px;margin-bottom:24px}.summary-row{display:flex;align-items:center;gap:12px;padding:8px 0}.summary-row:not(:last-child){border-bottom:1px solid var(--border)}.summary-row .label{font-size:.75rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;width:80px;flex-shrink:0}.form-fields{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}.pending-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.pending-badge--urgent{background:#ef44441a;color:#dc2626}.pending-badge--info{background:#3b82f61a;color:#3b82f6}@media (max-width: 768px){.pending-assignments-page{padding:16px}.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.batch-actions{flex-direction:column;align-items:stretch}.batch-form{flex-direction:column;margin-left:0;width:100%}.batch-input{width:100%}}.rfid-readers-page{padding:24px;max-width:1400px;margin:0 auto}.page-header h1{font-size:1.75rem;font-weight:600;color:var(--text);margin:0}.page-header .subtitle{font-size:.875rem;color:var(--muted);margin:4px 0 0}.header-actions{display:flex;gap:8px}.info-section{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px}.info-section h3{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 16px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-card{display:flex;gap:12px;align-items:flex-start}.info-icon{width:28px;height:28px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.info-text strong{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:4px}.info-text p{font-size:.8125rem;color:var(--muted);margin:0;line-height:1.4}.table-container{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.reader-code{font-family:monospace;font-weight:600;color:var(--accent);background:var(--surface);padding:2px 8px;border-radius:4px}.direction-badge{font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:4px;text-transform:uppercase}.direction-in{background:#dcfce7;color:#166534}.direction-out{background:#fef3c7;color:#92400e}.direction-both{background:#e0e7ff;color:#3730a3}.delete-btn{color:var(--error)}.delete-btn:hover{background:#ef44441a}.create-reader-form{padding:16px 0;display:flex;flex-direction:column;gap:16px}.field-help{font-size:.75rem;color:var(--muted);line-height:1.4;margin-top:-8px}.form-label{font-size:.875rem;font-weight:500;color:var(--text)}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border)}@media (max-width: 768px){.rfid-readers-page{padding:16px}.page-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}.info-grid{grid-template-columns:1fr}}.collect-payment-modal{display:flex;flex-direction:column;align-items:center;padding:24px;text-align:center}.payment-amount-display{margin-bottom:32px}.amount-label{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.amount-value{font-size:48px;font-weight:700;color:var(--text);letter-spacing:-1px}.invoice-ref{font-size:14px;color:var(--text-tertiary);font-family:monospace;margin-top:8px}.customer-name{font-size:16px;color:var(--text-secondary);margin-top:4px}.payment-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;margin-bottom:24px;width:100%}.status-icon{font-size:64px;margin-bottom:16px}.status-title{font-size:20px;font-weight:600;color:var(--text);margin-bottom:8px}.status-subtitle{font-size:14px;color:var(--text-secondary);max-width:280px}.payment-status.success .status-icon,.payment-status.success .status-title{color:var(--success)}.payment-status.error .status-icon,.payment-status.error .status-title,.payment-status.error .status-subtitle{color:var(--error)}.nfc-animation{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.nfc-waves{position:absolute;width:100%;height:100%}.nfc-wave{position:absolute;top:50%;left:50%;width:100%;height:100%;border:3px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%) scale(.3);opacity:0;animation:nfc-pulse 2s ease-out infinite}.nfc-wave-1{animation-delay:0s}.nfc-wave-2{animation-delay:.5s}.nfc-wave-3{animation-delay:1s}@keyframes nfc-pulse{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.nfc-card-icon{position:relative;z-index:1;width:48px;height:48px;color:var(--accent);animation:nfc-card-pulse 2s ease-in-out infinite}.nfc-card-icon svg{width:100%;height:100%}@keyframes nfc-card-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.stripe-branding{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-tertiary);margin-bottom:24px}.stripe-logo{height:16px;width:auto;opacity:.5}.payment-actions{display:flex;flex-direction:column;gap:12px;width:100%}.payment-actions button{width:100%;padding:14px 24px;font-size:16px}.collect-btn{font-size:18px!important;font-weight:600!important}@media (max-width: 480px){.collect-payment-modal{padding:16px}.amount-value{font-size:40px}.payment-status{min-height:150px}.nfc-animation{width:100px;height:100px}}.security-service-job-queue-page{padding:20px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:20px}.page-header h1{margin:0;font-size:1.75rem;font-weight:600;color:var(--fg)}.page-subtitle{margin:4px 0 0;font-size:.938rem;color:var(--fg-dim)}.stats-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}@media (max-width: 1024px){.stats-deck{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-deck{grid-template-columns:1fr 1fr}}.page-actions{display:flex;gap:12px;flex-shrink:0}.table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.pagination-controls{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg)}.pagination-info{font-size:.875rem;color:var(--fg-dim)}@media (max-width: 768px){.security-service-job-queue-page{padding:12px}.page-header{flex-direction:column;gap:16px}.page-actions{width:100%;flex-direction:column}.page-actions button{width:100%}.pagination-controls{flex-direction:column;gap:12px}.pagination-info{order:-1}}.parts-catalog-page{padding:24px;max-width:1400px;margin:0 auto}.parts-catalog-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.parts-catalog-page .page-header h1{margin:0 0 4px;font-size:1.75rem;font-weight:600}.parts-catalog-page .page-subtitle{margin:0;color:var(--fg-muted);font-size:.875rem}.parts-catalog-page .header-actions{display:flex;gap:12px}.part-code{font-family:monospace;background:var(--bg-muted, #f3f4f6);padding:2px 6px;border-radius:4px;font-size:.8125rem;color:var(--fg)}.part-name{display:block;font-weight:500}.part-description{display:block;font-size:.75rem;color:var(--fg-muted);margin-top:2px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-category-cell{display:flex;flex-direction:column;gap:4px}.category-badge{display:inline-block;padding:2px 8px;background:var(--surface-soft, #e0f2fe);color:var(--primary, #0284c7);border-radius:12px;font-size:.75rem;font-weight:500}.xero-account-badge{display:inline-flex;align-items:center;padding:3px 8px;background:#13b5ea26;color:#13b5ea;border-radius:4px;font-size:.75rem;font-weight:600}.xero-account-badge svg{flex-shrink:0}.part-form{padding:16px 0}.part-form .form-row{margin-bottom:16px}.part-form .form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.part-form .form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border);margin-top:24px}.xero-sync-info{display:flex;align-items:center;gap:8px;padding:12px;background:#e0f2fe;border-radius:8px;margin-top:16px}.xero-badge{background:#0284c7;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.xero-account{font-size:.8125rem;color:#0369a1;font-weight:500}.parts-catalog-page .table-container{margin-top:16px}.drawer-footer-actions{display:flex;justify-content:space-between;align-items:center;width:100%}.drawer-footer-actions .footer-left,.drawer-footer-actions .footer-right{display:flex;gap:8px}.archived-row{opacity:.6}@media (prefers-color-scheme: dark){.part-code{background:var(--bg-muted, #374151)}.category-badge{background:var(--surface-soft, #1e3a5f);color:var(--primary, #38bdf8)}.xero-sync-info{background:#1e3a5f}.xero-badge{background:#0ea5e9}.xero-account{color:#7dd3fc}}.billing-settings-page{padding:24px;max-width:900px;margin:0 auto}.billing-settings-page .page-header{margin-bottom:24px}.billing-settings-page .page-header h1{margin:0 0 4px;font-size:1.75rem;font-weight:600}.billing-settings-page .page-subtitle{margin:0;color:var(--muted);font-size:.875rem}.settings-tabs{display:flex;gap:0;margin-bottom:24px;padding:4px;background:var(--bg);border-radius:10px}.settings-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--muted);transition:all .15s ease}.settings-tab:hover{color:var(--text);background:var(--bg)}.settings-tab.active{background:var(--card);color:var(--accent);font-weight:600;box-shadow:0 1px 3px #0000001a}[data-theme=dark] .settings-tabs{background:#ffffff0d}[data-theme=dark] .settings-tab.active{box-shadow:0 1px 3px #0000004d}.settings-tab .tab-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.settings-tab .tab-icon svg{width:100%;height:100%}.settings-tab .tab-label{display:block}.settings-content{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px}.settings-panel{min-height:200px}.settings-panel .section-description{margin:0 0 20px;color:var(--muted);font-size:.875rem}.xero-status-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg);border-radius:8px;margin-bottom:20px}.xero-logo svg{display:block}.xero-status-info{flex:1}.xero-status-info h3{margin:0 0 4px;font-size:1rem;font-weight:600}.xero-last-sync{margin:4px 0 0;font-size:.75rem;color:var(--muted)}.xero-actions{display:flex;gap:8px}.xero-auto-sync-settings{margin-bottom:20px;padding:16px;background:var(--bg);border-radius:8px}.xero-auto-sync-settings h4{margin:0 0 8px;font-size:.9375rem;font-weight:600}.xero-auto-sync-settings .section-description{margin:0 0 16px;font-size:.8125rem}.auto-sync-options{display:flex;flex-direction:column;gap:8px}.auto-sync-radio{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;background:var(--card)}.auto-sync-radio:hover:not(.selected){border-color:var(--muted);background:var(--bg)}.auto-sync-radio.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card));box-shadow:0 0 0 1px var(--accent)}.auto-sync-radio input[type=radio]{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.auto-sync-radio-content{flex:1}.auto-sync-radio-content strong{display:block;font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:2px}.auto-sync-radio-content p{margin:0;font-size:.8125rem;color:var(--muted);line-height:1.4}.xero-features{padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.xero-features h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:var(--text)}.xero-features ul{margin:0;padding:0 0 0 20px;list-style:disc}.xero-features li{margin:4px 0;font-size:.875rem;color:var(--muted)}.xero-settings-hint{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--border);font-size:.8125rem;color:var(--muted)}.xero-settings-hint a{color:var(--accent);text-decoration:none;font-weight:500}.xero-settings-hint a:hover{text-decoration:underline}.auto-invoice-section{padding:16px;background:var(--bg);border-radius:8px;margin:8px 0}.auto-invoice-section h4{margin:0 0 8px;font-size:.9375rem;font-weight:600;color:var(--text)}.auto-invoice-section .section-description{margin:0 0 12px;font-size:.8125rem;color:var(--muted);line-height:1.4}.service-type-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-bottom:12px}.service-type-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease;font-size:.875rem}.service-type-checkbox:hover{border-color:var(--accent)}.service-type-checkbox:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}.service-type-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.service-type-checkbox span{color:var(--text)}.service-type-checkbox .type-hint{font-size:.75rem;color:var(--muted);font-style:italic}.auto-invoice-section .quick-actions{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.quick-action-btn{padding:6px 12px;background:transparent;border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--muted);cursor:pointer;transition:all .15s ease}.quick-action-btn:hover{background:var(--card);border-color:var(--accent);color:var(--accent)}.settings-form{display:flex;flex-direction:column;gap:16px}.settings-form .form-row{display:flex;flex-direction:column}.settings-form .form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.invoice-format-field{display:flex;flex-direction:column;gap:8px}.invoice-format-field .form-label{font-size:.875rem;font-weight:500;color:var(--text)}.invoice-format-field .form-input{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.875rem;background:var(--card);color:var(--text);font-family:SF Mono,Consolas,monospace}.invoice-format-field .form-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.format-preview{font-size:.8125rem;color:var(--muted);padding:8px 12px;background:var(--bg);border-radius:6px}.format-preview strong{color:var(--accent);font-family:SF Mono,Consolas,monospace}.collapsible-section{margin-top:8px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.collapsible-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border:none;background:var(--bg);cursor:pointer;font-size:.8125rem;font-weight:600;color:var(--text);text-align:left;transition:background .15s ease}.collapsible-header:hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.collapsible-icon{width:16px;height:16px;transition:transform .2s ease}.collapsible-section.is-open .collapsible-icon{transform:rotate(180deg)}.collapsible-content{padding:14px;background:var(--card)}.placeholder-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.placeholder-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);cursor:pointer;transition:all .15s ease;min-width:80px}.placeholder-chip:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card))}.placeholder-chip .chip-label{font-size:.75rem;font-weight:600;color:var(--text)}.placeholder-chip .chip-code{font-size:.6875rem;font-family:SF Mono,Consolas,monospace;color:var(--muted)}.placeholder-examples{padding-top:12px;border-top:1px solid var(--border)}.placeholder-examples h5{margin:0 0 8px;font-size:.8125rem;font-weight:600;color:var(--text)}.placeholder-examples ul{margin:0;padding:0;list-style:none}.placeholder-examples li{margin:6px 0;font-size:.8125rem;color:var(--muted)}.placeholder-examples code{font-family:SF Mono,Consolas,monospace;font-size:.75rem;padding:2px 6px;background:var(--bg);border-radius:4px;color:var(--text)}.placeholder-examples strong{color:var(--accent);font-family:SF Mono,Consolas,monospace}.settings-actions{display:flex;justify-content:flex-end;padding-top:24px;margin-top:24px;border-top:1px solid var(--border)}@media (max-width: 640px){.billing-settings-page{padding:16px}.settings-tabs{flex-wrap:wrap}.settings-tab{flex:1;min-width:calc(50% - 4px);justify-content:center;padding:8px 12px}.settings-content{padding:16px}.xero-status-card{flex-direction:column;text-align:center}.xero-actions{flex-direction:column;width:100%}.xero-actions button{width:100%}.settings-form .form-row-2col{grid-template-columns:1fr}.placeholder-grid{justify-content:center}}.stripe-status-card{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg);border-radius:8px;margin-bottom:20px}.stripe-logo svg{flex-shrink:0}.stripe-status-info{flex:1}.stripe-status-info h3{margin:0 0 6px;font-size:1rem;font-weight:600}.stripe-actions{display:flex;gap:8px}.stripe-info-box{padding:20px;background:linear-gradient(135deg,#635bff14,#635bff05);border:1px solid rgba(99,91,255,.2);border-radius:8px;margin-bottom:20px}.stripe-info-box h4{margin:0 0 8px;font-size:1rem;font-weight:600}.stripe-info-box p{margin:0 0 16px;font-size:.875rem;color:var(--muted);line-height:1.5}.stripe-flow{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.stripe-flow-step{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--card);border-radius:6px;font-size:.8125rem}.stripe-flow-step .step-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--accent);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.flow-arrow{color:var(--muted);font-size:1rem}.stripe-setup-notice{padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:20px}.stripe-setup-notice h4{margin:0 0 8px;font-size:.875rem;font-weight:600;color:var(--text)}.stripe-setup-notice p{margin:0 0 12px;font-size:.875rem;color:var(--muted)}.stripe-setup-notice ul{margin:0;padding:0 0 0 20px;list-style:disc}.stripe-setup-notice li{margin:4px 0;font-size:.8125rem;color:var(--muted)}.stripe-features{padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.stripe-features h4{margin:0 0 12px;font-size:.875rem;font-weight:600;color:var(--text)}.stripe-features ul{margin:0;padding:0 0 0 20px;list-style:disc}.stripe-features li{margin:4px 0;font-size:.875rem;color:var(--muted)}@media (max-width: 768px){.stripe-status-card{flex-direction:column;text-align:center}.stripe-actions{flex-direction:column;width:100%}.stripe-flow{flex-direction:column;align-items:stretch}.flow-arrow{transform:rotate(90deg);text-align:center}}.rate-cards-page{padding:24px;max-width:1200px;margin:0 auto}.rate-cards-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.rate-cards-page .page-header h1{margin:0 0 4px;font-size:24px;font-weight:600;color:var(--fg)}.rate-cards-page .page-subtitle{margin:0;font-size:14px;color:var(--fg-muted)}.rate-cards-info{margin-bottom:24px}.rate-cards-info .info-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px 20px}.rate-cards-info .info-card h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--fg)}.rate-cards-info .info-card p{margin:0 0 12px;font-size:13px;color:var(--fg-muted);line-height:1.5}.rate-cards-info .info-card ul{margin:0;padding-left:20px;font-size:13px;color:var(--fg-muted)}.rate-cards-info .info-card li{margin-bottom:4px}.rate-cards-info .info-card li strong{color:var(--fg)}.rate-card-name-cell{display:flex;flex-direction:column;gap:4px}.rate-card-name{font-weight:500;color:var(--fg)}.rate-card-name-cell .status-badge{align-self:flex-start;margin-top:2px}.rate-card-description{font-size:12px;color:var(--fg-muted)}.rate-part-preview{display:flex;flex-direction:column;gap:2px}.rate-part-code{font-family:var(--font-mono);font-size:12px;color:var(--fg)}.rate-part-price{font-size:13px;font-weight:500;color:var(--primary)}.rate-rules-preview{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--fg-muted)}.text-muted{color:var(--fg-muted);font-size:13px}.rate-card-form{display:flex;flex-direction:column;gap:20px;padding:20px}.form-section{border-top:1px solid var(--border);padding-top:20px}.form-section h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--fg)}.form-section-help{margin:0 0 16px;font-size:13px;color:var(--fg-muted)}.form-check-row{display:flex;flex-direction:column;gap:4px}.form-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--fg)}.form-check input[type=checkbox]{width:16px;height:16px;cursor:pointer}.form-help{font-size:12px;color:var(--fg-muted);margin-left:24px}.form-row-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.part-selector-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.part-selector-group>label{font-size:13px;font-weight:500;color:var(--fg)}.selected-part-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:13px;color:var(--fg)}.selected-part-preview .preview-price{margin-left:auto;font-weight:500;color:var(--primary)}.part-option{display:flex;align-items:center;gap:12px;width:100%}.part-option-code{font-family:var(--font-mono);font-size:12px;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;color:var(--fg-muted)}.part-option-name{flex:1;font-size:14px;color:var(--fg)}.part-option-price{font-weight:500;color:var(--primary);font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border)}@media (max-width: 768px){.rate-cards-page{padding:16px}.rate-cards-page .page-header{flex-direction:column}.form-row-2col{grid-template-columns:1fr}}.quote-builder{display:flex;flex-direction:column;gap:24px;padding:16px 0}.quote-section{border-bottom:1px solid var(--border);padding-bottom:24px}.quote-section:last-of-type{border-bottom:none}.quote-section h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--fg)}.form-row{margin-bottom:16px}.line-items-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.line-items-header{display:grid;grid-template-columns:1fr 70px 80px 100px 100px 40px;gap:8px;padding:12px;background:var(--bg-muted);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--fg-muted)}.line-item-row{display:grid;grid-template-columns:1fr 70px 80px 100px 100px 40px;gap:8px;padding:12px;border-bottom:1px solid var(--border);align-items:center}.line-item-row input,.line-item-row select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);font-size:.875rem;color:var(--fg)}.line-item-row input:focus,.line-item-row select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0ea5e926}.col-description{min-width:0}.col-qty input{text-align:center}.col-price input{text-align:right}.col-total{text-align:right;font-weight:500;color:var(--fg)}.col-actions{display:flex;justify-content:center}.remove-line-btn{width:24px;height:24px;border:none;background:transparent;color:var(--fg-muted);font-size:1.25rem;line-height:1;cursor:pointer;border-radius:4px;transition:all .15s ease}.remove-line-btn:hover{background:var(--danger-soft, #fef2f2);color:var(--danger, #ef4444)}.quote-totals{margin-top:16px;padding:16px;background:var(--bg-muted);border-radius:8px}.total-row{display:flex;justify-content:space-between;padding:4px 0;font-size:.875rem;color:var(--fg-muted)}.total-row-final{margin-top:8px;padding-top:12px;border-top:1px solid var(--border);font-size:1.125rem;font-weight:600;color:var(--fg)}.quote-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 640px){.line-items-header{display:none}.line-item-row{display:flex;flex-direction:column;gap:8px}.line-item-row>div{width:100%}.col-description{order:1}.col-qty,.col-unit,.col-price{display:flex;align-items:center;gap:8px}.col-qty:before{content:"Qty:";font-size:.75rem;color:var(--fg-muted)}.col-unit:before{content:"Unit:";font-size:.75rem;color:var(--fg-muted)}.col-price:before{content:"Price:";font-size:.75rem;color:var(--fg-muted)}.col-total{text-align:left;padding-top:8px;border-top:1px dashed var(--border)}.col-total:before{content:"Line Total: ";font-weight:400;color:var(--fg-muted)}.col-actions{position:absolute;right:12px;top:12px}.line-item-row{position:relative;padding-right:48px}}@media (prefers-color-scheme: dark){.remove-line-btn:hover{background:#ef444426}}.quotes-list-page{padding:24px;max-width:1400px;margin:0 auto}.quotes-list-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.quotes-list-page .page-header h1{margin:0 0 4px;font-size:1.75rem;font-weight:600}.quotes-list-page .page-subtitle{margin:0;color:var(--fg-muted);font-size:.875rem}.quote-number{font-family:monospace;background:var(--bg-muted, #f3f4f6);padding:2px 6px;border-radius:4px;font-size:.8125rem;color:var(--fg)}.project-name{display:block;font-size:.75rem;color:var(--fg-muted);margin-top:2px}.expired-date{color:var(--danger, #ef4444)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media (prefers-color-scheme: dark){.quote-number{background:var(--bg-muted, #374151)}}.inv-view-container{display:flex;flex-direction:column;gap:24px;padding:16px 0}.inv-view-loading{padding:48px;text-align:center;color:var(--fg-muted)}.inv-view-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--border)}.inv-view-status{display:flex;gap:8px;align-items:center}.inv-view-dates{display:flex;gap:32px}.inv-view-date-item{display:flex;flex-direction:column;align-items:flex-end}.inv-view-date-label{font-size:.6875rem;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.inv-view-date-value{font-weight:600;font-size:.9375rem;color:var(--fg)}.inv-view-date-value.overdue{color:var(--danger, #ef4444)}.inv-view-section{padding-bottom:20px}.inv-view-section+.inv-view-section{border-top:1px solid var(--border);padding-top:20px}.inv-view-section h3{margin:0 0 16px;font-size:.8125rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em}.inv-view-customer{display:flex;flex-direction:column;gap:10px}.inv-view-info-row{display:flex;gap:16px;font-size:.9375rem}.inv-view-info-label{width:60px;flex-shrink:0;color:var(--fg-muted);font-weight:500}.inv-view-info-value{color:var(--fg)}.inv-view-link{color:var(--accent, #3b82f6);text-decoration:none;font-weight:500}.inv-view-link:hover{text-decoration:underline}.inv-view-xero-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#13b5ea1a;color:#13b5ea;border-radius:4px;font-family:SF Mono,Monaco,monospace;font-size:.8125rem;font-weight:600}.inv-view-items{border:1px solid var(--border);border-radius:8px;overflow:hidden}.inv-view-items-header{display:grid;grid-template-columns:minmax(300px,1fr) 120px 120px 130px;gap:16px;padding:12px 20px;background:var(--bg-muted);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted)}.inv-view-item-row{display:grid;grid-template-columns:minmax(300px,1fr) 120px 120px 130px;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border);font-size:.9375rem;align-items:center}.inv-view-item-row:last-child{border-bottom:none}.inv-view-col-desc{min-width:0;word-break:break-word;color:var(--fg)}.inv-view-col-qty{text-align:center;color:var(--fg-muted)}.inv-view-col-price{text-align:right;color:var(--fg-muted)}.inv-view-col-total{text-align:right;font-weight:600;color:var(--fg)}.inv-view-totals{margin-top:20px;margin-left:auto;width:300px;padding:16px 20px;background:var(--bg-muted);border-radius:8px}.inv-view-total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.9375rem;color:var(--fg-muted)}.inv-view-total-final{margin-top:10px;padding-top:12px;border-top:2px solid var(--border);font-size:1.125rem;font-weight:700;color:var(--fg)}.inv-view-paid-row{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border);color:var(--success, #22c55e)}.inv-view-paid-amount{color:var(--success, #22c55e)}.inv-view-balance-row{font-weight:600;color:var(--fg)}.inv-view-balance-due{color:var(--danger, #ef4444)}.inv-view-payments{display:flex;flex-direction:column;gap:10px}.inv-view-payment{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-muted);border-radius:8px}.inv-view-payment-info{display:flex;gap:16px;align-items:center;font-size:.9375rem}.inv-view-payment-date{font-weight:600;color:var(--fg)}.inv-view-payment-method{color:var(--fg-muted);text-transform:capitalize}.inv-view-payment-ref{font-size:.8125rem;color:var(--fg-muted)}.inv-view-payment-amount{font-weight:700;font-size:1rem;color:var(--success, #22c55e)}.inv-view-notes,.inv-view-terms{margin:0;font-size:.9375rem;color:var(--fg);white-space:pre-wrap;line-height:1.6}.inv-view-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--border);margin-top:8px}.inv-view-actions-left{display:flex;gap:8px}.inv-view-actions-right{display:flex;gap:12px}@media (max-width: 640px){.inv-view-header{flex-direction:column;gap:16px}.inv-view-dates{width:100%;justify-content:space-between}.inv-view-date-item{align-items:flex-start}.inv-view-items-header{display:none}.inv-view-item-row{display:flex;flex-direction:column;gap:8px;padding:16px}.inv-view-col-desc{font-weight:500}.inv-view-col-qty:before{content:"Qty: ";color:var(--fg-muted)}.inv-view-col-price:before{content:"Price: ";color:var(--fg-muted)}.inv-view-col-total{padding-top:8px;border-top:1px dashed var(--border)}.inv-view-col-total:before{content:"Total: ";font-weight:400;color:var(--fg-muted)}.inv-view-totals{width:100%}}.invoice-builder{display:flex;flex-direction:column;gap:24px;padding:16px 0}.builder-section{border-bottom:1px solid var(--border);padding-bottom:24px}.builder-section:last-of-type{border-bottom:none}.builder-section h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--fg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h3{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .form-field{min-width:0}.form-stack{display:flex;flex-direction:column;gap:16px}.line-items-container{border:1px solid var(--border);border-radius:8px;overflow:hidden}.line-items-header{display:grid;grid-template-columns:1fr 80px 90px 100px 100px 44px;gap:8px;padding:12px 16px;background:var(--bg-muted);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:var(--fg-muted)}.line-item-row{display:grid;grid-template-columns:1fr 80px 90px 100px 100px 44px;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);align-items:center}.line-item-row:last-child{border-bottom:none}.col-desc{min-width:0}.col-desc input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:.875rem;color:var(--fg)}.col-desc input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0ea5e926}.col-qty,.col-price{min-width:0}.col-qty input,.col-price input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:.875rem;color:var(--fg);text-align:right;color-scheme:dark}.col-qty input[type=number]::-webkit-inner-spin-button,.col-qty input[type=number]::-webkit-outer-spin-button,.col-price input[type=number]::-webkit-inner-spin-button,.col-price input[type=number]::-webkit-outer-spin-button{opacity:1;background:var(--bg-muted);border-left:1px solid var(--border);border-radius:0 5px 5px 0;cursor:pointer}.col-qty input:focus,.col-price input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0ea5e926}.col-unit select{width:100%;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);font-size:.875rem;color:var(--fg);cursor:pointer}.col-unit select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0ea5e926}.col-total{text-align:right;font-weight:600;font-size:.875rem;color:var(--fg);padding-right:4px}.col-actions{display:flex;justify-content:center;align-items:center}.remove-btn{width:36px;height:36px;border:1px solid var(--danger, #ef4444);background:transparent;color:var(--danger, #ef4444);font-size:1.25rem;line-height:1;cursor:pointer;border-radius:6px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.remove-btn:hover{background:var(--danger, #ef4444);border-color:var(--danger, #ef4444);color:#fff}.remove-btn svg{width:18px;height:18px}.totals-box{margin-top:16px;margin-left:auto;width:280px;padding:16px;background:var(--bg-muted);border-radius:8px}.total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.875rem;color:var(--fg-muted)}.total-final{margin-top:8px;padding-top:12px;border-top:1px solid var(--border);font-size:1.125rem;font-weight:600;color:var(--fg)}.builder-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.line-items-header{display:none}.line-item-row{display:flex;flex-direction:column;gap:12px;padding:16px;position:relative}.col-desc{width:100%}.col-qty,.col-unit,.col-price{display:flex;align-items:center;gap:8px;width:100%}.col-qty:before{content:"Qty:";font-size:.75rem;font-weight:600;color:var(--fg-muted);width:50px;flex-shrink:0}.col-unit:before{content:"Unit:";font-size:.75rem;font-weight:600;color:var(--fg-muted);width:50px;flex-shrink:0}.col-price:before{content:"Price:";font-size:.75rem;font-weight:600;color:var(--fg-muted);width:50px;flex-shrink:0}.col-total{text-align:left;padding-top:12px;border-top:1px dashed var(--border);width:100%}.col-total:before{content:"Line Total: ";font-weight:400;color:var(--fg-muted)}.col-actions{position:absolute;right:12px;top:12px}.totals-box{width:100%}}@media (prefers-color-scheme: dark){.remove-btn:hover{background:var(--danger, #ef4444);border-color:var(--danger, #ef4444);color:#fff}}.invoices-list-page{padding:24px;max-width:1400px;margin:0 auto}.invoices-list-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.invoices-list-page .page-header h1{margin:0 0 4px;font-size:1.75rem;font-weight:600}.invoices-list-page .page-subtitle{margin:0;color:var(--fg-muted);font-size:.875rem}.invoice-number{font-family:monospace;background:var(--bg-muted, #f3f4f6);padding:2px 6px;border-radius:4px;font-size:.8125rem;color:var(--fg)}.customer-name{display:block;font-weight:500}.job-reference{display:block;font-size:.75rem;color:var(--fg-muted);margin-top:2px}.overdue-date{color:var(--danger, #ef4444);font-weight:500}.row-actions{display:flex;gap:4px}.payment-form,.void-form{display:flex;flex-direction:column;gap:16px}.void-form p{margin:0}.void-form .warning-text{color:var(--danger, #ef4444);font-size:.875rem}.send-form{display:flex;flex-direction:column;gap:16px}.send-form p{margin:0}.send-invoice-info{padding:12px 16px;background:var(--bg-muted);border-radius:6px;font-size:.9375rem}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.invoices-list-page .page-actions{display:flex;gap:8px}.invoices-list-page .table-container{margin-top:16px}.invoices-list-page .pagination-controls{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px;border-top:1px solid var(--border);margin-top:8px}.invoices-list-page .pagination-info{font-size:.875rem;color:var(--fg-muted)}.invoices-list-page .archived-row{opacity:.7;background:var(--bg-muted)!important}.invoices-list-page .archived-row:hover{opacity:.85}@media (prefers-color-scheme: dark){.invoice-number{background:var(--bg-muted, #374151)}}@media (max-width: 768px){.invoices-list-page{padding:16px}.invoices-list-page .page-header{flex-direction:column;gap:16px}.invoices-list-page .page-actions{width:100%}.invoices-list-page .page-actions button{flex:1}.invoices-list-page .pagination-controls{flex-wrap:wrap}}.procurement-page{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;max-width:1400px;margin:0 auto}.procurement-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.procurement-page .header-content h1{margin:0;font-size:1.75rem;font-weight:700;color:var(--text-primary)}.procurement-page .page-subtitle{margin:.25rem 0 0;font-size:.9375rem;color:var(--text-secondary)}.procurement-page .header-actions{display:flex;gap:.75rem}.procurement-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:0;overflow-x:auto}.procurement-tabs .tab-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.procurement-tabs .tab-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.procurement-tabs .tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.procurement-tabs .tab-btn svg{width:18px;height:18px}.procurement-tabs .tab-count{padding:.125rem .5rem;background:var(--bg-tertiary);border-radius:10px;font-size:.75rem;font-weight:600}.procurement-tabs .tab-btn.active .tab-count{background:var(--accent-subtle);color:var(--accent)}.procurement-page .filters-section{display:flex;gap:1rem;flex-wrap:wrap}.procurement-content{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.order-number{font-family:var(--font-mono, "SF Mono", monospace);font-size:.8125rem;font-weight:600;color:var(--accent)}.order-type{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.order-type.purchase{background:var(--accent-subtle);color:var(--accent)}.order-type.quote_request{background:#f59e0b26;color:#f59e0b}.config-info{display:flex;flex-direction:column;gap:.25rem}.config-label{font-weight:600;color:var(--text-primary)}.config-type{font-size:.75rem;text-transform:capitalize;color:var(--text-secondary)}.config-specs{display:flex;gap:.75rem;font-size:.8125rem;color:var(--text-secondary)}.availability-bar{display:flex;align-items:center;gap:.75rem}.availability-bar .bar-track{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden;min-width:60px;max-width:100px}.availability-bar .bar-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--success, #22c55e) 100%);border-radius:3px;transition:width .3s ease}.availability-bar .bar-label{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.procurement-content .empty-state{padding:4rem 2rem;text-align:center}.procurement-content .empty-icon{width:64px;height:64px;margin:0 auto 1rem;color:var(--text-tertiary);opacity:.5}.procurement-content .empty-icon svg{width:100%;height:100%}.procurement-content .empty-message{font-size:1rem;color:var(--text-secondary)}.part-code{font-family:var(--font-mono, "SF Mono", monospace);font-size:.8125rem;font-weight:500;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:4px;color:var(--accent)}.part-info{display:flex;flex-direction:column;gap:.25rem}.part-name{font-weight:500;color:var(--text-primary)}.part-desc{font-size:.8125rem;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.supplier-info{display:flex;align-items:center;gap:.5rem}.supplier-code{font-family:var(--font-mono, "SF Mono", monospace);font-size:.6875rem;font-weight:500;background:var(--bg-tertiary);padding:.0625rem .25rem;border-radius:3px;color:var(--text-secondary)}.procurement-settings{padding:2rem;max-width:800px}.procurement-settings .settings-loading{padding:3rem;text-align:center;color:var(--text-secondary)}.procurement-settings .settings-info{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:8px;margin-bottom:1.5rem}.procurement-settings .settings-info svg{width:20px;height:20px;color:#3b82f6;flex-shrink:0;margin-top:2px}.procurement-settings .settings-info strong{display:block;color:#1d4ed8;margin-bottom:.25rem}.procurement-settings .settings-info p{margin:0;font-size:.875rem;color:var(--text-secondary)}.procurement-settings .settings-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;margin-bottom:1.5rem}.procurement-settings .settings-warning svg{width:20px;height:20px;color:#f59e0b;flex-shrink:0;margin-top:2px}.procurement-settings .settings-warning strong{display:block;color:#b45309;margin-bottom:.25rem}.procurement-settings .settings-warning p{margin:0;font-size:.875rem;color:var(--text-secondary)}.procurement-settings .settings-note{margin:1rem 0 0;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:6px;font-size:.8125rem;color:var(--text-secondary)}.procurement-settings .settings-section{margin-bottom:2.5rem}.procurement-settings .settings-section h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.procurement-settings .section-desc{margin:0 0 1.5rem;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.procurement-settings .settings-form{display:flex;flex-direction:column;gap:1.25rem}.procurement-settings .form-input,.procurement-settings .form-select{width:100%;max-width:400px;padding:.625rem .875rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);font-size:.875rem;transition:border-color .15s,box-shadow .15s}.procurement-settings .form-input:focus,.procurement-settings .form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.procurement-settings .form-input::placeholder{color:var(--text-tertiary)}.procurement-settings .checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.9375rem;color:var(--text-primary)}.procurement-settings .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.procurement-settings .settings-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.procurement-settings .section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.procurement-settings .section-header h3{display:flex;align-items:center;gap:.5rem}.procurement-settings .email-status-badge{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.procurement-settings .email-status-badge.configured{background:#22c55e26;color:#22c55e}.procurement-settings .email-status-badge.not-configured{background:#eab30826;color:#eab308}.procurement-settings .email-status-badge svg{width:14px;height:14px}.procurement-settings .email-config-summary{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border-radius:8px;margin-top:1rem}.procurement-settings .config-detail{display:flex;flex-direction:column;gap:.25rem}.procurement-settings .config-detail label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.procurement-settings .config-detail span{font-weight:500;color:var(--text-primary)}.procurement-settings .config-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.procurement-settings .test-result{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-top:.75rem}.procurement-settings .test-result.success{background:#22c55e26;color:#22c55e}.procurement-settings .test-result.error{background:#ef444426;color:#ef4444}.procurement-settings .test-result svg{width:18px;height:18px;flex-shrink:0}.procurement-settings .email-config-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.procurement-settings .config-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#3b82f61a;border-radius:8px;color:var(--accent);font-size:.875rem}.procurement-settings .config-notice svg{width:20px;height:20px;flex-shrink:0}.procurement-settings .form-group{display:flex;flex-direction:column;gap:.375rem}.procurement-settings .form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.procurement-settings .form-grid{display:grid;grid-template-columns:1fr 120px;gap:1rem}.procurement-settings .form-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0 .5rem;color:var(--text-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.procurement-settings .form-divider:before,.procurement-settings .form-divider:after{content:"";flex:1;height:1px;background:var(--border)}.procurement-settings .help-text{display:block;margin-top:.375rem;font-size:.75rem;color:var(--text-tertiary)}@media (max-width: 768px){.procurement-page{padding:1rem;gap:1rem}.procurement-page .page-header{flex-direction:column;align-items:stretch}.procurement-page .header-actions{justify-content:stretch}.procurement-page .header-actions button{flex:1}.procurement-tabs{gap:0}.procurement-tabs .tab-btn{flex:1;justify-content:center;padding:.75rem .5rem}.procurement-tabs .tab-btn span:not(.tab-count){display:none}.procurement-settings{padding:1.5rem}.procurement-settings .form-input,.procurement-settings .form-select{max-width:100%}}.fleet-dashboard{padding:24px;max-width:1600px;margin:0 auto}.fleet-dashboard__loading{display:flex;align-items:center;justify-content:center;min-height:400px}.fleet-dashboard__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;flex-wrap:wrap}.fleet-dashboard__header h1{margin:0 0 4px;font-size:24px;font-weight:600;color:var(--fg)}.fleet-dashboard__header p{margin:0;font-size:14px;color:var(--fg-dim)}.fleet-dashboard__header-actions{display:flex;gap:12px;flex-wrap:wrap}.fleet-dashboard__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.fleet-dashboard__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.fleet-dashboard__card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}.fleet-dashboard__card--full{grid-column:1 / -1}.fleet-dashboard__card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.fleet-dashboard__card-header h2{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.fleet-dashboard__alerts{display:flex;flex-direction:column;gap:20px}.fleet-dashboard__alert-group h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;font-weight:500;color:var(--fg)}.fleet-dashboard__alert-group h3 svg{width:16px;height:16px;color:var(--fg-dim)}.fleet-dashboard__alert-list{list-style:none;margin:0;padding:0}.fleet-dashboard__alert-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--surface-soft);border-radius:8px;margin-bottom:8px}.fleet-dashboard__alert-item:last-child{margin-bottom:0}.fleet-dashboard__alert-label{font-size:14px;color:var(--fg)}.fleet-dashboard__alert-date{font-size:13px;color:var(--fg-dim)}.fleet-dashboard__alert-date--warning{color:var(--warning);font-weight:500}.fleet-dashboard__vehicle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.fleet-dashboard__vehicle-card{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;transition:border-color .2s}.fleet-dashboard__vehicle-card:hover{border-color:var(--accent)}.fleet-dashboard__vehicle-info{display:flex;flex-direction:column;gap:4px}.fleet-dashboard__vehicle-rego{font-size:16px;font-weight:600;color:var(--fg)}.fleet-dashboard__vehicle-model{font-size:13px;color:var(--fg-dim)}@media (max-width: 1024px){.fleet-dashboard__grid{grid-template-columns:1fr}}@media (max-width: 640px){.fleet-dashboard{padding:16px}.fleet-dashboard__header{flex-direction:column;align-items:stretch}.fleet-dashboard__header-actions{flex-direction:column}.fleet-dashboard__stats{grid-template-columns:repeat(2,1fr)}}.vehicle-list{padding:24px;max-width:1400px;margin:0 auto}.vehicle-list__loading{display:flex;align-items:center;justify-content:center;min-height:300px}.vehicle-list__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;flex-wrap:wrap}.vehicle-list__header h1{margin:0 0 4px;font-size:24px;font-weight:600;color:var(--fg)}.vehicle-list__header p{margin:0;font-size:14px;color:var(--fg-dim)}.vehicle-list__header-actions{display:flex;gap:12px;flex-wrap:wrap}.vehicle-list__rego{font-weight:600;color:var(--accent)}@media (max-width: 640px){.vehicle-list{padding:16px}.vehicle-list__header{flex-direction:column;align-items:stretch}.vehicle-list__header-actions{flex-direction:column}}.checks-page{padding:24px;max-width:1400px;margin:0 auto}.checks-page__loading{display:flex;align-items:center;justify-content:center;min-height:300px}.checks-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;flex-wrap:wrap}.checks-page__header h1{margin:0 0 4px;font-size:24px;font-weight:600;color:var(--fg)}.checks-page__header p{margin:0;font-size:14px;color:var(--fg-dim)}.checks-page__header-actions{display:flex;gap:12px;flex-wrap:wrap}.checks-page__vehicle{font-weight:600;color:var(--accent)}.check-detail{display:flex;flex-direction:column;gap:24px}.check-detail__header{display:flex;justify-content:center;padding:16px;background:var(--surface-soft);border-radius:10px}.check-detail__info{display:flex;flex-direction:column;gap:12px}.check-detail__row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.check-detail__row:last-child{border-bottom:none}.check-detail__label{font-size:13px;color:var(--fg-dim)}.check-detail__value{font-size:14px;font-weight:500;color:var(--fg)}.check-detail__issues{padding:16px;background:var(--danger-bg);border:1px solid var(--danger);border-radius:8px}.check-detail__issues h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--danger)}.check-detail__issues p{margin:0;font-size:14px;color:var(--fg)}.check-detail__items h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--fg)}.check-detail__items-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.check-detail__item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface-soft);border-radius:6px}.check-detail__item-label{font-size:13px;color:var(--fg)}.check-detail__item-value{font-size:14px;font-weight:600}.check-detail__item-value.passed{color:var(--success)}.check-detail__item-value.failed{color:var(--danger)}@media (max-width: 640px){.checks-page{padding:16px}.checks-page__header{flex-direction:column;align-items:stretch}.checks-page__header-actions{flex-direction:column}.check-detail__items-list{grid-template-columns:1fr}}.month-calendar{width:100%;background:var(--surface);border-radius:12px;padding:16px}.month-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:8px 0}.month-calendar-title{font-size:18px;font-weight:600;color:var(--fg);cursor:pointer;user-select:none}.month-nav-btn{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.month-nav-btn:hover{background:var(--surface-soft);border-color:var(--accent)}.month-nav-btn:active{transform:scale(.95)}.month-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.month-calendar-day-label{text-align:center;font-size:11px;font-weight:600;color:var(--fg-muted);padding:8px 0;text-transform:uppercase;letter-spacing:.5px}.month-calendar-day{aspect-ratio:1;border-radius:8px;border:1px solid var(--border);background:var(--bg);padding:6px;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:50px;position:relative}.month-calendar-day:hover{background:var(--surface-soft);border-color:var(--accent);transform:scale(1.02)}.month-calendar-day.other-month{opacity:.3}.month-calendar-day.other-month:hover{opacity:.5}.month-calendar-day.today{border-color:#10b981;border-width:2px;background:color-mix(in oklab,#10b981 8%,var(--bg))}.month-calendar-day.today .day-number{color:#10b981;font-weight:700}.day-number{font-size:14px;font-weight:500;color:var(--fg);margin-bottom:4px}.shift-dots{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-items:center;margin-top:auto}.shift-dot{width:6px;height:6px;border-radius:50%;box-shadow:0 1px 2px #00000026}.shift-count{font-size:9px;font-weight:600;color:var(--fg-muted);margin-left:2px}@media (max-width: 375px){.month-calendar{padding:12px}.month-calendar-day{min-height:44px;padding:4px}.day-number{font-size:12px}.shift-dot{width:5px;height:5px}}.image-preview-overlay{position:fixed;inset:0;background:#0009;z-index:50000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.image-preview-modal{background:var(--bg);border-radius:12px;max-width:90vw;max-height:90vh;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;animation:scaleIn .2s ease;overflow:hidden}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.image-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.image-preview-title{display:flex;align-items:center;gap:12px;min-width:0}.image-preview-filename{font-size:15px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-preview-controls{display:flex;gap:8px;flex-shrink:0}.image-preview-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--fg-secondary);cursor:pointer;transition:all .15s ease}.image-preview-btn:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.image-preview-btn-close:hover{background:var(--danger-bg, rgba(239, 68, 68, .1));border-color:var(--danger, #ef4444);color:var(--danger, #ef4444)}.image-preview-btn svg{width:20px;height:20px}.image-preview-content{flex:1;padding:24px;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--bg);min-height:200px}.image-preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;display:block}.image-preview-pdf-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--fg-secondary);text-align:center}.image-preview-download-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.image-preview-download-btn:hover{background:var(--accent-hover, #0055cc);transform:translateY(-1px);box-shadow:0 4px 12px #0066ff4d}.image-preview-download-btn svg{width:18px;height:18px}.image-preview-footer{display:flex;gap:20px;padding:12px 24px;border-top:1px solid var(--border);background:var(--bg-secondary);font-size:13px;color:var(--fg-secondary);flex-shrink:0}.image-preview-footer span{white-space:nowrap}@media (max-width: 1024px){.image-preview-modal{max-width:90vw;max-height:90vh}.image-preview-header{padding:14px 20px}.image-preview-content{padding:20px}.image-preview-filename{font-size:14px}}@media (max-width: 768px){.image-preview-overlay{padding:0}.image-preview-modal{max-width:100vw;max-height:100vh;border-radius:0;width:100%;height:100%}.image-preview-header{padding:12px 16px}.image-preview-content{padding:16px}.image-preview-footer{flex-direction:column;gap:8px;padding:12px 16px}.image-preview-btn{width:40px;height:40px}.image-preview-btn svg{width:22px;height:22px}}.document-grid{display:grid;gap:16px;width:100%;margin:16px 0}.document-grid-item{background:var(--bg-secondary, #f8f9fa);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease}.document-grid-item:hover{border-color:var(--primary, #0066ff);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.document-grid-thumbnail{position:relative;width:100%;height:160px;background:var(--bg-tertiary, #f0f0f0);display:flex;align-items:center;justify-content:center;overflow:hidden}.document-grid-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.document-grid-item:hover .document-grid-image{transform:scale(1.05)}.document-grid-icon{color:var(--fg-secondary, #666);display:flex;align-items:center;justify-content:center}.document-grid-icon svg{width:48px;height:48px;stroke-width:1.5}.document-grid-badge{position:absolute;top:8px;right:8px;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;color:#fff;background:#000000b3;backdrop-filter:blur(4px);text-transform:uppercase;z-index:2}.document-grid-badge--red{background:#dc2626e6}.document-grid-badge--blue{background:#2563ebe6}.document-grid-badge--green{background:#22c55ee6}.document-grid-badge--purple{background:#9333eae6}.document-grid-badge--orange{background:#f97316e6}.document-grid-badge--gray{background:#4b5563e6}.document-grid-overlay{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s ease;z-index:1}.document-grid-item:hover .document-grid-overlay{opacity:1}.document-grid-overlay svg{width:32px;height:32px;color:#fff;stroke-width:2}.document-grid-overlay span{color:#fff;font-size:14px;font-weight:500}.document-grid-meta{padding:12px;background:var(--bg-secondary, #fff)}.document-grid-name{font-size:13px;font-weight:500;color:var(--fg, #000);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-grid-size,.document-grid-date{font-size:12px;color:var(--fg-secondary, #666);margin-bottom:2px}.document-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;background:var(--bg-secondary, #f8f9fa);border:2px dashed var(--border-color, #e0e0e0);border-radius:8px;color:var(--fg-secondary, #666);text-align:center}.document-grid-empty svg{width:64px;height:64px;color:var(--fg-tertiary, #ccc);stroke-width:1.5}.document-grid-empty p{font-size:14px;margin:0}@media (max-width: 768px){.document-grid{gap:12px}.document-grid-thumbnail{height:120px}.document-grid-icon svg{width:36px;height:36px}.document-grid-badge{font-size:10px;padding:3px 6px}.document-grid-overlay svg{width:24px;height:24px}.document-grid-overlay span{font-size:12px}.document-grid-meta{padding:10px}.document-grid-name{font-size:12px}.document-grid-size,.document-grid-date{font-size:11px}.document-grid-empty{padding:32px 16px}.document-grid-empty svg{width:48px;height:48px}.document-grid-empty p{font-size:13px}}@media (prefers-color-scheme: dark){.document-grid-item{background:var(--bg-secondary, #1a1a1a);border-color:var(--border-color, #333)}.document-grid-thumbnail{background:var(--bg-tertiary, #0a0a0a)}.document-grid-empty{background:var(--bg-secondary, #1a1a1a);border-color:var(--border-color, #333)}}.credential-card-premium{position:relative;padding:20px 24px;background:var(--bg-alt, #1e293b);border:1px solid var(--border);border-left:6px solid;border-radius:12px;display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 8px #00000026;transition:box-shadow .3s ease,transform .3s ease}.credential-card-premium:hover{box-shadow:0 4px 16px #00000040;transform:translateY(-1px)}.credential-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.credential-card-info h3{margin:0 0 6px;font-size:17px;font-weight:600;color:var(--text)}.credential-number{margin:0;font-size:13px;color:var(--muted);font-family:SF Mono,Monaco,Courier New,monospace}.credential-card-details{display:flex;gap:24px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.credential-detail-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.credential-detail-value{font-size:14px;font-weight:500;color:var(--text)}.credential-detail-value.text-error{color:#ef4444}.credential-detail-value.text-warning{color:#f59e0b}.credential-days-remaining{font-size:12px;font-weight:400;color:var(--muted);margin-left:4px}.credential-card-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.credential-card-actions>button{display:inline-flex;align-items:center;gap:12px;padding:11px 18px;font-size:13px;font-weight:500;letter-spacing:.01em;border-radius:7px;border:none;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none;background:var(--bg-alt);color:var(--text);border:1.5px solid var(--border);box-shadow:0 1px 3px #00000008}.credential-card-actions>button:focus{outline:none}.credential-card-actions>button:active{transform:scale(.98)}.credential-card-actions>button svg{flex-shrink:0;transition:transform .2s ease}.credential-card-actions>button:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #3b82f633;transform:translateY(-1px)}.credential-card-actions button[data-action=verify]{background:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 85%,black) 100%);color:#fff;border:none;font-weight:600;box-shadow:0 2px 6px #3b82f633}.credential-card-actions button[data-action=verify]:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px) scale(1.01)}.credential-card-actions button[data-action=verify] svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.credential-card-actions button[data-action=ping],.credential-card-actions button[data-action=archive]{background:transparent;color:var(--muted);border:1px solid var(--border)}.credential-card-actions button[data-action=ping]:hover,.credential-card-actions button[data-action=archive]:hover{border-color:var(--accent);color:var(--accent);background:#3b82f60d}.credential-card-actions button[data-action=delete]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;font-weight:600;box-shadow:0 2px 6px #ef444433}.credential-card-actions button[data-action=delete]:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px) scale(1.01)}.credential-attachments-wrapper{position:relative}.credential-attachments-btn{display:inline-flex;align-items:center;gap:6px;padding:11px 14px;font-size:13px;font-weight:500;color:var(--text);background:var(--bg-alt);border:1.5px solid var(--border);border-radius:7px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.credential-attachments-btn:hover,.credential-attachments-btn[data-active=true]{background:var(--accent);border-color:var(--accent);color:#fff}.credential-attachments-btn span{font-weight:600;min-width:16px;text-align:center}.credential-attachments-chevron{transition:transform .25s cubic-bezier(.4,0,.2,1)}.credential-attachments-chevron.open{transform:rotate(180deg)}.credential-attachments-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;min-width:280px;max-width:340px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 40px #00000026,0 2px 10px #0000001a;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);transform-origin:top left;transition:all .25s cubic-bezier(.4,0,.2,1)}.credential-attachments-popover.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.credential-attachments-popover-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.credential-attachments-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.credential-attachments-close:hover{background:var(--bg-alt);color:var(--text)}.credential-attachments-list{max-height:240px;overflow-y:auto;padding:8px}.credential-attachments-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--muted);font-size:13px}.credential-attachments-spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spinner-rotate .8s linear infinite}.credential-attachments-spinner.small{width:12px;height:12px;border-width:1.5px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.credential-attachment-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;transition:background .15s ease}.credential-attachment-item:hover{background:var(--bg-alt)}.credential-attachment-thumb{flex-shrink:0;width:40px;height:40px;border-radius:6px;background:var(--bg-alt);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.credential-attachment-thumb:hover{border-color:var(--accent);transform:scale(1.05)}.credential-attachment-thumb img{width:100%;height:100%;object-fit:cover}.credential-attachment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;cursor:pointer}.credential-attachment-type{font-size:11px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.3px}.credential-attachment-name{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credential-attachment-actions{display:flex;align-items:center;gap:4px}.credential-attachment-view,.credential-attachment-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.credential-attachment-view:hover{background:#3b82f61a;color:var(--accent)}.credential-attachment-delete:hover{background:#ef44441a;color:#ef4444}.credential-attachment-delete:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 720px){.credential-card-premium{padding:16px 18px;gap:14px}.credential-card-header{flex-direction:column;gap:8px}.credential-card-info h3{font-size:16px}.credential-card-details{flex-direction:column;gap:12px;align-items:flex-start}.credential-card-actions>button{font-size:12px;padding:9px 14px}.credential-attachments-popover{min-width:260px;max-width:calc(100vw - 48px);left:-10px}}.user-profile-page{max-width:1200px;margin:0 auto;padding:24px;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--card, #fff);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a}.profile-avatar{flex-shrink:0}.avatar-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover, var(--accent)));color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;text-transform:uppercase;box-shadow:0 2px 8px #00000026;flex-shrink:0}.profile-header-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.profile-header-info{min-width:0}.profile-header-info h1{margin:0;font-size:16px;font-weight:600;color:var(--text, var(--fg));line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{margin:2px 0 0;font-size:13px;color:var(--muted, var(--fg-secondary));line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-role{margin:2px 0 0;font-size:11px;color:var(--muted, var(--fg-tertiary));font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1.3}.profile-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.mobile-tab-selector{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 20px;margin-bottom:20px;background:var(--bg);border:1px solid var(--border);border-radius:14px;font-size:16px;font-weight:600;color:var(--fg);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.mobile-tab-selector:hover{border-color:var(--accent);box-shadow:0 4px 12px #00000014}.mobile-tab-selector:active{transform:scale(.98)}.mobile-tab-selector-label{display:flex;align-items:center;gap:10px}.mobile-tab-selector svg{color:var(--fg-secondary);transition:transform .2s ease}.mobile-tab-menu-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);z-index:100000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease;transform:translateZ(0)}.mobile-tab-menu{width:100%;max-width:500px;background:var(--bg);border-radius:20px 20px 0 0;padding:8px 0 calc(env(safe-area-inset-bottom,20px) + 80px);animation:slideUp .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -4px 20px #00000026;margin-bottom:0}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-tab-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);margin-bottom:8px}.mobile-tab-menu-header span{font-size:17px;font-weight:700;color:var(--fg)}.mobile-tab-menu-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--bg-secondary);border-radius:50%;cursor:pointer;color:var(--fg-secondary);transition:all .2s ease}.mobile-tab-menu-close:hover{background:var(--border);color:var(--fg)}.mobile-tab-menu-options{display:flex;flex-direction:column;padding:0 12px}.mobile-tab-menu-option{display:flex;align-items:center;gap:14px;padding:16px;border:none;background:transparent;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s ease;color:var(--fg)}.mobile-tab-menu-option:hover{background:var(--bg-secondary)}.mobile-tab-menu-option:active{transform:scale(.98)}.mobile-tab-menu-option.active{background:color-mix(in oklab,var(--accent) 12%,transparent)}.mobile-tab-menu-icon{font-size:24px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:10px}.mobile-tab-menu-option.active .mobile-tab-menu-icon{background:color-mix(in oklab,var(--accent) 20%,transparent)}.mobile-tab-menu-label{flex:1;font-size:16px;font-weight:600}.mobile-tab-menu-check{color:var(--accent);flex-shrink:0}.profile-tabs-container{margin-bottom:24px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:6px;box-shadow:0 2px 8px #0000000a;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.profile-tabs-container::-webkit-scrollbar{display:none}.profile-tabs-container .tabs-underline{background:transparent;border:none;padding:0;gap:4px;min-width:max-content}.profile-tabs-container .tab{padding:10px 16px;border-radius:12px;background:transparent;color:var(--fg-secondary);font-size:14px;font-weight:600;border:none;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative}.profile-tabs-container .tab:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);color:var(--fg)}.profile-tabs-container .tab.active{background:var(--bg);color:var(--accent);box-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;font-weight:700}.profile-tabs-container .tab:after{display:none}.profile-content{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 2px 12px #0000000a;animation:slideIn .35s cubic-bezier(.4,0,.2,1)}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.profile-tab-panel{animation:fadeIn .3s ease}.form-section{margin-bottom:28px}.form-section:last-child{margin-bottom:0}.form-section h2{margin:0 0 20px;font-size:19px;font-weight:700;color:var(--fg);padding-bottom:14px;border-bottom:2px solid var(--border);letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.form-section h2:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,var(--accent),var(--primary));border-radius:2px}.form-grid-2,.form-grid-3{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}.grid-span-2{grid-column:span 1}.mobile-credentials-list{display:flex;flex-direction:column;gap:16px;margin-top:20px}.mobile-credential-card{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 3%,var(--card-bg)) 0%,var(--card-bg) 100%);border:1px solid var(--border);border-radius:16px;padding:18px;border-left:4px solid var(--accent);box-shadow:0 4px 12px #0000000f,0 1px 3px #0000000a;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer}.mobile-credential-card:active{transform:scale(.98);box-shadow:0 2px 6px #00000014,0 1px 2px #0000000a}.mobile-credential-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.mobile-credential-card-title{flex:1;min-width:0}.mobile-credential-card-title h4{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--fg);line-height:1.3;letter-spacing:-.01em}.mobile-credential-card-title span{font-size:13px;color:var(--fg-secondary);font-weight:500;font-family:SF Mono,Monaco,Consolas,monospace}.mobile-credential-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;padding:14px;background:color-mix(in oklab,var(--accent) 4%,var(--bg));border-radius:12px;border:1px solid color-mix(in oklab,var(--accent) 10%,var(--border))}.mobile-credential-meta-item{display:flex;flex-direction:column;gap:4px}.mobile-credential-meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-tertiary);font-weight:700}.mobile-credential-meta-value{font-size:14px;font-weight:600;color:var(--fg)}.mobile-credential-meta-value.text-error{color:var(--red, #ef4444)}.mobile-credential-meta-value.text-warning{color:var(--orange, #f59e0b)}.mobile-credential-card-docs{display:flex;align-items:center;gap:10px;padding:12px 0 0;border-top:1px solid var(--border)}.mobile-credential-card-docs svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.mobile-credential-card-docs span{font-size:14px;color:var(--fg-secondary);font-weight:500}.empty-credentials{padding:80px 24px;text-align:center;color:var(--fg-secondary);font-size:15px}.upload-modal-content{padding:20px 0}.upload-zone{margin:24px 0;padding:48px 24px;border:2px dashed var(--border);border-radius:16px;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;background:color-mix(in oklab,var(--accent) 2%,transparent)}.upload-zone:hover{border-color:var(--accent, var(--primary));background:color-mix(in oklab,var(--accent) 6%,transparent);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.upload-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;gap:14px;cursor:pointer;color:var(--fg)}.upload-label svg{width:56px;height:56px;color:var(--accent, var(--primary));stroke-width:1.5}.upload-label span{font-size:17px;font-weight:600}.upload-label small{font-size:14px;color:var(--fg-secondary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border);margin-top:20px}.profile-header-right .status-badge{padding:8px 16px;font-size:14px;font-weight:700;border-radius:12px;box-shadow:0 2px 8px #00000014}.profile-loading{display:flex;align-items:center;justify-content:center;min-height:400px}@media (min-width: 1280px){.user-profile-page{padding:32px}.profile-header{padding:20px 24px}.profile-header-info h1{font-size:18px}.avatar-circle{width:52px;height:52px;font-size:20px}.form-grid-2{grid-template-columns:1fr 1fr}.form-grid-3{grid-template-columns:2fr 1fr}.grid-span-2{grid-column:span 2}.profile-tabs-container{overflow-x:visible}}@media (min-width: 768px) and (max-width: 1279px){.user-profile-page{padding:24px}.avatar-circle{width:52px;height:52px;font-size:20px}.profile-header-info h1{font-size:17px}.form-grid-2{grid-template-columns:1fr 1fr}.grid-span-2{grid-column:span 2}}@media (max-width: 767px){.user-profile-page{padding:16px}.profile-header{padding:12px 16px;border-radius:12px;margin-bottom:16px;gap:12px}.profile-header{flex-wrap:wrap}.profile-header-right{width:100%;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--border);margin-top:4px}.avatar-circle{width:44px;height:44px;font-size:16px}.profile-header-info h1{font-size:15px}.profile-email{font-size:12px}.profile-role{font-size:10px}.profile-tabs-container{padding:5px;border-radius:14px;margin-bottom:20px}.profile-tabs-container .tab{padding:9px 14px;font-size:13px;border-radius:10px}.profile-content{padding:20px;border-radius:18px}.form-section h2{font-size:17px;margin-bottom:16px;padding-bottom:12px}.form-section h2:before{width:3px;height:18px}.mobile-credentials-list{gap:14px}.mobile-credential-card{padding:16px;border-radius:14px}.mobile-credential-card-header{margin-bottom:12px}.mobile-credential-card-title h4{font-size:15px}.mobile-credential-card-meta{padding:12px;gap:10px}.upload-zone{padding:40px 20px}.upload-label svg{width:48px;height:48px}.upload-label span{font-size:16px}.upload-label small{font-size:13px}.form-grid-2,.form-grid-3{gap:14px;margin-bottom:14px}}@media (max-width: 374px){.avatar-circle{width:40px;height:40px;font-size:14px}.profile-header-info h1{font-size:14px}.profile-email{font-size:11px}.mobile-credential-card-meta{grid-template-columns:1fr;gap:12px}}[data-theme=light] .profile-header{background:#fff;box-shadow:0 2px 8px #0000000a}[data-theme=light] .profile-content{background:#fff;border-color:var(--border, #e2e8f0)}[data-theme=dark] .profile-header,[data-theme=sentrac] .profile-header,[data-theme=gamer] .profile-header,[data-theme=retro] .profile-header,[data-theme=christmas] .profile-header{background:var(--card-bg, var(--bg));box-shadow:0 4px 20px #0003}[data-theme=dark] .profile-content,[data-theme=sentrac] .profile-content,[data-theme=gamer] .profile-content,[data-theme=retro] .profile-content,[data-theme=christmas] .profile-content{background:var(--bg, #000);border-color:var(--border, #333);box-shadow:0 2px 12px #0000004d}[data-theme=dark] .mobile-credential-card,[data-theme=sentrac] .mobile-credential-card,[data-theme=gamer] .mobile-credential-card,[data-theme=retro] .mobile-credential-card,[data-theme=christmas] .mobile-credential-card{background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 5%,var(--card-bg)) 0%,var(--card-bg) 100%);box-shadow:0 4px 12px #0000004d,0 1px 3px #0003}[data-theme=dark] .upload-zone:hover,[data-theme=sentrac] .upload-zone:hover,[data-theme=gamer] .upload-zone:hover,[data-theme=retro] .upload-zone:hover,[data-theme=christmas] .upload-zone:hover{box-shadow:0 4px 12px #0006}@media (pointer: coarse){.profile-tabs-container .tab{min-height:44px}.mobile-credential-card{min-height:120px}.upload-zone{min-height:140px}}@media print{.user-profile-page{padding:0}.profile-header{background:#fff;border:1px solid #ccc;box-shadow:none}.avatar-circle{box-shadow:none}.profile-tabs-container{display:none}.profile-content{border:none;box-shadow:none}.mobile-credential-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}}.shift-confirmation-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;animation:fadeIn .2s ease-out}.shift-confirmation-modal{background:var(--surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}.shift-confirmation-modal-header{display:flex;align-items:center;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border)}.shift-confirmation-modal-icon{width:40px;height:40px;border-radius:8px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.shift-confirmation-modal-icon svg{width:24px;height:24px}.shift-confirmation-modal-title{flex:1;font-size:18px;font-weight:600;color:var(--fg);margin:0}.shift-confirmation-modal-close{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.shift-confirmation-modal-close:hover{background:var(--hover);color:var(--fg)}.shift-confirmation-modal-close svg{width:20px;height:20px}.shift-confirmation-modal-body{padding:24px;display:flex;flex-direction:column;gap:16px}.shift-confirmation-detail{display:flex;flex-direction:column;gap:6px}.shift-confirmation-detail-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.shift-confirmation-detail-value{font-size:16px;font-weight:500;color:var(--fg)}.shift-confirmation-notes{font-style:italic;background:var(--bg);padding:12px;border-radius:6px;border-left:3px solid var(--primary)}.shift-confirmation-decline-section{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.shift-confirmation-decline-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;resize:vertical;transition:border-color .2s}.shift-confirmation-decline-input:focus{outline:none;border-color:var(--primary)}.shift-confirmation-decline-input::placeholder{color:var(--muted)}.shift-confirmation-modal-actions{display:flex;gap:12px;padding:20px 24px;border-top:1px solid var(--border)}.shift-confirmation-modal-actions button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.shift-confirmation-modal-actions button svg{width:18px;height:18px}.shift-confirmation-confirm-btn{background:var(--success, #10b981)!important;color:#fff!important}.shift-confirmation-confirm-btn:hover{background:var(--success-hover, #059669)!important}.shift-confirmation-decline-btn{background:var(--bg)!important;border:1px solid var(--border)!important;color:var(--fg)!important}.shift-confirmation-decline-btn:hover{background:var(--hover)!important}.shift-confirmation-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@media (max-width: 640px){.shift-confirmation-modal{max-height:85vh}.shift-confirmation-modal-header,.shift-confirmation-modal-body{padding:16px}.shift-confirmation-modal-actions{padding:16px;flex-direction:column-reverse}.shift-confirmation-modal-actions button{width:100%}}.mobile-parts-search{display:flex;flex-direction:column;height:100%;background:var(--bg)}.parts-search-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);background:var(--card-bg)}.parts-search-header h2{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.back-button{display:flex;align-items:center;gap:4px;padding:8px 12px;border:none;background:transparent;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer}.back-icon{width:16px;height:16px}.close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--surface-soft);border-radius:8px;color:var(--fg-dim);cursor:pointer}.close-button svg{width:16px;height:16px}.search-input-container{display:flex;align-items:center;gap:12px;margin:16px;padding:12px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}.search-icon{width:20px;height:20px;color:var(--fg-dim);flex-shrink:0}.search-icon svg{width:100%;height:100%}.search-input{flex:1;border:none;background:transparent;font-size:16px;color:var(--fg);outline:none}.search-input::placeholder{color:var(--fg-dim)}.clear-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:var(--surface-soft);border-radius:50%;color:var(--fg-dim);cursor:pointer}.clear-button svg{width:12px;height:12px}.search-results{flex:1;overflow-y:auto;padding:0 16px 16px}.results-list{list-style:none;margin:0;padding:0}.result-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.result-item:hover{border-color:var(--accent);background:var(--accent-soft)}.result-item:active{transform:scale(.98)}.result-main{flex:1;min-width:0}.result-part-number{display:block;font-size:15px;font-weight:600;color:var(--fg);margin-bottom:2px}.result-description{display:block;font-size:13px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-location{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--accent);flex-shrink:0}.location-icon{width:14px;height:14px}.location-icon svg{width:100%;height:100%}.result-chevron{color:var(--fg-dim);font-size:16px;flex-shrink:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;gap:16px;color:var(--fg-dim)}.empty-state,.hint-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;gap:12px;text-align:center}.empty-icon,.hint-icon{width:48px;height:48px;color:var(--fg-dim);opacity:.5}.empty-icon svg,.hint-icon svg{width:100%;height:100%}.empty-state p,.hint-state p{margin:0;font-size:14px;color:var(--fg-dim)}.part-detail-card{margin:16px;padding:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}.part-detail-main{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.part-detail-main .part-number{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--fg)}.part-detail-main .part-description{margin:0;font-size:14px;color:var(--fg-dim);line-height:1.5}.part-detail-grid{display:flex;flex-direction:column;gap:12px}.detail-item{display:flex;align-items:center;gap:12px}.detail-icon{width:20px;height:20px;color:var(--accent);flex-shrink:0}.detail-icon svg{width:100%;height:100%}.detail-content{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:11px;font-weight:500;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:14px;font-weight:500;color:var(--fg)}.part-actions{padding:16px;border-top:1px solid var(--border);background:var(--card-bg);margin-top:auto}.part-actions .btn{width:100%}.mobile-stock-form{display:flex;flex-direction:column;height:100%;background:var(--bg)}.stock-form-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);background:var(--card-bg)}.stock-form-header h2{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.stock-form-header .close-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--surface-soft);border-radius:8px;color:var(--fg-dim);cursor:pointer}.transaction-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;background:var(--card-bg);border-bottom:1px solid var(--border)}.type-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;border:2px solid var(--border);border-radius:12px;background:var(--surface-soft);cursor:pointer;transition:all .2s ease}.type-button.issue.active{border-color:var(--accent);background:var(--accent-soft)}.type-button.return.active{border-color:var(--tone-success);background:#10b9811a}.type-icon{width:24px;height:24px;font-size:24px;font-weight:700}.type-button.issue .type-icon{color:var(--accent)}.type-button.return .type-icon{color:var(--tone-success)}.type-label{font-size:14px;font-weight:600;color:var(--fg)}.form-section{padding:16px;border-bottom:1px solid var(--border)}.section-label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.selected-part-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;cursor:pointer}.part-info{display:flex;flex-direction:column;gap:2px}.part-info .part-number{font-size:15px;font-weight:600;color:var(--fg)}.part-info .part-description{font-size:13px;color:var(--fg-dim)}.change-button{padding:6px 12px;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font-size:12px;font-weight:500;cursor:pointer}.select-part-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px;border:2px dashed var(--border);border-radius:10px;background:var(--surface-soft);color:var(--fg-dim);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.select-part-button:hover{border-color:var(--accent);color:var(--accent)}.button-icon{width:20px;height:20px}.button-icon svg{width:100%;height:100%}.quantity-control{display:flex;align-items:center;gap:0;background:var(--card-bg);border:1px solid var(--border);border-radius:10px;overflow:hidden}.quantity-button{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;background:var(--surface-soft);color:var(--fg);font-size:24px;font-weight:600;cursor:pointer;transition:all .2s ease}.quantity-button:disabled{opacity:.4;cursor:not-allowed}.quantity-button:not(:disabled):hover{background:var(--accent-soft);color:var(--accent)}.quantity-button.minus{border-right:1px solid var(--border)}.quantity-button.plus{border-left:1px solid var(--border)}.quantity-input{flex:1;height:56px;border:none;background:transparent;text-align:center;font-size:24px;font-weight:600;color:var(--fg);outline:none}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cost-centre-select{width:100%;padding:14px 40px 14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);color:var(--fg);font-size:15px;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.cost-centre-select:focus{border-color:var(--accent)}.notes-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--card-bg);color:var(--fg);font-size:15px;font-family:inherit;resize:none;outline:none}.notes-input::placeholder{color:var(--fg-dim)}.notes-input:focus{border-color:var(--accent)}.form-actions{padding:16px;margin-top:auto;border-top:1px solid var(--border);background:var(--card-bg)}.form-actions .btn{width:100%;height:52px;font-size:16px}.document-upload-modal{display:flex;flex-direction:column;gap:16px}.document-upload-field{display:flex;flex-direction:column;gap:8px}.document-upload-label{font-weight:600}.document-upload-select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;cursor:pointer}.document-upload-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-alpha-20)}.document-upload-select:disabled{opacity:.5;cursor:not-allowed}.document-upload-selected{font-size:.875rem;color:var(--gray-600, #4b5563)}.storage-widget{background:var(--surface, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;overflow:hidden}.storage-widget.inline{border:none;border-radius:0;background:transparent}.storage-widget.warning{border-color:var(--warning-border, #fcd34d)}.storage-widget.critical{border-color:var(--danger-border, #fca5a5)}.storage-widget-loading,.storage-widget-error{padding:24px;text-align:center;color:var(--text-secondary, #6b7280);font-size:.875rem}.storage-widget-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-light, #f3f4f6)}.storage-widget.inline .storage-widget-header{padding:0 0 12px;border-bottom:none}.storage-widget-title{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600;color:var(--text-primary, #111827)}.storage-widget-title svg{color:var(--primary, #3b82f6)}.storage-widget-link{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:4px 8px;font-size:.75rem;font-weight:500;color:var(--primary, #3b82f6);cursor:pointer;border-radius:4px;transition:background .15s}.storage-widget-link:hover{background:var(--primary-bg, #eff6ff)}.storage-widget-content{display:flex;align-items:center;gap:16px;padding:16px}.storage-widget.inline .storage-widget-content{padding:0}.storage-widget-ring{position:relative;width:64px;height:64px;flex-shrink:0}.storage-widget-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.storage-widget-ring .ring-bg{fill:none;stroke:var(--border, #e5e7eb);stroke-width:4}.storage-widget-ring .ring-fill{fill:none;stroke:var(--usage-color, var(--primary, #3b82f6));stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .5s ease}.storage-widget-ring .ring-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.storage-widget-ring .ring-percent{font-size:.875rem;font-weight:700;color:var(--text-primary, #111827)}.storage-widget-stats{flex:1;min-width:0}.storage-stat-main{display:flex;flex-direction:column;gap:2px}.stat-used{font-size:1.125rem;font-weight:600;color:var(--text-primary, #111827)}.stat-limit{font-size:.75rem;color:var(--text-secondary, #6b7280)}.storage-stat-meta{font-size:.75rem;color:var(--text-tertiary, #9ca3af);margin-top:4px}.storage-widget-modules{display:flex;flex-direction:column;gap:6px;padding:12px 16px;border-top:1px solid var(--border-light, #f3f4f6);background:var(--bg-secondary, #f9fafb)}.storage-widget.inline .storage-widget-modules{padding:12px 0 0;background:transparent;border-top:1px dashed var(--border, #e5e7eb)}.module-item{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.module-label{color:var(--text-secondary, #6b7280)}.module-value{font-weight:500;color:var(--text-primary, #111827)}.storage-widget-banner{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:.75rem;font-weight:500}.storage-widget-banner.warning{background:var(--warning-bg, #fef3c7);color:var(--warning-dark, #92400e)}.storage-widget-banner.warning svg{color:var(--warning, #f59e0b)}.storage-widget-banner.critical{background:var(--danger-bg, #fee2e2);color:var(--danger, #dc2626)}.storage-widget-banner.critical svg{color:var(--danger, #dc2626)}@media (max-width: 480px){.storage-widget-content{gap:12px;padding:12px}.storage-widget-ring{width:52px;height:52px}.storage-widget-ring .ring-percent{font-size:.75rem}.stat-used{font-size:1rem}}.business-profile-page{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:1600px;margin:0 auto}.business-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:8px}.business-profile-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--text)}.business-profile-header p{margin:0;color:var(--muted);font-size:14px}.business-profile-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.business-profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px}.business-profile-tabs{margin-bottom:20px}.business-profile-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:24px}.business-profile-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border)}.business-profile-panel-header h2{margin:0 0 6px;font-size:20px;font-weight:600;color:var(--text)}.business-profile-panel-header p{margin:0;font-size:13px;color:var(--muted)}.business-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.business-profile-grid--address{gap:20px 24px}.storage-section{margin-top:0}.business-profile-storage{padding:16px;background:var(--bg-secondary, #f9fafb);border-radius:10px;border:1px solid var(--border)}.business-profile-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.business-profile-toggle h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text)}.business-profile-toggle p{margin:0;font-size:13px;color:var(--muted)}.business-profile-table{border:1px solid var(--border);border-radius:12px;overflow:hidden}.business-profile-contact-name{display:flex;align-items:center;gap:12px}.business-profile-contact-initials{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:600;letter-spacing:.04em;font-size:13px}.business-profile-contact-title{font-weight:600;color:var(--text);margin-bottom:2px;font-size:14px}.business-profile-contact-role{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.business-profile-contact-details{display:flex;flex-direction:column;gap:4px;color:var(--text);font-size:14px}.business-profile-role{font-weight:500;color:var(--text)}.business-profile-updated{color:var(--muted);font-size:13px}.business-profile-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.business-profile-requirement{display:flex;flex-direction:column;gap:4px}.business-profile-requirement-name{font-weight:600;color:var(--text);font-size:14px}.business-profile-requirement-type{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.business-profile-no-document{color:var(--muted);font-style:italic;font-size:13px}.business-profile-download{padding:8px 12px;font-size:13px}.business-profile-loading{display:flex;justify-content:center;align-items:center;padding:48px 0}.business-profile-empty-callout{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:20px}.business-profile-debug{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;margin-bottom:16px;border-radius:8px;background:var(--bg);border:1px solid var(--border);font-size:13px;color:var(--muted)}.business-profile-role-selector{margin-bottom:24px}.business-profile-role-selector h3{font-size:14px;font-weight:600;color:var(--text);margin-bottom:12px}.business-profile-role-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.business-profile-role-button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:16px;background:var(--card-bg);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.business-profile-role-button:hover{border-color:var(--accent);transform:translateY(-2px)}.business-profile-role-button.active{border-color:var(--accent);background:var(--accent-bg)}.business-profile-role-desc{font-size:13px;color:var(--muted)}.business-profile-packs-section{margin:32px 0;padding:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px}.business-profile-packs-section h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px}.business-profile-packs-section>p{font-size:14px;color:var(--muted);margin-bottom:20px}.business-profile-packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}.business-profile-pack-card{padding:20px;background:var(--bg);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.business-profile-pack-card:hover{border-color:var(--accent);transform:translateY(-2px)}.business-profile-pack-card.selected{border-color:var(--accent);background:var(--accent-bg)}.business-profile-pack-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.business-profile-pack-header h4{font-size:15px;font-weight:600;color:var(--text);margin:0}.business-profile-pack-description{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.5}.business-profile-pack-items{font-size:13px}.business-profile-pack-items strong{color:var(--text);display:block;margin-bottom:8px}.business-profile-pack-list{list-style:none;padding:0;margin:0}.business-profile-pack-list li{padding:4px 0;color:var(--text)}.business-profile-pack-list li .required{color:var(--red);font-weight:600}.business-profile-pack-list li.more{color:var(--muted);font-style:italic}.business-profile-apply-pack{display:flex;gap:12px;padding-top:20px;border-top:1px solid var(--border)}.business-profile-requirements-section{margin-top:32px}.business-profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.business-profile-section-header h3{font-size:16px;font-weight:600;color:var(--text);margin:0}.business-profile-requirements-table{overflow-x:auto}.business-profile-table-element{width:100%;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:8px}.business-profile-table-element thead{background:var(--bg);border-bottom:1px solid var(--border)}.business-profile-table-element th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.business-profile-table-element td{padding:16px;border-top:1px solid var(--border);font-size:14px;color:var(--text)}.business-profile-table-element tbody tr:hover{background:var(--hover-bg)}@media (max-width: 960px){.business-profile-page{padding:16px}.business-profile-header{flex-direction:column;align-items:flex-start}.business-profile-actions{width:100%;justify-content:flex-start}.business-profile-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.business-profile-panel{padding:20px}.business-profile-stats,.business-profile-grid{grid-template-columns:1fr}.business-profile-toggle{flex-direction:column;align-items:flex-start}.business-profile-role-buttons,.business-profile-packs-grid{grid-template-columns:1fr}.business-profile-section-header{flex-direction:column;align-items:flex-start;gap:12px}.business-profile-table-element{display:block;overflow-x:auto}.business-profile-apply-pack{flex-direction:column}.business-profile-apply-pack button{width:100%}}.user-profile-modal{display:flex;flex-direction:column;gap:24px}.profile-tab-content{display:flex;flex-direction:column;gap:20px;padding:20px 0;min-height:400px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.grid-span-2{grid-column:span 2}.add-credential-form{padding:20px;background:var(--bg);border-radius:12px;border:1px solid var(--border);margin-bottom:24px}.add-credential-form h3{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text)}.credentials-list{display:flex;flex-direction:column;gap:14px}.credential-card{padding:18px;background:var(--bg);border-radius:12px;border:1px solid var(--border)}.credential-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.credential-header h4{margin:0 0 6px;font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.verified-badge{color:var(--accent);font-size:13px;font-weight:500}.credential-meta{margin:0;font-size:13px;color:var(--muted)}.credential-actions{display:flex;align-items:center;gap:10px}.credential-badge{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.badge-no-expiry{background:var(--bg);color:var(--text);border:1px solid var(--border)}.badge-expired{background:#ef4444;color:#fff}.badge-critical{background:#f59e0b;color:#fff}.badge-warning{background:#fdab3d;color:#fff}.badge-valid{background:#00c875;color:#fff}.credential-dates{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;font-size:13px}.credential-date-label{color:var(--muted);margin-bottom:4px;font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.credential-date-value{font-weight:500;color:var(--text)}.empty-credentials{padding:40px 20px;text-align:center;background:var(--bg);border-radius:12px;border:1px dashed var(--border)}.empty-credentials p{margin:0;font-size:14px;color:var(--muted)}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}@media (max-width: 960px){.form-grid-2,.form-grid-3{grid-template-columns:1fr}.grid-span-2{grid-column:span 1}.credential-header{flex-direction:column;align-items:stretch}.credential-actions{justify-content:space-between}.modal-actions,.form-actions{flex-direction:column}.modal-actions button,.form-actions button{width:100%}}.duplicate-email-modal{display:flex;flex-direction:column;gap:24px}.existing-user-details{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:8px;padding:20px}.existing-user-details h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:flex;flex-direction:column;gap:12px}.detail-row{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:center;padding:8px 0;border-bottom:1px solid var(--color-border-subtle)}.detail-row:last-child{border-bottom:none}.detail-label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.detail-value{font-size:14px;font-weight:400;color:var(--color-text-primary);word-break:break-word}.modal-info{background:var(--color-info-surface, #f0f7ff);border:1px solid var(--color-info-border, #a3d0ff);border-radius:8px;padding:16px;font-size:13px;line-height:1.6;color:var(--color-text-primary)}.modal-info p{margin:0 0 12px}.modal-info p:last-child{margin-bottom:0}.modal-info strong{font-weight:600;color:var(--color-text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:8px;border-top:1px solid var(--color-border)}@media (max-width: 768px){.detail-row{grid-template-columns:1fr;gap:4px}.detail-label{font-size:12px}.detail-value{font-size:13px}.modal-info{font-size:12px}}.role-config-panel{display:flex;flex-direction:column;gap:24px}.role-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;transition:all .2s ease}.role-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000001a}.role-card-customized{border-left:3px solid var(--accent)}.role-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.role-card-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.role-customized-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:2px 6px;border-radius:4px}.role-card-actions{display:flex;gap:4px}.role-card-description{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 12px}.role-card-meta{display:flex;flex-wrap:wrap;gap:12px;padding-top:12px;border-top:1px solid var(--border)}.role-meta-item{display:flex;align-items:center;gap:6px;font-size:12px}.role-meta-label{color:var(--muted)}.role-meta-value{font-weight:600;color:var(--text)}.role-card-custom-name{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border)}.role-card-custom-name small{font-size:11px;color:var(--muted)}.role-config-footer{padding-top:16px;border-top:1px solid var(--border)}.role-config-note{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.role-edit-form{display:flex;flex-direction:column;gap:20px}.role-permission-section{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}.role-permission-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.role-permission-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.role-permission-summary{margin-top:12px;display:flex;gap:12px}.permission-count{font-size:12px;font-weight:600;padding:4px 8px;border-radius:4px}.permission-grants{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent)}.permission-denials{color:var(--error);background:color-mix(in srgb,var(--error) 15%,transparent)}.reset-confirm-content{display:flex;flex-direction:column;gap:16px}.reset-confirm-content p{margin:0;font-size:14px;line-height:1.6}.permission-matrix-container{display:flex;flex-direction:column;gap:16px;max-height:80vh}.permission-matrix-header{flex-shrink:0}.permission-legend{display:flex;gap:24px;margin-top:12px;flex-wrap:wrap}.legend-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:14px}.legend-default .legend-icon{background:var(--bg);border:1px solid var(--border);color:var(--muted)}.legend-granted .legend-icon{background:color-mix(in srgb,var(--success) 15%,transparent);border:1px solid var(--success);color:var(--success)}.legend-denied .legend-icon{background:color-mix(in srgb,var(--error) 15%,transparent);border:1px solid var(--error);color:var(--error)}.permission-matrix-scroll{flex:1;overflow:auto;border:1px solid var(--border);border-radius:8px}.permission-matrix{width:100%;border-collapse:collapse;font-size:13px}.permission-matrix thead{position:sticky;top:0;z-index:10}.permission-matrix th{background:var(--surface);padding:12px 8px;font-weight:600;text-align:center;border-bottom:2px solid var(--border);white-space:nowrap}.feature-header{text-align:left!important;min-width:180px}.permission-header{min-width:60px}.module-section .module-header{background:var(--bg);cursor:pointer;transition:background .2s}.module-section .module-header:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.module-section .module-header td{padding:10px 12px;border-bottom:1px solid var(--border)}.module-expand{display:inline-block;margin-right:8px;font-size:10px;color:var(--muted);transition:transform .2s}.module-expand.expanded{transform:rotate(0)}.feature-row td{padding:8px;border-bottom:1px solid var(--border)}.feature-name{padding-left:24px!important;font-weight:500;color:var(--text)}.permission-cell{text-align:center;vertical-align:middle}.permission-cell.permission-na{color:var(--muted);opacity:.5}.permission-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0 auto;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;transition:all .15s ease}.permission-toggle:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.permission-toggle:disabled{opacity:.5;cursor:not-allowed}.permission-check,.permission-x{width:16px;height:16px}.permission-default .permission-toggle{background:var(--bg);border-color:var(--border)}.permission-default .permission-check{color:var(--muted)}.permission-granted .permission-toggle{background:color-mix(in srgb,var(--success) 15%,transparent);border-color:var(--success)}.permission-granted .permission-check{color:var(--success)}.permission-denied .permission-toggle{background:color-mix(in srgb,var(--error) 15%,transparent);border-color:var(--error)}.permission-denied .permission-x{color:var(--error)}.permission-empty{color:var(--muted);opacity:.3}.permission-matrix-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border)}.permission-stats{display:flex;gap:12px}.change-count{display:flex;gap:8px}.grants-count{color:var(--success);font-weight:600;font-size:13px}.denials-count{color:var(--error);font-weight:600;font-size:13px}.team-card-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg);border-bottom:1px solid var(--border)}.team-supervisor-info{flex:1}.team-supervisor-name{font-weight:600;font-size:15px;color:var(--text);margin-bottom:2px}.team-supervisor-role{font-size:12px;color:var(--muted)}.team-member-row{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;transition:background .2s}.unassigned-section{margin-top:24px;padding-top:24px;border-top:2px dashed var(--border)}.user-permissions-drawer{display:flex;flex-direction:column;gap:24px}.user-perm-header{display:flex;align-items:flex-start;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--border)}.user-perm-info{flex:1}.user-perm-info h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text)}.user-perm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.user-perm-email{font-size:13px;color:var(--muted)}.user-perm-scope{display:flex;align-items:center;gap:8px;font-size:13px}.scope-label{color:var(--muted)}.scope-override-indicator{font-size:11px;color:var(--accent);font-style:italic}.perm-tab-content{display:flex;flex-direction:column;gap:20px}.scope-controls{display:flex;flex-direction:column;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.scope-current{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border)}.scope-current-label{font-size:13px;color:var(--muted)}.scope-current-value{font-weight:500}.scope-explanation{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}.scope-explanation h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text)}.scope-option{padding:12px 0;border-bottom:1px solid var(--border)}.scope-option:last-child{padding-bottom:0;border-bottom:none}.scope-option-label{font-weight:600;font-size:13px;color:var(--text);margin-bottom:4px}.scope-option-desc{font-size:12px;color:var(--muted);line-height:1.4}.overrides-header{display:flex;align-items:center;justify-content:space-between}.overrides-header h4{margin:0;font-size:15px;font-weight:600;color:var(--text)}.overrides-loading{text-align:center;padding:32px;color:var(--muted)}.overrides-empty{text-align:center;padding:32px;background:var(--bg);border:1px dashed var(--border);border-radius:12px}.overrides-empty p{margin:0 0 8px;font-size:14px;color:var(--text)}.overrides-empty-hint{font-size:13px;color:var(--muted)}.overrides-list{display:flex;flex-direction:column;gap:8px}.override-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:all .2s ease}.override-item:hover{border-color:var(--accent)}.override-item.grant{border-left:3px solid var(--success)}.override-item.deny{border-left:3px solid var(--error)}.override-info{flex:1;min-width:0}.override-permission{display:flex;align-items:center;gap:8px;margin-bottom:4px}.override-key{font-weight:500;font-size:13px;color:var(--text);font-family:monospace}.override-reason{font-size:12px;color:var(--muted);margin-bottom:4px;font-style:italic}.override-meta{font-size:11px;color:var(--muted)}.override-expires{color:var(--warning)}.add-override-modal{display:flex;flex-direction:column;gap:16px}.user-permissions-header{display:flex;align-items:center;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.user-permissions-info{flex:1}.user-permissions-name{font-size:18px;font-weight:600;color:var(--text);margin-bottom:4px}.user-permissions-meta{display:flex;gap:12px;font-size:13px;color:var(--muted)}.user-scope-section{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px}.user-scope-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.user-scope-header h4{margin:0;font-size:14px;font-weight:600}.override-module{font-size:12px;color:var(--muted)}.override-type{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:4px}.override-type-grant{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent)}.override-type-deny{color:var(--error);background:color-mix(in srgb,var(--error) 15%,transparent)}@media (max-width: 768px){.role-cards-grid{grid-template-columns:1fr}.permission-legend{flex-direction:column;gap:8px}.permission-matrix th,.permission-matrix td{padding:6px 4px;font-size:12px}.permission-toggle{width:24px;height:24px}.feature-name{padding-left:12px!important}.permission-matrix-footer{flex-direction:column;gap:12px}.modal-actions{width:100%;justify-content:stretch}.modal-actions button{flex:1}}.team-panel{display:flex;flex-direction:column;gap:24px}.team-loading{text-align:center;padding:48px;color:var(--muted)}.team-empty-state{text-align:center;padding:32px;background:var(--surface);border:1px dashed var(--border);border-radius:12px;color:var(--muted)}.team-empty-state p{margin:0}.team-cards-container{display:flex;flex-direction:column;gap:16px}.team-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.team-card-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--bg);border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}.team-card-header:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg))}.team-supervisor-row{display:flex;align-items:center;gap:12px}.team-supervisor-info{display:flex;flex-direction:column;gap:4px}.team-supervisor-name{font-weight:600;font-size:15px;color:var(--text)}.team-supervisor-role{display:flex}.team-card-header-actions{display:flex;align-items:center;gap:12px}.team-size-badge{font-size:12px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);padding:4px 10px;border-radius:12px}.team-expand-icon{font-size:10px;color:var(--muted);transition:transform .2s}.team-expand-icon.expanded{transform:rotate(0)}.team-expand-icon:not(.expanded){transform:rotate(-90deg)}.team-members-list{padding:8px}.team-empty-message{padding:16px;text-align:center;color:var(--muted);font-size:13px}.team-member-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;transition:background .2s}.team-member-row:hover{background:var(--bg)}.team-member-info{flex:1;min-width:0}.team-member-name{font-weight:500;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-member-email{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unassigned-section{margin-top:8px;padding-top:24px;border-top:2px dashed var(--border)}.unassigned-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.unassigned-header h3{margin:0;font-size:16px;font-weight:600;color:var(--muted)}.unassigned-list{display:flex;flex-direction:column;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px}.unassigned-user-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;transition:background .2s}.unassigned-user-row:hover{background:var(--bg)}.assign-team-modal{display:flex;flex-direction:column;gap:16px}.assign-users-list{max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.assign-empty{padding:24px;text-align:center;color:var(--muted);font-size:13px}.assign-user-row{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border)}.assign-user-row:last-child{border-bottom:none}.assign-user-row:hover{background:var(--bg)}.assign-user-row.selected{background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.assign-user-info{flex:1;min-width:0}.assign-user-name{font-weight:500;font-size:14px;color:var(--text)}.assign-user-email{font-size:12px;color:var(--muted)}.quick-assign-modal{display:flex;flex-direction:column;gap:16px}.quick-assign-modal p{margin:0;font-size:14px;color:var(--text)}@media (max-width: 768px){.team-card-header{flex-direction:column;align-items:flex-start;gap:12px}.team-card-header-actions{width:100%;justify-content:space-between}.team-member-row,.unassigned-user-row{flex-wrap:wrap}.team-member-info,.assign-user-info{width:calc(100% - 60px)}}.tenant-access-panel{padding:20px 0}.tap-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:0 4px}.tap-header-info h3{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--fg)}.tap-header-info p{margin:0;font-size:13px;color:var(--muted)}.tap-stats{display:flex;gap:16px;margin-bottom:24px}.tap-stat{display:flex;flex-direction:column;align-items:center;padding:16px 24px;background:var(--surface-soft);border:1px solid var(--border);border-radius:10px;min-width:120px}.tap-stat-value{font-size:28px;font-weight:700;color:var(--fg);line-height:1}.tap-stat-label{font-size:12px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.tap-section{margin-bottom:24px}.tap-section-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:0 4px}.tap-section-header h4{margin:0;font-size:14px;font-weight:600;color:var(--fg)}.tap-section-count{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--accent-soft);color:var(--accent);border-radius:11px;font-size:12px;font-weight:600}.tap-section .alert{margin-bottom:12px}.tap-user-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;overflow:hidden}.tap-user-row{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);transition:background .15s ease}.tap-user-row:last-child{border-bottom:none}.tap-user-row:hover{background:var(--surface-soft)}.tap-user-row.is-inactive{opacity:.6}.tap-user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.tap-user-details{flex:1;min-width:0}.tap-user-name{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--fg)}.tap-primary-badge{display:inline-flex;align-items:center;padding:2px 6px;background:var(--accent);color:#fff;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.tap-external-badge{display:inline-flex;align-items:center;padding:2px 6px;background:var(--surface-soft);color:var(--muted);border:1px solid var(--border);border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.tap-user-email{font-size:13px;color:var(--muted);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tap-user-home{font-size:11px;color:var(--muted);margin-top:2px}.tap-user-role{flex-shrink:0}.tap-user-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.tap-empty{padding:24px;text-align:center;color:var(--muted);background:var(--surface-soft);border:1px dashed var(--border);border-radius:10px}.tap-loading{padding:40px;text-align:center;color:var(--muted)}.tap-modal-form{display:flex;flex-direction:column;gap:16px;overflow:visible}.tap-modal-form p{margin:0;color:var(--fg)}.tap-modal-form .dropdown{position:relative;z-index:10}.tap-modal-form .dropdown__menu{position:fixed;z-index:9999}.tap-modal-form .modal-actions{display:flex;flex-direction:row;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.tap-modal-form .modal-actions button{min-width:100px}@media (max-width: 640px){.tap-header{flex-direction:column;align-items:flex-start;gap:12px}.tap-stats{width:100%}.tap-stat{flex:1;padding:12px 16px;min-width:0}.tap-stat-value{font-size:24px}.tap-user-row{flex-wrap:wrap;gap:8px}.tap-user-info{width:100%}.tap-user-role,.tap-user-actions{margin-left:auto}}.user-management-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;gap:20px}.page-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--text)}.page-header p{margin:0;font-size:14px;color:var(--muted)}.page-header-actions{display:flex;align-items:center;gap:12px}.page-tabs{margin-bottom:24px;border-bottom:1px solid var(--border);padding-bottom:0}.filter-bar{margin-bottom:20px}.user-info{display:flex;align-items:center;gap:12px}.user-details{flex:1;min-width:0}.user-name{font-weight:600;font-size:14px;color:var(--text);margin-bottom:2px}.user-email{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-date{color:var(--muted);font-size:13px}.invite-form,.edit-form,.delete-form{display:flex;flex-direction:column;gap:20px;overflow:visible}.invite-form .dropdown,.edit-form .dropdown{position:relative;z-index:10}.invite-form .dropdown__menu,.edit-form .dropdown__menu{position:fixed;z-index:9999}.delete-form p{font-size:14px;color:var(--text);margin:0;line-height:1.6}.role-description{padding:12px;background:var(--bg);border-radius:8px;font-size:13px;color:var(--text);line-height:1.5}.role-description strong{color:var(--accent);font-weight:600}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:20px;border-top:1px solid var(--border)}@media (max-width: 960px){.user-management-page{padding:16px}.page-header{flex-direction:column;align-items:stretch}.stats-deck{grid-template-columns:repeat(2,1fr)}.filters-bar{flex-direction:column}.filters-bar>*{min-width:100%}}@media (max-width: 640px){.stats-deck{grid-template-columns:1fr}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.teams-tab-content{display:flex;flex-direction:column;gap:24px}.teams-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;background:var(--surface);border:2px dashed var(--border);border-radius:12px;margin-top:16px}.coming-soon-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:50%;margin-bottom:20px}.coming-soon-icon svg{width:32px;height:32px;color:var(--accent)}.teams-coming-soon h3{margin:0 0 12px;font-size:20px;font-weight:600;color:var(--text)}.teams-coming-soon p{margin:0 0 8px;font-size:14px;color:var(--muted);max-width:400px;line-height:1.6}.teams-coming-soon .coming-soon-note{font-size:13px;color:var(--muted);opacity:.8;margin-bottom:20px}.conditions-help{display:flex;gap:10px;padding:12px 14px;background:var(--bg-alt);border-radius:8px;margin-bottom:20px;font-size:13px;color:var(--fg-dim);align-items:flex-start}.conditions-help svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.no-conditions{text-align:center;padding:40px 20px;border:2px dashed var(--border);border-radius:8px}.no-conditions p{margin:0 0 16px;color:var(--fg-dim);font-size:14px}.conditions-list{display:flex;flex-direction:column;gap:16px}.condition-row{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--bg-alt);border-radius:10px;border:1px solid var(--border);position:relative}.condition-row-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.condition-number{width:26px;height:26px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.condition-row-title{font-size:13px;font-weight:500;color:var(--fg-dim)}.condition-row-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.condition-field label,.condition-operator label,.condition-values label{font-size:11px;font-weight:500;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.condition-field select,.condition-operator select,.condition-values input,.condition-values select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px;width:100%}.condition-field select:focus,.condition-operator select:focus,.condition-values input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.2)}.values-checkboxes{display:flex;flex-wrap:wrap;gap:8px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;max-height:150px;overflow-y:auto}.value-checkbox{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-alt);border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s ease;border:1px solid transparent}.value-checkbox:hover{background:var(--primary-alpha);border-color:var(--accent)}.value-checkbox input[type=checkbox]{margin:0;cursor:pointer;width:16px;height:16px}.value-checkbox span{color:var(--fg)}.condition-remove{position:absolute;top:12px;right:12px;background:none;border:none;padding:6px;cursor:pointer;color:var(--fg-dim);border-radius:4px;transition:all .15s ease}.condition-remove:hover{background:var(--danger-alpha, rgba(220, 53, 69, .1));color:var(--danger, #dc3545)}.condition-connector{display:flex;align-items:center;gap:12px;padding:8px 0}.connector-line{flex:1;height:1px;background:var(--border)}.connector-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:4px 12px;border-radius:12px;background:var(--bg-alt);border:1px solid var(--border);color:var(--fg-dim)}.connector-label.or{background:var(--accent);border-color:var(--accent);color:#fff}.connector-label.and{background:var(--bg-alt);border-color:var(--border);color:var(--fg-dim)}.add-condition-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:2px dashed var(--border);border-radius:8px;background:transparent;color:var(--fg-dim);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.add-condition-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--primary-alpha)}.logic-toggle{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;background:var(--bg-alt);border-radius:8px}.logic-label{font-size:13px;font-weight:500;color:var(--fg-dim)}.logic-buttons{display:flex;gap:8px}.logic-btn{padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg-dim);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.logic-btn:hover{border-color:var(--accent);color:var(--accent)}.logic-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.conditions-preview{margin-top:20px;padding:14px 16px;background:var(--success-alpha, rgba(40, 167, 69, .1));border:1px solid var(--success, #28a745);border-radius:8px;font-size:13px}.conditions-preview strong:first-child{color:var(--success, #28a745);margin-right:8px}.preview-text{color:var(--fg);line-height:1.5}.preview-text em{color:var(--fg-dim);font-style:normal;padding:0 4px}.preview-text strong{color:var(--accent)}.field-info-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--primary-alpha);border:1px solid var(--accent);border-radius:8px;margin-bottom:16px}.field-info-card .field-icon{width:36px;height:36px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.field-info-card .field-details{flex:1}.field-info-card .field-name{font-weight:600;color:var(--fg);font-size:14px}.field-info-card .field-key{font-size:12px;color:var(--fg-dim);font-family:monospace}@media (max-width: 600px){.conditions-editor-drawer{width:100%}.condition-row-fields{grid-template-columns:1fr}.drawer-footer{flex-direction:column;gap:10px}.footer-actions{width:100%;justify-content:flex-end}}.form-config-page{padding:24px;max-width:100%;margin:0}.form-config-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}@media (max-width: 1200px){.form-config-layout{grid-template-columns:1fr}.form-preview-panel{display:none}}.form-preview-panel{position:sticky;top:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;width:100%;min-width:280px}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.preview-header h3{margin:0;font-size:14px;font-weight:600;color:var(--fg)}.preview-mode-toggle{display:flex;gap:4px}.preview-mode-btn{padding:4px 12px;font-size:12px;border:1px solid var(--border);background:var(--bg);color:var(--fg-dim);border-radius:4px;cursor:pointer;transition:all .15s ease}.preview-mode-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.preview-content{display:block;padding:16px;max-height:calc(100vh - 200px);overflow-y:auto;width:100%;box-sizing:border-box}.preview-content>*{width:100%;box-sizing:border-box}.preview-field{margin-bottom:16px}.preview-field label{display:block;font-size:13px;font-weight:500;color:var(--fg-dim);margin-bottom:6px}.preview-field .required-star{color:var(--error, #ef4444);margin-left:2px}.preview-field input,.preview-field select,.preview-field textarea{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px}.preview-field textarea{min-height:60px;resize:vertical}.preview-checkbox{display:flex;align-items:center;gap:8px}.preview-checkbox input{width:auto}.form-config-page .page-header{margin-bottom:24px}.form-config-page .page-header h1{margin:0;font-size:24px;font-weight:600;color:var(--fg)}.form-config-page .page-subtitle{margin:4px 0 0;font-size:14px;color:var(--fg-dim)}.form-selector-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}.selector-label{display:block;font-size:14px;font-weight:500;color:var(--fg-dim);margin-bottom:12px}.selector-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.form-description{font-size:13px;color:var(--fg-dim);font-style:italic}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--fg-dim)}.unsaved-changes-alert{display:flex;align-items:center;gap:12px;margin-bottom:20px}.unsaved-changes-alert .alert-actions{margin-left:auto;display:flex;gap:8px}.form-config-content{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow-x:auto;min-width:0}.config-tabs{display:flex;border-bottom:1px solid var(--border)}.config-tab{flex:1;padding:14px 20px;font-size:14px;font-weight:600;color:var(--fg-dim);background:var(--surface-soft);border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .15s ease}.config-tab:first-child{border-right:1px solid var(--border)}.config-tab:hover{color:var(--fg);background:var(--bg)}.config-tab.active{color:var(--accent);background:var(--bg);border-bottom-color:var(--accent)}.config-tab-description{padding:12px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.config-tab-description p{margin:0 0 4px;font-size:13px;color:var(--fg)}.config-hint{font-size:12px;color:var(--fg-dim)}.config-hint strong{color:var(--fg);font-weight:500}.empty-tab-message{padding:40px 20px;text-align:center;color:var(--fg-dim);font-size:14px;font-style:italic}.config-instructions{padding:16px 20px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.config-instructions p{margin:0;font-size:13px;color:var(--fg-dim)}.config-instructions strong{color:var(--fg);font-weight:600}.field-list-header{display:grid;grid-template-columns:36px 44px minmax(200px,1fr) 90px 160px 110px 120px;gap:10px;padding:10px 16px;background:var(--surface-soft);font-size:11px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:10}.header-drag,.header-visible{text-align:center}.field-section{padding:16px;border-bottom:1px solid var(--border)}.field-section:last-of-type{border-bottom:none}.section-title{font-size:14px;font-weight:600;color:var(--fg);margin:0 0 12px;display:flex;align-items:center;gap:8px}.section-hint{font-size:12px;font-weight:400;color:var(--fg-dim)}.section-description{font-size:13px;font-weight:400;color:var(--fg-dim);margin:0 0 12px;padding:8px 12px;background:var(--surface-soft);border-radius:6px;border-left:3px solid var(--accent)}.field-list{display:flex;flex-direction:column;gap:4px;padding:12px 16px;max-height:calc(100vh - 350px);overflow-y:auto;overflow-x:visible}.form-config-field-row{display:grid;grid-template-columns:36px 44px minmax(200px,1fr) 90px 160px 110px 120px;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;transition:all .15s ease}.form-config-field-row:hover{background:var(--surface-soft);border-color:var(--border-strong)}.form-config-field-row.dragging{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 4px 12px #00000026}.form-config-field-row.hidden-field{opacity:.5;background:var(--surface-soft)}.form-config-field-row.locked-field{background:var(--bg)}.field-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--fg-dim);padding:4px;border-radius:4px;transition:all .15s ease}.field-drag-handle:hover{color:var(--fg);background:var(--surface-soft)}.field-drag-handle:active{cursor:grabbing}.field-visibility{display:flex;align-items:center;justify-content:center}.locked-indicator{display:flex;align-items:center;justify-content:center;color:var(--fg-dim);opacity:.6}.visibility-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.visibility-btn.visible{background:var(--accent-soft);color:var(--accent)}.visibility-btn.visible:hover{background:var(--accent);color:#fff}.visibility-btn.hidden{background:var(--surface-soft);color:var(--fg-dim)}.visibility-btn.hidden:hover{background:var(--border);color:var(--fg)}.field-label-input{display:flex;flex-direction:column;gap:2px}.label-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;transition:all .15s ease}.label-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.label-input:disabled{opacity:.5;cursor:not-allowed}.default-label-hint{font-size:11px;color:var(--fg-dim)}.field-type{display:flex;align-items:center}.type-select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px;cursor:pointer}.type-select:focus{outline:none;border-color:var(--accent)}.type-select:disabled{opacity:.5;cursor:not-allowed}.field-type-label{font-size:13px;color:var(--fg-dim);text-transform:capitalize}.field-required{display:flex;align-items:center}.required-select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px;cursor:pointer}.required-select:focus{outline:none;border-color:var(--accent)}.required-select:disabled{opacity:.5;cursor:not-allowed}.required-label{font-size:13px;color:var(--fg-dim)}.field-stage{display:flex;align-items:center}.stage-select{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:13px;cursor:pointer}.stage-select:focus{outline:none;border-color:var(--accent)}.stage-select:disabled{opacity:.5;cursor:not-allowed}.stage-label{font-size:12px;color:var(--fg-dim);padding:4px 8px;background:var(--surface-soft);border-radius:4px}.field-conditions{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:4px}.fc-tag{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:3px;white-space:nowrap;line-height:1.2;border:none;background:none}.fc-tag--locked{background:var(--surface-soft);color:var(--fg-dim)}.fc-tag--conditional{background:transparent;color:var(--accent);cursor:pointer;border:1px solid var(--accent)}.fc-tag--conditional:hover{background:var(--accent-soft)}.fc-tag--add{background:var(--surface-soft);border:1px dashed var(--accent);color:var(--accent);cursor:pointer;font-size:10px;padding:4px 8px;opacity:.7;transition:all .15s ease}.fc-tag--add:hover{background:var(--accent-soft);border-color:var(--accent);opacity:1}.form-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--surface-soft);border-top:1px solid var(--border)}.note-types-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;min-height:500px}.note-types-sidebar{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:var(--fg)}.add-type-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px dashed var(--border);background:transparent;border-radius:6px;color:var(--fg-dim);cursor:pointer;transition:all .15s ease}.add-type-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.note-type-list{flex:1;overflow-y:auto;padding:8px}.note-type-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;margin-bottom:4px}.note-type-item:hover{background:var(--surface-soft)}.note-type-item.selected{background:var(--accent-soft);border:1px solid var(--accent)}.note-type-item.inactive{opacity:.5}.note-type-item .type-icon{font-size:18px}.note-type-item .type-label{font-size:14px;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-type-item .field-count{font-size:11px;color:var(--fg-dim);background:var(--surface-soft);padding:2px 6px;border-radius:10px}.note-type-item.selected .field-count{background:var(--bg)}.type-settings-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;color:var(--fg-dim);cursor:pointer;opacity:0;transition:all .15s ease}.note-type-item:hover .type-settings-btn,.note-type-item.selected .type-settings-btn{opacity:1}.type-settings-btn:hover{background:var(--bg);color:var(--fg)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border);background:var(--surface-soft)}.sidebar-hint{font-size:11px;color:var(--fg-dim)}.note-type-editor{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden}.editor-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface-soft);border-bottom:1px solid var(--border)}.editor-title{display:flex;align-items:center;gap:12px}.type-icon-large{font-size:28px}.editor-title h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.editor-subtitle{display:block;font-size:12px;color:var(--fg-dim);margin-top:2px}.inactive-badge{padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;background:var(--surface-soft);color:var(--fg-dim);border-radius:4px}.note-type-field-header{display:grid;grid-template-columns:36px 1fr 120px 100px 40px;gap:10px;padding:10px 16px;background:var(--surface-soft);font-size:11px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.05em}.note-type-field-list{padding:12px 16px;max-height:400px;overflow-y:auto}.note-type-field-row{display:grid;grid-template-columns:36px 1fr 120px 100px 40px;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:start;margin-bottom:8px;transition:all .15s ease}.note-type-field-row:hover{background:var(--surface-soft);border-color:var(--border-strong)}.note-type-field-row.dragging{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 4px 12px #00000026}.note-type-field-row .field-label-input{display:flex;flex-direction:column;gap:6px}.note-type-field-row .options-input,.note-type-field-row .placeholder-input{font-size:12px;padding:4px 8px;border:1px dashed var(--border);background:var(--surface-soft)}.note-type-field-row .field-actions{display:flex;align-items:center;justify-content:center}.remove-field-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;color:var(--fg-dim);cursor:pointer;transition:all .15s ease}.remove-field-btn:hover{background:var(--tone-error-soft, rgba(239, 68, 68, .1));color:var(--tone-error, #ef4444)}.empty-fields-message{padding:40px 20px;text-align:center;color:var(--fg-dim);font-style:italic}.note-type-actions{display:flex;justify-content:space-between;padding:16px 20px;background:var(--surface-soft);border-top:1px solid var(--border)}.no-type-selected{display:flex;align-items:center;justify-content:center;height:300px;color:var(--fg-dim)}.note-type-settings-modal{background:var(--card-bg);border-radius:12px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.note-type-settings-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.note-type-settings-modal .modal-header h3{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center}.note-type-settings-modal .close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--surface-soft);border-radius:6px;color:var(--fg-dim);cursor:pointer}.note-type-settings-modal .close-btn:hover{background:var(--border);color:var(--fg)}.note-type-settings-modal .modal-body{padding:20px}.note-type-settings-modal .form-group{margin-bottom:16px}.note-type-settings-modal .form-group label{display:block;font-size:13px;font-weight:500;color:var(--fg-dim);margin-bottom:8px}.note-type-settings-modal .form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px}.note-type-settings-modal .checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.note-type-settings-modal .checkbox-label input{width:18px;height:18px}.note-type-settings-modal .checkbox-label span{font-size:14px;color:var(--fg)}.icon-picker{display:flex;flex-wrap:wrap;gap:6px}.icon-option{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);background:var(--bg);border-radius:6px;font-size:18px;cursor:pointer;transition:all .15s ease}.icon-option:hover{border-color:var(--accent);background:var(--accent-soft)}.icon-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent)}.color-picker{display:flex;gap:8px}.color-option{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid transparent;background:var(--bg);border-radius:50%;font-size:20px;cursor:pointer;transition:all .15s ease}.color-option:hover{transform:scale(1.1)}.color-option.selected{border-color:var(--fg);box-shadow:0 0 0 2px var(--accent)}.note-type-settings-modal .modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--border);background:var(--surface-soft)}.note-type-settings-modal .footer-right{display:flex;gap:8px}.note-type-settings-modal .help-text{display:block;font-size:11px;color:var(--fg-dim);margin-top:4px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}@media (max-width: 900px){.note-types-layout{grid-template-columns:1fr}.note-types-sidebar{max-height:200px}.note-type-list{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.note-type-item{grid-template-columns:auto auto;padding:8px 12px;margin-bottom:0}.note-type-item .field-count,.note-type-item .type-settings-btn{display:none}}@media (max-width: 768px){.form-config-page{padding:16px}.field-list-header{display:none}.form-config-field-row{grid-template-columns:1fr;gap:8px;padding:12px}.field-drag-handle{position:absolute;top:8px;right:8px}.form-config-field-row{position:relative;padding-right:40px}.field-visibility{justify-content:flex-start}.field-visibility:before{content:"Visible: ";font-size:12px;color:var(--fg-dim);margin-right:8px}.field-type:before{content:"Type: ";font-size:12px;color:var(--fg-dim);margin-right:8px}.field-required:before{content:"Required: ";font-size:12px;color:var(--fg-dim);margin-right:8px}.field-badge{justify-content:flex-start}.form-actions{flex-direction:column;gap:12px}.form-actions>*{width:100%}.selector-row{flex-direction:column;align-items:flex-start}}.cost-centres-page{padding:24px;max-width:1200px;margin:0 auto}.cost-centres-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.cost-centres-page .header-content h1{font-size:1.75rem;font-weight:600;color:var(--text);margin:0}.cost-centres-page .header-content .subtitle{font-size:.875rem;color:var(--muted);margin:4px 0 0}.cost-centres-page .header-actions{display:flex;gap:8px}.cost-centres-page .filters-bar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.cost-centres-page .search-input{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;flex:1;max-width:300px}.cost-centres-page .search-input input{flex:1;border:none;background:transparent;outline:none;font-size:.875rem;color:var(--text)}.cost-centres-page .search-input input::placeholder{color:var(--muted)}.cost-centres-page .search-input svg{color:var(--muted);flex-shrink:0}.cost-centres-page .clear-search{background:none;border:none;padding:2px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:4px}.cost-centres-page .clear-search:hover{color:var(--text);background:var(--border)}.cost-centres-page .show-inactive{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--muted);cursor:pointer;user-select:none}.cost-centres-page .show-inactive input{cursor:pointer}.cost-centres-page .result-count{font-size:.875rem;color:var(--muted);margin-left:auto}.cost-centres-page .table-container{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:16px}.cost-centre-code{font-family:var(--font-mono, monospace);font-weight:600;color:var(--primary)}.cost-centre-description{color:var(--muted);font-size:.875rem}.row-actions{display:flex;gap:4px;justify-content:flex-end}.action-btn{background:none;border:none;padding:6px;cursor:pointer;color:var(--muted);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.action-btn:hover{background:var(--surface);color:var(--text)}.action-btn--danger:hover{background:#ef44441a;color:#dc2626}.cost-centre-form{display:flex;flex-direction:column;gap:20px;padding:16px 0}.cost-centre-form input,.cost-centre-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;background:var(--surface);color:var(--text);transition:border-color .15s}.cost-centre-form input:focus,.cost-centre-form textarea:focus{outline:none;border-color:var(--primary)}.cost-centre-form textarea{resize:vertical;min-height:80px}.cost-centre-form .form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border);margin-top:8px}.delete-confirmation{padding:8px 0}.delete-confirmation p{margin:0 0 12px;color:var(--text)}.delete-warning{font-size:.875rem;color:var(--muted);background:var(--surface);padding:12px;border-radius:6px;border-left:3px solid var(--warning, #f59e0b)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;gap:16px;color:var(--muted)}.cost-centre-color-dot{display:inline-block;width:16px;height:16px;border-radius:50%;border:2px solid rgba(0,0,0,.1)}.color-picker-field{display:flex;flex-direction:column;gap:8px}.color-picker-label{font-size:.875rem;font-weight:500;color:var(--text)}.color-picker-label .optional{font-weight:400;color:var(--muted)}.color-presets{display:flex;flex-wrap:wrap;gap:8px}.color-preset{width:32px;height:32px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:transform .15s,border-color .15s;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--muted)}.color-preset:hover{transform:scale(1.1)}.color-preset--selected{border-color:var(--text);box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--text)}.color-preset--none{background:var(--surface);border:2px dashed var(--border)}.color-preset--none:hover{border-color:var(--muted)}.color-preview{display:flex;align-items:center;gap:8px;margin-top:4px}.color-preview-dot{width:20px;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.color-preview-hex{font-family:var(--font-mono, monospace);font-size:.8125rem;color:var(--muted)}@media (max-width: 768px){.cost-centres-page{padding:16px}.cost-centres-page .page-header{flex-direction:column;align-items:stretch}.cost-centres-page .header-actions{flex-direction:column}.cost-centres-page .header-actions button{width:100%;justify-content:center}.cost-centres-page .filters-bar{flex-direction:column;align-items:stretch}.cost-centres-page .search-input{max-width:none}.cost-centres-page .result-count{margin-left:0;text-align:right}}.create-pack-modal{display:flex;flex-direction:column;gap:24px;max-height:70vh}.create-pack-form{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:2px}.create-pack-divider{height:1px;background:var(--border);margin:12px 0}.create-pack-section h3{font-size:16px;font-weight:600;color:var(--text);margin:0 0 6px}.create-pack-hint{font-size:13px;color:var(--muted);margin:0 0 16px}.create-pack-credentials{display:flex;flex-direction:column;gap:20px}.create-pack-category-title{font-size:14px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.create-pack-credential{padding:16px;border:2px solid var(--border);border-radius:8px;background:var(--bg);transition:all .2s}.create-pack-credential.selected{border-color:var(--accent);background:var(--accent-bg)}.create-pack-credential-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.create-pack-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1}.create-pack-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.create-pack-credential-name{font-size:15px;font-weight:500;color:var(--text)}.create-pack-credential-desc{font-size:13px;color:var(--muted);margin:8px 0 0 30px;line-height:1.5}.create-pack-required-toggle{display:flex;align-items:center;gap:8px}.create-pack-required-label{font-size:13px;color:var(--muted);font-weight:500}.create-pack-reminder-days{margin-top:12px;margin-left:30px;display:flex;flex-direction:column;gap:4px}.create-pack-reminder-days label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);font-weight:500}.create-pack-days-input{width:80px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card-bg);color:var(--text);font-size:14px}.create-pack-days-hint{font-size:12px;color:var(--muted);font-style:italic}.create-pack-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border)}@media (max-width: 768px){.create-pack-credential-header{flex-direction:column;align-items:flex-start}.create-pack-required-toggle{width:100%;justify-content:space-between}}.credential-packs-page{padding:24px;max-width:1400px;margin:0 auto}.credential-packs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.credential-packs-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--fg)}.credential-packs-header p{margin:0;color:var(--muted);font-size:14px}.credential-packs-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.credential-packs-panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.credential-packs-panel-header h2{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--fg)}.credential-packs-panel-header p{margin:0;color:var(--muted);font-size:14px}.credential-packs-role-selector{margin-bottom:32px}.credential-packs-role-selector h3{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--fg)}.credential-packs-role-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.credential-packs-role-button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:var(--surface-soft);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.credential-packs-role-button:hover{background:var(--surface-hover);border-color:var(--accent)}.credential-packs-role-button.active{background:var(--accent-soft);border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.credential-packs-role-desc{font-size:13px;color:var(--muted)}.credential-packs-packs-section{margin-bottom:32px}.credential-packs-packs-section h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.credential-packs-packs-section p{margin:0;color:var(--muted);font-size:14px}.credential-packs-packs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:16px}.credential-packs-pack-card{background:var(--card-bg);border:2px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.credential-packs-pack-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000001a}.credential-packs-pack-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.credential-packs-pack-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.credential-packs-pack-header h4{margin:0;font-size:16px;font-weight:600;color:var(--fg);flex:1}.credential-packs-pack-actions{display:flex;gap:4px;align-items:center}.credential-packs-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s;color:var(--fg-dim)}.credential-packs-icon-btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.credential-packs-icon-btn:disabled{opacity:.5;cursor:not-allowed}.credential-packs-icon-btn-danger:hover{background:var(--red-soft);border-color:var(--red);color:var(--red)}.credential-packs-icon-btn svg{width:14px;height:14px}.credential-packs-pack-description{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}.credential-packs-pack-items{border-top:1px solid var(--border);padding-top:12px}.credential-packs-pack-items strong{display:block;margin-bottom:8px;font-size:13px;color:var(--fg)}.credential-packs-pack-list{list-style:none;padding:0;margin:0}.credential-packs-pack-list li{padding:4px 0;font-size:13px;color:var(--muted)}.credential-packs-pack-list li.more{color:var(--accent);font-weight:500}.credential-packs-pack-list .required{color:var(--red);font-weight:600}.credential-packs-apply-pack{display:flex;gap:12px;margin-top:16px;padding:16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px}.credential-packs-requirements-section{margin-top:32px}.credential-packs-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.credential-packs-section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.credential-packs-loading{display:flex;justify-content:center;align-items:center;padding:48px 24px}.credential-packs-requirements-table{border:1px solid var(--border);border-radius:8px;overflow:hidden}.credential-packs-table-element{width:100%;border-collapse:collapse}.credential-packs-table-element thead{background:var(--surface-soft)}.credential-packs-table-element th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border)}.credential-packs-table-element td{padding:12px 16px;font-size:14px;color:var(--fg);border-bottom:1px solid var(--border)}.credential-packs-table-element tbody tr:last-child td{border-bottom:none}.credential-packs-table-element tbody tr:hover{background:var(--surface-soft)}@media (max-width: 768px){.credential-packs-page{padding:16px}.credential-packs-header{flex-direction:column;gap:16px}.credential-packs-role-buttons,.credential-packs-packs-grid{grid-template-columns:1fr}.credential-packs-apply-pack{flex-direction:column}.credential-packs-section-header{flex-direction:column;align-items:flex-start;gap:12px}.credential-packs-requirements-table{overflow-x:auto}}.add-business-document-modal{max-width:600px;max-height:90vh;overflow-y:auto}.add-business-document-modal .modal-body{padding:24px}.add-business-document-modal .form-group{margin-bottom:20px}.add-business-document-modal .form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text);font-size:.9375rem}.add-business-document-modal .required{color:var(--danger)}.add-business-document-modal .form-help{margin-top:4px;font-size:.875rem;color:var(--text-muted)}.add-business-document-modal input[type=text],.add-business-document-modal input[type=number],.add-business-document-modal input[type=date],.add-business-document-modal select,.add-business-document-modal textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:.9375rem;font-family:inherit;transition:border-color .2s ease}.add-business-document-modal input:focus,.add-business-document-modal select:focus,.add-business-document-modal textarea:focus{outline:none;border-color:var(--accent)}.add-business-document-modal input:disabled,.add-business-document-modal select:disabled,.add-business-document-modal textarea:disabled{opacity:.6;cursor:not-allowed}.add-business-document-modal .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.add-business-document-modal .loading-state{padding:40px 20px;text-align:center;color:var(--text-muted)}@media (max-width: 640px){.add-business-document-modal .form-row{grid-template-columns:1fr}}.credential-pack-assign-modal{display:flex;flex-direction:column;gap:24px;max-height:70vh;overflow-y:auto}.assign-section{display:flex;flex-direction:column;gap:12px}.assign-section h3{font-size:15px;font-weight:600;color:var(--fg);margin:0}.assign-section h4{font-size:14px;font-weight:600;color:var(--fg);margin:0}.section-header{display:flex;justify-content:space-between;align-items:center}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:13px;padding:4px 8px;border-radius:4px}.btn-link:hover{background:var(--accent-alpha-10)}.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.pack-card{border:1.5px solid var(--border);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s}.pack-card:hover{border-color:var(--accent);background:var(--accent-alpha-5)}.pack-card.selected{border-color:var(--accent);background:var(--accent-alpha-10);box-shadow:0 0 0 2px var(--accent-alpha-20)}.pack-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px}.pack-name{font-weight:600;font-size:14px;color:var(--fg)}.pack-badge{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--muted-alpha-10);color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.pack-badge.system{background:var(--accent-alpha-10);color:var(--accent)}.pack-description{font-size:13px;color:var(--muted);margin-bottom:12px;line-height:1.4}.pack-stats{font-size:12px;color:var(--muted);padding-top:8px;border-top:1px solid var(--border)}.pack-details{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:16px}.credential-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.credential-list li{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:13px}.credential-name{color:var(--fg)}.required-badge{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--orange-alpha-10);color:var(--orange);font-weight:500}.staff-list{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-secondary)}.staff-checkbox{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;transition:all .2s}.staff-checkbox:hover{border-color:var(--accent);background:var(--accent-alpha-5)}.staff-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.staff-info{flex:1;min-width:0}.staff-name{font-weight:500;font-size:14px;color:var(--fg);margin-bottom:2px}.staff-meta{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{text-align:center;padding:32px;color:var(--muted)}.empty-state p{margin:0;padding:4px}.empty-state .muted{font-size:13px}.loading-state{text-align:center;padding:48px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--border);margin-top:8px}.credential-card{position:relative;padding:12px 14px;background:var(--bg-alt);border:1px solid var(--border);border-left:4px solid;border-radius:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease,transform .2s ease}.credential-card:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.credential-card.popover-open{z-index:100;position:relative}.card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-info h3{margin:0;font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.credential-number{display:none}.card-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;margin-top:8px}.detail-field{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;min-width:0;transition:border-color .15s ease,background .15s ease}.detail-field:hover{border-color:color-mix(in srgb,var(--border) 70%,var(--accent))}.detail-field--id{background:linear-gradient(135deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 95%,var(--accent)) 100%);border-color:color-mix(in srgb,var(--border) 80%,var(--accent))}.detail-field--id .detail-field-value{font-family:SF Mono,Monaco,Consolas,Courier New,monospace;font-size:12px;letter-spacing:.02em;color:var(--text)}.detail-field--expiry{position:relative}.detail-field--expiry.detail-field--warning{border-color:#f59e0b66;background:linear-gradient(135deg,var(--bg) 0%,rgba(245,158,11,.05) 100%)}.detail-field--expiry.detail-field--expired{border-color:#ef444466;background:linear-gradient(135deg,var(--bg) 0%,rgba(239,68,68,.05) 100%)}.detail-field--issuer .detail-field-value{font-size:11px;line-height:1.3}.detail-field-label{font-size:9px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;opacity:.8}.detail-field-value{font-size:13px;font-weight:600;color:var(--text);line-height:1.2;word-break:break-word}.detail-field-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.02em;white-space:nowrap;margin-top:4px;width:fit-content}.detail-field-badge.badge--safe{background:#22c55e26;color:#16a34a}.detail-field-badge.badge--warning{background:#f59e0b33;color:#d97706}.detail-field-badge.badge--danger{background:#ef444433;color:#dc2626}.detail-field-badge.badge--expired{background:#ef444440;color:#dc2626;animation:pulse-subtle 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.7}}.card-details{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 0;margin-top:2px;border-top:1px solid var(--border)}.detail-item{display:inline-flex;align-items:center;gap:4px}.detail-label{font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.detail-value{font-size:12px;font-weight:600;color:var(--text)}.days-badge{display:inline-flex;align-items:center;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.days-badge--safe{background:#22c55e26;color:#16a34a}.days-badge--warning{background:#f59e0b26;color:#d97706}.days-badge--danger{background:#ef444426;color:#dc2626}.days-badge--expired{background:#ef444433;color:#dc2626;font-weight:700}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:4px}.card-actions-secondary{display:flex;gap:4px;margin-left:auto}.btn-icon{width:28px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:var(--muted);outline:none}.btn-icon:hover{background:var(--bg-alt);border-color:var(--accent);color:var(--accent)}.btn-icon:hover svg{transform:scale(1.15)}.btn-icon:focus{outline:none;border-color:var(--accent)}.btn-icon:active{transform:scale(.95);outline:none}.card-empty-state{display:flex;align-items:center;gap:6px;padding:8px 10px;background:transparent;border-radius:4px;color:var(--muted);font-size:11px;border:1px dashed var(--border)}.btn:hover svg{transform:scale(1.1)}.btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:11px;font-weight:500;letter-spacing:.01em;border-radius:5px;border:none;cursor:pointer;transition:all .2s ease;outline:none;position:relative}.btn:focus{outline:none}.btn:active{transform:scale(.98)}.btn svg{flex-shrink:0;transition:transform .2s ease}.btn--primary{background:linear-gradient(135deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 85%,black) 100%);color:#fff;font-weight:600;box-shadow:0 2px 6px #3b82f633}.btn--primary:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px) scale(1.01)}.btn--primary svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.btn--secondary{background:var(--card-bg, var(--bg));color:var(--text);border:1.5px solid var(--accent);box-shadow:0 1px 4px #00000014}.btn--secondary:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #3b82f640;transform:translateY(-1px)}.btn--ghost{background:#64748b14;color:var(--text);border:1.5px solid var(--border)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent);background:#3b82f61a}.btn--danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:600;box-shadow:0 2px 6px #ef444433}.btn--danger:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px) scale(1.01)}.attachments-wrapper{position:relative}.attachments-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 12px;background:var(--card-bg, var(--bg));border:1.5px solid var(--accent);border-radius:6px;font-size:12px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 4px #00000014}.attachments-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px #3b82f640}.attachments-btn[data-active=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.attachments-chevron{transition:transform .2s ease}.attachments-chevron.open{transform:rotate(180deg)}.attachments-popover{position:absolute;top:calc(100% + 8px);left:0;min-width:320px;max-width:400px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0003;z-index:9999;opacity:0;transform:translateY(-8px);pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.attachments-popover.open{opacity:1;transform:translateY(0);pointer-events:all}.attachments-popover-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.attachments-popover-header span{font-size:13px;font-weight:600;color:var(--text)}.attachments-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--muted);transition:all .15s ease}.attachments-close:hover{background:var(--bg-alt);color:var(--text)}.attachments-list{padding:8px;max-height:400px;overflow-y:auto}.attachments-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:12px;color:var(--muted);font-size:13px}.attachment-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;transition:background .15s ease;cursor:pointer}.attachment-item:hover{background:var(--bg-alt)}.attachment-thumb{width:48px;height:48px;border-radius:6px;background:var(--bg-alt);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .15s ease}.attachment-thumb:hover{border-color:var(--accent)}.attachment-thumb img{width:100%;height:100%;object-fit:cover}.attachment-info{flex:1;min-width:0;cursor:pointer}.attachment-type{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.attachment-name{display:block;font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-actions{display:flex;gap:4px}.attachment-view,.attachment-delete{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--muted);transition:all .15s ease}.attachment-view:hover{background:var(--accent);color:#fff}.attachment-delete:hover{background:#ef4444;color:#fff}.attachment-delete:disabled{opacity:.5;cursor:not-allowed}.attachments-spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.attachments-spinner.small{width:14px;height:14px;border-width:2px}@media (max-width: 768px){.card-details-grid{grid-template-columns:repeat(2,1fr);gap:6px}.detail-field--issuer{grid-column:1 / -1}.detail-field{padding:6px 8px}.detail-field-label{font-size:8px}.detail-field-value{font-size:12px}.detail-field-badge{font-size:9px;padding:2px 5px}.card-details{flex-direction:column;gap:12px}.card-actions{gap:8px}.btn{padding:10px 16px;gap:10px}}.compliance-dashboard-page{display:flex;flex-direction:column;gap:24px;padding:24px}.compliance-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:28px 32px;box-shadow:var(--card-shadow, 0 16px 40px rgba(15, 23, 42, .1))}.compliance-header h1{margin:0 0 8px;font-size:28px;font-weight:600;color:var(--fg)}.compliance-header p{margin:0;font-size:15px;color:var(--fg-dim)}.compliance-header-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.compliance-stat-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.compliance-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:24px;box-shadow:var(--card-shadow, 0 12px 30px rgba(15, 23, 42, .08))}.compliance-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.compliance-panel-header h2{margin:0 0 6px;font-size:22px;font-weight:600;color:var(--fg)}.compliance-panel-header p{margin:0;font-size:14px;color:var(--fg-dim)}.compliance-panel-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.compliance-table{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface, rgba(15, 23, 42, .55))}.compliance-staff-cell{display:flex;align-items:center;gap:14px}.compliance-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2, #4f46e5));box-shadow:0 10px 20px #0073ea40}.compliance-staff-name{font-weight:600;color:var(--fg);margin-bottom:2px}.compliance-staff-meta{font-size:13px;color:var(--fg-dim);margin-bottom:4px}.compliance-staff-email{font-size:12px;color:var(--fg-dim)}.compliance-credentials{display:flex;flex-direction:column;gap:4px;color:var(--fg)}.compliance-credentials-warning{font-size:12px;color:var(--warning, #f59e0b);text-transform:uppercase;letter-spacing:.08em}.compliance-expiry{display:flex;flex-direction:column;gap:4px;color:var(--fg)}.compliance-expiry-warning{font-size:12px;color:var(--danger, #ef4444);text-transform:uppercase;letter-spacing:.08em}.compliance-date-range{display:flex;flex-direction:column;gap:4px;color:var(--fg);font-size:13px}.compliance-document{display:flex;flex-direction:column;gap:4px}.compliance-document-name{font-weight:600;color:var(--fg)}.compliance-document-type{font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.08em}.compliance-download{padding:8px 12px;font-size:13px}.compliance-no-file{font-size:13px;color:var(--fg-dim);font-style:italic}.compliance-loading{display:flex;justify-content:center;align-items:center;padding:32px 0}@media (max-width: 960px){.compliance-header{flex-direction:column;align-items:flex-start}.compliance-header-actions,.compliance-panel-actions{justify-content:flex-start}}@media (max-width: 720px){.compliance-dashboard-page{padding:16px}.compliance-panel{padding:20px}.compliance-header{padding:24px}}.staff-drawer-container{display:flex;flex-direction:column;gap:32px}.staff-drawer-header{display:flex;align-items:center;gap:20px;padding:24px;background:var(--bg-secondary, rgba(148, 163, 184, .05));border-radius:12px}.staff-drawer-avatar{flex-shrink:0}.avatar-circle-large{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:24px;color:#fff;background:linear-gradient(135deg,var(--accent, var(--primary)),var(--accent-2, #4f46e5));box-shadow:0 12px 24px color-mix(in oklab,var(--accent) 30%,transparent)}.staff-drawer-header-info{flex:1;min-width:0}.staff-drawer-header-info h1{margin:0 0 4px;font-size:22px;font-weight:600;color:var(--fg)}.staff-drawer-header-info p{margin:0;font-size:14px;color:var(--fg-dim, rgba(148, 163, 184, .8))}.staff-email a{color:var(--accent, var(--primary));text-decoration:none;transition:color .15s ease}.staff-email a:hover{color:var(--accent-hover, var(--accent));text-decoration:underline}.staff-position{margin-top:2px!important;font-style:italic}.staff-drawer-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.overview-card{padding:20px;background:var(--card-bg, var(--bg));border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:12px;transition:all .2s ease}.overview-card:hover{border-color:var(--accent, color-mix(in oklab, var(--accent) 40%, transparent));box-shadow:0 4px 12px #0000000d}.overview-card-label{font-size:13px;font-weight:500;color:var(--fg-dim, rgba(148, 163, 184, .8));margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.overview-card-value{font-size:15px;font-weight:600;color:var(--fg)}.overview-credentials-summary{display:flex;flex-direction:column;gap:6px}.credentials-count{font-size:15px;color:var(--fg)}.credentials-warning{font-size:12px;color:var(--orange, #f59e0b);font-weight:500}.credentials-error{font-size:12px;color:var(--red, #ef4444);font-weight:600}.overview-next-expiry{display:flex;flex-direction:column;gap:4px}.expiry-date{font-size:15px;color:var(--fg)}.expiry-warning{font-size:12px;color:var(--orange, #f59e0b);font-weight:500}.expiry-error{font-size:12px;color:var(--red, #ef4444);font-weight:600}.staff-drawer-section{display:flex;flex-direction:column;gap:20px}.staff-drawer-section-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.staff-drawer-section-header h2{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.staff-drawer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px}.staff-drawer-loading p{margin:0;color:var(--fg-muted, var(--fg-dim));font-size:14px}.staff-drawer-credentials{display:flex;flex-direction:column;gap:16px}.credential-card-premium{padding:24px;background:var(--card-bg, var(--bg));border:1px solid var(--border, rgba(148, 163, 184, .2));border-radius:12px;transition:all .2s ease}.credential-card-premium:hover{border-color:var(--accent, color-mix(in oklab, var(--accent) 40%, transparent));box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.credential-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.credential-card-info{flex:1;min-width:0}.credential-card-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--fg)}.credential-number{margin:0;font-size:13px;color:var(--fg-dim, rgba(148, 163, 184, .8));font-family:Courier New,monospace}.credential-card-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border, rgba(148, 163, 184, .15))}.credential-detail-item{display:flex;flex-direction:column;gap:4px}.credential-detail-label{font-size:12px;font-weight:500;color:var(--fg-dim, rgba(148, 163, 184, .8));text-transform:uppercase;letter-spacing:.05em}.credential-detail-value{font-size:14px;font-weight:500;color:var(--fg)}.credential-detail-value.text-error{color:var(--red, #ef4444)}.credential-detail-value.text-warning{color:var(--orange, #f59e0b)}.credential-days-remaining{font-size:13px;font-weight:400;opacity:.8}.credential-card-actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 720px){.staff-drawer-header{flex-direction:column;align-items:flex-start;text-align:left}.staff-drawer-avatar{align-self:center}.staff-drawer-header-info{text-align:center;width:100%}.staff-drawer-overview{grid-template-columns:1fr}.credential-card-header{flex-direction:column;align-items:flex-start}.credential-card-details{grid-template-columns:1fr}.credential-card-actions{flex-direction:column}.credential-card-actions>*{width:100%}}.warning-banner{position:sticky;top:0;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000f;animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.warning-banner--warning{background:#fbbf241a;border-bottom-color:#fbbf244d}.warning-banner--danger{background:#ef44441a;border-bottom-color:#ef44444d}.warning-banner-content{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.warning-banner-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.warning-banner--warning .warning-banner-icon{color:var(--orange, #f59e0b)}.warning-banner--danger .warning-banner-icon{color:var(--red, #ef4444)}.warning-banner-icon svg{width:20px;height:20px;stroke-width:2}.warning-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0}.warning-banner-text strong{font-size:14px;font-weight:600;color:var(--fg)}.warning-banner-text span{font-size:13px;color:var(--fg-secondary)}.warning-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.warning-banner-action{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;border:none;outline:none}.warning-banner-action svg{width:14px;height:14px;stroke-width:2}.warning-banner-action--primary{background:var(--accent, var(--primary));color:#fff}.warning-banner-action--primary:hover{background:var(--accent-hover, var(--accent))}.warning-banner-action--primary:active{transform:scale(.98)}.warning-banner-action--ghost{background:transparent;color:var(--fg-secondary);padding:6px;width:32px;height:32px}.warning-banner-action--ghost:hover{background:#0000000d;color:var(--fg)}.warning-banner-action--ghost:active{transform:scale(.95)}@media (max-width: 768px){.warning-banner{padding:10px 16px;gap:12px}.warning-banner-content{gap:10px}.warning-banner-icon svg{width:18px;height:18px}.warning-banner-text strong{font-size:13px}.warning-banner-text span{font-size:12px}.warning-banner-action--primary{font-size:12px;padding:6px 10px}.warning-banner-action--primary svg{width:12px;height:12px}}@media (prefers-color-scheme: dark){.warning-banner{background:var(--bg-secondary, #1a1a1a);border-bottom-color:var(--border, #333)}.warning-banner--warning{background:#fbbf2426;border-bottom-color:#fbbf2466}.warning-banner--danger{background:#ef444426;border-bottom-color:#ef444466}.warning-banner-action--ghost:hover{background:#ffffff1a}}.conversational-wizard{display:flex;flex-direction:column;height:100%;background:var(--bg);position:relative}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex;gap:.75rem;max-width:85%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-message.bot{align-self:flex-start}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.bot-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.message-bubble{padding:.875rem 1.125rem;border-radius:18px;font-size:.9375rem;line-height:1.5}.chat-message.bot .message-bubble{background:var(--bg-subtle);color:var(--fg);border-bottom-left-radius:4px}.chat-message.user .message-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-message.greeting .message-bubble{font-weight:500}.message-bubble.typing{display:flex;gap:4px;padding:1rem 1.25rem}.message-bubble.typing .dot{width:8px;height:8px;background:var(--fg-muted);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.message-bubble.typing .dot:nth-child(1){animation-delay:-.32s}.message-bubble.typing .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.quick-replies{padding:1rem 1.5rem 1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--border);background:var(--bg);animation:fadeUp .3s ease-out}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.quick-reply-btn{padding:.625rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:20px;color:var(--fg);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.375rem}.quick-reply-btn:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-1px)}.quick-reply-btn:active{transform:translateY(0)}.quick-reply-btn.high-risk{border-color:var(--warning);background:rgba(var(--warning-rgb),.1)}.quick-reply-btn.high-risk:hover{background:rgba(var(--warning-rgb),.2);border-color:var(--warning)}.quick-reply-btn.other{background:transparent;border-style:dashed;color:var(--fg-muted)}.quick-reply-btn.other:hover{background:var(--bg-subtle);color:var(--fg)}.risk-badge{font-size:.75rem}.custom-input-row{width:100%;display:flex;gap:.5rem;margin-top:.5rem;animation:fadeUp .2s ease-out}.custom-input-row input{flex:1;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:.9375rem}.custom-input-row input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.custom-input-row button{padding:.75rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.custom-input-row button:hover:not(:disabled){background:var(--primary-hover)}.custom-input-row button:disabled{opacity:.5;cursor:not-allowed}.generating-indicator{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:linear-gradient(135deg,var(--primary-bg),var(--bg-subtle));border-radius:12px;margin:.5rem 0;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.generating-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.generating-text{display:flex;flex-direction:column;gap:.25rem}.generating-text span{font-size:.875rem;color:var(--fg-muted);animation:fadeText 3s infinite}.generating-text span:nth-child(1){animation-delay:0s}.generating-text span:nth-child(2){animation-delay:1s}.generating-text span:nth-child(3){animation-delay:2s}@keyframes fadeText{0%,20%{opacity:.4}33%,53%{opacity:1;color:var(--fg)}66%,to{opacity:.4}}.cancel-chat-btn{position:absolute;top:1rem;right:1rem;padding:.5rem .75rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);font-size:.8125rem;cursor:pointer;transition:all .2s;z-index:10}.cancel-chat-btn:hover{background:var(--bg-hover);color:var(--fg)}@media (max-width: 600px){.chat-messages{padding:1rem}.chat-message{max-width:90%}.quick-replies{padding:1rem}.quick-reply-btn{font-size:.8125rem;padding:.5rem .875rem}}.create-document-drawer{display:flex;flex-direction:column;height:100%}.drawer-step{flex:1;display:flex;flex-direction:column}.drawer-step h3{font-size:1.25rem;font-weight:600;color:var(--fg);margin:0 0 1.5rem}.doc-type-selector{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.doc-type-selector.doc-type-grid{grid-template-columns:repeat(3,1fr)}.doc-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem .75rem;background:var(--bg-subtle);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .2s}.doc-type-btn:hover{background:var(--bg-hover);border-color:var(--primary)}.doc-type-btn.active{background:var(--primary-bg);border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.doc-type-icon{font-size:2rem;margin-bottom:.5rem}.doc-type-label{font-size:.9rem;font-weight:600;color:var(--fg);margin-bottom:.25rem;text-align:center}.doc-type-desc{font-size:.75rem;color:var(--fg-muted);text-align:center;line-height:1.3}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.9rem;font-weight:500;color:var(--fg);margin-bottom:.5rem}.form-control{width:100%;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--fg);font-size:.95rem;font-family:inherit;transition:all .2s}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.form-control::placeholder{color:var(--fg-muted);opacity:.6}.field-hint{font-size:.85rem;color:var(--fg-muted);margin-top:.5rem}textarea.form-control{resize:vertical;min-height:80px}.ai-mode-section,.manual-mode-section{margin-top:1rem}.tasks-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;max-height:400px;overflow-y:auto}.task-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.task-card h4{font-size:1.05rem;font-weight:600;color:var(--fg);margin:0 0 1rem}.task-section{margin-bottom:1rem}.task-section:last-child{margin-bottom:0}.task-section strong{display:block;font-size:.9rem;color:var(--fg);margin-bottom:.5rem}.task-section ul{margin:0;padding-left:1.5rem}.task-section li{font-size:.9rem;color:var(--fg-muted);margin-bottom:.25rem}.drawer-actions{display:flex;gap:1rem;margin-top:auto;padding-top:2rem;border-top:1px solid var(--border)}.drawer-actions button{flex:1}@media (max-width: 768px){.doc-type-selector,.doc-type-selector.doc-type-grid{grid-template-columns:1fr 1fr}.doc-type-btn{padding:1rem .5rem}.doc-type-icon{font-size:1.5rem}.doc-type-label{font-size:.8rem}.doc-type-desc{font-size:.7rem}.drawer-actions{flex-direction:column-reverse}.drawer-actions button{width:100%}}@media (max-width: 480px){.doc-type-selector.doc-type-grid{grid-template-columns:1fr 1fr;gap:.5rem}.doc-type-btn{padding:.75rem .5rem}}.site-selector-wrapper{position:relative}.site-dropdown{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:1000;margin-top:4px}.site-option{padding:.75rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .15s ease}.site-option:hover{background:var(--bg-hover)}.site-option:last-child{border-bottom:none}.site-option-main{margin-bottom:.25rem}.site-option-main strong{font-size:.9375rem;color:var(--fg)}.site-customer{font-size:.875rem;color:var(--fg-muted)}.site-option-address{font-size:.8125rem;color:var(--fg-muted)}.selected-site-preview{padding:.5rem;background:var(--bg-subtle);border-radius:4px}.chat-mode-section,.template-mode-section{margin-top:1rem}.template-grid{max-height:350px;overflow-y:auto}.template-category{margin-bottom:1.25rem}.template-category h4{font-size:.8125rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.template-list{display:flex;flex-direction:column;gap:.5rem}.template-card{width:100%;text-align:left;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .2s}.template-card:hover{background:var(--bg-hover);border-color:var(--primary)}.template-card.selected{background:var(--primary-bg);border-color:var(--primary);box-shadow:0 0 0 2px rgba(var(--primary-rgb),.15)}.template-card-title{font-size:.9375rem;font-weight:600;color:var(--fg);margin-bottom:.25rem}.template-card-desc{font-size:.8125rem;color:var(--fg-muted);line-height:1.4}.view-document-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.view-document-loading p{color:var(--text-secondary);font-size:.9375rem}.view-document-content{display:flex;flex-direction:column;gap:1.5rem}.document-header{padding-bottom:1rem;border-bottom:1px solid var(--border)}.document-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.document-title-row h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.document-meta{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.document-meta .separator{color:var(--text-tertiary)}.doc-type{font-weight:500;color:var(--text-primary)}.document-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.document-section{padding:1rem 0;border-bottom:1px solid var(--border)}.document-section:last-child{border-bottom:none}.document-section h3{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item.full-width{grid-column:1 / -1}.detail-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.detail-value{font-size:.9375rem;color:var(--text-primary);white-space:pre-wrap}.task-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-primary)}.task-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.task-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:baseline;gap:.5rem}.task-number{color:var(--text-secondary);font-weight:500}.responsible-role{padding:.25rem .75rem;font-size:.75rem;font-weight:500;background:var(--primary-alpha);color:var(--primary);border-radius:12px;white-space:nowrap}.task-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.task-subsection{display:flex;flex-direction:column;gap:.5rem}.task-subsection strong{font-size:.875rem;font-weight:600;color:var(--text-primary)}.hazard-list,.control-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.25rem}.hazard-list li,.control-list li{font-size:.9375rem;color:var(--text-primary);line-height:1.5}.risk-levels{flex-direction:row;gap:1.5rem}.risk-item{display:flex;align-items:center;gap:.5rem}.risk-label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.ppe-tags{display:flex;flex-wrap:wrap;gap:.5rem}.ppe-tag{padding:.375rem .75rem;font-size:.8125rem;font-weight:500;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:6px}.task-notes{margin:0;font-size:.9375rem;color:var(--text-primary);line-height:1.6;white-space:pre-wrap}.recipients-list{display:flex;flex-direction:column;gap:.75rem}.recipient-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px}.recipient-info{display:flex;flex-direction:column;gap:.25rem}.recipient-info strong{font-size:.9375rem;font-weight:500;color:var(--text-primary)}.recipient-role{font-size:.8125rem;color:var(--text-secondary)}@media (max-width: 768px){.document-title-row{flex-direction:column;align-items:flex-start}.document-actions{flex-direction:column}.document-actions button{width:100%}.detail-grid{grid-template-columns:1fr}.task-header{flex-direction:column;align-items:flex-start}.risk-levels{flex-direction:column;gap:.75rem}}.edit-document-drawer{display:flex;flex-direction:column;gap:1.5rem}.drawer-tab-content{display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.form-control{padding:.625rem .875rem;font-size:.9375rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;transition:all .2s ease}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha)}.form-control::placeholder{color:var(--text-tertiary)}textarea.form-control{resize:vertical;font-family:inherit}select.form-control{cursor:pointer}.tasks-edit-list{display:flex;flex-direction:column;gap:1.5rem}.task-edit-card{padding:1.5rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:1rem}.task-edit-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.task-edit-header h4{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.list-editor{display:flex;flex-direction:column;gap:.75rem}.list-item{display:flex;gap:.5rem;align-items:flex-start}.list-item .form-control{flex:1}.list-item button{flex-shrink:0}.drawer-actions{display:flex;gap:.75rem;padding-top:1.5rem;border-top:1px solid var(--border);margin-top:auto}.drawer-actions button:first-child{margin-right:auto}@media (max-width: 768px){.task-edit-header{flex-direction:column;align-items:flex-start}.task-edit-header button{width:100%}.drawer-actions{flex-direction:column}.drawer-actions button{width:100%}.drawer-actions button:first-child{margin-right:0}.list-item{flex-direction:column}.list-item button{width:100%}}.safety-documents-page{padding:1.5rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-title-section h1{font-size:2rem;font-weight:600;color:var(--fg);margin:0 0 .5rem}.page-description{color:var(--fg-muted);font-size:.95rem;margin:0}.page-actions{display:flex;gap:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:2rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding:1rem}.pagination button{padding:.5rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;color:var(--fg);cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:.9rem;color:var(--fg-muted)}@media (max-width: 768px){.safety-documents-page{padding:1rem}.page-header{flex-direction:column;align-items:stretch}.page-actions{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.stats-grid{grid-template-columns:1fr}.page-title-section h1{font-size:1.5rem}}.template-library-page{padding:0}.template-library-page .page-header{margin-bottom:1.5rem}.template-library-page .page-title-section h1{font-size:1.5rem;font-weight:600;color:var(--fg);margin:0 0 .5rem}.template-library-page .page-description{font-size:.9375rem;color:var(--fg-muted);margin:0}.loading-state,.empty-state,.preview-loading,.preview-error{text-align:center;padding:3rem 2rem;color:var(--fg-muted)}.empty-state .empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.25rem;font-weight:600;color:var(--fg);margin:0 0 .5rem}.empty-state p{margin:0}.template-categories{display:flex;flex-direction:column;gap:2rem}.template-category-section{margin-bottom:1rem}.category-header{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:600;color:var(--fg);margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.category-icon{font-size:1.25rem}.category-count{margin-left:auto;font-size:.8125rem;font-weight:500;color:var(--fg-muted);background:var(--bg-subtle);padding:.25rem .625rem;border-radius:12px}.templates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem}.template-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;transition:all .2s}.template-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #00000014}.template-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.template-card-header h3{font-size:1rem;font-weight:600;color:var(--fg);margin:0;line-height:1.4}.template-description{font-size:.875rem;color:var(--fg-muted);line-height:1.5;margin:0;flex:1}.template-meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.8125rem;color:var(--fg-muted)}.meta-item{display:flex;align-items:center;gap:.375rem}.meta-label{font-weight:500;color:var(--fg)}.meta-item.usage{color:var(--success)}.template-actions{display:flex;gap:.75rem;margin-top:.5rem}.template-actions button{flex:1}.template-preview{display:flex;flex-direction:column;gap:1.5rem}.preview-section{padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.preview-section:last-child{border-bottom:none}.preview-section h3{font-size:1rem;font-weight:600;color:var(--fg);margin:0 0 1rem}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted);font-weight:500}.info-value{font-size:.9375rem;font-weight:500;color:var(--fg)}.preview-description{font-size:.9375rem;color:var(--fg-muted);line-height:1.5;margin:0}.ppe-list{display:flex;flex-wrap:wrap;gap:.5rem}.ppe-tag{display:inline-block;padding:.375rem .75rem;background:var(--primary-bg);color:var(--primary);font-size:.8125rem;font-weight:500;border-radius:4px}.tasks-list{display:flex;flex-direction:column;gap:1rem}.task-preview-card{background:var(--bg-subtle);border:1px solid var(--border);border-radius:6px;padding:1rem}.task-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.task-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600;border-radius:50%;flex-shrink:0}.task-header h4{font-size:.9375rem;font-weight:600;color:var(--fg);margin:0;flex:1}.task-detail{margin-bottom:.75rem}.task-detail:last-child{margin-bottom:0}.task-detail strong{display:block;font-size:.8125rem;font-weight:600;color:var(--fg);margin-bottom:.375rem}.task-detail ul{margin:0;padding-left:1.25rem}.task-detail li{font-size:.875rem;color:var(--fg-muted);margin-bottom:.25rem;line-height:1.4}.task-detail.responsible{font-size:.875rem;color:var(--fg-muted)}.task-detail.responsible strong{display:inline;margin-right:.25rem}.preview-actions{padding-top:1rem;margin-top:auto}@media (max-width: 768px){.templates-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}.template-actions{flex-direction:column}}@media (max-width: 480px){.info-grid{grid-template-columns:1fr}.category-header{font-size:1rem}}.rank-badge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.rank-badge-large{width:200px;height:280px}.rank-badge-medium{width:120px;height:168px}.rank-badge-small{width:100px;height:140px}.rank-badge-glow{position:absolute;width:300px;height:300px;animation:rank-pulse 3s ease-in-out infinite;pointer-events:none;z-index:0}@keyframes rank-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.rank-badge-container{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px}.rank-badge-svg{width:100%;height:auto;transition:all .3s ease}.rank-badge:hover .rank-badge-svg{transform:scale(1.05);filter:brightness(1.2)}.rank-badge-title{font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center;text-shadow:0 0 10px currentColor;animation:title-glow 2s ease-in-out infinite}@keyframes title-glow{0%,to{opacity:.8}50%{opacity:1}}.prestige-stars path{animation:star-twinkle 2s ease-in-out infinite}.prestige-stars path:nth-child(2){animation-delay:.2s}.prestige-stars path:nth-child(4){animation-delay:.4s}.prestige-stars path:nth-child(6){animation-delay:.6s}.prestige-stars path:nth-child(8){animation-delay:.8s}@keyframes star-twinkle{0%,to{opacity:.7}50%{opacity:1}}.elite-diamond path{animation:diamond-pulse 1.5s ease-in-out infinite}@keyframes diamond-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.rank-badge-medium .rank-badge-title{font-size:12px}.rank-badge-small .rank-badge-title{font-size:10px}.achievement-badge{display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .3s ease;cursor:pointer}.achievement-badge-small{width:60px}.achievement-badge-medium{width:80px}.achievement-badge-large{width:120px}.achievement-badge-svg{width:100%;height:auto;transition:all .3s ease}.achievement-badge.unlocked:hover .achievement-badge-svg{transform:scale(1.1);filter:brightness(1.3)}.achievement-badge.locked{opacity:.6}.achievement-badge.locked .achievement-badge-svg{animation:locked-pulse 3s ease-in-out infinite}@keyframes locked-pulse{0%,to{opacity:.5}50%{opacity:.7}}.achievement-badge-info{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;position:relative;z-index:5}.achievement-badge-title{font-size:12px;font-weight:600;color:var(--text);line-height:1.2;max-width:100px}.achievement-badge-xp{font-size:11px;font-weight:700;letter-spacing:.5px;text-shadow:0 0 8px currentColor}.achievement-badge.unlocked.just-unlocked{animation:unlock-celebration .6s ease-out}@keyframes unlock-celebration{0%{transform:scale(.8) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.achievement-badge.unlocked{position:relative;overflow:hidden}.achievement-badge.unlocked:before{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transition:left .5s ease;pointer-events:none;z-index:10}.achievement-badge.unlocked:hover:before{left:150%}.achievement-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:20px;padding:20px 0}.achievement-badge-list{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}.achievement-badge-list .achievement-badge{flex-direction:row;width:100%}.achievement-badge-list .achievement-badge-svg{width:60px;flex-shrink:0}.achievement-badge-list .achievement-badge-info{flex:1;align-items:flex-start;text-align:left}.tactical-operator-avatar{width:100%;max-width:300px;height:auto;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.operator-silhouette{width:100%;height:auto;filter:drop-shadow(0 0 20px rgba(0,212,255,.4));transition:all .3s ease}.tactical-operator-avatar:hover .operator-silhouette{transform:scale(1.02);filter:drop-shadow(0 0 30px rgba(0,212,255,.6))}.operator-silhouette{animation:operator-breathe 4s ease-in-out infinite}@keyframes operator-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.01)}}.operator-head{animation:head-glow 3s ease-in-out infinite}@keyframes head-glow{0%,to{opacity:.9}50%{opacity:1}}.calling-card{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-radius:inherit;z-index:0}.calling-card__svg{width:100%;height:100%;display:block}.calling-card--scan .calling-card__scan-line{position:absolute;top:-100%;left:0;width:100%;height:3px;background:linear-gradient(to bottom,transparent,rgba(0,255,128,.6),transparent);animation:scan-sweep 4s linear infinite;pointer-events:none;z-index:2}@keyframes scan-sweep{0%{top:-100%}to{top:200%}}.calling-card--pulse .calling-card__pulse{position:absolute;top:50%;left:50%;width:200%;height:200%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:energy-pulse 3s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes energy-pulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}}.calling-card--shine .calling-card__shine{position:absolute;top:-50%;left:-100%;width:50%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shine-sweep 5s ease-in-out infinite;pointer-events:none;z-index:2;transform:skew(-20deg)}@keyframes shine-sweep{0%{left:-100%}50%,to{left:150%}}.calling-card--rotate .calling-card__svg{animation:slow-rotate 30s linear infinite}@keyframes slow-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calling-card__sparkle{position:absolute;width:4px;height:4px;background:#ffffffe6;border-radius:50%;box-shadow:0 0 8px #fffc;animation:sparkle-twinkle 2s ease-in-out infinite;pointer-events:none;z-index:2}@keyframes sparkle-twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.5)}}.calling-card--subtle_shift .calling-card__svg{animation:subtle-shift 8s ease-in-out infinite}@keyframes subtle-shift{0%,to{transform:scale(1) translate(0)}50%{transform:scale(1.05) translate(2%,2%)}}.calling-card--fade{animation:fade-breath 6s ease-in-out infinite}@keyframes fade-breath{0%,to{opacity:.85}50%{opacity:1}}.calling-card-preview{position:relative;width:180px;height:250px;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid rgba(255,255,255,.1);background:var(--bg-secondary, #1F2937)}.calling-card-preview:hover{transform:translateY(-4px);border-color:var(--primary, #00D4FF);box-shadow:0 8px 20px #00d4ff4d}.calling-card-preview--locked{cursor:not-allowed;opacity:.5}.calling-card-preview--locked:hover{transform:none;border-color:#ffffff1a;box-shadow:none}.calling-card-preview--equipped{border-color:gold;box-shadow:0 0 20px #ffd70066}.calling-card-preview__lock{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#000000d9;z-index:10;pointer-events:none}.calling-card-preview__lock svg{width:48px;height:48px;color:var(--fg-secondary, #9CA3AF)}.calling-card-preview__lock span{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--fg-secondary, #9CA3AF);text-align:center;padding:0 12px}.calling-card-preview__equipped-badge{position:absolute;top:12px;right:12px;padding:4px 12px;background:gold;color:#000;font-size:10px;font-weight:900;letter-spacing:1px;border-radius:4px;z-index:10;pointer-events:none;box-shadow:0 2px 8px #ffd70066}.calling-card-preview__info{position:absolute;bottom:0;left:0;width:100%;padding:16px 12px;background:linear-gradient(to top,rgba(0,0,0,.95),transparent);z-index:5;pointer-events:none}.calling-card-preview__title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;margin-bottom:4px;text-shadow:0 2px 4px rgba(0,0,0,.8)}.calling-card-preview__rarity{font-size:10px;font-weight:600;letter-spacing:1px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.calling-card-preview__rarity--common{color:#9ca3af}.calling-card-preview__rarity--uncommon{color:#10b981}.calling-card-preview__rarity--rare{color:#3b82f6}.calling-card-preview__rarity--epic{color:#a855f7}.calling-card-preview__rarity--legendary{color:#f59e0b;font-weight:900;text-shadow:0 0 8px rgba(245,158,11,.6)}.staff-profile-page{position:absolute;inset:0;width:100%;min-height:100vh;padding:0;margin:0;background:linear-gradient(135deg,#0a0e27,#1a1a2e,#16213e);color:var(--text);overflow-y:auto;overflow-x:hidden;z-index:1}.profile-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 40px;background:#0a0e27f2;backdrop-filter:blur(10px);border-bottom:2px solid rgba(255,255,255,.1);box-shadow:0 4px 24px #00000080}.profile-title{margin:0;font-size:28px;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg,#00d4ff,#09f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 20px rgba(0,212,255,.3)}.profile-grid{display:grid;grid-template-columns:400px 1fr 450px;gap:0;height:calc(100vh - 82px);width:100%;max-width:100%}@media (max-width: 1600px){.profile-grid{grid-template-columns:350px 1fr 400px}}@media (max-width: 1200px){.profile-grid{grid-template-columns:1fr;height:auto}}.profile-panel{background:#0a0e2799;border:none;border-right:1px solid rgba(255,255,255,.05);padding:40px;box-shadow:inset 0 0 40px #00000080;position:relative;overflow-y:auto;overflow-x:hidden}.profile-panel:last-child{border-right:none}.panel-title{margin:0 0 20px;font-size:14px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.section-label{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.empty-state{font-size:13px;color:var(--muted);font-style:italic;margin:12px 0}.achievements-panel{display:flex;flex-direction:column;gap:24px;position:relative}.panel-rank-badge{position:absolute;top:20px;right:20px;z-index:10}.achievements-section,.badges-section{display:flex;flex-direction:column}.achievement-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.achievement-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border:1px solid var(--border);border-radius:8px;transition:all .2s ease}.achievement-item:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:var(--accent);transform:translate(4px)}.achievement-icon{font-size:28px;line-height:1;flex-shrink:0}.achievement-info{flex:1;display:flex;flex-direction:column;gap:2px}.achievement-title{font-size:14px;font-weight:600;color:var(--text)}.achievement-xp{font-size:12px;font-weight:600;color:var(--accent)}.view-all-btn{width:100%;justify-content:space-between}.badge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.badge-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border:1px solid var(--border);border-radius:8px;transition:all .2s ease;cursor:pointer}.badge-card:hover{background:color-mix(in oklab,var(--accent) 8%,transparent);border-color:var(--accent);transform:translateY(-4px);box-shadow:0 8px 16px #0003}.badge-icon{font-size:32px;line-height:1}.badge-name{font-size:11px;font-weight:600;text-align:center;color:var(--text);line-height:1.3}.avatar-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,rgba(0,212,255,.05) 0%,transparent 60%);border-right:1px solid rgba(0,212,255,.2);border-left:1px solid rgba(0,212,255,.2)}.spotlight-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(0,212,255,.15) 0%,rgba(0,153,255,.08) 30%,transparent 60%);z-index:1;pointer-events:none;animation:pulse-glow 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.avatar-container{position:relative;z-index:2;width:400px;height:400px;border-radius:50%;overflow:hidden;border:6px solid rgba(0,212,255,.8);box-shadow:0 0 60px #00d4ff99,0 0 100px #00d4ff4d,inset 0 0 60px #00000080;background:linear-gradient(135deg,#1a1a2e,#0a0e27);transition:all .3s ease}.avatar-container:hover{transform:scale(1.05);border-color:#0ff;box-shadow:0 0 80px #0ffc,0 0 120px #00d4ff66,inset 0 0 60px #00000080}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0%,color-mix(in oklab,var(--accent) 70%,#000) 100%)}.avatar-initials{font-size:140px;font-weight:900;color:#00d4ff;text-shadow:0 0 20px rgba(0,212,255,.8),0 0 40px rgba(0,212,255,.5),0 4px 12px rgba(0,0,0,.8);letter-spacing:4px}.operator-info{position:relative;z-index:2;text-align:center}.operator-name{font-size:28px;font-weight:700;letter-spacing:1.5px;color:var(--text);text-shadow:0 2px 8px rgba(0,0,0,.3);margin-bottom:8px}.operator-role{font-size:14px;font-weight:600;letter-spacing:1px;color:var(--accent);text-transform:uppercase}.level-info{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.level-badge{padding:8px 24px;background:var(--accent);color:var(--accent-contrast, white);font-size:18px;font-weight:700;letter-spacing:2px;border-radius:24px;box-shadow:0 4px 12px color-mix(in oklab,var(--accent) 40%,transparent)}.level-progress-bar{width:100%;height:12px;background:var(--bg-subtle, rgba(148, 163, 184, .1));border-radius:6px;overflow:hidden;border:1px solid var(--border)}.level-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0%,color-mix(in oklab,var(--accent) 120%,#fff) 100%);border-radius:6px;transition:width .3s ease;box-shadow:0 0 12px color-mix(in oklab,var(--accent) 60%,transparent)}.level-xp-text{font-size:13px;font-weight:600;color:var(--muted)}.staff-id-section{position:relative;z-index:2;text-align:center;padding:16px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border:1px solid var(--border);border-radius:8px}.staff-id-label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:4px}.staff-id-code{font-size:18px;font-weight:700;font-family:Courier New,monospace;letter-spacing:2px;color:var(--accent)}.stats-panel{display:flex;flex-direction:column;gap:24px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-item{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border:1px solid var(--border);border-radius:8px;transition:all .2s ease}.stat-item:hover{background:color-mix(in oklab,var(--accent) 6%,transparent);border-color:var(--accent)}.stat-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.stat-value{font-size:24px;font-weight:700;color:var(--text)}.quick-stats-section{display:flex;flex-direction:column;gap:12px}.quick-stats-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.quick-stats-list li{font-size:14px;font-weight:500;color:var(--text);padding:8px;background:var(--bg-subtle, rgba(148, 163, 184, .04));border-radius:6px}.profile-actions{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:12px}.action-btn{min-width:200px;font-size:14px;font-weight:600;padding:12px 24px;gap:8px}@media (max-width: 768px){.profile-actions{flex-direction:column}.action-btn{width:100%}}.staff-profile-loading,.staff-profile-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:60vh;text-align:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.staff-profile-error p{font-size:16px;color:var(--text);margin-bottom:16px}.unlock-notification{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:9999;pointer-events:none;opacity:0;transform:scale(.8);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.unlock-notification--visible{opacity:1;transform:scale(1)}.unlock-particles{position:absolute;width:100%;height:100%;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.unlock-particle{position:absolute;top:50%;left:50%;background:radial-gradient(circle,gold,orange);border-radius:50%;opacity:0;box-shadow:0 0 8px #ffd700cc;animation:particle-burst 2s ease-out forwards}@keyframes particle-burst{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--particle-x),var(--particle-y)) scale(.3)}}.unlock-shockwave{position:absolute;top:50%;left:50%;width:100px;height:100px;margin-left:-50px;margin-top:-50px;border:3px solid rgba(0,212,255,.8);border-radius:50%;opacity:0;animation:shockwave-expand 1.5s ease-out forwards}@keyframes shockwave-expand{0%{opacity:1;transform:scale(0)}80%{opacity:.5}to{opacity:0;transform:scale(15)}}.unlock-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:20px;padding:60px 80px;background:linear-gradient(135deg,#0a0e27f2,#1a1a2ef2);border:2px solid rgba(0,212,255,.5);border-radius:12px;box-shadow:0 20px 60px #000000b3,0 0 40px #00d4ff66;backdrop-filter:blur(10px);animation:content-reveal .8s cubic-bezier(.34,1.56,.64,1) .5s both}@keyframes content-reveal{0%{opacity:0;transform:translateY(50px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.unlock-content--common{border-color:#9ca3af80;box-shadow:0 20px 60px #000000b3,0 0 40px #9ca3af4d}.unlock-content--uncommon{border-color:#10b98180;box-shadow:0 20px 60px #000000b3,0 0 40px #10b98166}.unlock-content--rare{border-color:#3b82f680;box-shadow:0 20px 60px #000000b3,0 0 40px #3b82f666}.unlock-content--epic{border-color:#a855f780;box-shadow:0 20px 60px #000000b3,0 0 40px #a855f766}.unlock-content--legendary{border-color:#f59e0b99;box-shadow:0 20px 60px #000000b3,0 0 60px #f59e0b99;animation:content-reveal .8s cubic-bezier(.34,1.56,.64,1) .5s both,legendary-pulse 2s ease-in-out 1.3s infinite}@keyframes legendary-pulse{0%,to{box-shadow:0 20px 60px #000000b3,0 0 60px #f59e0b99}50%{box-shadow:0 20px 60px #000000b3,0 0 80px #f59e0bcc}}.unlock-type{font-size:14px;font-weight:900;letter-spacing:3px;color:var(--primary, #00D4FF);text-shadow:0 0 10px currentColor;animation:type-flash .5s ease-in-out .6s both}@keyframes type-flash{0%,to{opacity:1}50%{opacity:.5;transform:scale(1.1)}}.unlock-icon-container{position:relative;width:120px;height:120px;animation:icon-spin-in 1s cubic-bezier(.34,1.56,.64,1) .7s both}@keyframes icon-spin-in{0%{opacity:0;transform:rotate(-180deg) scale(0)}to{opacity:1;transform:rotate(0) scale(1)}}.unlock-icon-glow{position:absolute;top:50%;left:50%;width:180px;height:180px;margin-left:-90px;margin-top:-90px;background:radial-gradient(circle,rgba(0,212,255,.4),transparent 70%);animation:glow-pulse 2s ease-in-out 1s infinite}@keyframes glow-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.unlock-icon{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center;font-size:80px;line-height:1}.unlock-icon--default svg{width:80px;height:80px;color:gold;filter:drop-shadow(0 0 20px rgba(255,215,0,.8))}.unlock-title{font-size:36px;font-weight:900;letter-spacing:2px;text-transform:uppercase;text-align:center;background:linear-gradient(135deg,#fff,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 4px 20px rgba(0,212,255,.5);animation:title-slide-up .8s cubic-bezier(.34,1.56,.64,1) .9s both}@keyframes title-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.unlock-description{font-size:16px;font-weight:500;color:#fffc;text-align:center;max-width:400px;line-height:1.5;animation:description-fade-in .6s ease-out 1.1s both}@keyframes description-fade-in{0%{opacity:0}to{opacity:1}}.unlock-xp{padding:12px 28px;background:linear-gradient(135deg,gold,orange);border-radius:8px;box-shadow:0 4px 20px #ffd70080;animation:xp-bounce .6s cubic-bezier(.34,1.56,.64,1) 1.3s both}@keyframes xp-bounce{0%{opacity:0;transform:scale(0) translateY(-20px)}60%{transform:scale(1.1) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}.unlock-xp-label{font-size:20px;font-weight:900;letter-spacing:1px;color:#1a1a2e;text-shadow:0 1px 2px rgba(0,0,0,.2)}.unlock-rarity{font-size:12px;font-weight:900;letter-spacing:2px;padding:6px 16px;border-radius:6px;animation:rarity-slide-in .5s ease-out 1.5s both}@keyframes rarity-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.unlock-rarity--uncommon{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.5)}.unlock-rarity--rare{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.5)}.unlock-rarity--epic{background:#a855f733;color:#a855f7;border:1px solid rgba(168,85,247,.5)}.unlock-rarity--legendary{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.6);box-shadow:0 0 20px #f59e0b66;animation:rarity-slide-in .5s ease-out 1.5s both,legendary-rarity-glow 2s ease-in-out 2s infinite}@keyframes legendary-rarity-glow{0%,to{box-shadow:0 0 20px #f59e0b66}50%{box-shadow:0 0 30px #f59e0b99}}.unlock-rays{position:absolute;top:50%;left:50%;width:800px;height:800px;margin-left:-400px;margin-top:-400px;pointer-events:none;opacity:0;animation:rays-fade-in 1s ease-out .8s forwards}@keyframes rays-fade-in{0%{opacity:0}to{opacity:.6}}.unlock-ray{position:absolute;top:50%;left:50%;width:4px;height:50%;background:linear-gradient(to bottom,rgba(0,212,255,.6),transparent);transform-origin:top center;animation:ray-rotate 8s linear infinite}@keyframes ray-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.inline-autocomplete-cell{cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .15s ease;min-height:36px;display:flex;align-items:center}.inline-autocomplete-cell:hover{background:var(--bg-subtle);border:1px solid var(--border)}.inline-autocomplete-wrapper{position:relative;width:100%}.inline-autocomplete-input{width:100%;padding:8px 12px;border:2px solid var(--primary);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;outline:none;transition:all .15s ease}.inline-autocomplete-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.inline-autocomplete-dropdown{position:fixed;z-index:9999;background:var(--card);border:1px solid var(--border);border-radius:8px;margin-top:4px;max-height:300px;min-width:300px;overflow-y:auto;box-shadow:0 4px 12px #00000026}.suggestion-item{padding:12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background-color .15s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--hover)}.suggestion-name{font-weight:500;color:var(--fg);font-size:14px;margin-bottom:2px}.suggestion-subtitle{font-size:13px;color:var(--fg-dim)}.autocomplete-loading{position:absolute;top:100%;left:0;right:0;padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;margin-top:4px;font-size:13px;color:var(--fg-dim);text-align:center;z-index:999}.inline-dropdown{position:relative;display:inline-block;width:100%}.inline-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:120px;padding:6px 10px;background:var(--card);border:1px solid var(--border);border-radius:4px;color:var(--fg);font-size:14px;font-family:inherit;cursor:pointer;transition:all .15s ease;text-align:left}.inline-dropdown-trigger:hover{border-color:var(--primary);background:var(--bg-hover)}.inline-dropdown-trigger .placeholder{color:var(--fg-dim);font-style:italic}.inline-dropdown-trigger .chevron{flex-shrink:0;color:var(--fg-dim);transition:transform .15s ease}.inline-dropdown.open .chevron{transform:rotate(180deg)}.inline-dropdown-menu{background:var(--card);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:9999;max-height:240px;overflow-y:auto;padding:4px}.inline-dropdown-option{display:block;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:4px;color:var(--fg);font-size:14px;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.inline-dropdown-option:hover{background:var(--bg-hover)}.inline-dropdown-option.selected{background:#60a5fa26;color:var(--primary);font-weight:500}.inline-dropdown-menu::-webkit-scrollbar{width:8px}.inline-dropdown-menu::-webkit-scrollbar-track{background:var(--bg-subtle);border-radius:4px}.inline-dropdown-menu::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.inline-dropdown-menu::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}.scheduled-reports-page{padding:24px;max-width:1600px;margin:0 auto}.scheduled-reports-page .page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;gap:20px}.scheduled-reports-page .page-header h1{font-size:28px;font-weight:600;color:var(--fg);margin:0 0 8px}.scheduled-reports-page .page-header p{font-size:14px;color:var(--fg-dim);margin:0}.schedules-table-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);margin-top:16px}.table-responsive{overflow-x:auto}.schedules-table{width:100%;border-collapse:collapse}.schedules-table thead{background:var(--bg-subtle);border-bottom:2px solid var(--border)}.schedules-table th{padding:16px;text-align:left;font-size:13px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.schedules-table tbody tr{border-bottom:1px solid var(--border);transition:background-color .15s ease}.schedules-table tbody tr:hover{background:color-mix(in oklab,var(--accent) 4%,var(--card))}.schedules-table tbody tr:last-child{border-bottom:none}.schedules-table td{padding:12px 16px;font-size:14px;color:var(--fg);vertical-align:middle;position:relative;overflow:visible}.inline-edit-cell{cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .15s ease;min-height:36px;display:flex;align-items:center}.inline-edit-cell:hover{background:var(--bg-subtle);border:1px solid var(--border)}.inline-edit-wrapper{width:100%}.inline-edit-input{width:100%;padding:8px 12px;border:2px solid var(--primary);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;outline:none;transition:all .15s ease}.inline-edit-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.empty-value{color:var(--fg-dim);font-style:italic;font-size:13px}.inline-select{width:100%;min-width:120px;padding:6px 10px;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--fg);font-size:14px;font-family:inherit;cursor:pointer;transition:all .15s ease;outline:none}.inline-select:hover{border-color:var(--primary);background:var(--bg-hover)}.inline-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px #60a5fa1a}.inline-select option{background:#1a1a1a;color:#fff;padding:8px 12px}.inline-select option:checked{background:var(--accent);color:#fff}.inline-select:hover{border-color:var(--primary);background:var(--bg-subtle)}.inline-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.inline-time-input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;cursor:pointer;transition:all .15s ease}.inline-time-input:hover{border-color:var(--primary);background:var(--bg-subtle)}.inline-time-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.edit-conditions-btn{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--fg);font-size:14px;font-family:inherit;cursor:pointer;text-align:left;transition:all .15s ease}.edit-conditions-btn:hover{border-color:var(--primary);background:var(--bg-subtle)}.action-buttons{display:flex;gap:8px;justify-content:center}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease;background:transparent;color:var(--fg-dim)}.action-btn:hover{background:var(--bg-subtle);color:var(--fg)}.action-btn.test-btn:hover{background:#4caf501a;color:var(--primary)}.action-btn.delete-btn:hover{background:#f443361a;color:var(--danger)}.action-btn svg{width:18px;height:18px}.empty-state{padding:80px 20px;text-align:center;color:var(--fg-dim)}.empty-state p{font-size:16px;margin:0 0 20px}.loading-state{padding:80px 20px;text-align:center;color:var(--fg-dim);font-size:16px}.test-email-form{padding:20px 0}.test-email-form p{margin:0 0 20px;color:var(--fg-dim);font-size:14px}.test-email-form .form-group{margin-bottom:24px}.test-email-form .form-group label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--fg)}.test-email-form .form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-size:14px;font-family:inherit;transition:all .15s ease}.test-email-form .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.test-email-form .modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}@media (max-width: 1200px){.schedules-table th,.schedules-table td{padding:12px 10px;font-size:13px}}@media (max-width: 768px){.scheduled-reports-page{padding:16px}.scheduled-reports-page .page-header{flex-direction:column;align-items:stretch}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.schedules-table{min-width:1000px}.schedules-table th,.schedules-table td{padding:10px 8px;font-size:12px}.action-buttons{flex-direction:column;gap:4px}}.email-delivery-logs{padding:20px}.filters-row{display:flex;gap:16px;align-items:flex-end;margin-bottom:24px;padding:16px;background:var(--surface-soft);border-radius:8px;border:1px solid var(--border)}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-select,.filter-input{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-primary);font-size:14px;min-width:180px}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--primary)}.filter-summary{margin-left:auto;padding:8px 12px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center}.logs-table-container{max-height:500px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.logs-table{width:100%;border-collapse:collapse}.logs-table thead{position:sticky;top:0;background:var(--surface-elevated);z-index:1}.logs-table th{padding:12px;text-align:left;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.logs-table td{padding:12px;font-size:14px;border-bottom:1px solid var(--border-soft)}.logs-table tbody tr:hover{background:var(--surface-soft)}.logs-table tbody tr.row-error{background:#ef44440d}.logs-table tbody tr.row-error:hover{background:#ef44441a}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.status-sent{background:#22c55e1a;color:#22c55e}.status-badge.status-failed{background:#ef44441a;color:#ef4444}.status-badge.status-bounced{background:#fbbf241a;color:#fbbf24}.status-badge.status-rejected{background:#9ca3af1a;color:#9ca3af}.status-icon{font-size:14px}.status-text{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.cell-date{white-space:nowrap;font-size:13px;color:var(--text-secondary)}.cell-email{font-family:monospace;font-size:13px}.cell-rule{font-size:13px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-jobref{font-family:monospace;font-size:12px;color:var(--text-secondary)}.cell-customer{font-size:13px}.cell-error{text-align:center}.btn-error-details{padding:4px 10px;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s}.btn-error-details:hover{background:#ef444433;border-color:#ef4444}.loading-state,.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-state p{margin:8px 0}.empty-state-hint{font-size:13px;color:var(--text-tertiary)}.modal-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.email-delivery-logs.drawer-mode{padding:0}.email-delivery-logs.drawer-mode .filters-row.compact{display:flex;gap:12px;align-items:center;padding:12px;margin-bottom:16px;background:var(--surface-soft);border-radius:8px;border:1px solid var(--border);flex-wrap:wrap}.email-delivery-logs.drawer-mode .filter-group{flex-direction:row;align-items:center;gap:0}.email-delivery-logs.drawer-mode .filter-group.flex-grow{flex:1;min-width:150px}.email-delivery-logs.drawer-mode .filter-select,.email-delivery-logs.drawer-mode .filter-input{padding:6px 10px;font-size:13px;min-width:120px}.email-delivery-logs.drawer-mode .filter-input{min-width:100%}.email-delivery-logs.drawer-mode .filter-checkbox{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.email-delivery-logs.drawer-mode .filter-checkbox input{width:16px;height:16px}.email-delivery-logs.drawer-mode .logs-list{display:flex;flex-direction:column;gap:8px}.log-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;cursor:pointer;transition:all .15s ease}.log-card:hover{background:var(--surface-soft);border-color:var(--border-hover)}.log-card--failed{border-left:3px solid #ef4444}.log-card--selected{border-color:var(--primary);background:var(--surface-soft)}.log-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.log-card__date{font-size:12px;color:var(--text-tertiary)}.log-card__recipient{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.test-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#6366f11a;color:#6366f1;border-radius:4px}.log-card__meta{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.log-card__event{font-weight:500}.log-card__divider{color:var(--text-tertiary)}.log-card__customer{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-card__ref{font-family:monospace;font-size:11px;color:var(--text-tertiary)}.log-card__details{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.detail-grid{display:grid;grid-template-columns:100px 1fr;gap:6px 12px;font-size:13px}.detail-grid dt{color:var(--text-tertiary);font-weight:500}.detail-grid dd{margin:0;color:var(--text-primary);word-break:break-word}.detail-grid .error-code{font-family:monospace;color:#ef4444}.detail-grid .error-message{color:#ef4444;font-size:12px;padding:8px;background:#ef44440d;border-radius:4px;margin-top:4px}@media (max-width: 480px){.email-delivery-logs.drawer-mode .filters-row.compact{flex-direction:column;align-items:stretch}.email-delivery-logs.drawer-mode .filter-select{width:100%;min-width:100%}.log-card__header{flex-direction:column;align-items:flex-start;gap:4px}.detail-grid{grid-template-columns:1fr}.detail-grid dt{margin-top:8px}}.event-type-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px}.event-type-icon svg{width:100%;height:100%}.notifications-page{padding:0}.notification-detail{display:flex;flex-direction:column;gap:24px}.detail-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid var(--border)}.event-badge-large{display:flex;align-items:center;gap:10px}.event-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--primary)}.event-icon svg{width:100%;height:100%}.event-label{font-size:1.125rem;font-weight:600;color:var(--fg)}.detail-section{padding:0}.detail-section h4{margin:0 0 12px;font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-dim)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-header h4{margin:0}.btn-link{background:none;border:none;padding:0;color:var(--accent);font-size:.8125rem;font-weight:500;cursor:pointer;text-decoration:none}.btn-link:hover{text-decoration:underline}.detail-dl{display:grid;grid-template-columns:100px 1fr;gap:8px 16px;margin:0;padding:0}.detail-dl dt{font-size:.8125rem;color:var(--fg-dim);font-weight:500}.detail-dl dd{margin:0;font-size:.875rem;color:var(--fg)}.recipient-list{display:flex;flex-wrap:wrap;gap:8px}.recipient-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-soft, rgba(148, 163, 184, .08));border:1px solid var(--border);border-radius:20px;font-size:.8125rem;color:var(--fg)}.conditions-summary{padding:12px;background:color-mix(in oklab,var(--accent) 8%,transparent);border:1px solid color-mix(in oklab,var(--accent) 20%,var(--border));border-radius:8px}.conditions-badge{font-size:.875rem;font-weight:500;color:var(--accent)}.template-summary{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface-soft, rgba(148, 163, 184, .08));border:1px solid var(--border);border-radius:8px;font-size:.875rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;background:var(--surface-soft, rgba(148, 163, 184, .08));border:1px solid var(--border);border-radius:8px;text-align:center}.stat-value{font-size:1.25rem;font-weight:600;color:var(--fg)}.stat-label{font-size:.75rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.03em}@media (max-width: 768px){.detail-dl{grid-template-columns:1fr;gap:4px 0}.detail-dl dt{margin-top:8px}.detail-dl dd{margin-bottom:4px}.stats-grid{grid-template-columns:1fr}.event-badge-large{flex-direction:column;align-items:flex-start;gap:4px}}.work-dashboard{padding:24px;max-width:1400px;margin:0 auto;min-height:100vh}.work-dashboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;color:var(--muted)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.work-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-wrap:wrap;gap:16px}.header-content h1{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:12px}.header-content h1 svg{width:32px;height:32px;color:var(--accent)}.header-subtitle{margin:0;font-size:15px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.action-icon-bar{display:flex;align-items:center;gap:4px;padding:4px;background:var(--bg-subtle);border-radius:10px;border:1px solid var(--border)}.action-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.action-icon-btn:hover{background:var(--card);color:var(--accent);transform:scale(1.05)}.action-icon-btn svg{width:18px;height:18px}.work-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:32px}.work-stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:var(--card);border:1px solid var(--border);border-radius:16px;position:relative;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.work-stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--stat-color, var(--accent));transition:width .3s ease}.work-stat-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--stat-color, var(--accent)) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.work-stat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f;border-color:var(--stat-color, var(--accent))}.work-stat-card:hover:before{width:6px}.work-stat-card:hover:after{opacity:.06}.work-stat-card.open{--stat-color: #3b82f6}.work-stat-card.in-progress{--stat-color: #f59e0b}.work-stat-card.waiting{--stat-color: #8b5cf6}.work-stat-card.urgent{--stat-color: #ef4444}.stat-icon-wrapper{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:color-mix(in oklab,var(--stat-color, var(--accent)) 12%,transparent);color:var(--stat-color, var(--accent));flex-shrink:0;transition:transform .3s ease,background .3s ease}.stat-icon-wrapper svg{width:26px;height:26px}.work-stat-card:hover .stat-icon-wrapper{transform:scale(1.1);background:color-mix(in oklab,var(--stat-color, var(--accent)) 18%,transparent)}.stat-value{display:block;font-size:32px;font-weight:700;color:var(--text);line-height:1.1}.stat-label{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:4px}.stat-trend{font-size:11px;font-weight:600;padding:2px 8px;border-radius:12px;margin-top:8px;display:inline-block}.stat-trend.up{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.stat-trend.down{background:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444}.quick-actions-section{margin-bottom:32px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title{font-size:18px;font-weight:700;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.section-title svg{width:20px;height:20px;color:var(--accent)}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.quick-action-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:14px;cursor:pointer;transition:all .25s ease}.quick-action-card:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 4%,var(--card));transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.quick-action-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);flex-shrink:0;transition:all .25s ease}.quick-action-icon svg{width:24px;height:24px}.quick-action-card:hover .quick-action-icon{background:var(--accent);color:var(--accent-contrast, #fff);transform:scale(1.08)}.quick-action-content{flex:1;min-width:0}.quick-action-title{font-size:15px;font-weight:600;color:var(--text);margin:0 0 4px}.quick-action-desc{font-size:13px;color:var(--muted);margin:0}.quick-action-arrow{color:var(--muted);transition:transform .25s ease,color .25s ease}.quick-action-arrow svg{width:20px;height:20px}.quick-action-card:hover .quick-action-arrow{color:var(--accent);transform:translate(4px)}.dashboard-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}@media (max-width: 1024px){.dashboard-main-grid{grid-template-columns:1fr}}.my-items-section{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.my-items-section .section-header{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.work-cards-grid{display:flex;flex-direction:column;gap:12px}.work-card{position:relative;padding:14px 16px;background:var(--bg-subtle);border-radius:10px;cursor:pointer;transition:all .15s ease;overflow:hidden}.work-card:hover{background:color-mix(in oklab,var(--accent) 8%,var(--bg-subtle));transform:translate(3px)}.work-card.overdue{background:color-mix(in oklab,#ef4444 8%,var(--bg-subtle));border-left:3px solid #ef4444}.work-card.overdue:hover{background:color-mix(in oklab,#ef4444 12%,var(--bg-subtle))}.work-card.stale{background:color-mix(in oklab,#f59e0b 8%,var(--bg-subtle));border-left:3px solid #f59e0b}.work-card.stale:hover{background:color-mix(in oklab,#f59e0b 12%,var(--bg-subtle))}.work-card-due.stale{color:#f59e0b}.work-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.type-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.type-badge.ticket{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.type-badge.task{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.type-badge.project{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.work-card-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px;line-height:1.4}.work-card-title .item-number{font-size:11px;font-weight:600;color:var(--muted);margin-right:8px}.work-card-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.work-card-meta .meta-item{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.work-card-meta .meta-item svg{width:12px;height:12px}.work-card-due{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);padding:6px 0 0;border-top:1px solid var(--border);margin-top:4px}.work-card-due svg{width:12px;height:12px}.work-card-due.overdue{color:#ef4444;font-weight:600}.priority-bar{position:absolute;bottom:0;left:0;right:0;height:3px}.priority-bar.urgent{background:#ef4444}.priority-bar.high{background:#f59e0b}.priority-bar.medium{background:#3b82f6}.priority-bar.low{background:#94a3b8}.action-required-panel{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.collapsible-section{border-bottom:1px solid var(--border)}.collapsible-section:last-child{border-bottom:none}.section-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;border:none;background:transparent;cursor:pointer;transition:background .15s ease;text-align:left}.section-toggle:hover{background:var(--bg-subtle)}.toggle-icon{display:flex;align-items:center;color:var(--muted);transition:transform .2s ease}.toggle-icon.expanded{transform:rotate(90deg)}.toggle-icon svg{width:14px;height:14px}.section-toggle-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text);flex:1}.section-toggle-title svg{width:16px;height:16px;color:var(--muted)}.section-toggle-title.attention{color:#ef4444}.section-toggle-title.attention svg{color:#ef4444}.section-count{padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--bg-subtle);color:var(--muted)}.section-count.attention{background:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444}.section-content{padding:0 16px 16px}.inline-empty{display:flex;align-items:center;gap:8px;padding:12px;color:var(--muted);font-size:13px}.inline-empty svg{width:16px;height:16px;color:#10b981}.action-items-list{display:flex;flex-direction:column;gap:6px}.action-item-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease;background:var(--bg-subtle)}.action-item-row:hover{background:color-mix(in oklab,var(--accent) 8%,var(--bg-subtle));transform:translate(2px)}.action-item-row.overdue{background:color-mix(in oklab,#ef4444 6%,var(--bg-subtle))}.action-item-row.urgent{background:color-mix(in oklab,#f59e0b 6%,var(--bg-subtle))}.action-item-row.stale{background:color-mix(in oklab,#6b7280 6%,var(--bg-subtle))}.reason-badge{padding:3px 6px;border-radius:4px;font-size:9px;font-weight:700;letter-spacing:.3px;flex-shrink:0}.reason-badge.overdue{background:#ef4444;color:#fff}.reason-badge.urgent{background:#f59e0b;color:#fff}.reason-badge.stale{background:#6b7280;color:#fff}.reason-badge.today{background:#f59e0b;color:#fff}.action-item-row.today{background:color-mix(in oklab,#f59e0b 6%,var(--bg-subtle))}.priority-indicator{width:4px;height:28px;border-radius:2px;flex-shrink:0}.priority-indicator.urgent{background:#ef4444}.priority-indicator.high{background:#f59e0b}.priority-indicator.medium{background:#3b82f6}.priority-indicator.low{background:#94a3b8}.action-item-info{flex:1;min-width:0}.action-item-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-item-title .item-number{font-size:11px;font-weight:600;color:var(--muted);margin-right:6px}.action-item-meta{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:11px;color:var(--muted)}.action-item-meta .parent-ref{font-weight:600;color:var(--accent)}.action-item-meta .unassigned{color:#f59e0b;font-style:italic}.action-item-meta .overdue{color:#ef4444;font-weight:500}.work-item-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:all .15s ease;background:var(--bg-subtle)}.work-item-row:hover{background:color-mix(in oklab,var(--accent) 10%,var(--bg-subtle));transform:translate(3px)}.priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.priority-dot.urgent{background:#ef4444}.priority-dot.high{background:#f59e0b}.priority-dot.medium{background:#3b82f6}.priority-dot.low{background:#94a3b8}.item-info{flex:1;min-width:0}.item-title-row{display:flex;align-items:center;gap:6px}.item-title-row .item-number{font-size:11px;font-weight:600;color:var(--muted);flex-shrink:0}.item-title-row .item-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.work-item-row .item-meta,.attention-item-row .item-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:11px;color:var(--muted)}.work-item-row .item-meta span.overdue,.attention-item-row .item-meta span.overdue{color:#ef4444;font-weight:500}.work-item-row .item-meta span.unassigned{color:#f59e0b;font-style:italic}.status-pill{padding:4px 10px;border-radius:12px;font-size:10px;font-weight:600;text-transform:capitalize;flex-shrink:0}.status-pill.small{padding:3px 8px;font-size:9px}.status-pill.open{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.status-pill.in_progress{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.status-pill.pending{background:color-mix(in oklab,#94a3b8 15%,transparent);color:#64748b}.status-pill.waiting_customer,.status-pill.waiting_internal{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#d97706}.attention-items-list{display:flex;flex-direction:column;gap:8px}.attention-item-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;cursor:pointer;transition:all .15s ease}.attention-item-row.overdue{background:color-mix(in oklab,#ef4444 8%,var(--bg-subtle))}.attention-item-row.urgent{background:color-mix(in oklab,#f59e0b 8%,var(--bg-subtle))}.attention-item-row.stale{background:color-mix(in oklab,#6b7280 8%,var(--bg-subtle))}.attention-item-row:hover{transform:translate(3px)}.attention-badge{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.attention-badge svg{width:12px;height:12px}.attention-badge.overdue{background:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444}.attention-badge.urgent{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#d97706}.attention-badge.stale{background:color-mix(in oklab,#6b7280 15%,transparent);color:#6b7280}.checklists-section{margin-bottom:32px}.checklist-tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.checklist-task-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .15s ease}.checklist-task-card:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 3%,var(--card));transform:translate(3px)}.task-info{flex:1;min-width:0}.task-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-meta{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:11px;color:var(--muted)}.task-meta .parent-item{font-weight:600;color:var(--accent)}.task-meta span.overdue{color:#ef4444;font-weight:500}.empty-state.compact{padding:32px 20px;text-align:center}.empty-state.compact .empty-icon{width:40px;height:40px;margin:0 auto 12px}.empty-state.compact .empty-icon.success svg{color:#10b981}.empty-state.compact h3{font-size:14px;margin-bottom:4px}.empty-state.compact p{font-size:12px}.recent-items-section{margin-bottom:32px}.recent-items-grid{display:grid;gap:12px}.recent-item-card{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--card);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease}.recent-item-card:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 3%,var(--card));transform:translate(4px)}.item-priority-indicator{width:4px;height:40px;border-radius:4px;flex-shrink:0}.item-priority-indicator.urgent{background:#ef4444}.item-priority-indicator.high{background:#f59e0b}.item-priority-indicator.medium{background:#3b82f6}.item-priority-indicator.low{background:#6b7280}.item-type-badge{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.item-type-badge.ticket{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.item-type-badge.task{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.item-type-badge.project{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.item-main-content{flex:1;min-width:0}.item-number{font-size:12px;font-weight:600;color:var(--muted);margin-right:8px}.item-title{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-meta{display:flex;align-items:center;gap:12px;margin-top:4px;font-size:12px;color:var(--muted)}.item-meta-item{display:flex;align-items:center;gap:4px}.item-meta-item svg{width:14px;height:14px}.item-status-badge{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;flex-shrink:0}.item-status-badge.open{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.item-status-badge.in_progress{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b}.item-status-badge.resolved{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.item-status-badge.closed{background:color-mix(in oklab,#6b7280 15%,transparent);color:#6b7280}.item-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff;flex-shrink:0}.activity-feed-section{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.activity-feed-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.activity-feed-header h3{margin:0;font-size:16px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.activity-feed-header h3 svg{width:18px;height:18px;color:var(--accent)}.activity-list{padding:0;margin:0;list-style:none;max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:flex-start;gap:12px;padding:16px 24px;border-bottom:1px solid var(--border);transition:background .2s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--bg-subtle)}.activity-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff;flex-shrink:0}.activity-content{flex:1;min-width:0}.activity-text{font-size:13px;color:var(--text);line-height:1.4}.activity-text strong{font-weight:600}.activity-text .activity-highlight{color:var(--accent);font-weight:500}.activity-time{font-size:12px;color:var(--muted);margin-top:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.empty-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);margin-bottom:24px}.empty-icon svg{width:40px;height:40px}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text)}.empty-state p{margin:0 0 24px;font-size:14px;color:var(--muted);max-width:360px}@media (max-width: 768px){.work-dashboard{padding:16px}.work-dashboard-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:stretch}.header-actions .sqr-btn{flex:1}.work-stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.work-stat-card{padding:16px;flex-direction:column;align-items:flex-start;gap:12px}.stat-icon-wrapper{width:44px;height:44px}.stat-icon-wrapper svg{width:22px;height:22px}.stat-value{font-size:24px}.quick-actions-grid{grid-template-columns:1fr}.recent-item-card{flex-wrap:wrap;gap:12px}.item-main-content{width:100%;order:2}.item-avatar{order:3}}@media (max-width: 480px){.work-stats-grid{grid-template-columns:1fr}}[data-theme=dark] .work-stat-card{background:var(--card)}[data-theme=dark] .work-stat-card:hover{box-shadow:0 12px 32px #0000004d}[data-theme=dark] .quick-action-card:hover{box-shadow:0 8px 20px #0003}[data-theme=dark] .recent-item-card:hover{box-shadow:0 4px 12px #00000026}.work-board-page{display:flex;flex-direction:column;height:calc(100vh - var(--topbar-height, 64px));overflow:hidden}.work-board-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{margin:0;font-size:22px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px}.header-left h1 svg{width:24px;height:24px;color:var(--accent)}.view-tabs{display:flex;background:var(--bg-subtle);border-radius:8px;padding:4px;gap:4px}.view-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease}.view-tab svg{width:16px;height:16px}.view-tab:hover{color:var(--text);background:var(--surface-soft)}.view-tab.active{background:var(--card);color:var(--text);box-shadow:0 1px 3px #00000014}.header-right{display:flex;align-items:center;gap:12px}.type-filters{display:flex;gap:8px}.type-filter-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--border);background:transparent;border-radius:20px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .2s ease}.type-filter-btn svg{width:14px;height:14px}.type-filter-btn:hover{border-color:var(--accent);color:var(--text)}.type-filter-btn.active{background:color-mix(in oklab,var(--accent) 12%,transparent);border-color:var(--accent);color:var(--accent)}.type-filter-btn .count{background:var(--surface-soft);padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600}.type-filter-btn.active .count{background:color-mix(in oklab,var(--accent) 20%,transparent)}.work-board-toolbar{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0}.toolbar-search{flex:1;max-width:320px;position:relative}.toolbar-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}.toolbar-search input{width:100%;padding:10px 12px 10px 40px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:14px;transition:all .2s ease}.toolbar-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.toolbar-search input::placeholder{color:var(--muted)}.toolbar-divider{width:1px;height:28px;background:var(--border)}.toolbar-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--border);background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .15s ease;white-space:nowrap}.toolbar-btn svg{width:16px;height:16px}.toolbar-btn:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 5%,transparent)}.toolbar-btn.active{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.filter-badge{background:var(--accent);color:#fff;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:700;margin-left:4px}.kanban-container{flex:1;overflow-x:auto;overflow-y:hidden;padding:24px;background:var(--bg)}.kanban-board{display:flex;gap:20px;min-height:calc(100% - 20px);padding-bottom:24px}.kanban-column{flex-shrink:0;width:320px;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;max-height:100%}.column-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);background:var(--bg-subtle);flex-shrink:0}.column-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text)}.column-indicator{width:10px;height:10px;border-radius:3px}.column-indicator.open{background:#3b82f6}.column-indicator.in_progress{background:#f59e0b}.column-indicator.waiting_customer{background:#8b5cf6}.column-indicator.waiting_internal{background:#06b6d4}.column-indicator.resolved{background:#10b981}.column-indicator.closed{background:#6b7280}.column-indicator.on_hold{background:#ec4899}.column-indicator.cancelled{background:#ef4444}.column-count{background:var(--surface-soft);padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;color:var(--muted)}.column-actions{display:flex;gap:4px}.column-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.column-action-btn svg{width:16px;height:16px}.column-action-btn:hover{background:var(--surface-soft);color:var(--text)}.column-cards{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.column-cards:empty:before{content:"No items";display:block;text-align:center;padding:24px;color:var(--muted);font-size:13px;font-style:italic}.kanban-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px;cursor:pointer;transition:all .2s ease;position:relative}.kanban-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:10px 0 0 10px;transition:width .2s ease}.kanban-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.kanban-card:hover:before{width:4px}.kanban-card.priority-urgent:before{background:#ef4444}.kanban-card.priority-high:before{background:#f59e0b}.kanban-card.priority-medium:before{background:#3b82f6}.kanban-card.priority-low:before{background:#6b7280}.kanban-card.archived-card{opacity:.7;background:#00000005}.kanban-card.archived-card:hover{opacity:.85}@media (prefers-color-scheme: dark){.kanban-card.archived-card{background:#ffffff05}}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.card-type-badge{padding:3px 8px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.card-type-badge.ticket{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.card-type-badge.task{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.card-type-badge.subtask{background:color-mix(in oklab,#06b6d4 15%,transparent);color:#06b6d4}.card-type-badge.project{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.card-number{font-size:11px;font-weight:500;color:var(--muted)}.card-title{font-size:14px;font-weight:600;color:var(--text);line-height:1.4;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-category{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;margin-bottom:10px}.card-category .category-dot{width:6px;height:6px;border-radius:50%}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.card-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.card-meta-item{display:flex;align-items:center;gap:4px}.card-meta-item svg{width:12px;height:12px}.card-meta-item.overdue{color:#ef4444;font-weight:600}.card-meta-item.stale{color:#f59e0b;font-weight:500}.card-meta-item .stale-indicator{font-size:.7rem;opacity:.8}.card-assignee{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0;border:2px solid var(--card)}.card-customer-badge{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted);padding:4px 8px;background:var(--surface-soft);border-radius:12px;margin-bottom:10px}.card-customer-badge svg{width:12px;height:12px}.table-container{flex:1;overflow:auto;padding:24px}.work-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.work-table th{text-align:left;padding:14px 16px;background:var(--bg-subtle);font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.work-table th.sortable{cursor:pointer;user-select:none;transition:background .15s ease,color .15s ease}.work-table th.sortable:hover{background:var(--surface-soft);color:var(--text)}.work-table th.sortable:hover .sort-indicator{opacity:1}.work-table th.sort-active{color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--bg-subtle))}.work-table th .th-content{display:flex;align-items:center;gap:6px}.work-table th .sort-indicator{display:flex;align-items:center;opacity:0;transition:opacity .15s ease}.work-table th .sort-indicator.active{opacity:1}.work-table th .sort-indicator svg{width:12px;height:12px}.work-table th:first-child{padding-left:20px}.flat-table-container{overflow:auto;padding:0 16px 16px}.flat-table{border-collapse:separate;border-spacing:0;width:100%}.flat-table .item-row.zebra td{background:var(--bg-subtle)}.flat-table .item-row.item-type-ticket td{background:color-mix(in oklab,var(--accent) 4%,var(--card))}.flat-table .item-row.item-type-ticket.zebra td{background:color-mix(in oklab,var(--accent) 6%,var(--bg-subtle))}.flat-table .item-row.item-type-task td{background:var(--card)}.flat-table .item-row.item-type-task.zebra td{background:var(--bg-subtle)}.flat-table .item-row:hover td{background:color-mix(in oklab,var(--accent) 10%,var(--card))!important}.flat-table .item-row.drawer-open td{background:color-mix(in oklab,var(--accent) 15%,var(--card))!important;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}.flat-table .item-row.drawer-open td:first-child{border-left:3px solid var(--accent)}.category-cell{min-width:100px}.category-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;background:color-mix(in oklab,var(--cat-color) 12%,transparent);color:var(--cat-color);white-space:nowrap}.category-tag .category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.flat-table .th-files,.flat-table .th-messages{text-align:center}.work-table td{padding:14px 16px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle}.work-table td:first-child{padding-left:20px}.work-table tr:last-child td{border-bottom:none}.work-table tr:hover td{background:var(--bg-subtle)}.work-table .clickable-row{cursor:pointer}.table-item-title{display:flex;align-items:center;gap:12px}.table-priority-bar{width:4px;height:32px;border-radius:2px;flex-shrink:0}.table-priority-bar.urgent{background:#ef4444}.table-priority-bar.high{background:#f59e0b}.table-priority-bar.medium{background:#3b82f6}.table-priority-bar.low{background:#6b7280}.table-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.table-item-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:350px}.table-item-number{font-size:11px;color:var(--muted);font-weight:500}.table-item-meta{display:flex;align-items:center;gap:6px}.archived-badge{font-size:10px;font-weight:600;color:#10b981;background:#10b9811a;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.linked-job-badge{font-size:10px;font-weight:600;color:var(--accent);background:rgba(var(--accent-rgb),.1);padding:2px 6px;border-radius:4px;cursor:pointer;transition:all .15s ease}.linked-job-badge:hover{background:rgba(var(--accent-rgb),.2);text-decoration:underline}.work-table tbody tr.archived-row{background:#00000008;opacity:.7}.work-table tbody tr.archived-row:hover{background:#0000000d;opacity:.8}@media (prefers-color-scheme: dark){.work-table tbody tr.archived-row{background:#ffffff08}.work-table tbody tr.archived-row:hover{background:#ffffff0d}}.item-row-content{display:flex;align-items:center;gap:8px}.td-item-main{padding:10px 12px!important}.open-drawer-text-btn{padding:4px 10px;background:transparent;border:1px solid var(--accent);border-radius:4px;font-size:11px;font-weight:600;color:var(--accent);cursor:pointer;transition:all .15s ease;white-space:nowrap;margin-left:auto;opacity:0;flex-shrink:0}.item-row:hover .open-drawer-text-btn{opacity:1}.open-drawer-text-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.item-row.drawer-open .open-drawer-text-btn{opacity:1;background:var(--accent);color:#fff}.table-status-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.table-status-badge.open{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.table-status-badge.in_progress{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b}.table-status-badge.waiting_customer{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.table-status-badge.resolved{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.table-status-badge.closed{background:color-mix(in oklab,#6b7280 15%,transparent);color:#6b7280}.board-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.empty-illustration{width:120px;height:120px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent);margin-bottom:24px}.empty-illustration svg{width:60px;height:60px}.board-empty-state h3{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text)}.board-empty-state p{margin:0 0 24px;font-size:14px;color:var(--muted);max-width:400px}.board-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.board-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 1024px){.work-board-header{flex-wrap:wrap;gap:12px}.type-filters{width:100%;overflow-x:auto;flex-wrap:nowrap}.work-board-toolbar{flex-wrap:wrap;gap:10px}.toolbar-search{max-width:none;width:100%}.kanban-column{width:280px}}@media (max-width: 768px){.work-board-header{padding:16px}.header-left h1{font-size:18px}.view-tabs{display:none}.kanban-container{padding:16px}.kanban-column{width:260px}}[data-theme=dark] .kanban-card:hover{box-shadow:0 6px 16px #0000004d}[data-theme=dark] .work-table tr:hover td{background:var(--surface-soft)}.bulk-action-toolbar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--primary);color:#fff;animation:slideDown .2s ease}.bulk-action-info{display:flex;align-items:center;gap:10px}.bulk-select-checkbox{width:20px;height:20px;border:2px solid rgba(255,255,255,.5);border-radius:4px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--primary)}.bulk-selected-count{font-size:14px;font-weight:600}.bulk-action-divider{width:1px;height:24px;background:#ffffff4d}.bulk-status-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bulk-action-label{font-size:13px;font-weight:500;opacity:.9}.bulk-status-btn{padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;background:#fff3;color:#fff;transition:all .15s ease}.bulk-status-btn:hover:not(:disabled){background:#ffffff59}.bulk-status-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-status-btn.open:hover:not(:disabled){background:#3b82f6}.bulk-status-btn.in_progress:hover:not(:disabled){background:#f59e0b}.bulk-status-btn.waiting_customer:hover:not(:disabled){background:#8b5cf6}.bulk-status-btn.resolved:hover:not(:disabled){background:#10b981}.bulk-status-btn.closed:hover:not(:disabled){background:#6b7280}.bulk-cancel-btn{margin-left:auto;padding:6px;border:none;border-radius:6px;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.8;transition:opacity .15s}.bulk-cancel-btn:hover{opacity:1;background:#ffffff26}.bulk-cancel-btn svg{width:18px;height:18px}.th-checkbox,.td-checkbox{width:40px!important;min-width:40px;max-width:40px;padding:0!important;text-align:center!important}.table-checkbox{width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:var(--bg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;transition:all .15s ease}.table-checkbox:hover{border-color:var(--primary)}.table-checkbox.checked{background:var(--primary);border-color:var(--primary)}.table-checkbox.partial{background:var(--primary);border-color:var(--primary);font-size:16px}.work-table tr.selected td{background:color-mix(in oklab,var(--primary) 8%,transparent)}.work-table tr.selected:hover td{background:color-mix(in oklab,var(--primary) 12%,transparent)}@media (max-width: 768px){.bulk-action-toolbar{flex-wrap:wrap;padding:10px 16px;gap:10px}.bulk-status-actions{width:100%;order:3}.bulk-action-label{display:none}}.calendar-container{flex:1;display:flex;flex-direction:column;padding:24px;overflow:hidden}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.calendar-nav{display:flex;align-items:center;gap:16px}.calendar-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--card);cursor:pointer;font-size:18px;color:var(--text);transition:all .2s}.calendar-nav-btn:hover{background:var(--bg-subtle);border-color:var(--primary)}.calendar-nav-btn svg{width:18px;height:18px}.calendar-month-title{font-size:20px;font-weight:600;color:var(--text);margin:0;min-width:200px;text-align:center}.calendar-today-btn{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s}.calendar-today-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden;flex:1}.calendar-day-header{padding:12px;text-align:center;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-subtle)}.calendar-day{background:var(--card);min-height:100px;padding:8px;display:flex;flex-direction:column;overflow:hidden}.calendar-day.other-month{background:var(--bg-subtle)}.calendar-day.other-month .calendar-day-number{color:var(--muted);opacity:.5}.calendar-day.today .calendar-day-number{background:var(--primary);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-weight:700}.calendar-day-number{font-size:14px;font-weight:500;color:var(--text);margin-bottom:6px}.calendar-day-items{display:flex;flex-direction:column;gap:3px;overflow:hidden;flex:1}.calendar-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-subtle);border-radius:4px;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.calendar-item:hover{background:var(--surface-soft)}.calendar-item.priority-urgent{border-left-color:#ef4444}.calendar-item.priority-high{border-left-color:#f59e0b}.calendar-item.priority-medium{border-left-color:#3b82f6}.calendar-item.priority-low{border-left-color:#6b7280}.calendar-item-type{font-size:9px;font-weight:700;padding:2px 4px;border-radius:3px;flex-shrink:0}.calendar-item-type.ticket{background:color-mix(in oklab,#8b5cf6 20%,transparent);color:#8b5cf6}.calendar-item-type.task{background:color-mix(in oklab,#3b82f6 20%,transparent);color:#3b82f6}.calendar-item-title{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.calendar-more{font-size:10px;color:var(--muted);padding:2px 8px;cursor:pointer}.calendar-empty-state{text-align:center;padding:40px 24px;background:var(--surface-soft);border-radius:8px;margin:16px 0}.calendar-empty-icon{display:inline-flex;padding:12px;background:var(--bg-subtle);border-radius:12px;margin-bottom:12px}.calendar-empty-icon svg{width:32px;height:32px;color:var(--fg-dim)}.calendar-empty-state h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--fg)}.calendar-empty-state p{font-size:13px;color:var(--fg-dim);max-width:400px;margin:0 auto;line-height:1.5}.calendar-more:hover{color:var(--primary)}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:24px;padding:16px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.legend-dot{width:10px;height:10px;border-radius:2px}.legend-dot.urgent{background:#ef4444}.legend-dot.high{background:#f59e0b}.legend-dot.medium{background:#3b82f6}.legend-dot.low{background:#6b7280}@media (max-width: 1024px){.calendar-day{min-height:80px}.calendar-item-title{display:none}.calendar-item{padding:3px 6px}}@media (max-width: 768px){.calendar-container{padding:16px}.calendar-header{flex-wrap:wrap;gap:12px}.calendar-month-title{font-size:16px;min-width:auto}.calendar-day{min-height:60px;padding:4px}.calendar-day-number{font-size:12px}.calendar-legend{flex-wrap:wrap;gap:12px}}.saved-views-container,.saved-views-btn{position:relative}.views-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--primary);color:#fff;border-radius:9px;font-size:11px;font-weight:600;margin-left:6px}.saved-views-dropdown{position:absolute;top:100%;left:0;margin-top:8px;min-width:280px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:100;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.dropdown-header span{font-size:13px;font-weight:600;color:var(--text)}.save-view-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:opacity .2s}.save-view-btn:hover{opacity:.9}.save-view-btn svg{width:12px;height:12px}.dropdown-empty{padding:20px 16px;text-align:center;font-size:13px;color:var(--muted);line-height:1.5}.dropdown-list{max-height:240px;overflow-y:auto}.saved-view-item{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:background .15s}.saved-view-item:hover{background:var(--bg-subtle)}.saved-view-name{font-size:14px;color:var(--text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-view-btn{padding:4px;background:none;border:none;color:var(--muted);cursor:pointer;opacity:0;transition:all .15s;display:flex;align-items:center;justify-content:center;border-radius:4px}.saved-view-item:hover .delete-view-btn{opacity:1}.delete-view-btn:hover{color:var(--danger);background:color-mix(in oklab,var(--danger) 10%,transparent)}.delete-view-btn svg{width:14px;height:14px}.save-view-backdrop{position:fixed;inset:0;background:#00000080;z-index:999}.save-view-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;max-width:90vw;background:var(--card);border-radius:16px;padding:24px;z-index:1000;box-shadow:0 20px 40px #0003;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.save-view-modal h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text)}.save-view-description{margin:0 0 16px;font-size:13px;color:var(--muted)}.save-view-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg);color:var(--text);margin-bottom:16px}.save-view-input:focus{outline:none;border-color:var(--primary)}.save-view-input::placeholder{color:var(--muted)}.save-view-actions{display:flex;justify-content:flex-end;gap:12px}.save-view-cancel{padding:10px 20px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.save-view-cancel:hover{background:var(--bg-subtle)}.save-view-confirm{padding:10px 20px;border:none;border-radius:8px;background:var(--primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.save-view-confirm:hover:not(:disabled){opacity:.9}.save-view-confirm:disabled{opacity:.5;cursor:not-allowed}.grouped-table{padding:0;overflow:auto}.grouped-table-content{display:flex;flex-direction:column;gap:0;min-width:800px}.category-group{margin-bottom:16px}.category-group:last-child{margin-bottom:0}.category-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;user-select:none;transition:all .2s ease}.category-header:hover{background:color-mix(in oklab,var(--accent) 5%,transparent)}.category-header:not(.expanded){border-radius:0;margin-bottom:0}.category-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--bg-subtle);color:var(--muted);transition:all .2s ease}.category-header:hover .category-toggle{background:var(--card)}.category-header.expanded .category-toggle{color:var(--accent);background:color-mix(in oklab,var(--accent) 12%,transparent)}.category-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px color-mix(in oklab,currentColor 20%,transparent)}.category-name{font-weight:600;font-size:14px;color:var(--text);text-transform:none}.category-count{font-size:12px;color:var(--muted);margin-left:auto;background:var(--bg-subtle);padding:3px 10px;border-radius:12px;font-weight:500}.category-table{margin:0;border-radius:0 0 10px 10px;border:1px solid var(--border);border-top:none;overflow:hidden;table-layout:fixed;width:100%}.category-table thead{background:var(--card)}.category-table thead th{padding:10px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.category-table thead th.sortable{cursor:pointer;user-select:none;transition:background .15s ease,color .15s ease}.category-table thead th.sortable:hover{background:var(--surface-soft);color:var(--text)}.category-table thead th.sortable:hover .sort-indicator{opacity:1}.category-table thead th.sort-active{color:var(--accent);background:color-mix(in oklab,var(--accent) 8%,var(--bg-subtle))}.category-table thead th .th-content{display:flex;align-items:center;gap:4px}.category-table thead th .sort-indicator{display:flex;align-items:center;opacity:0;transition:opacity .15s ease}.category-table thead th .sort-indicator.active{opacity:1}.category-table thead th .sort-indicator svg{width:10px;height:10px}.category-table tbody tr{border-bottom:1px solid var(--border-subtle, rgba(0,0,0,.05))}.category-table tbody tr:last-child{border-bottom:none}.compact-table .th-expand,.compact-table .th-checkbox{width:32px;min-width:32px;max-width:32px}.compact-table .th-item{width:35%;min-width:200px}.compact-table .th-status{width:110px;min-width:110px;max-width:110px}.compact-table .th-priority{width:80px;min-width:80px;max-width:80px}.compact-table .th-response{width:120px;min-width:120px;max-width:120px}.compact-table .th-contact{width:140px;min-width:140px;max-width:140px}.compact-table .th-assignee{width:100px;min-width:100px;max-width:100px}.compact-table .th-team{width:90px;min-width:90px;max-width:90px}.compact-table .th-files{width:60px;min-width:60px;max-width:60px;text-align:center}.compact-table .th-messages{width:70px;min-width:70px;max-width:70px;text-align:center}.compact-table .th-updated{width:70px;min-width:70px;max-width:70px}.compact-table td{padding:8px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-table .checklist-title-cell{white-space:normal;max-width:400px}.compact-table .checklist-title-wrapper{max-width:100%}.compact-table .checklist-title{word-break:break-word;line-height:1.4}.compact-table .th-actions{width:40px;min-width:40px;max-width:40px}.td-actions{text-align:center;padding:4px!important}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease;opacity:0}.item-row:hover .row-action-btn{opacity:1}.row-action-btn:hover{background:var(--accent);color:#fff}.row-action-btn svg{width:16px;height:16px}.add-item-row{background:transparent!important}.add-item-row:hover{background:var(--surface-soft)!important}.add-item-row .tree-connector.add-connector .tree-vertical{top:-8px;bottom:auto;height:20px}.add-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px dashed var(--border);border-radius:4px;color:var(--muted);font-size:14px;flex-shrink:0}.add-item-row:hover .add-icon{border-color:var(--accent);color:var(--accent)}.add-checklist-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px dashed var(--border);background:transparent;border-radius:6px;font-size:13px;color:var(--muted);cursor:pointer;transition:all .15s ease}.add-checklist-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab,var(--accent) 5%,transparent)}.add-checklist-btn svg{width:14px;height:14px}.add-checklist-input{flex:1;min-width:0;padding:6px 10px;border:none;border-bottom:1px dashed var(--border);border-radius:0;background:transparent;color:var(--text);font-size:13px;transition:all .15s ease}.add-checklist-input:focus{outline:none;border-bottom-style:solid;border-bottom-color:var(--accent)}.add-checklist-input::placeholder{color:var(--muted);font-style:italic}.add-checklist-input:disabled{opacity:.6}.adding-spinner{display:flex;align-items:center;flex-shrink:0}.loading-spinner.tiny{width:14px;height:14px;border-width:2px}.inline-drawer-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;color:var(--muted);cursor:pointer;opacity:0;margin-left:auto;transition:all .15s ease;flex-shrink:0}.item-row:hover .inline-drawer-btn{opacity:1}.inline-drawer-btn:hover{background:var(--accent);color:#fff}.inline-drawer-btn svg{width:14px;height:14px}.item-row.drawer-open{background:color-mix(in oklab,var(--accent) 10%,var(--card))!important;border-left:3px solid var(--accent)}.item-row.drawer-open .inline-drawer-btn{opacity:1;color:var(--accent)}.item-row.drawer-open td:first-child{padding-left:5px!important}.td-expand{padding:0 4px!important;width:40px}.expand-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;color:var(--muted);cursor:pointer;transition:all .15s ease}.expand-btn:hover{background:var(--surface-soft);color:var(--text)}.expand-btn.expanded{color:var(--accent)}.expand-btn svg{transition:transform .2s ease}.expand-btn.expanded svg{transform:rotate(90deg)}.item-row{background:var(--card);transition:background .1s ease}.item-row:hover{background:var(--surface-soft)}.item-row.expanded{background:color-mix(in oklab,var(--accent) 5%,var(--card))}.item-type-icon{display:flex;align-items:center;margin-right:8px;color:var(--muted)}.item-type-icon svg{width:14px;height:14px}.item-type-icon.ticket{color:var(--accent)}.item-type-icon.task{color:#8b5cf6}.priority-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize}.priority-badge.low{background:color-mix(in oklab,#64748b 15%,transparent);color:#64748b}.priority-badge.medium{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.priority-badge.high{background:color-mix(in oklab,#f97316 15%,transparent);color:#f97316}.priority-badge.urgent{background:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444}.priority-badge.small{padding:1px 6px;font-size:10px;min-width:20px}.assignee-cell{display:flex;align-items:center;gap:6px}.card-assignee.small{width:22px;height:22px;font-size:9px}.card-assignee.tiny{width:18px;height:18px;font-size:8px}.assignee-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.unassigned{color:var(--muted);font-size:12px}.inline-assignee-select{background:var(--bg-secondary, var(--card));border:1px solid var(--border);color:var(--text);font-size:12px;cursor:pointer;padding:4px 8px;border-radius:6px;max-width:140px;min-width:100px}.inline-assignee-select:hover{background:var(--bg-hover);border-color:var(--border-hover, var(--border))}.inline-assignee-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim, rgba(99, 102, 241, .2))}.inline-assignee-select option{background:var(--card);color:var(--text);padding:8px}.time-cell{font-size:12px;color:var(--muted)}.team-cell{padding:0 4px}.team-avatars{display:flex;align-items:center}.card-assignee.stacked{border:2px solid var(--bg);position:relative}.team-more{margin-left:4px;font-size:11px;color:var(--muted)}.count-cell{text-align:center}.count-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 6px;border-radius:10px;background:var(--bg-alt);color:var(--muted)}.count-badge svg{width:12px;height:12px}.count-badge.files{color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.count-badge.messages{color:var(--success);background:color-mix(in oklab,var(--success) 10%,transparent)}.messages-split{min-width:100px}.message-counts{display:flex;align-items:center;gap:6px}.count-badge.chat{color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent)}.count-badge.email{color:var(--success);background:color-mix(in oklab,var(--success) 10%,transparent)}.response-cell{min-width:130px}.response-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap}.response-badge svg{width:12px;height:12px;flex-shrink:0}.response-badge.new{color:var(--info, #3b82f6);background:color-mix(in oklab,var(--info, #3b82f6) 12%,transparent)}.response-badge.customer-reply{color:var(--warning, #f59e0b);background:color-mix(in oklab,var(--warning, #f59e0b) 12%,transparent);font-weight:600}.response-badge.awaiting{color:var(--muted);background:var(--surface-soft)}.contact-cell{min-width:150px;max-width:200px}.contact-info{display:flex;flex-direction:column;gap:2px}.contact-name{font-size:12px;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-email{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-email-only{font-size:12px;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-checklist-item{padding-left:16px!important}.checklist-item-content{display:flex;align-items:center;gap:10px;position:relative}.tree-connector{position:relative;width:24px;height:24px;flex-shrink:0;margin-left:8px}.tree-vertical{position:absolute;left:8px;top:-12px;bottom:0;width:1px;background:var(--border)}.tree-branch{position:absolute;left:8px;top:12px;width:12px;height:1px;background:var(--border)}.checklist-row.last-child .tree-vertical{bottom:12px}.checklist-row{background:color-mix(in oklab,var(--bg-subtle) 60%,var(--card));cursor:pointer;transition:all .15s ease}.checklist-row:hover{background:color-mix(in oklab,var(--accent) 6%,var(--card))}.checklist-row.detail-open{background:color-mix(in oklab,var(--accent) 10%,var(--card));border-bottom:none!important}.checklist-row td{padding:8px 12px!important;font-size:13px}.checklist-row.loading td,.checklist-row.empty td{padding:16px 20px 16px 60px!important;color:var(--muted);font-style:italic}.checklist-loading{display:flex;align-items:center;gap:8px}.loading-spinner.small{width:14px;height:14px;border-width:2px}.checklist-empty{text-align:left;color:var(--muted)}.td-tree{width:60px;padding:0 8px!important}.tree-indent{display:flex;align-items:center;padding-left:24px}.tree-line{color:var(--border);font-family:monospace;font-size:14px;opacity:.6}.td-expand-indicator{width:40px;text-align:center;color:var(--muted)}.checklist-row:hover .td-expand-indicator{color:var(--text)}.checklist-checkbox{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:2px solid var(--border);border-radius:4px;background:var(--card);cursor:pointer;transition:all .15s ease}.checklist-checkbox:hover{border-color:var(--accent)}.checklist-checkbox.checked{background:#10b981;border-color:#10b981;color:#fff}.checklist-checkbox.checked svg{width:12px;height:12px}.checklist-assignee-display{display:flex;align-items:center;gap:6px}.checklist-assignee-display .checklist-assignee-name{font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.checklist-title-cell{padding-left:0!important}.checklist-title-wrapper{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.checklist-title{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.checklist-title.completed{text-decoration:line-through;color:var(--muted)}.checklist-title-input{flex:1;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg);color:var(--text);font-size:13px;font-family:inherit;outline:none}.checklist-title-input:focus{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 25%,transparent)}.checklist-edit-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;border-radius:4px;color:var(--muted);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.checklist-row:hover .checklist-edit-btn{opacity:.6}.checklist-edit-btn:hover{opacity:1!important;background:var(--bg-subtle);color:var(--accent)}.checklist-delete-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;background:transparent;border-radius:4px;color:var(--muted);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.checklist-row:hover .checklist-delete-btn{opacity:.5}.checklist-delete-btn:hover{opacity:1!important;background:color-mix(in oklab,var(--danger) 15%,transparent);color:var(--danger)}.checklist-has-notes{display:flex;align-items:center;color:var(--accent);opacity:.7;flex-shrink:0;margin-left:8px}.checklist-has-notes svg{width:12px;height:12px}.checklist-due-badge{display:inline-flex;align-items:center;padding:2px 6px;background:color-mix(in oklab,var(--muted) 15%,transparent);border-radius:4px;font-size:10px;font-weight:500;color:var(--text-secondary);margin-left:8px;white-space:nowrap}.checklist-due-badge.overdue{background:color-mix(in oklab,var(--danger) 15%,transparent);color:var(--danger)}.checklist-row-actions{display:flex;align-items:center;gap:4px;margin-left:auto;padding-left:12px;opacity:0;transition:opacity .15s ease}.checklist-row:hover .checklist-row-actions{opacity:1}.checklist-drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:20px;color:var(--muted);cursor:grab;opacity:0;transition:opacity .15s ease;flex-shrink:0;margin-right:4px}.checklist-row:hover .checklist-drag-handle{opacity:.5}.checklist-drag-handle:hover{opacity:1!important;color:var(--fg)}.checklist-drag-handle:active{cursor:grabbing}.checklist-row.dragging{background:var(--bg-subtle);box-shadow:0 4px 12px #00000026;border-radius:6px}.checklist-expand-indicator{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--muted);transition:all .2s ease;flex-shrink:0;margin-left:8px}.checklist-expand-indicator svg{transition:transform .2s ease}.checklist-expand-indicator.expanded svg{transform:rotate(180deg)}.checklist-row:hover .checklist-expand-indicator{color:var(--fg)}.checklist-row.expanded{background:color-mix(in oklab,var(--accent) 5%,var(--bg))}.checklist-expanded-row{background:var(--bg-subtle)}.checklist-expanded-row td{padding:0!important;border-bottom:1px solid var(--border)}.checklist-expanded-content{padding:12px 16px 12px 56px;display:flex;flex-direction:column;gap:12px}.checklist-full-title{font-size:13px;font-weight:500;color:var(--fg);line-height:1.5;padding:8px 12px;background:var(--bg);border-radius:6px;border:1px solid var(--border)}.checklist-notes-section{background:var(--bg);border-radius:8px;border:1px solid var(--border);overflow:hidden}.notes-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--bg-subtle);border-bottom:1px solid var(--border)}.notes-display{padding:12px;min-height:60px;cursor:pointer;transition:background .15s ease}.notes-display:hover{background:color-mix(in oklab,var(--accent) 5%,transparent)}.notes-display p{margin:0;font-size:13px;line-height:1.6;color:var(--fg);white-space:pre-wrap}.notes-display .no-notes{color:var(--muted);font-size:13px;font-style:italic}.notes-editor{padding:12px}.notes-editor textarea{width:100%;min-height:80px;padding:10px;border:1px solid var(--border);border-radius:6px;font-size:13px;line-height:1.6;font-family:inherit;resize:vertical;background:var(--bg);color:var(--fg)}.notes-editor textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.notes-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}.notes-editor-actions .char-count{font-size:11px;color:var(--muted);margin-right:auto}.notes-editor-actions .cancel-btn,.notes-editor-actions .save-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none}.notes-editor-actions .cancel-btn{background:var(--bg-subtle);color:var(--fg)}.notes-editor-actions .save-btn{background:var(--accent);color:#fff}.checklist-quick-actions{display:flex;gap:8px}.quick-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--fg);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.quick-action-btn:hover{border-color:var(--accent);color:var(--accent)}.quick-action-btn.danger{color:var(--danger)}.quick-action-btn.danger:hover{border-color:var(--danger);background:color-mix(in oklab,var(--danger) 10%,transparent)}.checklist-status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500;cursor:pointer;border:none;text-transform:capitalize;white-space:nowrap;transition:filter .15s ease}.checklist-status-pill:hover{filter:brightness(.95)}.checklist-status-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:140px;z-index:100;padding:4px}.checklist-status-menu .status-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;font-size:12px;color:var(--fg);cursor:pointer;border-radius:6px;text-align:left}.checklist-status-menu .status-option:hover{background:var(--bg-subtle)}.checklist-status-menu .status-option.active{background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.checklist-status-menu .status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.checklist-priority-dropdown{position:relative}.checklist-priority-dropdown .priority-badge{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.checklist-priority-dropdown .priority-badge:hover{transform:scale(1.1);box-shadow:0 2px 6px #00000026}.checklist-priority-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:120px;z-index:100;padding:4px}.checklist-priority-menu .priority-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;background:none;font-size:12px;color:var(--fg);cursor:pointer;border-radius:6px;text-align:left}.checklist-priority-menu .priority-option:hover{background:var(--bg-subtle)}.checklist-priority-menu .priority-option.active{background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent)}.checklist-title-input{flex:1;padding:4px 8px;font-size:13px;border:1px solid var(--accent);border-radius:4px;background:var(--bg);color:var(--fg);outline:none;min-width:200px}.checklist-title-input:focus{box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 30%,transparent)}.checklist-open-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.checklist-open-btn:hover{background:var(--bg-subtle);color:var(--accent)}.checklist-assignee-cell{position:relative}.assign-btn-small{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px dashed var(--border);border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.assign-btn-small:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.checklist-assignee-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;min-width:200px;max-height:280px;overflow-y:auto;z-index:100}.assignee-menu-header{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--border)}.assignee-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;font-size:13px;color:var(--fg);cursor:pointer;text-align:left}.assignee-option:hover{background:var(--bg-subtle)}.assignee-option.active{background:color-mix(in oklab,var(--accent) 10%,transparent)}.assignee-option.unassign{color:var(--danger);border-bottom:1px solid var(--border)}.assignee-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:600;flex-shrink:0}.checklist-status-dropdown{position:relative}.checklist-status-btn{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid;border-radius:12px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s ease;text-transform:capitalize;white-space:nowrap}.checklist-status-btn:hover{filter:brightness(.95)}.checklist-status-btn .status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.checklist-row.pending{border-left:3px solid #94a3b8}.checklist-row.in_progress{border-left:3px solid #8b5cf6}.checklist-row.complete{border-left:3px solid #10b981}.checklist-row.stuck{border-left:3px solid #ef4444}.checklist-row.on_hold{border-left:3px solid #f59e0b}.checklist-status-pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;text-transform:capitalize;white-space:nowrap}.checklist-detail-row{background:color-mix(in oklab,var(--accent) 5%,var(--card));border-left:3px solid var(--accent)}.checklist-detail-row td{padding:0!important}.checklist-detail-panel{padding:16px 20px 16px 80px;border-top:1px dashed var(--border);animation:slideDown .2s ease}.checklist-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.checklist-detail-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text)}.open-full-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--card);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .15s ease}.open-full-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.open-full-btn svg{width:14px;height:14px}.checklist-detail-body{display:flex;gap:24px}.detail-section{flex:1;min-width:200px}.detail-section label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}.detail-notes{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px;min-height:60px}.detail-notes p{margin:0;font-size:13px;color:var(--text);line-height:1.5;white-space:pre-wrap}.detail-notes .no-content{color:var(--muted);font-style:italic}.notes-section{flex:2;min-width:300px}.detail-notes-editable{position:relative}.notes-textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-size:13px;font-family:inherit;line-height:1.5;resize:vertical;min-height:80px;transition:border-color .15s ease,box-shadow .15s ease}.notes-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.notes-textarea::placeholder{color:var(--muted)}.notes-actions{display:flex;gap:8px;margin-top:8px;justify-content:flex-end}.notes-cancel-btn,.notes-save-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.notes-cancel-btn{background:transparent;border:1px solid var(--border);color:var(--muted)}.notes-cancel-btn:hover{background:var(--bg-subtle);color:var(--text)}.notes-save-btn{background:var(--accent);border:1px solid var(--accent);color:#fff}.notes-save-btn:hover:not(:disabled){opacity:.9}.notes-save-btn:disabled{opacity:.6;cursor:not-allowed}.notes-hint{display:block;margin-top:6px;font-size:11px;color:var(--muted);opacity:.7}.detail-meta{display:flex;flex-wrap:wrap;gap:16px;padding-top:4px}.meta-item{min-width:100px}.meta-item label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px}.meta-item span,.meta-item .meta-assignee{font-size:13px;color:var(--text)}.meta-status{display:inline-flex;align-items:center;gap:6px;text-transform:capitalize}.meta-status .status-dot{width:8px;height:8px;border-radius:50%}.meta-assignee{display:flex;align-items:center;gap:8px}.detail-meta-bar{display:flex;align-items:flex-end;gap:16px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--border)}.meta-bar-item{display:flex;flex-direction:column;gap:4px}.meta-bar-item label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.meta-bar-spacer{flex:1}.meta-select{padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:120px;transition:all .15s ease}.meta-select:hover{border-color:var(--accent)}.meta-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 15%,transparent)}.status-select{font-weight:600}.priority-select.low{background-color:color-mix(in oklab,#64748b 10%,var(--card));border-color:#64748b;color:#64748b}.priority-select.medium{background-color:color-mix(in oklab,#3b82f6 10%,var(--card));border-color:#3b82f6;color:#3b82f6}.priority-select.high{background-color:color-mix(in oklab,#f59e0b 10%,var(--card));border-color:#f59e0b;color:#f59e0b}.priority-select.urgent{background-color:color-mix(in oklab,#ef4444 10%,var(--card));border-color:#ef4444;color:#ef4444}.priority-badge-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.priority-badge-btn:hover{transform:scale(1.05)}.priority-badge-btn.small{padding:2px 6px;font-size:10px}.priority-badge-btn.low{background:color-mix(in oklab,#64748b 15%,transparent);color:#64748b;border-color:color-mix(in oklab,#64748b 30%,transparent)}.priority-badge-btn.medium{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6;border-color:color-mix(in oklab,#3b82f6 30%,transparent)}.priority-badge-btn.high{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b;border-color:color-mix(in oklab,#f59e0b 30%,transparent)}.priority-badge-btn.urgent{background:color-mix(in oklab,#ef4444 15%,transparent);color:#ef4444;border-color:color-mix(in oklab,#ef4444 30%,transparent)}.detail-notes-section{padding-top:0}.detail-notes-section label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:6px}.notes-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px}[data-theme=dark] .checklist-detail-panel{background:color-mix(in oklab,var(--accent) 8%,var(--bg))}[data-theme=dark] .detail-notes{background:var(--bg-subtle)}[data-theme=dark] .meta-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.search-container-wrapper{position:relative}.search-results-dropdown{position:absolute;top:100%;left:0;right:0;max-width:600px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000001f;z-index:100;margin-top:4px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column}.search-results-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-subtle);font-size:12px;font-weight:500;color:var(--muted)}.search-close-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--muted);border-radius:4px;display:flex;align-items:center;justify-content:center}.search-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.search-results-list{overflow-y:auto;max-height:60vh}.search-result-item{padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-hover)}.search-result-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.search-result-type{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px}.search-result-type.ticket{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.search-result-type.task{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.search-result-type svg{width:12px;height:12px}.search-result-number{font-size:12px;font-weight:600;color:var(--text-primary);font-family:SF Mono,Monaco,monospace}.search-result-status{font-size:10px;font-weight:500;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:var(--bg-subtle);color:var(--muted)}.search-result-status.open{background:color-mix(in oklab,#3b82f6 15%,transparent);color:#3b82f6}.search-result-status.in_progress{background:color-mix(in oklab,#8b5cf6 15%,transparent);color:#8b5cf6}.search-result-status.waiting_customer,.search-result-status.waiting_internal{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#f59e0b}.search-result-status.resolved,.search-result-status.closed{background:color-mix(in oklab,#10b981 15%,transparent);color:#10b981}.search-result-title{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:6px;line-height:1.4}.search-result-snippet{display:flex;flex-wrap:wrap;gap:4px;font-size:12px;line-height:1.5;padding:8px 10px;background:var(--bg-subtle);border-radius:6px;margin-top:6px}.snippet-label{color:var(--accent);font-weight:500;flex-shrink:0}.snippet-text{color:var(--muted);word-break:break-word}.search-result-meta{font-size:11px;color:var(--muted);margin-top:6px}.search-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px;color:var(--muted);font-size:13px}.spinner-small{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.search-no-results{padding:24px;text-align:center;color:var(--muted);font-size:13px}[data-theme=dark] .search-results-dropdown{box-shadow:0 8px 32px #0006}.settings-page-layout{min-height:100vh;background:var(--bg-secondary)}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-secondary)}.settings-loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.settings-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg);border-bottom:1px solid var(--border)}.settings-header-left{display:flex;align-items:flex-start;gap:1rem}.settings-back-btn{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.875rem;cursor:pointer;transition:all .15s ease;white-space:nowrap}.settings-back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-secondary)}.settings-back-btn svg{width:16px;height:16px}.settings-title-group h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.settings-title-group p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.settings-header-actions{display:flex;gap:.5rem;flex-shrink:0}.settings-mobile-nav{display:none;position:relative;padding:.75rem 1rem;background:var(--bg);border-bottom:1px solid var(--border)}.mobile-section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.9375rem;font-weight:500;cursor:pointer}.current-section{display:flex;align-items:center;gap:.5rem}.current-section svg{width:18px;height:18px;color:var(--accent)}.toggle-arrow{transition:transform .2s ease}.toggle-arrow.open{transform:rotate(180deg)}.toggle-arrow svg{width:18px;height:18px;color:var(--text-secondary)}.mobile-section-menu{position:absolute;top:100%;left:1rem;right:1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.mobile-section-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.9375rem;text-align:left;cursor:pointer;transition:background .15s ease}.mobile-section-item:last-child{border-bottom:none}.mobile-section-item:hover{background:var(--bg-hover)}.mobile-section-item.active{background:var(--accent-subtle);color:var(--accent)}.mobile-section-item svg{width:18px;height:18px}.section-badge{margin-left:auto;padding:.125rem .5rem;background:var(--accent);color:#fff;font-size:.75rem;font-weight:600;border-radius:10px}.settings-page-body{display:flex;min-height:calc(100vh - 80px)}.settings-sidebar{width:240px;flex-shrink:0;background:var(--bg);border-right:1px solid var(--border);padding:1rem 0}.sidebar-sections{display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem}.sidebar-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;border-radius:8px;color:var(--text-secondary);font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--accent-subtle);color:var(--accent)}.sidebar-icon{display:flex;align-items:center;justify-content:center}.sidebar-icon svg{width:18px;height:18px}.sidebar-label{flex:1}.sidebar-badge{padding:.125rem .5rem;background:var(--accent);color:#fff;font-size:.6875rem;font-weight:600;border-radius:10px}.settings-content{flex:1;padding:1.5rem;overflow-y:auto}.settings-content.full-width{max-width:900px;margin:0 auto}.settings-section{margin-bottom:2rem}.settings-section:last-child{margin-bottom:0}.settings-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-title-group h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.section-title-group p{margin:.25rem 0 0;font-size:.875rem;color:var(--text-secondary)}.section-actions{display:flex;gap:.5rem;flex-shrink:0}.settings-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.settings-card:last-child{margin-bottom:0}.settings-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.card-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent-subtle);border-radius:10px;color:var(--accent)}.card-icon svg{width:20px;height:20px}.card-title-group h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.card-title-group p{margin:.25rem 0 0;font-size:.8125rem;color:var(--text-secondary)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row:first-child{padding-top:0}.settings-row-label{display:flex;flex-direction:column;gap:.125rem}.row-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.row-description{font-size:.8125rem;color:var(--text-secondary)}.settings-row-control{flex-shrink:0}@media (max-width: 768px){.settings-page-header{flex-direction:column;align-items:stretch;padding:1rem}.settings-header-left{flex-direction:column;align-items:flex-start;gap:.75rem}.settings-back-btn{padding:.375rem .5rem;font-size:.8125rem}.settings-title-group h1{font-size:1.125rem}.settings-header-actions{width:100%;justify-content:flex-end}.settings-mobile-nav{display:block}.settings-sidebar{display:none}.settings-page-body{min-height:auto}.settings-content{padding:1rem}.settings-section-header{flex-direction:column;align-items:stretch}.section-actions{width:100%}.section-actions button{flex:1}.settings-row{flex-direction:column;align-items:flex-start;gap:.5rem}.settings-row-control{width:100%}}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.settings-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.settings-form-grid .full-width{grid-column:1 / -1}@media (max-width: 640px){.settings-form-grid{grid-template-columns:1fr}}.settings-inline-form{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.settings-inline-form h3{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.settings-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.settings-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1.5rem;text-align:center;background:var(--bg);border:1px dashed var(--border);border-radius:12px}.settings-empty-icon{width:48px;height:48px;margin-bottom:1rem;color:var(--text-tertiary)}.settings-empty-icon svg{width:100%;height:100%}.settings-empty h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--text-primary)}.settings-empty p{margin:0;font-size:.875rem;color:var(--text-secondary)}.work-settings{padding:1.5rem;max-width:1200px;margin:0 auto}.work-settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem;color:var(--text-secondary)}.work-settings-loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.work-settings-header{margin-bottom:1.5rem}.work-settings-header h1{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.work-settings-header h1 svg{width:24px;height:24px;color:var(--accent)}.work-settings-header p{color:var(--text-secondary);margin:0}.work-settings-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.settings-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.settings-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-tab svg{width:16px;height:16px}.work-settings-content{background:var(--card);border:1px solid var(--border);border-radius:8px}.settings-section{padding:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.section-header h2{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.section-header p{color:var(--text-secondary);font-size:.875rem;margin:0}.inline-form{background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.inline-form h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text-primary);transition:border-color .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group input[type=color]{padding:.25rem;height:38px;cursor:pointer}.form-group textarea{resize:vertical;min-height:80px}.form-group textarea.email-signature-textarea{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;min-height:150px;white-space:pre}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.category-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem;transition:box-shadow .15s ease}.category-card:hover{box-shadow:0 2px 8px #00000014}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.category-color{width:12px;height:12px;border-radius:3px;flex-shrink:0}.category-name{font-weight:600;color:var(--text-primary)}.category-desc{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.4}.category-meta{display:flex;flex-wrap:wrap;gap:.5rem}.priority-badge{display:inline-flex;padding:.125rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;color:#fff}.sla-badge{display:inline-flex;padding:.125rem .5rem;background:var(--bg-subtle);border-radius:4px;font-size:.6875rem;color:var(--text-secondary)}.category-actions{display:flex;gap:.25rem;margin-left:auto;opacity:0;transition:opacity .15s ease}.category-card:hover .category-actions{opacity:1}.category-card .icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer;transition:all .15s ease}.category-card .icon-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.category-card .icon-btn.danger:hover{background:#ef44441a;color:#ef4444}.category-card .icon-btn svg{width:14px;height:14px}.category-watchers{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.watch-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border:1px solid var(--border);background:transparent;border-radius:4px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.watch-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.watch-btn.watching{background:var(--accent);border-color:var(--accent);color:#fff}.watch-btn.watching:hover{background:var(--accent-hover)}.watch-btn svg{width:14px;height:14px}.watcher-count{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-secondary)}.watcher-count svg{width:14px;height:14px}.watchers-picker{display:flex;flex-direction:column;gap:.75rem}.selected-watchers{display:flex;flex-wrap:wrap;gap:.5rem;min-height:32px;align-items:center}.no-watchers{color:var(--text-secondary);font-size:.875rem;font-style:italic}.watcher-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem .25rem .75rem;background:var(--accent);color:#fff;border-radius:16px;font-size:.8125rem;font-weight:500}.chip-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:background .15s ease}.chip-remove:hover{background:#ffffff59}.chip-remove svg{width:12px;height:12px}.add-watcher-select{padding:.5rem .75rem;border:1px dashed var(--border);border-radius:6px;background:var(--bg);color:var(--text-secondary);font-size:.875rem;cursor:pointer;max-width:200px}.add-watcher-select:hover{border-color:var(--accent);color:var(--text-primary)}.add-watcher-select:focus{outline:none;border-color:var(--accent)}.canned-list{display:flex;flex-direction:column;gap:.75rem}.canned-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem}.canned-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.canned-title{font-weight:600;color:var(--text-primary)}.canned-shortcut{padding:.125rem .5rem;background:var(--bg-subtle);border-radius:4px;font-size:.75rem;color:var(--accent)}.canned-content{font-size:.875rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.5;white-space:pre-wrap}.canned-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:var(--text-tertiary)}.canned-category{background:var(--bg-subtle);padding:.125rem .5rem;border-radius:4px}.empty-state{text-align:center;padding:3rem 2rem;grid-column:1 / -1}.empty-icon{width:48px;height:48px;margin:0 auto 1rem;padding:1rem;background:var(--bg-subtle);border-radius:50%;color:var(--text-tertiary)}.empty-icon svg{width:24px;height:24px}.empty-state h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.empty-state p{font-size:.875rem;color:var(--text-secondary);margin:0}.coming-soon{text-align:center;padding:3rem 2rem}.coming-soon-icon{width:64px;height:64px;margin:0 auto 1.5rem;padding:1.25rem;background:linear-gradient(135deg,var(--accent-light, #e0e7ff),var(--accent-subtle, #f0f4ff));border-radius:16px;color:var(--accent)}.coming-soon-icon svg{width:32px;height:32px}.coming-soon h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.coming-soon p{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1rem}.coming-soon ul{list-style:none;padding:0;margin:0;display:inline-flex;flex-direction:column;gap:.5rem;text-align:left}.coming-soon li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.coming-soon li:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;flex-shrink:0}.form-hint{font-size:.75rem;color:var(--text-tertiary);margin-top:.25rem}.section-hint{font-size:.85rem;color:var(--text-secondary);margin:-.5rem 0 1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}.email-config-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.email-config-card.inactive{background:var(--bg-subtle);text-align:center}.email-config-card.inactive p{margin:.5rem 0 0;color:var(--text-secondary);font-size:.875rem}.config-status{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--bg-subtle);border-radius:20px;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:1rem}.config-status.active{background:#22c55e1a;color:#22c55e}.config-status svg{width:14px;height:14px}.config-details{display:flex;flex-direction:column;gap:.5rem}.config-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.config-label{color:var(--text-secondary);min-width:140px}.config-value{color:var(--text-primary)}code.config-value{background:var(--bg-subtle);padding:.125rem .5rem;border-radius:4px;font-family:monospace}.routing-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.routing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.routing-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.routing-rules-list{display:flex;flex-direction:column;gap:.75rem}.routing-rule-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.rule-name{font-weight:600;color:var(--text-primary)}.rule-delete{padding:.25rem;background:none;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .15s ease}.rule-delete:hover{background:#ef44441a;color:#ef4444}.rule-delete svg{width:14px;height:14px}.rule-details{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-secondary);flex-wrap:wrap}.rule-condition code{background:var(--bg-subtle);padding:.125rem .375rem;border-radius:3px;font-size:.8125rem}.rule-arrow{color:var(--accent);font-weight:600}.rule-action{color:var(--text-primary)}.empty-state.small{padding:1.5rem;text-align:center}.empty-state.small p{margin:0;font-size:.875rem}.email-status-banner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem}.email-status-banner.verified{background:#22c55e14;border-color:#22c55e4d}.email-status-banner.unverified{background:#f59e0b14;border-color:#f59e0b4d}.email-status-banner .status-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.email-status-banner.verified .status-icon{background:#22c55e26;color:#22c55e}.email-status-banner.unverified .status-icon{background:#f59e0b26;color:#f59e0b}.email-status-banner .status-icon svg{width:18px;height:18px}.email-status-banner .status-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.email-status-banner .status-content strong{color:var(--text-primary);font-size:.9375rem}.email-status-banner .status-content span{color:var(--text-secondary);font-size:.8125rem}.email-status-banner .last-poll{color:var(--text-tertiary);font-size:.75rem}.email-status-banner .status-error{background:#ef44441a;color:#ef4444;padding:.5rem .75rem;border-radius:6px;font-size:.8125rem;max-width:300px}.imap-config-form{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.imap-config-form h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1.25rem}.imap-config-form h4{font-size:.9375rem;font-weight:600;color:var(--text-primary);margin:1.5rem 0 1rem;padding-top:1rem;border-top:1px solid var(--border)}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}.provider-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--bg-subtle);border:2px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;text-align:center}.provider-card:hover{border-color:var(--accent);background:var(--bg)}.provider-card.selected{border-color:var(--accent);background:rgba(var(--accent-rgb),.05);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.provider-card .provider-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.provider-card.selected .provider-icon{color:var(--accent)}.provider-card .provider-icon svg{width:24px;height:24px}.provider-card .provider-name{font-size:.8125rem;font-weight:500;color:var(--text-primary)}.provider-card .provider-note{font-size:.6875rem;color:var(--text-tertiary)}.provider-instructions{display:flex;gap:.75rem;padding:.875rem 1rem;background:#3b82f614;border:1px solid rgba(59,130,246,.2);border-radius:6px;margin-bottom:1.5rem}.provider-instructions .instruction-icon{color:#3b82f6;flex-shrink:0}.provider-instructions .instruction-icon svg{width:16px;height:16px}.provider-instructions p{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.advanced-toggle{margin:1.5rem 0 1rem;border-top:1px solid var(--border);padding-top:1rem}.advanced-toggle .toggle-btn{display:flex;align-items:center;gap:.5rem;padding:0;background:none;border:none;color:var(--text-secondary);font-size:.8125rem;cursor:pointer;transition:color .15s ease}.advanced-toggle .toggle-btn:hover{color:var(--text-primary)}.advanced-toggle .toggle-btn svg{width:14px;height:14px}.advanced-settings{animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.test-result{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;margin:1.5rem 0}.test-result.success{background:#22c55e14;border:1px solid rgba(34,197,94,.2)}.test-result.error{background:#ef444414;border:1px solid rgba(239,68,68,.2)}.test-result .result-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.test-result.success .result-icon{color:#22c55e}.test-result.error .result-icon{color:#ef4444}.test-result .result-icon svg{width:18px;height:18px}.test-result .result-content{display:flex;flex-direction:column;gap:.25rem}.test-result .result-content strong{color:var(--text-primary);font-size:.875rem}.test-result .result-content p{margin:0;font-size:.8125rem;color:var(--text-secondary)}.email-history{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.email-history h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-subtle);border-radius:6px}.history-item .history-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#22c55e1a;color:#22c55e;flex-shrink:0}.history-item .history-icon svg{width:14px;height:14px}.history-item .history-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.history-item .history-content strong{font-size:.8125rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .history-from{font-size:.75rem;color:var(--text-tertiary)}.history-item .history-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;flex-shrink:0}.history-item .history-status{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:4px;background:#22c55e1a;color:#22c55e}.history-item .history-status.error{background:#ef44441a;color:#ef4444}.history-item .history-time{font-size:.6875rem;color:var(--text-tertiary)}.history-item .reprocess-btn{flex-shrink:0;width:28px;height:28px;border:none;border-radius:6px;background:var(--primary);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-left:8px}.history-item .reprocess-btn:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.history-item .reprocess-btn:disabled{opacity:.6;cursor:not-allowed}.history-item .reprocess-btn svg{width:14px;height:14px}.history-item .reprocess-btn .spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.history-item.error{background:#ef44440d;border-left:3px solid #ef4444}.header-actions{display:flex;gap:.5rem}.email-configs-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.email-config-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;transition:all .15s ease}.email-config-row:hover{border-color:var(--accent)}.email-config-row .config-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--text-tertiary)}.email-config-row.verified .config-status-dot{background:#22c55e}.email-config-row.unverified .config-status-dot{background:#f59e0b}.email-config-row .config-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.email-config-row .config-email{font-weight:500;color:var(--text-primary);font-size:.9375rem}.email-config-row .config-meta{font-size:.75rem;color:var(--text-tertiary)}.email-config-row .config-error{color:#ef4444;flex-shrink:0}.email-config-row .config-error svg{width:16px;height:16px}.email-config-row .config-badge{color:var(--accent);flex-shrink:0}.email-config-row .config-badge svg{width:14px;height:14px}.email-config-row .config-actions{display:flex;gap:.25rem}.email-config-row .config-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.email-config-row .config-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.email-config-row .config-btn.delete:hover{background:#ef44441a;color:#ef4444}.email-config-row .config-btn svg{width:14px;height:14px}.email-config-row .config-btn:disabled{opacity:.5;cursor:not-allowed}.spinner-tiny{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.imap-config-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.imap-config-form .form-header h3{margin:0}.close-form-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.close-form-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.close-form-btn svg{width:16px;height:16px}.email-log-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.log-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.log-count{font-size:.75rem;color:var(--text-tertiary);background:var(--bg-subtle);padding:.25rem .5rem;border-radius:4px}.email-log-table-wrapper{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.email-log-table{width:100%;border-collapse:collapse;font-size:.8125rem}.email-log-table th{text-align:left;padding:.625rem .75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-subtle);border-bottom:1px solid var(--border);white-space:nowrap}.email-log-table td{padding:.5rem .75rem;color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.email-log-table tbody tr:last-child td{border-bottom:none}.email-log-table tbody tr:hover{background:var(--bg-hover)}.email-log-table tr.row-error{background:#ef444408}.email-log-table tr.row-error:hover{background:#ef44440f}.email-log-table .col-status{width:32px;text-align:center}.email-log-table .col-time{width:80px;white-space:nowrap;color:var(--text-tertiary)}.email-log-table .col-from{width:120px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-log-table .col-subject{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-log-table .col-subject em{color:var(--text-tertiary)}.email-log-table .col-result{width:80px}.email-log-table .col-actions{width:40px;text-align:center}.email-log-table .status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-tertiary)}.email-log-table .status-dot.success{background:#22c55e}.email-log-table .status-dot.error{background:#ef4444}.email-log-table .status-dot.neutral{background:var(--text-tertiary)}.result-badge{display:inline-flex;padding:.125rem .375rem;border-radius:4px;font-size:.6875rem;font-weight:500;background:var(--bg-subtle);color:var(--text-secondary)}.result-badge.success{background:#22c55e1a;color:#22c55e}.result-badge.error{background:#ef44441a;color:#ef4444}.result-badge.neutral{background:var(--bg-subtle);color:var(--text-tertiary)}.log-action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:var(--primary);color:#fff;cursor:pointer;transition:all .15s ease}.log-action-btn:hover:not(:disabled){background:var(--primary-hover)}.log-action-btn:disabled{opacity:.6;cursor:not-allowed}.log-action-btn svg{width:12px;height:12px}.log-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.pagination-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-size:.8125rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.pagination-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn svg{width:14px;height:14px}.pagination-info{font-size:.8125rem;color:var(--text-tertiary)}@media (max-width: 768px){.work-settings{padding:1rem}.work-settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.settings-tab{white-space:nowrap}.section-header{flex-direction:column;gap:1rem}.form-grid{grid-template-columns:1fr}.routing-header{flex-direction:column;align-items:flex-start;gap:.75rem}.rule-details{flex-direction:column;align-items:flex-start}.rule-arrow{display:none}.provider-grid{grid-template-columns:repeat(2,1fr)}.email-status-banner{flex-direction:column;align-items:stretch}.email-status-banner .status-error{max-width:none}.history-item{flex-wrap:wrap}.history-item .history-meta{width:100%;flex-direction:row;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.header-actions{flex-wrap:wrap;width:100%;justify-content:flex-end}.email-config-row{flex-wrap:wrap}.email-config-row .config-info{flex:1 1 calc(100% - 60px)}.email-config-row .config-actions{margin-left:auto}.email-log-table .col-from,.email-log-table .col-time{display:none}.email-log-table .col-subject{max-width:160px}}.reminder-settings-group{margin:1rem 0;padding:1rem;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.reminder-settings-group .form-group{margin-bottom:.5rem}.reminder-intervals{margin-top:.75rem;padding-left:1.5rem}.reminder-intervals>label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem}.interval-checkboxes{display:flex;flex-wrap:wrap;gap:.75rem}.interval-checkboxes .checkbox-label.small{font-size:.85rem}.interval-checkboxes .checkbox-label.small span{font-weight:400}.awaiting-customer-settings{margin-top:.75rem;padding-left:1.5rem}.awaiting-customer-settings .form-row{display:flex;gap:1rem;flex-wrap:wrap}.awaiting-customer-settings .form-group.small{flex:1;min-width:140px}.awaiting-customer-settings .form-group.small label{font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem}.input-with-suffix{display:flex;align-items:center;gap:.5rem}.input-with-suffix input{width:70px;text-align:center}.input-with-suffix span{color:var(--text-secondary);font-size:.85rem}@media (max-width: 600px){.awaiting-customer-settings .form-row{flex-direction:column;gap:.75rem}.awaiting-customer-settings .form-group.small{min-width:100%}}.work-item-page{min-height:100vh;background:var(--bg)}.work-item-page .drawer-backdrop{display:none}.work-item-page .item-detail-drawer{position:relative;width:100%;max-width:900px;height:auto;min-height:100vh;margin:0 auto;box-shadow:none;border-left:none;border-right:1px solid var(--border);border-left:1px solid var(--border);animation:none}.work-item-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--text-secondary)}.work-item-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.work-item-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;padding:2rem;text-align:center}.work-item-error .error-icon{width:64px;height:64px;padding:1rem;background:var(--danger-subtle, rgba(239, 68, 68, .1));border-radius:50%;color:var(--danger, #ef4444)}.work-item-error .error-icon svg{width:32px;height:32px}.work-item-error h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.work-item-error p{color:var(--text-secondary);margin:0;max-width:400px}.work-item-error .back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background .15s ease}.work-item-error .back-btn:hover{background:var(--accent-hover)}.work-item-error .back-btn svg{width:16px;height:16px}@media (max-width: 768px){.work-item-page .item-detail-drawer{border:none}}.storage-explorer{display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:500px;background:var(--bg);border-radius:12px;overflow:hidden;border:1px solid var(--border);margin-bottom:200px}.explorer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 4px}.delete-btn{color:var(--danger)!important}.view-mode-group{display:flex;align-items:center;background:var(--bg-alt);border-radius:6px;padding:2px}.view-mode-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--muted);transition:all .15s}.view-mode-btn svg{width:14px;height:14px}.view-mode-btn:hover{background:var(--card);color:var(--text)}.view-mode-btn.active{background:var(--card);color:var(--accent);box-shadow:0 1px 2px #0000000d}.search-box{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;min-width:200px}.search-box svg{color:var(--muted);flex-shrink:0;width:16px;height:16px}.search-box input{border:none;background:transparent;font-size:.875rem;color:var(--text);outline:none;flex:1;min-width:120px}.search-box input::placeholder{color:var(--muted)}.search-clear{background:none;border:none;font-size:1.25rem;color:var(--muted);cursor:pointer;padding:0;line-height:1}.search-clear:hover{color:var(--text)}.search-all-toggle{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:4px;background:var(--bg-alt);border:1px solid var(--border);white-space:nowrap;user-select:none}.search-all-toggle:hover{background:var(--card);color:var(--text)}.search-all-toggle input{width:14px;height:14px;margin:0;cursor:pointer}.search-all-toggle input:checked+span{color:var(--accent);font-weight:500}.storage-message{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;margin:8px 12px;border-radius:6px;font-size:.875rem}.storage-message.success{background:color-mix(in oklab,var(--success) 15%,var(--card));color:var(--success);border:1px solid color-mix(in oklab,var(--success) 40%,var(--border))}.storage-message.error{background:color-mix(in oklab,var(--danger) 15%,var(--card));color:var(--danger);border:1px solid color-mix(in oklab,var(--danger) 40%,var(--border))}.storage-message button{background:none;border:none;font-size:1.25rem;cursor:pointer;color:inherit;opacity:.7;padding:0;line-height:1}.storage-message button:hover{opacity:1}.explorer-main{display:flex;flex:1;overflow:hidden}.storage-nav-pane{width:220px;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;position:relative;transition:width .2s ease}.storage-nav-pane.collapsed{width:40px}.storage-nav-pane.collapsed .nav-section,.storage-nav-pane.collapsed .nav-storage-widget,.storage-nav-pane.collapsed .nav-stats{display:none}.nav-collapse-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--muted);font-size:12px;z-index:1}.nav-collapse-btn:hover{background:var(--card);color:var(--text)}.nav-storage-widget{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.storage-mini-ring{position:relative;width:48px;height:48px;flex-shrink:0}.storage-mini-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.storage-mini-ring circle{fill:none;stroke-width:3}.ring-percent{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--text)}.storage-mini-info{display:flex;flex-direction:column;gap:2px}.storage-used{font-size:.875rem;font-weight:600;color:var(--text)}.storage-limit{font-size:.75rem;color:var(--muted)}.nav-section{padding:12px}.nav-section-header{font-size:.6875rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:8px 8px 6px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text);font-size:.8125rem;text-align:left;transition:all .15s}.nav-item:hover{background:var(--bg-alt)}.nav-item.active{background:color-mix(in oklab,var(--accent) 15%,var(--card));color:var(--accent)}.nav-icon{display:flex;color:var(--muted)}.nav-item.active .nav-icon{color:var(--accent)}.nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px}.nav-stat{text-align:center;padding:8px;background:var(--bg-alt);border-radius:6px}.nav-stat .stat-value{display:block;font-size:1rem;font-weight:600;color:var(--text)}.nav-stat .stat-label{display:block;font-size:.6875rem;color:var(--muted);margin-top:2px}.content-area{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.breadcrumb-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border);font-size:.875rem}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-sep{color:var(--muted);margin:0 2px}.breadcrumb-item button{background:none;border:none;padding:4px 8px;font-size:.875rem;color:var(--accent);cursor:pointer;border-radius:4px;transition:background .15s}.breadcrumb-item button:hover{background:var(--bg-alt)}.breadcrumb-item button.current{color:var(--text);font-weight:500;cursor:default}.breadcrumb-item button.current:hover{background:transparent}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px;color:var(--muted);gap:12px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:60px 20px;text-align:center}.empty-icon{color:var(--muted);margin-bottom:16px;opacity:.5}.empty-icon svg{width:48px;height:48px}.empty-state h3{margin:0 0 8px;font-size:1rem;font-weight:600;color:var(--text)}.empty-state p{margin:0;font-size:.875rem;color:var(--muted)}.folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px;border-bottom:1px solid var(--border)}.folder-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;text-align:left}.folder-card:hover{background:var(--bg-alt);border-color:var(--accent)}.folder-icon{color:var(--accent);flex-shrink:0;display:flex}.folder-info{display:flex;flex-direction:column;gap:2px;min-width:0}.folder-name{font-size:.875rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-meta{font-size:.75rem;color:var(--muted)}.folders-list{display:flex;flex-direction:column;border-bottom:1px solid var(--border);background:var(--card)}.folder-row{display:flex;align-items:center;gap:12px;padding:10px 16px;background:transparent;border:none;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s;text-align:left;width:100%}.folder-row:last-child{border-bottom:none}.folder-row:hover{background:var(--bg-alt)}.folder-row .folder-icon{color:var(--accent);flex-shrink:0;display:flex}.folder-row .folder-name{flex:1;font-size:.875rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-row .folder-meta{font-size:.75rem;color:var(--muted);min-width:80px;text-align:right}.folder-row .folder-size{font-size:.75rem;color:var(--muted);min-width:70px;text-align:right}.files-grid{flex:1;overflow-y:auto;padding:16px;display:grid;gap:8px;align-content:start}.files-grid.large-icons{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.storage-file-item.large-icons{display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:var(--card);border:1px solid transparent;border-radius:8px;cursor:pointer;position:relative;transition:all .15s;text-align:center;min-width:0;max-width:100%}.storage-file-item.large-icons:hover{background:var(--bg-alt);border-color:var(--border)}.storage-file-item.large-icons.selected{background:color-mix(in oklab,var(--accent) 15%,var(--card));border-color:var(--accent)}.storage-file-item.large-icons .file-icon-wrapper{width:64px;height:64px;margin-bottom:8px}.storage-file-item.large-icons .file-icon-wrapper svg,.storage-file-item.large-icons .file-icon-wrapper .file-type-icon{width:100%;height:100%}.storage-file-item.large-icons .file-name-text{font-size:.8125rem;color:var(--text);word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;width:100%;max-width:120px;line-height:1.3}.files-grid.medium-icons{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:12px}.storage-file-item.medium-icons{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--card);border:1px solid transparent;border-radius:6px;cursor:pointer;position:relative;transition:all .15s;text-align:center}.storage-file-item.medium-icons:hover{background:var(--bg-alt);border-color:var(--border)}.storage-file-item.medium-icons.selected{background:color-mix(in oklab,var(--accent) 15%,var(--card));border-color:var(--accent)}.storage-file-item.medium-icons .file-icon-wrapper{width:48px;height:48px;margin-bottom:6px}.storage-file-item.medium-icons .file-icon-wrapper svg,.storage-file-item.medium-icons .file-icon-wrapper .file-type-icon{width:100%;height:100%}.storage-file-item.medium-icons .file-name-text{font-size:.75rem;color:var(--text);word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.files-grid.list{display:flex;flex-direction:column;gap:2px}.storage-file-item.list{display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .15s}.storage-file-item.list:hover{background:var(--bg-alt)}.storage-file-item.list.selected{background:color-mix(in oklab,var(--accent) 15%,var(--card));border-color:var(--accent)}.storage-file-item.list input[type=checkbox]{flex-shrink:0}.storage-file-item.list .file-icon-small{width:20px;height:20px;flex-shrink:0}.storage-file-item.list .file-icon-small svg{width:100%;height:100%}.storage-file-item.list .file-name-text{flex:1;font-size:.875rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storage-file-item.list .file-size-text{font-size:.8125rem;color:var(--muted);flex-shrink:0}.files-grid.tiles{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.storage-file-item.tiles{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:8px;cursor:pointer;position:relative;transition:all .15s}.storage-file-item.tiles:hover{background:var(--bg-alt);border-color:var(--accent)}.storage-file-item.tiles.selected{background:color-mix(in oklab,var(--accent) 15%,var(--card));border-color:var(--accent)}.storage-file-item.tiles .tile-checkbox{position:absolute;top:8px;right:8px}.storage-file-item.tiles .file-icon-medium{width:40px;height:40px;flex-shrink:0}.storage-file-item.tiles .file-icon-medium svg{width:100%;height:100%}.tile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tile-info .file-name-text{font-size:.875rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-meta{font-size:.75rem;color:var(--muted)}.details-view{flex:1;overflow:auto}.details-view table{width:100%;border-collapse:collapse;font-size:.875rem}.details-view thead{position:sticky;top:0;background:var(--card);z-index:1}.details-view th{text-align:left;padding:10px 12px;font-weight:500;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);white-space:nowrap}.details-view th.sortable{cursor:pointer;user-select:none}.details-view th.sortable:hover{color:var(--text)}.sort-indicator{margin-left:4px}.details-view td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}.details-view tbody tr{cursor:pointer;transition:background .1s}.details-view tbody tr:hover{background:var(--bg-alt)}.details-view tbody tr.selected{background:color-mix(in oklab,var(--accent) 15%,var(--card))}.cell-checkbox{width:40px;text-align:center}.cell-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.cell-name{min-width:200px}.file-name-cell{display:flex;align-items:center;gap:10px}.file-name-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.file-location{font-size:.7rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.file-icon-small{width:20px;height:20px;flex-shrink:0;display:flex}.file-icon-small svg{width:100%;height:100%}.file-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-type{width:100px}.cell-size{width:80px;text-align:right;color:var(--muted)}.cell-age{width:80px}.age-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--muted)}.age-badge svg{width:14px;height:14px}.age-badge.old{color:#f59e0b}.cell-date{width:110px;color:var(--muted)}.icon-checkbox{position:absolute;top:6px;left:6px;width:16px;height:16px;accent-color:var(--accent)}.status-bar{display:flex;align-items:center;gap:16px;padding:8px 16px;background:var(--card);border-top:1px solid var(--border);font-size:.8125rem;color:var(--muted)}.status-item{display:flex;align-items:center;gap:4px}.storage-status{margin-left:auto}.wizard-step{padding:20px 0}.wizard-step>p{margin:0 0 16px;color:var(--muted)}.preview-summary{font-size:1rem;margin-bottom:16px;padding:12px 16px;background:var(--bg-alt);border-radius:8px}.preview-summary strong{color:var(--text)}.preview-size{color:var(--muted);margin-left:8px}.preview-list{max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:8px}.preview-file{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);font-size:.8125rem}.preview-file:last-child{border-bottom:none}.preview-age{color:var(--muted);flex-shrink:0;margin-left:12px}.preview-more{padding:10px 14px;text-align:center;color:var(--muted);font-size:.8125rem;background:var(--bg-alt)}.wizard-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.wizard-success{text-align:center;padding:40px 20px}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:color-mix(in oklab,var(--success) 20%,var(--card));border-radius:50%;margin-bottom:16px;color:var(--success)}.success-icon svg{width:28px;height:28px}.wizard-success h4{margin:0 0 8px;font-size:1.125rem;color:var(--text)}.wizard-success p{margin:0 0 24px;color:var(--muted)}.file-type-icon{display:block}.file-type-icon.image path:first-child{fill:#7c3aed}.file-type-icon.image path:nth-child(2){fill:#c4b5fd}.file-type-icon.pdf path:first-child{fill:#dc2626}.file-type-icon.pdf path:nth-child(2){fill:#fca5a5}.file-type-icon.doc path:first-child{fill:#2563eb}.file-type-icon.doc path:nth-child(2){fill:#93c5fd}.file-type-icon.default path:first-child{fill:#64748b}.file-type-icon.default path:nth-child(2){fill:#cbd5e1}@media (max-width: 768px){.storage-explorer{height:calc(100vh - 80px);border-radius:0}.explorer-toolbar{padding:8px}.toolbar-left,.toolbar-right{flex-wrap:wrap}.search-box{min-width:150px;flex:1}.storage-nav-pane{display:none}.folders-grid{grid-template-columns:1fr;padding:12px}.files-grid.large-icons,.files-grid.medium-icons{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));padding:12px}.files-grid.tiles{grid-template-columns:1fr}.details-view{font-size:.8125rem}.cell-type,.cell-age{display:none}.status-bar{flex-wrap:wrap;gap:8px}}@media (max-width: 480px){.view-mode-group,.toolbar-divider{display:none}.files-grid.large-icons{grid-template-columns:repeat(2,1fr);gap:8px}.storage-file-item.large-icons{padding:12px 8px}.storage-file-item.large-icons .file-icon-wrapper{width:48px;height:48px}}.storage-breakdown-panel{padding:12px 16px;background:var(--card);border-bottom:1px solid var(--border)}.breakdown-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.breakdown-header h4{margin:0;font-size:.8125rem;font-weight:600;color:var(--text)}.breakdown-total{font-size:.75rem;color:var(--muted)}.breakdown-bars{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.breakdown-module{border-radius:8px;overflow:hidden;transition:all .2s ease;background:var(--bg-alt);border:1px solid var(--border)}.breakdown-module:hover{border-color:var(--accent)}.breakdown-module.expanded{grid-column:1 / -1;background:var(--card)}.breakdown-item{display:flex;flex-direction:column;gap:4px}.breakdown-item.module-row{padding:12px;cursor:pointer;transition:all .15s ease}.breakdown-item.module-row:hover{background:rgba(var(--accent-rgb),.05)}.breakdown-module.expanded .breakdown-item.module-row{background:var(--bg-alt);border-bottom:1px solid var(--border)}.expand-icon{display:inline-block;width:12px;font-size:8px;color:var(--muted);margin-right:6px;transition:transform .15s ease}.breakdown-categories{padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;animation:expandIn .2s ease}@keyframes expandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.breakdown-item.category-row{padding:8px 10px;background:var(--bg-alt);border-radius:6px;border:1px solid var(--border)}.breakdown-empty{padding:20px;text-align:center;color:var(--muted);font-size:.875rem;grid-column:1 / -1}.breakdown-label{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.breakdown-name{font-size:.75rem;font-weight:500;color:var(--text)}.breakdown-stats{font-size:.6875rem;color:var(--muted)}.breakdown-bar-track{height:6px;background:var(--bg-alt);border-radius:3px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:3px;transition:width .5s ease;min-width:2px}.retention-overlay{position:fixed;inset:0;background:#0000;z-index:1000;pointer-events:none;transition:background .3s ease}.retention-overlay.open{background:#0006;pointer-events:auto}.retention-panel{position:fixed;top:0;right:-400px;width:400px;max-width:90vw;height:100vh;background:var(--card);box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);z-index:1001}.retention-panel.open{right:0}.retention-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--bg-alt)}.retention-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:1.125rem;font-weight:600;color:var(--text)}.retention-header h3 svg{color:var(--accent);animation:spin-once .5s ease-out}@keyframes spin-once{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.retention-close{background:none;border:none;font-size:1.5rem;color:var(--muted);cursor:pointer;padding:0;line-height:1;transition:color .15s}.retention-close:hover{color:var(--text)}.retention-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:var(--muted)}.retention-description{padding:16px 24px;background:var(--bg-alt);font-size:.8125rem;color:var(--muted);line-height:1.5;border-bottom:1px solid var(--border)}.retention-categories{flex:1;overflow-y:auto;padding:16px 24px}.retention-category{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.retention-category:last-child{border-bottom:none}.retention-cat-info{flex:1;min-width:0}.retention-cat-name{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:4px}.retention-cat-desc{display:block;font-size:.75rem;color:var(--muted);line-height:1.4}.retention-category select{width:140px;flex-shrink:0;padding:8px 12px;font-size:.8125rem;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--text);cursor:pointer}.retention-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg-alt)}.retention-unsaved{font-size:.75rem;color:#f59e0b;margin-right:auto;display:flex;align-items:center;gap:6px}.retention-unsaved:before{content:"";width:6px;height:6px;background:#f59e0b;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.storage-manager{padding:24px;max-width:1400px;margin:0 auto}.storage-manager.loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--muted)}.thumbnail-small{width:20px;height:20px;object-fit:cover;border-radius:3px;flex-shrink:0}.thumbnail-medium{width:48px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}.thumbnail-large{width:100%;height:100%;object-fit:cover;border-radius:8px}.file-preview-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.file-preview-modal{background:var(--card);border-radius:12px;width:90vw;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-alt);border-bottom:1px solid var(--border)}.preview-title{display:flex;flex-direction:column;gap:2px}.preview-filename{font-weight:600;font-size:14px;color:var(--text);max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-size{font-size:12px;color:var(--muted)}.preview-actions{display:flex;align-items:center;gap:8px}.preview-action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--bg);border-radius:8px;cursor:pointer;color:var(--text);transition:all .15s;text-decoration:none}.preview-action-btn:hover{background:var(--card);color:var(--accent)}.preview-action-btn.danger:hover{background:#ef44441a;color:var(--danger)}.file-preview-modal .preview-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;background:var(--bg)}.preview-loading,.preview-error{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--muted)}.preview-error{color:var(--danger)}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #0003}.preview-pdf{width:100%;height:100%;border:none;border-radius:8px}.preview-no-preview{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;color:var(--muted)}.no-preview-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center}.no-preview-icon svg{width:100%;height:100%}.download-link{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--accent);color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:all .15s}.download-link:hover{background:var(--accent-hover)}.context-menu{position:fixed;background:var(--card);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0003;padding:6px;min-width:180px;z-index:9999;animation:contextFadeIn .15s ease}@keyframes contextFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);text-align:left;transition:all .1s}.context-item:hover{background:var(--bg-alt)}.context-item.danger{color:var(--danger)}.context-item.danger:hover{background:#ef44441a}.context-divider{height:1px;background:var(--border);margin:6px 0}@media (max-width: 768px){.file-preview-modal{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0}.preview-header{padding:12px 16px}.preview-filename{max-width:200px;font-size:13px}.preview-action-btn{width:32px;height:32px}.context-menu{min-width:160px}}.activity-console{position:fixed;bottom:0;left:var(--sidebar-width, 240px);right:0;background:#0d1117;border-top:1px solid #30363d;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;z-index:100;transition:left .2s ease,height .2s ease}.activity-console.collapsed{height:auto}.console-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#161b22;border-bottom:1px solid #30363d;cursor:pointer;user-select:none}.console-header:hover{background:#1c2128}.console-title{display:flex;align-items:center;gap:8px;color:#7ee787;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.console-toggle{color:#8b949e;font-size:10px}.console-body{max-height:150px;overflow-y:auto;padding:8px 0}.console-empty{padding:12px;color:#8b949e;font-style:italic;text-align:center}.console-entry{display:flex;align-items:baseline;gap:8px;padding:3px 12px;color:#c9d1d9;line-height:1.5}.console-entry:hover{background:#388bfd1a}.console-time{color:#8b949e;flex-shrink:0}.console-user{color:#58a6ff;flex-shrink:0}.console-user:after{content:"$";color:#7ee787;margin-left:4px}.console-msg{color:#c9d1d9}.console-details{color:#8b949e;font-size:11px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-entry.delete .console-msg{color:#f85149}.console-entry.success .console-msg{color:#7ee787}.console-entry.error .console-msg{color:#f85149}.console-entry.info .console-msg{color:#58a6ff}.console-entry.warning .console-msg{color:#d29922}.console-body::-webkit-scrollbar{width:6px}.console-body::-webkit-scrollbar-track{background:#0d1117}.console-body::-webkit-scrollbar-thumb{background:#30363d;border-radius:3px}.console-body::-webkit-scrollbar-thumb:hover{background:#484f58}.settings-hub{padding:24px;max-width:1200px;margin:0 auto}.settings-hub-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--fg-dim)}.settings-hub-loading .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.settings-hub-header{display:flex;align-items:center;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}.settings-hub-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);border-radius:12px;color:var(--accent)}.settings-hub-icon svg{width:24px;height:24px}.settings-hub-title h1{margin:0;font-size:24px;font-weight:600;color:var(--fg)}.settings-hub-title p{margin:4px 0 0;font-size:14px;color:var(--fg-dim)}.settings-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:32px}.settings-section-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:box-shadow .2s ease}.settings-section-card:hover{box-shadow:0 4px 12px #00000014}.settings-section-header{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.settings-section-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0}.settings-section-icon[data-section=organization]{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.settings-section-icon[data-section=modules]{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.settings-section-icon[data-section=personal]{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.settings-section-icon svg{width:22px;height:22px}.settings-section-info h2{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.settings-section-info p{margin:4px 0 0;font-size:13px;color:var(--fg-dim)}.settings-subsections{padding:8px}.settings-subsection-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 16px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .15s ease;text-align:left}.settings-subsection-item:hover{background:var(--surface-soft)}.settings-subsection-item:active{background:var(--border)}.subsection-content{display:flex;flex-direction:column;gap:2px}.subsection-title{font-size:14px;font-weight:500;color:var(--fg)}.subsection-desc{font-size:12px;color:var(--fg-dim)}.settings-subsection-item svg{width:16px;height:16px;color:var(--fg-dim);opacity:0;transition:opacity .15s ease,transform .15s ease}.settings-subsection-item:hover svg{opacity:1;transform:translate(2px)}.settings-quick-links{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}.settings-quick-links h3{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.quick-links-grid{display:flex;flex-wrap:wrap;gap:12px}.quick-link{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease;font-size:14px;color:var(--fg)}.quick-link:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.quick-link svg{width:18px;height:18px;opacity:.7}.quick-link:hover svg{opacity:1}@media (max-width: 768px){.settings-hub{padding:16px}.settings-hub-header{flex-direction:column;align-items:flex-start;gap:12px}.settings-hub-grid{grid-template-columns:1fr;gap:16px}.settings-section-header{padding:16px}.settings-section-icon{width:40px;height:40px}.settings-section-info h2{font-size:15px}.settings-subsection-item{padding:12px 14px}.quick-links-grid{flex-direction:column}.quick-link{width:100%}}@media (prefers-color-scheme: dark){.settings-section-card:hover{box-shadow:0 4px 12px #0003}}[data-theme=dark] .settings-section-card:hover{box-shadow:0 4px 12px #0003}.xero-sync-modal .modal-content{max-height:80vh;display:flex;flex-direction:column;min-width:700px}.sync-modal-loading,.sync-modal-error,.sync-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:16px;text-align:center;color:var(--fg-dim)}.sync-modal-error{color:var(--danger)}.sync-search-wrapper{position:relative;margin-bottom:12px}.sync-search-input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--bg);color:var(--fg)}.sync-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.sync-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--fg-dim);cursor:pointer;padding:4px 8px;font-size:14px}.sync-search-clear:hover{color:var(--fg)}.sync-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--surface-soft);border-radius:8px;margin-bottom:12px}.select-all{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.select-all input[type=checkbox]{width:18px;height:18px;cursor:pointer}.sync-summary{display:flex;gap:16px;font-size:13px}.new-count{color:var(--info)}.update-count{color:var(--warning)}.selected-count{color:var(--success);font-weight:600}.sync-modal-empty-search{padding:32px 16px;text-align:center;color:var(--fg-dim);font-style:italic}.sync-modal-list{flex:1;overflow-y:auto;max-height:400px;border:1px solid var(--border);border-radius:8px}.sync-section{padding:0}.sync-section h4{position:sticky;top:0;margin:0;padding:10px 16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-dim);background:var(--surface-soft);border-bottom:1px solid var(--border);z-index:1}.sync-section+.sync-section{border-top:1px solid var(--border)}.sync-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s}.sync-row:last-child{border-bottom:none}.sync-row:hover{background:var(--surface-soft)}.sync-row.selected{background:var(--primary-soft)}.sync-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;cursor:pointer}.sync-code{font-family:var(--font-mono);font-size:12px;padding:2px 6px;background:var(--surface);border-radius:4px;color:var(--fg-dim);flex-shrink:0}.sync-name{flex:1;font-weight:500;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:120px}.sync-email{color:var(--fg-dim);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.sync-abn{font-size:12px;color:var(--fg-dim);white-space:nowrap;flex-shrink:0}.sync-price{font-weight:500;color:var(--success);font-size:13px;white-space:nowrap;flex-shrink:0}.sync-changes{font-size:12px;font-style:italic;color:var(--warning);white-space:nowrap;flex-shrink:0}.sync-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;margin-top:16px;border-top:1px solid var(--border)}@media (max-width: 768px){.xero-sync-modal .modal-content{min-width:auto;width:95vw}.sync-modal-header{flex-direction:column;gap:8px;align-items:flex-start}.sync-row{flex-wrap:wrap}.sync-email{max-width:150px}.sync-name{min-width:100px}}.ai-usage-dashboard{display:flex;flex-direction:column;gap:20px;padding:4px 0}.ai-usage-loading,.ai-usage-error{display:flex;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--fg-dim, #888);font-size:14px}.ai-usage-error{color:var(--danger, #ef4444);background:#ef444414;border-radius:8px}.usage-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media (max-width: 640px){.usage-summary-grid{grid-template-columns:1fr}}.usage-stat-card{display:flex;align-items:center;gap:14px;padding:16px;background:var(--bg, #f8f9fa);border:1px solid var(--border, #e5e7eb);border-radius:8px;transition:border-color .15s,box-shadow .15s}.usage-stat-card:hover{border-color:var(--border-hover, #d1d5db)}.usage-stat-card.highlight{background:linear-gradient(135deg,#6366f10f,#8b5cf60f);border-color:#6366f133}.stat-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;flex-shrink:0}.stat-icon.requests{background:#3b82f61f;color:#3b82f6}.stat-icon.tokens{background:#10b9811f;color:#10b981}.stat-icon.cost{background:#8b5cf61f;color:#8b5cf6}.stat-content{flex:1;min-width:0}.stat-value{font-size:22px;font-weight:700;color:var(--fg, #111);line-height:1.2;font-variant-numeric:tabular-nums}.stat-label{font-size:13px;font-weight:500;color:var(--fg-dim, #666);margin-top:2px}.stat-sublabel{font-size:11px;color:var(--fg-muted, #999);margin-top:1px}.usage-section{background:var(--bg, #f8f9fa);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:16px}.usage-section h4{font-size:12px;font-weight:600;color:var(--fg-dim, #666);text-transform:uppercase;letter-spacing:.04em;margin:0 0 14px}.feature-breakdown{display:flex;flex-direction:column;gap:0}.feature-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.feature-row:last-child{border-bottom:none;padding-bottom:0}.feature-row:first-child{padding-top:0}.feature-info{display:flex;align-items:center;gap:10px;min-width:140px}.feature-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:6px;color:var(--fg-dim, #666);flex-shrink:0}.feature-name{font-size:14px;font-weight:500;color:var(--fg, #111)}.feature-stats{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--fg-muted, #999);margin-left:auto}.feature-requests,.feature-tokens{white-space:nowrap}.feature-cost{font-weight:600;color:var(--fg, #111);min-width:60px;text-align:right}.feature-bar-container{width:80px;height:6px;background:var(--border, #e5e7eb);border-radius:3px;overflow:hidden;flex-shrink:0}.feature-bar{height:100%;border-radius:3px;min-width:3px;transition:width .4s ease}.qa-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 540px){.qa-stats-grid{grid-template-columns:repeat(2,1fr)}}.qa-stat{text-align:center;padding:14px 10px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px}.qa-stat-value{font-size:20px;font-weight:700;color:var(--fg, #111);font-variant-numeric:tabular-nums}.qa-stat-label{font-size:11px;color:var(--fg-muted, #999);margin-top:4px}.user-breakdown{display:flex;flex-direction:column;gap:6px}.user-row{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px}.user-rank{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--accent, #6366f1);color:#fff;font-size:11px;font-weight:600;border-radius:50%;flex-shrink:0}.user-row:nth-child(1) .user-rank{background:#f59e0b}.user-row:nth-child(2) .user-rank{background:#94a3b8}.user-row:nth-child(3) .user-rank{background:#d97706}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.user-name{font-size:14px;font-weight:500;color:var(--fg, #111);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-requests{font-size:11px;color:var(--fg-muted, #999)}.user-cost{font-size:14px;font-weight:600;color:var(--fg, #111);font-variant-numeric:tabular-nums}.daily-chart{height:72px;display:flex;flex-direction:column}.chart-bars{flex:1;display:flex;align-items:flex-end;gap:2px}.chart-bar-wrapper{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center}.chart-bar{width:100%;max-width:10px;min-height:3px;background:var(--accent, #6366f1);border-radius:2px 2px 0 0;transition:height .3s ease,opacity .15s;cursor:default}.chart-bar:hover{opacity:.75}.chart-labels{display:flex;justify-content:space-between;padding-top:8px;font-size:11px;color:var(--fg-muted, #999)}@media (max-width: 540px){.feature-row{flex-wrap:wrap}.feature-stats{width:100%;margin-left:38px;margin-top:4px;gap:12px}.feature-bar-container{display:none}}.org-settings{padding:24px;max-width:900px;margin:0 auto}.org-settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--fg-dim)}.org-settings-header{margin-bottom:24px}.back-link{display:inline-flex;align-items:center;gap:6px;padding:0;margin-bottom:16px;background:none;border:none;color:var(--accent);font-size:14px;cursor:pointer;transition:opacity .15s}.back-link:hover{opacity:.8}.org-settings-header h1{margin:0;font-size:24px;font-weight:600;color:var(--fg)}.org-settings-header p{margin:6px 0 0;font-size:14px;color:var(--fg-dim)}.org-settings-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.org-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;font-weight:500;color:var(--fg-dim);cursor:pointer;transition:all .15s}.org-tab:hover{color:var(--fg);background:var(--surface-soft)}.org-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-panel{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-section{padding:24px;border-bottom:1px solid var(--border)}.panel-section:last-of-type{border-bottom:none}.panel-section h2{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.panel-section>p{margin:6px 0 20px;font-size:14px;color:var(--fg-dim)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:span 2}.form-group label{font-size:13px;font-weight:500;color:var(--fg)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=url],.form-group input[type=number],.form-group select,.form-group textarea{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--fg);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group textarea{resize:vertical;min-height:60px;font-family:inherit}.form-group small{font-size:12px;color:var(--fg-dim)}.color-input-group{display:flex;gap:8px}.color-input-group input[type=color]{width:44px;height:38px;padding:4px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.color-input-group input[type=text]{flex:1;font-family:monospace;text-transform:uppercase}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.checkbox-label span{font-size:14px}.panel-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:var(--surface-soft);border-top:1px solid var(--border)}.logo-upload-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;margin-top:16px}.logo-upload-card{display:flex;flex-direction:column;gap:8px}.logo-upload-card.favicon-card{max-width:120px}.logo-upload-header{display:flex;flex-direction:column;gap:2px}.logo-upload-header label{font-size:13px;font-weight:500;color:var(--fg)}.logo-upload-header small{font-size:11px;color:var(--fg-dim)}.logo-upload-area{display:flex;align-items:center;justify-content:center;min-height:100px;padding:16px;background:var(--surface-soft);border:2px dashed var(--border);border-radius:8px;cursor:pointer;transition:all .15s}.logo-upload-area:hover{border-color:var(--accent);background:var(--accent-soft)}.logo-upload-area.dark-preview{background:#1f2937}.logo-upload-area.favicon-area{min-height:80px;width:80px}.logo-preview{max-width:100%;max-height:80px;object-fit:contain}.favicon-preview{width:32px;height:32px;object-fit:contain}.logo-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--fg-dim)}.logo-placeholder svg{opacity:.5}.logo-placeholder span{font-size:12px}.logo-uploading{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--fg-dim)}.logo-uploading span{font-size:12px}.logo-remove-btn{padding:4px 8px;background:none;border:none;color:var(--danger, #ef4444);font-size:12px;cursor:pointer;text-align:center}.logo-remove-btn:hover{text-decoration:underline}.info-section .info-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.info-section .info-header h2{margin:0}.info-section .info-header p{margin:6px 0 0}.company-info-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;background:var(--surface-soft);border-radius:8px;padding:16px 20px}.company-info-preview .info-row{display:flex;flex-direction:column;gap:2px}.company-info-preview .info-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--fg-dim)}.company-info-preview .info-value{font-size:14px;color:var(--fg)}@media (max-width: 768px){.org-settings{padding:16px}.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.org-settings-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.org-tab{padding:10px 16px;white-space:nowrap}.info-section .info-header{flex-direction:column;gap:12px}.company-info-preview,.logo-upload-grid{grid-template-columns:1fr}.logo-upload-card.favicon-card{max-width:100%}.logo-upload-area.favicon-area{width:100%}}.restore-branding-section{margin-top:16px;padding:16px;background:color-mix(in oklab,var(--info) 8%,var(--bg));border:1px solid color-mix(in oklab,var(--info) 25%,var(--border));border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:16px}.restore-hint{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;color:var(--fg-dim)}.restore-hint svg{flex-shrink:0;color:var(--info)}.restore-btn{padding:8px 16px;background:var(--info);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .15s}.restore-btn:hover:not(:disabled){opacity:.9}.restore-btn:disabled{opacity:.6;cursor:not-allowed}.email-preview-container{margin-top:16px;padding:24px;background:var(--surface-soft);border-radius:8px}.email-preview{background:var(--bg);box-shadow:0 2px 8px #0000001a}.email-preview h3{color:var(--fg)}.email-preview p{line-height:1.6}.email-preset-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:16px}.email-preset-card{display:flex;flex-direction:column;gap:12px;padding:0;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s ease;overflow:hidden}.email-preset-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.preset-preview{padding:16px 12px;border-radius:10px 10px 0 0}.preset-preview-header{display:flex;align-items:center;justify-content:center;gap:6px;padding-bottom:12px}.preset-preview-header svg{opacity:.8}.preset-preview-body{background:var(--bg);border-radius:6px;padding:12px 10px;display:flex;flex-direction:column;gap:6px;align-items:center}.preset-preview-line{height:6px;background:var(--border);border-radius:3px}.preset-preview-button{width:48px;height:16px;border-radius:4px;margin-top:6px}.preset-info{padding:0 12px 14px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.preset-name{font-size:13px;font-weight:600;color:var(--fg)}.preset-description{font-size:11px;color:var(--fg-dim);line-height:1.3}@media (max-width: 1100px){.email-preset-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.email-preset-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.email-preset-grid{grid-template-columns:1fr}}.integration-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-top:16px}.integration-header{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--border)}.integration-logo{flex-shrink:0}.integration-info{flex:1;min-width:0}.integration-info h3{margin:0;font-size:16px;font-weight:600;color:var(--fg)}.integration-info p{margin:4px 0 0;font-size:13px;color:var(--fg-dim)}.integration-status{flex-shrink:0}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-badge.status-loading{background:var(--surface-soft);color:var(--fg-dim)}.status-badge.status-connected{background:color-mix(in oklab,var(--success) 15%,transparent);color:var(--success)}.status-badge.status-disconnected{background:var(--surface-soft);color:var(--fg-dim)}.integration-body{padding:20px}.integration-body.connected{display:flex;justify-content:space-between;align-items:center;gap:20px;background:color-mix(in oklab,var(--success) 5%,var(--bg))}.connection-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;align-items:center;gap:12px}.detail-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--fg-dim);min-width:100px}.detail-value{font-size:14px;color:var(--fg);font-weight:500}.xero-sync-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.xero-sync-section h4{font-size:13px;font-weight:600;color:var(--fg);margin:0 0 12px}.sync-row{display:flex;flex-direction:column;gap:12px}.sync-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--bg-secondary);border-radius:8px;gap:16px}.sync-info{display:flex;flex-direction:column;gap:2px}.sync-label{font-size:14px;font-weight:500;color:var(--fg)}.sync-meta{font-size:12px;color:var(--fg-dim)}.integration-features{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:20px}.feature-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--fg)}.feature-item svg{color:var(--success);flex-shrink:0}.integration-actions{display:flex;gap:12px}.info-callout{background:color-mix(in oklab,var(--info) 8%,var(--bg));border:1px solid color-mix(in oklab,var(--info) 25%,var(--border));border-radius:8px;padding:16px 20px}.info-callout ol{margin:0;padding-left:20px}.info-callout li{font-size:13px;color:var(--fg);line-height:1.8}.ai-usage-stats{margin-bottom:20px;padding:16px;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border-color)}.ai-usage-stats .stat-row{display:flex;gap:24px;flex-wrap:wrap}.ai-usage-stats .stat-item{display:flex;flex-direction:column;gap:2px}.ai-usage-stats .stat-value{font-size:24px;font-weight:600;color:var(--fg)}.ai-usage-stats .stat-label{font-size:12px;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.ai-byok-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.ai-byok-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--fg)}.ai-byok-section .help-text{margin:0 0 16px;font-size:13px;color:var(--fg-dim)}.ai-settings-form{grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 768px){.integration-header{flex-wrap:wrap}.integration-status{width:100%;margin-top:8px}.integration-body.connected{flex-direction:column;align-items:flex-start}.detail-row{flex-direction:column;align-items:flex-start;gap:2px}.detail-label{min-width:auto}.ai-usage-stats .stat-row{flex-direction:column;gap:16px}.ai-settings-form{grid-template-columns:1fr}}.block-editor{display:flex;flex-direction:column;height:100%}.editor-header{padding:16px;border-bottom:1px solid var(--border, #e5e5e5)}.editor-header h3{margin:0;font-size:16px;font-weight:600;color:var(--fg, #333)}.editor-subtitle{font-size:12px;color:var(--fg-muted, #666);margin-top:2px;display:block}.editor-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.editor-field{display:flex;flex-direction:column;gap:6px}.editor-field>label{font-size:12px;font-weight:500;color:var(--fg-muted, #666)}.editor-field input[type=text],.editor-field input[type=number],.editor-field textarea,.editor-field select{width:100%;padding:8px 12px;border:1px solid var(--border, #e5e5e5);border-radius:6px;font-size:13px;color:var(--fg, #333);background:var(--bg, #ffffff);transition:border-color .15s}.editor-field input:focus,.editor-field textarea:focus,.editor-field select:focus{outline:none;border-color:var(--primary, #0066cc)}.editor-field textarea{resize:vertical;min-height:80px;font-family:inherit}.editor-field input[type=color]{width:48px;height:32px;padding:2px;border:1px solid var(--border, #e5e5e5);border-radius:4px;cursor:pointer}.field-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.field-toggle span{font-size:13px;font-weight:400;color:var(--fg, #333)}.field-hint{font-size:11px;color:var(--fg-muted, #666);font-style:italic}.field-actions{display:flex;gap:8px;margin-top:4px}.selected-field-display{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.field-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--primary, #0066cc);color:#fff;border-radius:4px;font-size:12px;font-weight:500}.remove-field-btn{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:#fff3;border-radius:50%;cursor:pointer;color:inherit;transition:background .15s}.remove-field-btn:hover{background:#ffffff4d}.no-field{color:var(--fg-muted, #666);font-style:italic;font-size:13px}.field-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.field-list-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;font-size:13px}.field-order-controls{display:flex;flex-direction:column;gap:0}.order-btn{display:flex;align-items:center;justify-content:center;width:16px;height:14px;border:none;background:transparent;cursor:pointer;color:var(--fg-muted, #666);transition:color .15s}.order-btn:hover:not(:disabled){color:var(--fg, #333)}.order-btn:disabled{opacity:.3;cursor:not-allowed}.field-name{flex:1;font-weight:500}.no-fields-message{color:var(--fg-muted, #666);font-style:italic;font-size:13px;margin:0 0 8px}.editor-section{padding:16px;border-top:1px solid var(--border, #e5e5e5)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.section-header h4{margin:0;font-size:13px;font-weight:600;color:var(--fg, #333)}.condition-count{font-size:11px;color:var(--fg-muted, #666)}.section-help{font-size:12px;color:var(--fg-muted, #666);margin:0 0 12px}.conditions-section{margin-top:auto;background:var(--bg-secondary, #f5f5f5)}.block-preview-container{width:100%;max-width:700px;margin:0 auto;display:flex;flex-direction:column;height:100%;padding:24px 0 48px}.preview-email-frame{background:var(--bg, #ffffff);border-radius:12px;box-shadow:0 1px 3px #0000000d,0 4px 12px #00000014;overflow-y:auto;overflow-x:hidden;flex:1;border:1px solid var(--border, #e5e7eb);transition:box-shadow .3s ease;min-height:500px}.preview-email-frame:hover{box-shadow:0 1px 3px #0000000f,0 8px 24px #0000001f}.preview-email-content{min-height:400px;padding-bottom:64px;position:relative}.preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;color:var(--fg-dim, rgba(148, 163, 184, .7));min-height:300px}.preview-empty p{font-size:14px;margin:0;line-height:1.6}.preview-block{transition:opacity .2s ease}.preview-text{line-height:1.7}.preview-field-group table{border-collapse:collapse;width:100%}.preview-signature{text-align:center}.preview-button a{text-decoration:none;transition:all .15s ease}.preview-button a:hover{opacity:.9;transform:translateY(-1px)}.preview-button a:active{transform:translateY(0) scale(.98)}.preview-footer a{text-decoration:none;color:var(--accent, #3b82f6);transition:color .15s ease}.preview-footer a:hover{text-decoration:underline}.preview-unknown{padding:16px 24px;text-align:center;color:var(--fg-dim, rgba(148, 163, 184, .7));font-style:italic;background:#ef44440f;border-radius:6px;margin:16px 24px;border:1px dashed rgba(239,68,68,.2)}.logo-placeholder{display:inline-block;padding:12px 24px;background:#ffffff26;border-radius:6px;font-size:13px;opacity:.8;border:1px dashed rgba(255,255,255,.3)}.preview-email-frame::-webkit-scrollbar{width:8px}.preview-email-frame::-webkit-scrollbar-track{background:transparent}.preview-email-frame::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:4px}.preview-email-frame::-webkit-scrollbar-thumb:hover{background:#94a3b84d}.field-picker-search{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;margin-bottom:12px}.field-picker-search svg{color:var(--fg-muted, #666);flex-shrink:0}.field-picker-search input{flex:1;border:none;background:transparent;font-size:14px;color:var(--fg, #333);outline:none}.field-picker-search input::placeholder{color:var(--fg-muted, #999)}.clear-search{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:var(--bg-tertiary, #e5e5e5);border-radius:50%;cursor:pointer;color:var(--fg-muted, #666)}.clear-search:hover{background:var(--border, #ddd)}.field-picker-count{font-size:12px;color:var(--fg-muted, #666);margin-bottom:16px}.field-picker-list{flex:1;overflow-y:auto;margin-bottom:16px}.loading-state,.empty-state{text-align:center;padding:24px;color:var(--fg-muted, #666)}.field-category{margin-bottom:8px}.category-header{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:var(--bg-secondary, #f5f5f5);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;color:var(--fg, #333);transition:background .15s}.category-header:hover{background:var(--bg-tertiary, #e5e5e5)}.category-header svg{transition:transform .2s;color:var(--fg-muted, #666)}.category-label{flex:1;text-align:left}.category-count{font-size:11px;color:var(--fg-muted, #666);background:var(--bg, #ffffff);padding:2px 6px;border-radius:10px}.category-fields{padding:8px 0 8px 16px;display:flex;flex-direction:column;gap:4px}.field-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--border, #e5e5e5);background:var(--bg, #ffffff);border-radius:6px;cursor:pointer;text-align:left;transition:all .15s}.field-item:hover{border-color:var(--primary, #0066cc);background:var(--bg-highlight, #f0f7ff)}.field-info{display:flex;align-items:center;gap:8px}.field-label{font-size:13px;font-weight:500;color:var(--fg, #333)}.field-key{font-size:11px;font-family:monospace;color:var(--fg-muted, #666);background:var(--bg-secondary, #f5f5f5);padding:2px 6px;border-radius:4px}.field-description{font-size:11px;color:var(--fg-muted, #666)}.field-type{font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.field-type.type-photos{background:#dbeafe;color:#1e40af}.field-type.type-signature{background:#fce7f3;color:#be185d}.field-type.type-date{background:#dcfce7;color:#166534}.field-type.type-number{background:#fef3c7;color:#92400e}.field-picker-help{display:flex;gap:8px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;font-size:12px;color:var(--fg-muted, #666)}.field-picker-help svg{flex-shrink:0;margin-top:2px}.conditions-help{display:flex;gap:10px;padding:12px 14px;background:color-mix(in oklab,var(--accent, #3b82f6) 15%,var(--bg, #fff));border-radius:8px;font-size:13px;color:var(--accent, #3b82f6);margin-bottom:16px}.conditions-help svg{flex-shrink:0;margin-top:2px}.logic-toggle{display:flex;align-items:center;gap:12px;margin-bottom:16px}.logic-label{font-size:13px;font-weight:500;color:var(--fg-muted, #666)}.logic-buttons{display:flex;gap:4px}.logic-btn{padding:6px 12px;border:1px solid var(--border, #e5e5e5);background:var(--bg, #ffffff);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;color:var(--fg-muted, #666)}.logic-btn:hover{background:var(--bg-secondary, #f5f5f5)}.logic-btn.active{background:var(--primary, #0066cc);border-color:var(--primary, #0066cc);color:#fff}.no-conditions{text-align:center;padding:24px;background:var(--bg-secondary, #f5f5f5);border-radius:8px}.no-conditions p{margin:0 0 12px;color:var(--fg-muted, #666)}.conditions-list{display:flex;flex-direction:column;gap:12px}.block-condition-row{position:relative;padding:16px;background:var(--bg-secondary, #f5f5f5);border-radius:8px}.condition-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.condition-number{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--primary, #0066cc);color:#fff;border-radius:50%;font-size:11px;font-weight:600}.condition-remove{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--fg-muted, #666);transition:all .15s}.condition-remove:hover{background:color-mix(in oklab,var(--danger, #ef4444) 12%,var(--bg, #fff));color:var(--danger, #ef4444)}.condition-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.condition-field,.condition-operator,.condition-values{display:flex;flex-direction:column;gap:6px}.condition-values{grid-column:1 / -1}.condition-fields label{font-size:11px;font-weight:500;color:var(--fg-muted, #666);text-transform:uppercase;letter-spacing:.5px}.condition-fields select,.condition-fields input[type=text]{width:100%;padding:8px 10px;border:1px solid var(--border, #e5e5e5);border-radius:6px;font-size:13px;color:var(--fg, #333);background:var(--bg, #ffffff)}.condition-fields select:focus,.condition-fields input:focus{outline:none;border-color:var(--primary, #0066cc)}.values-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.value-checkbox{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg, #ffffff);border:1px solid var(--border, #e5e5e5);border-radius:6px;cursor:pointer;font-size:13px;transition:all .15s}.value-checkbox:hover{border-color:var(--primary, #0066cc)}.value-checkbox input[type=checkbox]{margin:0}.value-checkbox:has(input:checked){background:color-mix(in oklab,var(--primary, #0066cc) 12%,var(--bg, #fff));border-color:var(--primary, #0066cc)}.condition-connector{display:flex;align-items:center;gap:8px;padding:8px 0}.connector-line{flex:1;height:1px;background:var(--border, #e5e5e5)}.connector-label{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.connector-label.and{background:color-mix(in oklab,var(--accent, #3b82f6) 20%,var(--bg, #fff));color:var(--accent, #3b82f6)}.connector-label.or{background:color-mix(in oklab,var(--warning, #f59e0b) 20%,var(--bg, #fff));color:var(--warning, #f59e0b)}.add-condition-btn{margin-top:8px}.conditions-preview{margin-top:16px;padding:12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;font-size:13px}.conditions-preview strong{color:var(--fg, #333);margin-right:8px}.preview-text{color:var(--fg-muted, #666)}.email-template-builder{display:flex;flex-direction:column;height:100vh;background:var(--bg-secondary, #f5f5f5)}.builder-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background:var(--bg, #ffffff);border-bottom:1px solid var(--border, #e2e8f0);flex-shrink:0;box-shadow:0 1px 3px #0000000a}.builder-header-left{display:flex;align-items:center;gap:16px}.builder-back-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;background:var(--bg-secondary, #f1f5f9);border-radius:10px;cursor:pointer;color:var(--fg, #334155);transition:all .2s}.builder-back-btn:hover{background:var(--bg-tertiary, #e2e8f0);transform:translate(-2px)}.builder-title h2{margin:0;font-size:17px;font-weight:600;color:var(--fg, #1e293b);letter-spacing:-.02em}.builder-subtitle{font-size:12px;color:var(--fg-muted, #64748b);font-weight:500;margin-top:2px}.builder-header-actions{display:flex;gap:10px}.builder-layout{display:flex;flex:1;overflow:hidden}.builder-palette{width:220px;background:linear-gradient(180deg,var(--bg, #ffffff) 0%,var(--bg-secondary, #f8fafc) 100%);border-right:1px solid var(--border, #e2e8f0);padding:20px 16px;overflow-y:auto;flex-shrink:0}.builder-palette h3{margin:0 0 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--fg-muted, #64748b);padding-bottom:12px;border-bottom:1px solid var(--border, #e2e8f0)}.palette-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.palette-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;background:var(--bg, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000a}.palette-item:hover{background:var(--bg, #ffffff);border-color:var(--primary, #3b82f6);box-shadow:0 4px 12px #3b82f626,0 2px 4px #0000000d;transform:translateY(-2px)}.palette-item:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.palette-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--fg-muted, #64748b);transition:color .2s}.palette-item:hover .palette-icon{color:var(--primary, #3b82f6)}.palette-label{font-size:11px;font-weight:600;color:var(--fg, #334155);text-align:center;letter-spacing:-.01em}.builder-canvas{flex:1;overflow-y:auto;padding:32px;display:flex;justify-content:center;background:linear-gradient(180deg,var(--bg-secondary, #f1f5f9) 0%,var(--bg-tertiary, #e2e8f0) 100%)}.builder-canvas.preview-mode{background:linear-gradient(180deg,#e2e8f0,#cbd5e1)}.canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 48px;background:var(--bg, #ffffff);border:2px dashed var(--border, #cbd5e1);border-radius:16px;max-width:500px;margin:0 auto;transition:border-color .2s}.canvas-empty:hover{border-color:var(--primary, #3b82f6)}.canvas-empty .empty-icon{width:56px;height:56px;margin-bottom:20px;color:var(--fg-muted, #94a3b8);opacity:.7}.canvas-empty h3{margin:0 0 10px;font-size:18px;font-weight:600;color:var(--fg, #1e293b);letter-spacing:-.01em}.canvas-empty p{margin:0;color:var(--fg-muted, #64748b);font-size:14px;line-height:1.5}.blocks-container{width:100%;max-width:620px;background:var(--bg, #ffffff);border-radius:12px;box-shadow:0 1px 3px #0000000d,0 4px 16px #00000014;overflow:hidden;border:1px solid var(--border, #e2e8f0)}.builder-block{position:relative;border:2px solid transparent;transition:all .15s}.builder-block:hover{border-color:var(--border, #e5e5e5)}.builder-block.selected{border-color:var(--primary, #0066cc)}.builder-block.dragging{opacity:.5;box-shadow:0 4px 12px #00000026}.block-toolbar{display:none;align-items:center;gap:8px;padding:4px 8px;background:var(--bg-secondary, #f5f5f5);border-bottom:1px solid var(--border, #e5e5e5)}.builder-block:hover .block-toolbar,.builder-block.selected .block-toolbar{display:flex}.block-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:grab;color:var(--fg-muted, #666)}.block-drag-handle:active{cursor:grabbing}.block-type-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--fg-muted, #666);flex:1}.block-type-label svg{width:14px;height:14px}.block-actions{display:flex;gap:4px}.block-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--fg-muted, #666);transition:all .15s}.block-action-btn:hover{background:var(--bg-tertiary, #e5e5e5)}.block-action-btn.delete:hover{background:color-mix(in oklab,var(--danger, #ef4444) 12%,var(--bg, #fff));color:var(--danger, #ef4444)}.block-content{padding:12px 16px;min-height:40px}.block-condition-indicator{position:absolute;top:8px;right:8px;display:flex;align-items:center;gap:4px;padding:2px 6px;background:#fef3c7;border-radius:4px;font-size:10px;font-weight:500;color:#92400e}.preview-header-block{text-align:center}.preview-header-block .preview-logo{color:var(--fg-muted, #666);font-size:12px}.preview-header-block .preview-title{font-size:18px;font-weight:600;color:var(--fg, #333)}.preview-header-block .preview-date{font-size:12px;color:var(--fg-muted, #666)}.preview-text-block{color:var(--fg, #333);white-space:pre-wrap}.preview-field-block{display:flex;gap:8px}.preview-field-block .field-label{font-weight:600;color:var(--fg-muted, #666)}.preview-field-group-block .group-title{font-weight:600;margin-bottom:8px}.preview-field-group-block .group-fields{display:flex;flex-direction:column;gap:4px}.preview-field-group-block .group-field{display:flex;gap:8px;font-size:13px}.preview-field-group-block .no-fields{color:var(--fg-muted, #666);font-style:italic}.preview-photos-block .photos-grid{display:grid;gap:8px}.preview-photos-block .photo-placeholder{aspect-ratio:1;background:var(--bg-secondary, #f5f5f5);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--fg-muted, #666)}.preview-signature-block{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.preview-signature-block .signature-image{padding:16px 32px;background:var(--bg-secondary, #f5f5f5);border-radius:4px;color:var(--fg-muted, #666);font-style:italic}.preview-signature-block .signature-name{font-weight:500}.preview-signature-block .signature-time{font-size:12px;color:var(--fg-muted, #666)}.preview-divider-block{border-top-width:1px}.preview-button-block .preview-btn{display:inline-block;padding:8px 16px;border-radius:4px;font-weight:500;font-size:13px}.preview-button-block .preview-btn.style-primary{background:var(--primary, #0066cc);color:#fff}.preview-button-block .preview-btn.style-secondary{background:var(--bg-tertiary, #e5e5e5);color:var(--fg, #333)}.preview-footer-block{text-align:center;font-size:12px;color:var(--fg-muted, #666);background:var(--bg-secondary, #f5f5f5);padding:16px}.preview-footer-block .footer-unsubscribe{margin-top:8px;color:var(--primary, #0066cc)}.preview-alert-block{padding:12px;border-radius:4px;border-left:3px solid}.preview-alert-block.type-info{background:color-mix(in oklab,var(--accent, #3b82f6) 12%,var(--bg, #fff));border-color:var(--accent, #3b82f6);color:var(--accent, #3b82f6)}.preview-alert-block.type-success{background:color-mix(in oklab,var(--success, #10b981) 12%,var(--bg, #fff));border-color:var(--success, #10b981);color:var(--success, #10b981)}.preview-alert-block.type-warning{background:color-mix(in oklab,var(--warning, #f59e0b) 12%,var(--bg, #fff));border-color:var(--warning, #f59e0b);color:var(--warning, #f59e0b)}.preview-alert-block.type-error{background:color-mix(in oklab,var(--danger, #ef4444) 12%,var(--bg, #fff));border-color:var(--danger, #ef4444);color:var(--danger, #ef4444)}.preview-alert-block .alert-title{font-weight:600;margin-bottom:4px}.preview-unknown-block{padding:16px;text-align:center;color:var(--fg-muted, #666);font-style:italic}.builder-properties{width:300px;background:var(--bg, #ffffff);border-left:1px solid var(--border, #e5e5e5);overflow-y:auto;flex-shrink:0}@media (max-width: 900px){.builder-palette{width:160px}.palette-grid{grid-template-columns:1fr}.builder-properties{width:260px}}@media (max-width: 768px){.builder-layout{flex-direction:column}.builder-palette{width:100%;height:auto;max-height:150px;border-right:none;border-bottom:1px solid var(--border, #e5e5e5)}.palette-grid{display:flex;flex-wrap:wrap;gap:4px}.palette-item{flex-direction:row;padding:8px 12px}.builder-properties{width:100%;height:300px;border-left:none;border-top:1px solid var(--border, #e5e5e5)}}[data-theme=dark] .email-template-builder,[data-theme=christmas] .email-template-builder,[data-theme=retro] .email-template-builder,[data-theme=gamer] .email-template-builder,[data-theme=sentrac] .email-template-builder{background:var(--bg-alt)}[data-theme=dark] .builder-header,[data-theme=dark] .builder-palette,[data-theme=dark] .builder-properties,[data-theme=dark] .blocks-container,[data-theme=dark] .canvas-empty,[data-theme=christmas] .builder-header,[data-theme=christmas] .builder-palette,[data-theme=christmas] .builder-properties,[data-theme=christmas] .blocks-container,[data-theme=christmas] .canvas-empty,[data-theme=retro] .builder-header,[data-theme=retro] .builder-palette,[data-theme=retro] .builder-properties,[data-theme=retro] .blocks-container,[data-theme=retro] .canvas-empty,[data-theme=gamer] .builder-header,[data-theme=gamer] .builder-palette,[data-theme=gamer] .builder-properties,[data-theme=gamer] .blocks-container,[data-theme=gamer] .canvas-empty,[data-theme=sentrac] .builder-header,[data-theme=sentrac] .builder-palette,[data-theme=sentrac] .builder-properties,[data-theme=sentrac] .blocks-container,[data-theme=sentrac] .canvas-empty{background:var(--card);border-color:var(--border)}[data-theme=dark] .builder-title h2,[data-theme=dark] .palette-label,[data-theme=dark] .block-type-label,[data-theme=dark] .canvas-empty h3,[data-theme=christmas] .builder-title h2,[data-theme=christmas] .palette-label,[data-theme=christmas] .block-type-label,[data-theme=christmas] .canvas-empty h3,[data-theme=retro] .builder-title h2,[data-theme=retro] .palette-label,[data-theme=retro] .block-type-label,[data-theme=retro] .canvas-empty h3,[data-theme=gamer] .builder-title h2,[data-theme=gamer] .palette-label,[data-theme=gamer] .block-type-label,[data-theme=gamer] .canvas-empty h3,[data-theme=sentrac] .builder-title h2,[data-theme=sentrac] .palette-label,[data-theme=sentrac] .block-type-label,[data-theme=sentrac] .canvas-empty h3{color:var(--text)}[data-theme=dark] .builder-subtitle,[data-theme=dark] .palette-icon,[data-theme=dark] .block-drag-handle,[data-theme=dark] .canvas-empty p,[data-theme=dark] .canvas-empty .empty-icon,[data-theme=christmas] .builder-subtitle,[data-theme=christmas] .palette-icon,[data-theme=christmas] .block-drag-handle,[data-theme=christmas] .canvas-empty p,[data-theme=christmas] .canvas-empty .empty-icon,[data-theme=retro] .builder-subtitle,[data-theme=retro] .palette-icon,[data-theme=retro] .block-drag-handle,[data-theme=retro] .canvas-empty p,[data-theme=retro] .canvas-empty .empty-icon,[data-theme=gamer] .builder-subtitle,[data-theme=gamer] .palette-icon,[data-theme=gamer] .block-drag-handle,[data-theme=gamer] .canvas-empty p,[data-theme=gamer] .canvas-empty .empty-icon,[data-theme=sentrac] .builder-subtitle,[data-theme=sentrac] .palette-icon,[data-theme=sentrac] .block-drag-handle,[data-theme=sentrac] .canvas-empty p,[data-theme=sentrac] .canvas-empty .empty-icon{color:var(--muted)}[data-theme=dark] .palette-item,[data-theme=dark] .block-toolbar,[data-theme=christmas] .palette-item,[data-theme=christmas] .block-toolbar,[data-theme=retro] .palette-item,[data-theme=retro] .block-toolbar,[data-theme=gamer] .palette-item,[data-theme=gamer] .block-toolbar,[data-theme=sentrac] .palette-item,[data-theme=sentrac] .block-toolbar{background:var(--bg-alt);border-color:var(--border)}[data-theme=dark] .builder-back-btn,[data-theme=christmas] .builder-back-btn,[data-theme=retro] .builder-back-btn,[data-theme=gamer] .builder-back-btn,[data-theme=sentrac] .builder-back-btn{background:var(--bg-alt);color:var(--text)}[data-theme=dark] .builder-canvas.preview-mode,[data-theme=christmas] .builder-canvas.preview-mode,[data-theme=retro] .builder-canvas.preview-mode,[data-theme=gamer] .builder-canvas.preview-mode,[data-theme=sentrac] .builder-canvas.preview-mode{background:var(--bg)}.builder-helper-panel{padding:24px;height:100%;overflow-y:auto;background:linear-gradient(180deg,var(--bg, #fff) 0%,var(--bg-secondary, #f8fafc) 100%)}.helper-header{display:flex;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0);margin-bottom:24px}.helper-header .helper-icon{width:28px;height:28px;color:var(--primary, #0066cc);opacity:.9}.helper-header h3{margin:0;font-size:16px;font-weight:600;color:var(--fg, #1e293b);letter-spacing:-.01em}.helper-section{margin-bottom:28px}.helper-section h4{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:13px;font-weight:600;color:var(--fg-muted, #64748b);text-transform:uppercase;letter-spacing:.04em}.helper-section h4 svg{width:16px;height:16px;opacity:.7}.helper-section ul{list-style:none;margin:0;padding:0}.helper-section li{position:relative;padding:10px 0 10px 20px;font-size:13px;color:var(--fg, #334155);border-bottom:1px solid var(--border-dim, rgba(226, 232, 240, .6));line-height:1.5}.helper-section li:last-child{border-bottom:none}.helper-section li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--primary, #0066cc);border-radius:50%;opacity:.5}.helper-section li strong{color:var(--fg, #1e293b);font-weight:600}.helper-section li code{display:inline-block;padding:2px 6px;background:#6366f11a;border-radius:4px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:11px;color:var(--primary, #6366f1)}[data-theme=dark] .builder-helper-panel,[data-theme=christmas] .builder-helper-panel,[data-theme=retro] .builder-helper-panel,[data-theme=gamer] .builder-helper-panel,[data-theme=sentrac] .builder-helper-panel{background:linear-gradient(180deg,var(--card, #1e293b) 0%,var(--bg-alt, #0f172a) 100%)}[data-theme=dark] .helper-header,[data-theme=christmas] .helper-header,[data-theme=retro] .helper-header,[data-theme=gamer] .helper-header,[data-theme=sentrac] .helper-header{border-color:var(--border, rgba(148, 163, 184, .2))}[data-theme=dark] .helper-header h3,[data-theme=dark] .helper-section li strong,[data-theme=christmas] .helper-header h3,[data-theme=christmas] .helper-section li strong,[data-theme=retro] .helper-header h3,[data-theme=retro] .helper-section li strong,[data-theme=gamer] .helper-header h3,[data-theme=gamer] .helper-section li strong,[data-theme=sentrac] .helper-header h3,[data-theme=sentrac] .helper-section li strong{color:var(--text, #e2e8f0)}[data-theme=dark] .helper-section h4,[data-theme=christmas] .helper-section h4,[data-theme=retro] .helper-section h4,[data-theme=gamer] .helper-section h4,[data-theme=sentrac] .helper-section h4{color:var(--muted, #94a3b8)}[data-theme=dark] .helper-section li,[data-theme=christmas] .helper-section li,[data-theme=retro] .helper-section li,[data-theme=gamer] .helper-section li,[data-theme=sentrac] .helper-section li{color:var(--muted, #94a3b8);border-color:var(--border, rgba(148, 163, 184, .15))}[data-theme=dark] .helper-section li code,[data-theme=christmas] .helper-section li code,[data-theme=retro] .helper-section li code,[data-theme=gamer] .helper-section li code,[data-theme=sentrac] .helper-section li code{background:#6366f133;color:#a5b4fc}.email-templates{padding:24px;max-width:1400px;margin:0 auto;background:var(--bg);min-height:100%}.email-templates-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--text-secondary)}.email-templates-header{margin-bottom:24px}.email-templates-header .header-nav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.email-templates-header .back-link{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--text-secondary);font-size:14px;cursor:pointer;padding:0;transition:color .15s}.email-templates-header .back-link:hover{color:var(--primary)}.email-templates-header .quick-link-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}.email-templates-header .quick-link-btn:hover{background:var(--bg-tertiary);color:var(--primary);border-color:var(--primary)}.email-templates-header h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.email-templates-header p{font-size:14px;color:var(--text-secondary);margin:0}.email-templates-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;min-height:calc(100vh - 200px)}@media (max-width: 900px){.email-templates-layout{grid-template-columns:1fr}}.template-list{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);padding:16px;overflow-y:auto;max-height:calc(100vh - 200px)}.template-category{margin-bottom:20px}.template-category:last-child{margin-bottom:0}.category-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:8px;padding:0 8px}.category-header svg{width:16px;height:16px;opacity:.7}.category-templates{display:flex;flex-direction:column;gap:4px}.template-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s;width:100%}.template-item:hover{background:var(--bg-hover)}.template-item.active{background:var(--primary-light)}.template-item.disabled{opacity:.5}.template-item-name{font-size:14px;font-weight:500;color:var(--text-primary)}.template-item.active .template-item-name{color:var(--primary)}.template-item-desc{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.no-templates{text-align:center;padding:40px 20px;color:var(--text-secondary)}.no-templates p{margin:0 0 8px}.no-templates small{font-size:12px;color:var(--text-tertiary)}.template-editor{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);padding:24px;min-height:500px}.no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;text-align:center;color:var(--text-tertiary)}.no-selection svg{margin-bottom:16px;opacity:.5}.no-selection h3{font-size:18px;font-weight:500;color:var(--text-secondary);margin:0 0 8px}.editor-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.editor-title h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.editor-title p{font-size:14px;color:var(--text-secondary);margin:0}.editor-actions{display:flex;gap:8px;flex-shrink:0}.editor-content{display:flex;flex-direction:column;gap:20px}.editor-field{display:flex;flex-direction:column;gap:8px}.editor-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.editor-field input,.editor-field textarea{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s,box-shadow .15s}.editor-field input:focus,.editor-field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.editor-field textarea{resize:vertical;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5}.field-preview{padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--text-primary)}.field-preview-html{line-height:1.6}.field-preview-html,.field-preview-html *{color:var(--text-primary)!important;background-color:transparent!important}.field-preview-html h1,.field-preview-html h2,.field-preview-html h3{margin-top:0}.field-preview-html p{margin:0 0 1em}.field-preview-html ul{margin:0 0 1em;padding-left:24px}.editor-variables{padding:16px;background:var(--bg-tertiary);border-radius:8px}.editor-variables label{font-size:13px;font-weight:500;color:var(--text-secondary);display:block;margin-bottom:4px}.editor-variables p{font-size:12px;color:var(--text-tertiary);margin:0 0 12px}.variables-list{display:flex;flex-wrap:wrap;gap:8px}.variable-chip{padding:6px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px;color:var(--primary);cursor:pointer;transition:all .15s}.variable-chip:hover{background:var(--primary-light);border-color:var(--primary)}.editor-status{display:flex;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.active{background:color-mix(in oklab,var(--success) 15%,transparent);color:var(--success)}.status-badge.inactive{background:var(--surface-soft);color:var(--muted)}.last-updated{font-size:12px;color:var(--text-tertiary)}.template-preview{display:flex;flex-direction:column;gap:20px}.preview-header{display:flex;justify-content:space-between;align-items:center}.preview-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.preview-email{background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.preview-subject{padding:16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:14px}.preview-subject strong{color:var(--text-secondary);margin-right:8px}.preview-body{padding:24px;color:var(--text-primary);line-height:1.6}.preview-body,.preview-body *{color:var(--text-primary)!important;background-color:transparent!important}.preview-body h1{font-size:24px;margin-top:0}.preview-body p{margin:0 0 1em}.preview-body a{color:var(--primary)!important}.preview-variables{padding:16px;background:var(--bg-tertiary);border-radius:8px}.preview-variables h4{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0 0 12px}.variables-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.variable-item{display:flex;align-items:center;gap:8px;font-size:13px}.variable-item code{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:11px;color:var(--primary)}.variable-item span{color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-settings{padding:24px;max-width:800px;margin:0 auto}.notification-settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:var(--fg-dim)}.notification-settings-header{margin-bottom:24px}.notification-settings-header h1{margin:0;font-size:24px;font-weight:600;color:var(--fg)}.notification-settings-header p{margin:6px 0 0;font-size:14px;color:var(--fg-dim)}.settings-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.settings-card h2{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:16px;font-weight:600;color:var(--fg)}.settings-card h2 svg{color:var(--accent)}.global-toggles{display:flex;flex-direction:column;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:24px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.toggle-info{display:flex;flex-direction:column;gap:2px}.toggle-info strong{font-size:14px;color:var(--fg)}.toggle-info small{font-size:13px;color:var(--fg-dim)}.toggle-switch{position:relative;width:48px;height:28px;background:var(--border);border:none;border-radius:14px;cursor:pointer;transition:background .2s;padding:0}.toggle-switch.active{background:var(--accent)}.toggle-slider{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-slider{transform:translate(20px)}.quiet-hours h3{margin:0 0 6px;font-size:14px;font-weight:600;color:var(--fg)}.quiet-hours>p{margin:0 0 16px;font-size:13px;color:var(--fg-dim)}.quiet-hours-inputs{display:flex;align-items:center;gap:16px}.time-input{display:flex;flex-direction:column;gap:6px}.time-input label{font-size:12px;color:var(--fg-dim)}.time-input input[type=time]{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:14px;color:var(--fg)}.time-input input[type=time]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.time-separator{padding-top:20px;color:var(--fg-dim);font-size:14px}.category-grid-header{display:grid;grid-template-columns:1fr 60px 60px 60px;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--border);margin-bottom:8px}.header-category{font-size:12px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px}.header-channel{font-size:11px;font-weight:600;color:var(--fg-dim);text-transform:uppercase;letter-spacing:.5px;text-align:center}.category-list{display:flex;flex-direction:column}.category-row{display:grid;grid-template-columns:1fr 60px 60px 60px;gap:8px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.category-row:last-child{border-bottom:none}.category-info{display:flex;align-items:center;gap:12px}.category-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface-soft);border-radius:8px;color:var(--fg-dim);flex-shrink:0}.category-text{display:flex;flex-direction:column;gap:2px}.category-text strong{font-size:14px;color:var(--fg)}.category-text small{font-size:12px;color:var(--fg-dim)}.channel-toggle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s;margin:0 auto;color:var(--fg-dim)}.channel-toggle:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.channel-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.channel-toggle:disabled{opacity:.4;cursor:not-allowed}.notification-settings-actions{display:flex;justify-content:flex-end;gap:12px}@media (max-width: 640px){.notification-settings{padding:16px}.category-grid-header{display:none}.category-row{grid-template-columns:1fr;gap:12px;padding:16px 0}.category-info{flex-direction:column;align-items:flex-start;gap:8px}.channel-toggle{margin:0}.category-row:after{content:"";display:grid;grid-template-columns:repeat(3,1fr);gap:8px;grid-column:1 / -1}.category-row{display:flex;flex-wrap:wrap;gap:8px}.category-info{width:100%}.quiet-hours-inputs{flex-direction:column;align-items:stretch;gap:12px}.time-separator{display:none}.notification-settings-actions{flex-direction:column}.notification-settings-actions button{width:100%}}.sound-settings-content{display:flex;flex-direction:column;gap:20px}.volume-control{padding-bottom:20px;border-bottom:1px solid var(--border)}.volume-control h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--fg)}.volume-control p{margin:0 0 12px;font-size:13px;color:var(--fg-dim)}.volume-slider-row{display:flex;align-items:center;gap:12px}.volume-slider-row input[type=range]{flex:1;height:6px;background:var(--border);border-radius:3px;appearance:none;cursor:pointer}.volume-slider-row input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 1px 4px #0003}.volume-slider-row input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 4px #0003}.volume-slider-row span{min-width:40px;text-align:right;font-size:14px;color:var(--fg-dim);font-weight:500}.sound-events-section h3{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--fg)}.sound-events-section>p{margin:0 0 16px;font-size:13px;color:var(--fg-dim)}.sound-events-list{display:flex;flex-direction:column;gap:0}.sound-event-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.sound-event-row:last-child{border-bottom:none}.event-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.event-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--surface-soft);border-radius:8px;color:var(--fg-dim);flex-shrink:0}.event-name{font-size:14px;color:var(--fg)}.event-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}.sound-test-btn{padding:6px 12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--fg-dim);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:4px}.sound-test-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.sound-test-btn svg{width:14px;height:14px}.toggle-switch.small{width:38px;height:22px;border-radius:11px}.toggle-switch.small .toggle-slider{width:16px;height:16px;top:3px;left:3px}.toggle-switch.small.active .toggle-slider{transform:translate(16px)}@media (max-width: 640px){.sound-event-row{flex-wrap:wrap;gap:10px}.event-info{width:100%}.event-controls{width:100%;justify-content:space-between;padding-left:42px}}.calendar-settings{max-width:800px;margin:0 auto;padding:24px}.calendar-settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--fg-dim, #a0a0a0)}.calendar-settings-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:32px}.calendar-settings-back{background:none;border:none;padding:8px;cursor:pointer;color:var(--fg-dim, #a0a0a0);border-radius:6px;transition:all .15s ease;margin-top:2px}.calendar-settings-back:hover{background:#ffffff0d;color:var(--fg, #ffffff)}.calendar-settings-title h1{font-size:1.5rem;font-weight:600;color:var(--fg, #ffffff);margin:0 0 4px}.calendar-settings-title p{font-size:.875rem;color:var(--fg-dim, #a0a0a0);margin:0}.calendar-settings-section{background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:12px;margin-bottom:20px;overflow:visible}.calendar-settings-section--disabled{opacity:.6;pointer-events:none}.calendar-settings-section-header{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08))}.calendar-settings-section-info{flex:1}.calendar-settings-section-info h2{font-size:1rem;font-weight:600;color:var(--fg, #ffffff);margin:0}.calendar-settings-section-info p{font-size:.8rem;color:var(--fg-dim, #a0a0a0);margin:2px 0 0}.calendar-settings-section-status{flex-shrink:0}.calendar-settings-section-content{padding:20px}.calendar-connect-prompt{text-align:center;padding:20px}.calendar-connect-prompt p{color:var(--fg-dim, #a0a0a0);margin:0 0 16px}.calendar-connect-prompt button{display:inline-flex;align-items:center;gap:8px}.calendar-not-configured{font-size:.8rem;color:var(--warning, #f59e0b);margin-top:12px!important}.calendar-connected-info{display:flex;flex-direction:column;gap:16px}.calendar-account{display:flex;align-items:center;gap:8px;color:var(--fg, #ffffff);font-size:.9rem}.calendar-account svg{color:var(--fg-dim, #a0a0a0)}.calendar-select-row{display:flex;align-items:center;gap:12px}.calendar-select-row label{font-size:.85rem;color:var(--fg-dim, #a0a0a0);white-space:nowrap}.calendar-select-row .dropdown{flex:1;max-width:300px}.calendar-selected{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--fg-dim, #a0a0a0);background:#3b82f61a;padding:8px 12px;border-radius:6px;border:1px solid rgba(59,130,246,.2)}.calendar-selected svg{color:var(--primary, #3b82f6)}.calendar-selected strong{color:var(--fg, #ffffff)}.calendar-disconnect-btn{align-self:flex-start;color:var(--danger, #ef4444)!important}.calendar-disconnect-btn:hover{background:#ef44441a!important}.calendar-prefs-group{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border, rgba(255, 255, 255, .08))}.calendar-prefs-group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.calendar-prefs-group h3{font-size:.9rem;font-weight:600;color:var(--fg, #ffffff);margin:0 0 4px}.calendar-prefs-description{font-size:.8rem;color:var(--fg-dim, #a0a0a0);margin:0 0 16px}.calendar-pref-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}.calendar-pref-row:not(:last-child){border-bottom:1px solid var(--border, rgba(255, 255, 255, .04))}.calendar-pref-label{display:flex;flex-direction:column;gap:2px}.calendar-pref-label>span:first-child{font-size:.9rem;color:var(--fg, #ffffff)}.calendar-pref-hint{font-size:.75rem;color:var(--fg-dim, #a0a0a0)}.calendar-prefs-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, rgba(255, 255, 255, .08))}@media (max-width: 640px){.calendar-settings{padding:16px}.calendar-settings-header{margin-bottom:24px}.calendar-settings-title h1{font-size:1.25rem}.calendar-settings-section-header{flex-wrap:wrap;gap:10px}.calendar-settings-section-status{width:100%;order:-1;margin-bottom:-4px}.calendar-select-row{flex-direction:column;align-items:stretch}.calendar-select-row .dropdown{max-width:none}}.processing-log{display:flex;flex-direction:column;gap:20px}.processing-log__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.processing-log__stat{display:flex;align-items:center;gap:12px;padding:16px;background:var(--card-bg);border:1px solid var(--border);border-radius:10px}.processing-log__stat--success{border-left:3px solid #10b981}.processing-log__stat--success svg{color:#10b981}.processing-log__stat--warning{border-left:3px solid #f59e0b}.processing-log__stat--warning svg{color:#f59e0b}.processing-log__stat--error{border-left:3px solid #ef4444}.processing-log__stat--error svg{color:#ef4444}.processing-log__stat-content{display:flex;flex-direction:column;gap:2px}.processing-log__stat-value{font-size:1.5rem;font-weight:600;line-height:1}.processing-log__stat-label{font-size:.75rem;color:var(--muted)}.processing-log__errors-alert{background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;overflow:hidden}.processing-log__errors-header{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44441a;font-weight:600;font-size:.875rem;color:#ef4444}.processing-log__errors-list{padding:8px 0}.processing-log__error-item{display:flex;align-items:center;gap:12px;padding:8px 14px;font-size:.8125rem}.processing-log__error-type{font-weight:500;min-width:100px;color:var(--fg)}.processing-log__error-message{flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.processing-log__error-time{font-size:.75rem;color:var(--muted);opacity:.7}.processing-log__filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.processing-log__filter-select{padding:8px 12px;font-size:.875rem;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;color:var(--fg);min-width:150px}.processing-log__filter-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.processing-log__loading,.processing-log__error,.processing-log__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--muted)}.processing-log__empty svg{opacity:.3}.processing-log__empty p{margin:0;font-size:.875rem;opacity:.7}.processing-log__spin{animation:processing-log-spin 1s linear infinite}@keyframes processing-log-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-log__entries{display:flex;flex-direction:column;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden}.processing-log__entry{background:var(--card-bg);cursor:pointer;transition:background .15s}.processing-log__entry:hover{background:var(--surface-hover, color-mix(in oklab, var(--card-bg) 95%, var(--fg)))}.processing-log__entry-main{display:flex;align-items:center;gap:12px;padding:12px 16px}.processing-log__entry-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:currentColor;background:color-mix(in oklab,currentColor 10%,transparent)}.processing-log__entry-content{flex:1;min-width:0}.processing-log__entry-header{display:flex;align-items:center;gap:8px;margin-bottom:2px}.processing-log__entry-type{font-weight:500;font-size:.875rem}.processing-log__entry-status{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:.6875rem;font-weight:500;text-transform:uppercase}.processing-log__entry-message{font-size:.8125rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.processing-log__entry-time{flex-shrink:0;font-size:.75rem;color:var(--muted);opacity:.7}.processing-log__entry-expand{flex-shrink:0;color:var(--muted);opacity:.5;transition:transform .2s}.processing-log__entry-details{padding:0 16px 12px 60px;border-top:1px solid var(--border);margin-top:-1px}.processing-log__entry-details pre{margin:8px 0 0;padding:12px;background:var(--bg);border-radius:6px;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}@media (max-width: 640px){.processing-log__filters{flex-direction:column;align-items:stretch}.processing-log__filter-select{width:100%}.processing-log__entry-main{flex-wrap:wrap}.processing-log__entry-time{width:100%;padding-left:44px;margin-top:4px}}.collaborators-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px}.header-content h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.header-content p{font-size:14px;color:var(--text-secondary);margin:0}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters-bar .search-input{flex:1;min-width:250px;max-width:400px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px}.filters-bar .search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.status-filter{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;min-width:140px}.status-filter:focus{outline:none;border-color:var(--primary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px;color:var(--text-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border)}.empty-state svg{margin-bottom:16px;opacity:.5;color:var(--text-tertiary)}.empty-state h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.access-denied h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.access-denied p{font-size:14px;color:var(--text-secondary);margin:0}.collaborator-email{display:flex;flex-direction:column;gap:2px}.collaborator-email .email-text{font-weight:500;color:var(--text-primary)}.collaborator-email .name-text{font-size:12px;color:var(--text-secondary)}.work-item-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:var(--bg-tertiary);border-radius:12px;font-size:13px;font-weight:500;color:var(--text-secondary)}.collaborator-details{display:flex;flex-direction:column;gap:24px}.details-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.details-info h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.details-info .email,.details-info .company{font-size:14px;color:var(--text-secondary);margin:0}.details-section{display:flex;flex-direction:column;gap:12px}.details-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase}.detail-item span{font-size:14px;color:var(--text-primary)}.work-items-list{display:flex;flex-direction:column;gap:8px}.work-item-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-tertiary);border-radius:8px}.work-item-info{display:flex;flex-direction:column;gap:2px}.work-item-title{font-size:14px;font-weight:500;color:var(--text-primary)}.work-item-status{font-size:12px;color:var(--text-secondary);text-transform:capitalize}.work-item-permissions{display:flex;gap:6px}.perm-badge{padding:2px 8px;background:var(--primary-light);color:var(--primary);border-radius:4px;font-size:11px;font-weight:500}.details-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.invite-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-field input[type=text],.form-field input[type=email]{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);font-size:14px}.form-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.field-hint{font-size:12px;color:var(--text-tertiary);margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 600px){.form-row{grid-template-columns:1fr}}.work-items-selector{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto;padding:12px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.work-item-checkbox{display:flex;align-items:flex-start;gap:10px;padding:8px;background:var(--bg);border-radius:6px;cursor:pointer;transition:background .15s}.work-item-checkbox:hover{background:var(--bg-hover)}.work-item-checkbox input[type=checkbox]{margin-top:2px;flex-shrink:0}.checkbox-content{display:flex;flex-direction:column;gap:2px}.checkbox-title{font-size:14px;font-weight:500;color:var(--text-primary)}.checkbox-meta{font-size:12px;color:var(--text-tertiary)}.loading-small{padding:20px;text-align:center;color:var(--text-secondary);font-size:14px}.no-work-items{padding:20px;text-align:center;color:var(--text-tertiary);font-size:14px;font-style:italic}.permissions-grid{display:flex;flex-wrap:wrap;gap:16px}.permission-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.permission-checkbox input[type=checkbox]{width:18px;height:18px}.permission-checkbox span{font-size:14px;color:var(--text-primary)}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--border)}.collaborator-portal{min-height:100vh;background:var(--bg);display:flex;flex-direction:column}.portal-loading,.portal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;text-align:center}.portal-loading .spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.portal-loading p,.portal-error p{margin:16px 0 0;color:var(--text-secondary);font-size:14px}.portal-error svg{color:var(--warning);margin-bottom:16px}.portal-error h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.portal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.portal-branding h1{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.welcome-text{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.portal-content{display:grid;grid-template-columns:320px 1fr;flex:1;overflow:hidden}@media (max-width: 768px){.portal-content{grid-template-columns:1fr}.work-items-list{border-bottom:1px solid var(--border);max-height:300px}.work-item-detail{min-height:50vh}}.work-items-list{background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px;overflow-y:auto}.work-items-list h2{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin:0 0 16px}.work-items-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.work-item-card{display:block;width:100%;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;text-align:left;cursor:pointer;transition:all .15s}.work-item-card:hover{border-color:var(--primary);box-shadow:0 2px 8px #0000001a}.work-item-card.active{border-color:var(--primary);background:var(--primary-light)}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item-id{font-size:12px;font-weight:500;color:var(--text-tertiary)}.item-title{font-size:14px;font-weight:500;color:var(--text-primary);margin:0 0 4px;line-height:1.4}.item-updated{font-size:12px;color:var(--text-tertiary)}.no-items{padding:40px 20px;text-align:center;color:var(--text-secondary)}.work-item-detail{padding:24px;overflow-y:auto;background:var(--bg)}.no-selection,.loading-detail{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;text-align:center;color:var(--text-tertiary)}.no-selection svg,.loading-detail svg{margin-bottom:16px;opacity:.5}.no-selection h3{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0 0 8px}.no-selection p{margin:0;font-size:14px}.detail-content{max-width:800px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--border);margin-bottom:20px}.detail-id{font-size:12px;font-weight:500;color:var(--text-tertiary);display:block;margin-bottom:4px}.detail-header h2{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.detail-section{margin-bottom:24px}.detail-section h4{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin:0 0 12px}.description-text{font-size:14px;line-height:1.6;color:var(--text-primary);margin:0;white-space:pre-wrap}.messages-list{display:flex;flex-direction:column;gap:12px}.message-item{padding:12px 16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border)}.message-item.from-me{background:var(--primary-light);border-color:var(--primary);margin-left:40px}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-author{font-size:13px;font-weight:500;color:var(--text-primary)}.message-time{font-size:11px;color:var(--text-tertiary)}.message-content{font-size:14px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap}.no-messages{font-size:14px;color:var(--text-tertiary);font-style:italic;margin:0}.add-comment{margin-top:16px;display:flex;flex-direction:column;gap:8px}.add-comment textarea{padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text-primary);font-family:inherit;font-size:14px;resize:vertical}.add-comment textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.add-comment button{align-self:flex-end}.files-list{display:flex;flex-direction:column;gap:8px}.file-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-primary)}.file-item svg{flex-shrink:0;color:var(--text-tertiary)}.public-download-page{min-height:100vh;background:linear-gradient(135deg,#1e293b,#0f172a);display:flex;align-items:center;justify-content:center;padding:40px 20px}.download-container{max-width:600px;width:100%;background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.download-header{text-align:center;padding:48px 32px 32px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff}.header-icon{font-size:48px;margin-bottom:16px}.download-header h1{margin:0 0 8px;font-size:28px;font-weight:700}.header-subtitle{margin:0;font-size:16px;opacity:.9;line-height:1.5}.primary-download{padding:32px;text-align:center;border-bottom:1px solid #e5e7eb}.primary-download h2{margin:0 0 20px;font-size:18px;font-weight:600;color:#374151}.download-btn{display:flex;align-items:center;gap:16px;padding:16px 24px;background:#10b981;color:#fff;text-decoration:none;border-radius:12px;font-size:16px;transition:all .2s;box-shadow:0 4px 12px #10b9814d}.download-btn:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.download-icon{font-size:32px}.download-text{flex:1;text-align:left}.download-text strong{display:block;font-size:18px}.download-text small{font-size:13px;opacity:.85}.download-arrow{font-size:24px;font-weight:700}.other-platforms{padding:24px 32px;border-bottom:1px solid #e5e7eb}.other-platforms h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.platform-grid{display:flex;gap:12px}.platform-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none;color:#374151;transition:all .2s}.platform-btn:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.platform-icon{font-size:24px}.platform-name{font-size:13px;font-weight:500}.instructions{padding:32px;border-bottom:1px solid #e5e7eb}.instructions h3{margin:0 0 20px;font-size:18px;font-weight:600;color:#111827}.steps-list{list-style:none;margin:0;padding:0}.steps-list li{display:flex;gap:16px;margin-bottom:20px}.steps-list li:last-child{margin-bottom:0}.step-number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;font-weight:600;font-size:14px;border-radius:50%}.step-content{flex:1}.step-content strong{display:block;font-size:15px;font-weight:600;color:#111827;margin-bottom:4px}.step-content p{margin:0;font-size:14px;color:#6b7280;line-height:1.5}.server-config{padding:32px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.server-config h3{margin:0 0 8px;font-size:18px;font-weight:600;color:#111827}.config-intro{margin:0 0 20px;font-size:14px;color:#6b7280}.config-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.config-field{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px}.config-field label{flex-shrink:0;width:100px;font-size:13px;font-weight:500;color:#6b7280}.config-field code{flex:1;font-family:ui-monospace,monospace;font-size:14px;color:#111827;word-break:break-all}.config-field .key-value{font-size:11px;line-height:1.4}.config-field .empty-value{color:#9ca3af;font-style:italic}.copy-config-btn{width:100%;padding:12px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.copy-config-btn:hover{background:#2563eb}.security-notice{display:flex;gap:16px;padding:24px 32px;background:#fef3c7;border-bottom:1px solid #fcd34d}.notice-icon{font-size:24px;flex-shrink:0}.notice-content strong{display:block;font-size:14px;font-weight:600;color:#92400e;margin-bottom:4px}.notice-content p{margin:0;font-size:13px;color:#a16207;line-height:1.5}.download-footer{padding:24px 32px;text-align:center}.download-footer p{margin:0 0 8px;font-size:14px;color:#6b7280}.download-footer .powered-by{font-size:12px;color:#9ca3af}.download-footer a{color:#3b82f6;text-decoration:none}.download-footer a:hover{text-decoration:underline}@media (max-width: 480px){.public-download-page{padding:20px 12px}.download-container{border-radius:12px}.download-header{padding:32px 24px 24px}.download-header h1{font-size:24px}.primary-download,.other-platforms,.instructions,.server-config{padding:24px}.download-btn{padding:14px 20px}.platform-grid{flex-direction:column}.config-field{flex-direction:column;align-items:flex-start;gap:4px}.config-field label{width:auto}}.floating-quick-actions{position:fixed;z-index:9999;user-select:none}.floating-quick-actions.dragging{cursor:grabbing}.fab-button{width:44px;height:44px;border-radius:50%;background:var(--accent);border:none;cursor:grab;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #0003,0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.fab-button:hover{transform:scale(1.08);box-shadow:0 5px 14px #00000040,0 3px 6px #00000026}.fab-button:active{transform:scale(.95);cursor:grabbing}.fab-button.expanded{background:var(--accent);transform:scale(1.08)}.fab-icon{color:#fff;font-size:22px;font-weight:300;line-height:1;transition:transform .3s ease}.fab-button.expanded .fab-icon{transform:rotate(45deg)}.fab-menu{position:absolute;left:0;min-width:200px;background:var(--bg-solid, var(--bg-card));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 8px 24px #00000040,0 4px 8px #00000026;border:1px solid var(--border);overflow:hidden;animation:fabMenuSlide .2s ease-out}[data-theme=dark] .fab-menu,[data-theme=glass] .fab-menu{background:#1e1e23fa}[data-theme=light] .fab-menu{background:#fffffffa}@media (prefers-color-scheme: dark){:root:not([data-theme]) .fab-menu{background:#1e1e23fa}}@media (prefers-color-scheme: light){:root:not([data-theme]) .fab-menu{background:#fffffffa}}@keyframes fabMenuSlide{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.fab-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background-color .15s ease;color:var(--fg);font-size:14px}.fab-menu-item:hover{background:var(--bg-hover)}.fab-menu-item:not(:last-child){border-bottom:1px solid var(--border-light, var(--border))}.fab-menu-item.fab-menu-config{border-top:1px solid var(--border);background:var(--bg-subtle, var(--bg));color:var(--fg-muted);font-size:13px}.fab-menu-icon{font-size:18px;width:24px;text-align:center}.fab-menu-label{flex:1}.fab-config-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease}.fab-config-modal{background:var(--bg-card);border-radius:16px;box-shadow:0 16px 48px #0000004d;width:90%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fab-config-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.fab-config-header h3{margin:0;font-size:18px;font-weight:600;color:var(--fg)}.fab-config-close{width:32px;height:32px;border-radius:50%;border:none;background:transparent;cursor:pointer;font-size:20px;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;transition:background-color .15s ease}.fab-config-close:hover{background:var(--bg-hover)}.fab-config-body{flex:1;overflow-y:auto;padding:16px 20px}.fab-config-hint{font-size:13px;color:var(--fg-muted);margin:0 0 16px}.fab-config-section{margin-bottom:20px}.fab-config-section:last-child{margin-bottom:0}.fab-config-section h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--fg-muted);margin:0 0 12px}.fab-config-empty{font-size:14px;color:var(--fg-muted);font-style:italic;padding:12px;text-align:center;background:var(--bg-subtle, var(--bg));border-radius:8px}.fab-config-list{display:flex;flex-direction:column;gap:8px}.fab-config-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all .15s ease}.fab-config-item:hover:not(.disabled){border-color:var(--accent);background:var(--bg-hover)}.fab-config-item.active{background:var(--accent-bg, rgba(130, 36, 227, .1));border-color:var(--accent)}.fab-config-item.disabled{opacity:.5;cursor:not-allowed}.fab-config-item-icon{font-size:18px;width:24px;text-align:center}.fab-config-item-label{flex:1;font-size:14px;color:var(--fg)}.fab-config-item-actions{display:flex;gap:4px}.fab-config-item-actions button{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;font-size:14px;color:var(--fg-muted);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.fab-config-item-actions button:hover:not(:disabled){background:var(--bg-hover);color:var(--fg)}.fab-config-item-actions button:disabled{opacity:.4;cursor:not-allowed}.fab-config-item-actions button.remove{color:var(--danger, #ef4444)}.fab-config-item-actions button.remove:hover{background:#ef44441a;border-color:var(--danger, #ef4444)}.fab-config-item button.add{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);cursor:pointer;font-size:16px;color:var(--accent);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.fab-config-item button.add:hover:not(:disabled){background:var(--accent-bg, rgba(130, 36, 227, .1));border-color:var(--accent)}.fab-config-item button.add:disabled{opacity:.4;cursor:not-allowed}.fab-config-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border);justify-content:flex-end}.fab-config-cancel,.fab-config-save{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.fab-config-cancel{background:transparent;border:1px solid var(--border);color:var(--fg)}.fab-config-cancel:hover{background:var(--bg-hover)}.fab-config-save{background:var(--accent);border:none;color:#fff}.fab-config-save:hover{filter:brightness(1.1)}@media (max-width: 768px){.fab-button{width:40px;height:40px}.fab-icon{font-size:20px}.fab-menu{min-width:180px}.fab-config-modal{width:95%;max-height:85vh}}.voice-modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.voice-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:400px;background:var(--card);border-radius:16px;box-shadow:0 20px 60px #0000004d;z-index:10000;animation:slideUp .3s ease;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.voice-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.voice-modal-title{display:flex;align-items:center;gap:10px;font-size:1.125rem;font-weight:600;color:var(--text)}.voice-modal-title svg{width:22px;height:22px;color:var(--accent)}.voice-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:2px 6px;background:var(--accent);color:#fff;border-radius:4px;margin-left:8px}.voice-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--muted);transition:all .15s ease}.voice-modal-close:hover{background:var(--bg-alt);color:var(--text)}.voice-modal-close svg{width:18px;height:18px}.voice-modal-body{padding:24px 20px;min-height:200px}.voice-error{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem;margin-bottom:16px}.voice-error svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.quick-task-input{margin-bottom:16px}.quick-task-textarea{width:100%;padding:14px;background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:1rem;line-height:1.5;color:var(--text);resize:vertical;min-height:80px;transition:border-color .15s ease}.quick-task-textarea:focus{outline:none;border-color:var(--accent)}.quick-task-textarea::placeholder{color:var(--muted);opacity:.7}.quick-task-interim{margin-top:8px;padding:10px 14px;background:#ef444414;border-left:3px solid #ef4444;border-radius:0 8px 8px 0;font-size:.9375rem;font-style:italic;color:var(--muted)}.quick-task-voice{display:flex;justify-content:center;margin-bottom:16px}.quick-task-mic{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;background:var(--bg-alt);border:1px solid var(--border);border-radius:24px;font-size:.875rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.quick-task-mic:hover{background:var(--bg);border-color:var(--accent);color:var(--accent)}.quick-task-mic svg{width:18px;height:18px}.quick-task-mic.is-listening{background:#ef4444;border-color:#ef4444;color:#fff}.quick-task-mic.is-listening:hover{background:#dc2626;border-color:#dc2626;color:#fff}.voice-pulse-small{position:relative;width:10px;height:10px;background:#fff;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.voice-pulse-small:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;background:#fff;border-radius:50%;animation:pulse-ring 1.5s ease-in-out infinite}.voice-idle{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}.voice-hint{font-size:1rem;color:var(--muted);margin:0}.voice-subhint{font-size:.8125rem;color:var(--muted);margin:0;opacity:.8}.voice-start-btn{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));border:none;border-radius:50%;cursor:pointer;box-shadow:0 8px 24px rgba(var(--accent-rgb),.4);transition:all .2s ease}.voice-start-btn:hover{transform:scale(1.05);box-shadow:0 12px 32px rgba(var(--accent-rgb),.5)}.voice-start-btn:active{transform:scale(.98)}.voice-mic-icon{display:flex;align-items:center;justify-content:center}.voice-mic-icon svg{width:36px;height:36px;color:#fff}.voice-listening{display:flex;flex-direction:column;align-items:center;gap:20px}.voice-indicator{display:flex;align-items:center;gap:10px}.voice-pulse{position:relative;width:16px;height:16px;background:#ef4444;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.voice-pulse:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;background:#ef4444;border-radius:50%;animation:pulse-ring 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-ring{0%{width:100%;height:100%;opacity:1}to{width:200%;height:200%;opacity:0}}.voice-status{font-size:1rem;font-weight:500;color:#ef4444}.voice-transcript{width:100%;min-height:80px;padding:16px;background:var(--bg-alt);border-radius:12px;border:1px solid var(--border);font-size:.9375rem;line-height:1.5;color:var(--text)}.voice-final{color:var(--text)}.voice-interim{color:var(--muted);font-style:italic}.voice-placeholder{color:var(--muted);opacity:.6}.voice-stop-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#ef4444;border:none;border-radius:10px;color:#fff;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.voice-stop-btn:hover{background:#dc2626}.voice-stop-btn svg{width:16px;height:16px}.voice-review{display:flex;flex-direction:column;gap:16px}.voice-transcript-box{display:flex;flex-direction:column;gap:8px}.voice-transcript-box label{font-size:.8125rem;font-weight:500;color:var(--muted)}.voice-transcript-box textarea{width:100%;padding:12px;background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.9375rem;line-height:1.5;color:var(--text);resize:vertical;min-height:80px}.voice-transcript-box textarea:focus{outline:none;border-color:var(--accent)}.voice-audio-option{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--bg-alt);border-radius:10px;border:1px solid var(--border)}.voice-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.voice-toggle input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.voice-toggle-label{font-size:.875rem;color:var(--text)}.voice-audio-preview{width:100%;height:40px;border-radius:8px}.voice-note{font-size:.8125rem;color:var(--muted);margin:0;text-align:center}.voice-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border);background:var(--bg-alt)}.voice-btn{padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn.secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.voice-btn.secondary:hover:not(:disabled){background:var(--bg-alt)}.voice-btn.primary{background:var(--accent);color:#fff}.voice-btn.primary:hover:not(:disabled){background:var(--accent-hover)}@media (max-width: 480px){.voice-modal{top:10%;transform:translate(-50%);width:95%;max-width:none;max-height:80vh;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%)}}.voice-modal-body{padding:20px 16px;min-height:auto}.voice-start-btn{width:70px;height:70px}.voice-mic-icon svg{width:30px;height:30px}.quick-task-textarea{min-height:60px}.quick-task-voice{margin-bottom:10px}.voice-note{margin-bottom:0;font-size:.75rem}}.platform-admin-shell{--platform-admin-accent-soft: color-mix(in srgb, var(--accent) 35%, transparent);display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--app-background, var(--bg));color:var(--fg)}@media (max-width: 1100px){.platform-admin-shell{grid-template-columns:1fr}}.platform-admin-shell__nav{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:24px;padding:32px 24px 40px;border-right:1px solid var(--border);background:linear-gradient(180deg,#222831d9,#222831f2);color:#ffffffdb;backdrop-filter:blur(14px)}@media (max-width: 1100px){.platform-admin-shell__nav{position:relative;border-right:none}}.platform-admin-shell__brand{display:flex;align-items:center;gap:14px}.platform-admin-shell__brand-badge{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#ffffff1f;font-weight:700;letter-spacing:.08em}.platform-admin-shell__brand-label{margin:0;font-size:18px;font-weight:600}.platform-admin-shell__brand-subtitle{margin:3px 0 0;font-size:13px;opacity:.72}.platform-admin-shell__nav-list{display:flex;flex-direction:column;gap:8px}.platform-admin-shell__nav-item{display:grid;grid-template-columns:24px 1fr 10px;align-items:center;gap:16px;padding:14px 16px;border:1px solid transparent;border-radius:14px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.platform-admin-shell__nav-item:hover{background:#ffffff14;border-color:#ffffff1f}.platform-admin-shell__nav-item.is-active{background:#ffffff1f;border-color:#ffffff47;box-shadow:inset 0 0 0 1px #ffffff2e}.platform-admin-shell__nav-icon{display:flex;align-items:center;justify-content:center;font-size:18px;opacity:.8}.platform-admin-shell__nav-label{display:block;font-size:15px;font-weight:600}.platform-admin-shell__nav-desc{display:block;margin-top:4px;font-size:12px;opacity:.68}.platform-admin-shell__nav-indicator{width:3px;height:24px;border-radius:999px;background:transparent}.platform-admin-shell__nav-item.is-active .platform-admin-shell__nav-indicator{background:linear-gradient(180deg,var(--accent) 0%,var(--platform-admin-accent-soft) 100%)}.platform-admin-shell__main{display:flex;flex-direction:column;padding:36px clamp(24px,4vw,48px);gap:28px;background:var(--bg)}.platform-admin-shell__header{display:flex;align-items:center;justify-content:space-between;gap:20px}.platform-admin-shell__header h1{margin:0 0 6px;font-size:clamp(26px,2.6vw,34px);font-weight:650;letter-spacing:-.01em;color:var(--fg)}.platform-admin-shell__header p{margin:0;font-size:15px;color:var(--fg-dim)}.platform-admin-shell__header-actions{display:flex;gap:12px;align-items:center}.platform-admin-shell__tenant-dropdown{position:relative}.platform-admin-shell__tenant-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface-soft, rgba(255, 255, 255, .04));cursor:pointer;transition:all .15s ease}.platform-admin-shell__tenant-pill:hover{border-color:var(--primary);background:var(--bg-hover, rgba(0, 0, 0, .02))}.platform-admin-shell__tenant-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted, var(--fg-dim))}.platform-admin-shell__tenant-value{font-size:13px;font-weight:600;color:var(--fg);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-admin-shell__tenant-chevron{width:16px;height:16px;opacity:.5;flex-shrink:0}.platform-admin-shell__tenant-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:280px;max-height:360px;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden}.platform-admin-shell__tenant-menu-header{padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim);border-bottom:1px solid var(--border);background:var(--bg-secondary, #f8f9fa)}.platform-admin-shell__tenant-menu-list{max-height:300px;overflow-y:auto}.platform-admin-shell__tenant-menu-empty{padding:24px 16px;text-align:center;color:var(--fg-dim);font-size:13px}.platform-admin-shell__tenant-menu-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:12px 16px;border:none;background:transparent;text-align:left;cursor:pointer;transition:background .1s ease;position:relative}.platform-admin-shell__tenant-menu-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.platform-admin-shell__tenant-menu-item.is-selected{background:var(--primary-alpha, rgba(37, 99, 235, .08))}.platform-admin-shell__tenant-menu-name{font-size:14px;font-weight:500;color:var(--fg)}.platform-admin-shell__tenant-menu-key{font-size:12px;color:var(--fg-dim);font-family:monospace}.platform-admin-shell__tenant-menu-check{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--primary)}.platform-admin-shell__user-dropdown{position:relative}.platform-admin-shell__user-button{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer}.platform-admin-shell__user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;transition:transform .15s ease,box-shadow .15s ease}.platform-admin-shell__user-button:hover .platform-admin-shell__user-avatar{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.platform-admin-shell__user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:100;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 24px #00000026;overflow:hidden}.platform-admin-shell__user-menu-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border)}.platform-admin-shell__user-menu-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;flex-shrink:0}.platform-admin-shell__user-menu-info{min-width:0}.platform-admin-shell__user-menu-name{font-size:14px;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-admin-shell__user-menu-role{font-size:12px;color:var(--fg-dim);text-transform:capitalize}.platform-admin-shell__user-menu-divider{height:1px;background:var(--border);margin:0}.platform-admin-shell__user-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;text-align:left;cursor:pointer;color:var(--fg);font-size:14px;transition:background .1s ease}.platform-admin-shell__user-menu-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.platform-admin-shell__user-menu-item svg{width:18px;height:18px;opacity:.7}.platform-admin-shell__user-menu-item--logout{color:var(--error, #dc2626)}.platform-admin-shell__user-menu-item--logout:hover{background:#dc262614}.platform-admin-shell__content{display:grid;gap:24px}.platform-admin-shell__content>.card,.platform-admin-shell__content .platform-admin-card{border-radius:18px;border:1px solid var(--border);background:var(--card-bg, var(--surface));padding:clamp(20px,2vw,28px);box-shadow:var(--shadow-md, 0px 18px 36px rgba(15, 23, 42, .08))}@media (max-width: 1100px){.platform-admin-shell__header{flex-direction:column;align-items:flex-start}.platform-admin-shell__nav-item{grid-template-columns:20px 1fr;grid-template-rows:auto auto}.platform-admin-shell__nav-indicator{display:none}}.platform-admin-metric{display:grid;gap:6px;padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft, rgba(255, 255, 255, .04))}.platform-admin-metric__label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted, var(--fg-dim))}.platform-admin-metric__value{font-size:24px;font-weight:650;color:var(--fg)}.platform-admin-overview{display:grid;gap:24px}.overview-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.overview-hero h2{margin:0 0 6px;font-size:24px;font-weight:600}.overview-hero p{margin:0;font-size:14px;color:var(--fg-dim)}.overview-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.overview-metrics{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.platform-admin-metric__sublabel{margin-top:4px;font-size:12px;color:var(--fg-muted, var(--fg-dim))}.overview-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.overview-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.overview-card-header h3{margin:0;font-size:18px;font-weight:600}.overview-card-header span{font-size:13px;color:var(--fg-muted, var(--fg-dim))}.overview-list ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:16px}.overview-list li{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.overview-list strong{display:block;font-size:15px;font-weight:600}.overview-tenant-key{display:block;font-size:12px;color:var(--fg-muted, var(--fg-dim));letter-spacing:.05em;text-transform:uppercase}.overview-tenant-meta{display:grid;text-align:right;gap:4px;font-size:13px;color:var(--fg-dim)}.overview-modules{display:grid;gap:16px}.overview-module-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.overview-module-chip{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft, rgba(255, 255, 255, .02))}.overview-module-label{font-size:14px;font-weight:600}.overview-module-count{font-size:14px;color:var(--fg-muted, var(--fg-dim))}.overview-empty-text{margin:0;font-size:13px;color:var(--fg-muted, var(--fg-dim))}.overview-checklist ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}.overview-checklist li{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--fg)}.overview-checklist svg{width:18px;height:18px;color:var(--fg-muted, var(--fg-dim))}.overview-loading{display:flex;justify-content:center;padding:24px 0}.platform-admin-tenants{display:grid;gap:24px}.platform-admin-tenants__metrics{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.platform-admin-tenants__layout{display:grid;gap:24px;grid-template-columns:minmax(0,2.5fr) minmax(0,1.5fr)}@media (max-width: 1100px){.platform-admin-tenants__layout{grid-template-columns:1fr}}.tenants-header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}.tenants-header h2{margin:0 0 6px;font-size:20px;font-weight:600}.tenants-header p{margin:0;font-size:14px;color:var(--fg-dim)}.tenants-header__actions{display:flex;gap:12px;flex-wrap:wrap}.toolbar-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:8px}.toolbar-icon svg{width:16px;height:16px}.tenants-error{padding:24px 16px}.tenant-cell{display:grid;gap:4px}.tenant-cell__name{font-weight:600;color:var(--fg)}.tenant-cell__key{font-size:12px;color:var(--fg-muted, var(--fg-dim));letter-spacing:.04em;text-transform:uppercase}.tenant-cell__module,.tenant-cell__users,.tenant-cell__created{font-size:14px;color:var(--fg)}.tenant-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.tenant-status--active{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.tenant-status--inactive{background:#e30a171f;color:#e30a17}.tenants-detail{position:sticky;top:32px;align-self:start;display:grid;gap:20px}@media (max-width: 1100px){.tenants-detail{position:static}}.tenant-detail{display:grid;gap:20px}.tenant-detail__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tenant-detail__card{display:grid;gap:16px;padding:18px;border-radius:16px;border:1px solid var(--border);background:var(--surface, rgba(255, 255, 255, .02))}.tenant-detail__card-header h4{margin:0 0 6px;font-size:16px;font-weight:600}.tenant-detail__card-header p{margin:0;font-size:13px;color:var(--fg-dim);line-height:1.5}.tenant-detail__form{display:grid;gap:14px}.tenant-detail__form .sqr-btn{justify-content:center}.tenant-detail__select{display:grid;gap:6px}.tenant-detail__select select.form-input{width:100%}.tenant-detail__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.tenant-detail__heading h3{margin:0 0 4px;font-size:22px;font-weight:600}.tenant-detail__key{font-size:13px;color:var(--fg-muted, var(--fg-dim));letter-spacing:.05em;text-transform:uppercase}.tenant-detail__stats{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:16px;border-radius:14px;border:1px solid var(--border);background:var(--surface-soft, rgba(255, 255, 255, .02))}.tenant-detail__label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted, var(--fg-dim))}.tenant-detail__value{font-size:16px;font-weight:600;color:var(--fg)}.tenant-detail__actions{display:flex;gap:12px;flex-wrap:wrap}.tenant-detail__notes h4{margin:0 0 12px;font-size:14px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted, var(--fg-dim))}.tenant-detail__notes ul{margin:0;padding-left:20px;color:var(--fg-dim);line-height:1.6;font-size:14px}.tenant-modal-body{display:grid;gap:16px}.tenant-modal-field{display:grid;gap:6px}.tenant-modal-hint{margin:0;font-size:12px;color:var(--fg-muted, var(--fg-dim))}.tenant-modal-error{padding:12px 14px;border-radius:12px;background:#ef44441f;color:#b91c1c;font-size:13px}.platform-admin-modules{display:grid;gap:24px}.modules-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;flex-wrap:wrap}.modules-header h2{margin:0 0 8px;font-size:22px;font-weight:600}.modules-header p{margin:0;font-size:14px;color:var(--fg-dim)}.modules-header__meta{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.modules-header__label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted, var(--fg-dim))}.modules-header__value{display:block;margin-top:4px;font-size:15px;font-weight:600;color:var(--fg)}.modules-section{display:grid;gap:24px}.modules-section__header h3{margin:0 0 6px;font-size:18px;font-weight:600}.modules-section__header p{margin:0;font-size:14px;color:var(--fg-dim)}.modules-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.module-card{display:grid;gap:16px;padding:20px;border-radius:16px;border:1px solid var(--border);background:var(--surface, rgba(255, 255, 255, .02));box-shadow:var(--shadow-sm, 0 12px 24px rgba(15, 23, 42, .04))}.module-card__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.module-card__header h4{margin:0 0 6px;font-size:16px;font-weight:600}.module-card__description{margin:0;font-size:14px;color:var(--fg-dim);line-height:1.6}.module-card__footer{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.module-card__tag{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);font-size:13px;font-weight:600}.module-card__tag svg{width:14px;height:14px}.module-status{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:#94a3b829;color:var(--fg-muted, var(--fg-dim))}.module-status--beta{background:#2563eb1f;color:var(--accent)}.module-status--alpha{background:#f973162e;color:#ea580c}.module-status--deprecated{background:#ef444426;color:#dc2626}.modules-loading{display:flex;justify-content:center;align-items:center;min-height:280px}.platform-admin-security{display:grid;gap:24px}.security-seed-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.security-seed-header h2{margin:0 0 6px;font-size:22px;font-weight:600}.security-seed-header p{margin:0;font-size:14px;color:var(--fg-dim)}.security-seed-meta{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.security-label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted, var(--fg-dim))}.security-value{display:block;margin-top:4px;font-size:15px;font-weight:600;color:var(--fg)}.security-seed-form{display:grid;gap:24px}.security-form-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.security-locations{display:grid;gap:10px}.security-locations textarea.form-textarea{width:100%;resize:vertical}.security-locations__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--fg-dim)}.security-actions{display:flex;gap:12px;flex-wrap:wrap}.security-actions .sqr-btn{min-width:200px}.platform-admin-users{display:grid;gap:24px}.users-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}.users-header h2{margin:0 0 6px;font-size:20px;font-weight:600}.users-header p{margin:0;font-size:14px;color:var(--fg-dim)}.users-header__actions{display:flex;gap:12px;flex-wrap:wrap}.users-error{padding:24px 16px}.users-cell{display:grid;gap:4px}.users-cell__email{font-weight:600;color:var(--fg)}.users-cell__id{font-size:12px;color:var(--fg-muted, var(--fg-dim));letter-spacing:.04em;text-transform:uppercase}.users-cell__role,.users-cell__created{font-size:14px;color:var(--fg)}.user-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.user-status--inactive{background:#ef444424;color:#dc2626}.user-status--active{background:#22c55e24;color:#15803d}.user-status--pending{background:#eab3082e;color:#b45309}.platform-admin-platform-users{display:grid;gap:24px}.platform-users__header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.platform-users__header h2{margin:0;font-size:22px;font-weight:600}.platform-users__header p{margin:8px 0 0;color:var(--fg-dim);max-width:56ch}.platform-users__create{display:grid;gap:16px}.platform-users__create-fields{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.platform-users__create-fields label{display:block;font-weight:600;margin-bottom:6px;color:var(--fg-secondary)}.platform-users__create-fields input,.platform-users__create-fields select{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:var(--surface-soft);color:var(--fg)}.platform-users__create-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--fg-secondary);font-size:14px}.platform-users__email{display:flex;flex-direction:column;gap:4px}.platform-users__email span:first-child{font-weight:600}.platform-users__id{font-size:12px;color:var(--fg-dim);font-family:var(--font-mono, "Fira Mono", monospace)}.platform-users__role{font-weight:500;text-transform:uppercase;font-size:13px}.platform-users__status{font-weight:600;font-size:13px;padding:4px 8px;border-radius:999px;text-transform:capitalize}.platform-users__status--active{background:#10b9811f;color:#047857}.platform-users__status--disabled{background:#ef44441f;color:#b91c1c}.platform-users__created{color:var(--fg-dim);font-size:13px}.platform-users__error{padding:24px 0}@media (max-width: 768px){.platform-users__header,.platform-users__create-actions{flex-direction:column;align-items:stretch}}.platform-admin-placeholder{display:grid;gap:16px;background:var(--card-bg, var(--surface));border:1px dashed var(--border);border-radius:18px;padding:clamp(20px,2vw,28px);text-align:left}.platform-admin-placeholder h2{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--fg)}.platform-admin-placeholder p{margin:0;font-size:14px;color:var(--fg-dim);line-height:1.6}.platform-admin-placeholder__actions{display:flex;gap:12px;flex-wrap:wrap}.platform-settings-page{padding:24px;max-width:1200px;margin:0 auto}.platform-settings-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;min-height:500px}.category-sidebar{display:flex;flex-direction:column;gap:4px;background:var(--bg-secondary, #f8f9fa);border-radius:12px;padding:12px;height:fit-content}.category-button{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--fg, #333)}.category-button:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.category-button.active{background:var(--primary, #2563eb);color:#fff}.category-icon{width:20px;height:20px;flex-shrink:0;color:var(--fg-dim, #666)}.category-icon svg{width:100%;height:100%}.category-button.active .category-icon{color:#fff}.category-label{flex:1;font-size:14px;font-weight:500}.settings-panel{background:var(--bg-secondary, #f8f9fa);border-radius:12px;padding:24px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border, #e5e7eb)}.panel-header h2{font-size:18px;font-weight:600;color:var(--fg, #333);margin:0 0 4px}.panel-header p{font-size:14px;color:var(--fg-dim, #666);margin:0}.settings-list{display:flex;flex-direction:column;gap:16px}.setting-item{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px;background:var(--bg, white);border-radius:8px;border:1px solid var(--border, #e5e7eb)}.setting-info{display:flex;flex-direction:column;gap:4px}.setting-key{font-size:14px;font-weight:500;color:var(--fg, #333);display:flex;align-items:center;gap:8px}.secret-badge{font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 6px;background:var(--warning-bg, #fef3c7);color:var(--warning, #d97706);border-radius:4px}.setting-description{font-size:13px;color:var(--fg-dim, #666)}.setting-value{display:flex;align-items:center;justify-content:flex-end}.value-row{display:flex;align-items:center;gap:12px}.value-row code{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:13px;padding:6px 12px;background:var(--bg-tertiary, #f1f3f4);border-radius:6px;color:var(--fg, #333);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.value-row code.empty{color:var(--fg-dim, #999);font-style:italic}.edit-row{display:flex;align-items:center;gap:8px;width:100%}.edit-row input{flex:1;padding:8px 12px;border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:13px;font-family:SF Mono,Monaco,Inconsolata,monospace;background:var(--bg, white);color:var(--fg, #333)}.edit-row input:focus{outline:none;border-color:var(--primary, #2563eb);box-shadow:0 0 0 3px var(--primary-alpha, rgba(37, 99, 235, .1))}.email-settings-panel{display:flex;flex-direction:column;gap:24px}.email-provider-selector{background:var(--bg, white);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px}.provider-header{margin-bottom:16px}.provider-header h3{font-size:15px;font-weight:600;color:var(--fg, #333);margin:0 0 4px}.provider-header p{font-size:13px;color:var(--fg-dim, #666);margin:0}.provider-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.provider-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-secondary, #f8f9fa);border:2px solid var(--border, #e5e7eb);border-radius:10px;cursor:pointer;text-align:left;transition:all .2s ease}.provider-card:hover{border-color:var(--primary-alpha, rgba(37, 99, 235, .3));background:var(--bg-hover, rgba(37, 99, 235, .02))}.provider-card.active{border-color:var(--primary, #2563eb);background:var(--primary-alpha, rgba(37, 99, 235, .05))}.provider-card-header{display:flex;align-items:center;gap:10px}.provider-icon{width:24px;height:24px;color:var(--fg-dim, #666)}.provider-icon svg{width:100%;height:100%}.provider-card.active .provider-icon{color:var(--primary, #2563eb)}.provider-name{font-size:15px;font-weight:600;color:var(--fg, #333)}.active-indicator{margin-left:auto;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--primary, #2563eb);color:#fff;border-radius:50%}.active-indicator svg{width:14px;height:14px}.provider-description{font-size:13px;color:var(--fg-dim, #666);margin:0;line-height:1.4}.provider-status{display:flex;gap:8px;flex-wrap:wrap}.provider-settings-section{background:var(--bg, white);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px}.provider-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border, #e5e7eb)}.provider-settings-header h3{font-size:15px;font-weight:600;color:var(--fg, #333);margin:0}.inactive-provider-section{background:var(--bg-tertiary, #f1f3f4);border:1px dashed var(--border, #e5e7eb);border-radius:10px;padding:16px 20px;opacity:.7}.inactive-provider-header{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--fg-dim, #666)}.inactive-provider-icon{width:20px;height:20px;color:var(--fg-dim, #666)}.inactive-provider-icon svg{width:100%;height:100%}.inactive-label{margin-left:auto;font-size:12px;font-weight:500;text-transform:uppercase;color:var(--fg-dim, #999);background:var(--bg-secondary, #f0f0f0);padding:2px 8px;border-radius:4px}.ai-settings-panel{display:flex;flex-direction:column;gap:24px}.ai-provider-selector{background:var(--bg, white);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px}.ai-icon svg{width:18px;height:18px}@media (max-width: 900px){.platform-settings-layout,.provider-cards{grid-template-columns:1fr}.category-sidebar{flex-direction:row;flex-wrap:wrap;justify-content:center}.category-button{flex-direction:column;padding:12px;min-width:80px}.category-label{font-size:12px;text-align:center}.setting-item{grid-template-columns:1fr}.setting-value{justify-content:flex-start}}@media (max-width: 600px){.platform-settings-page,.settings-panel{padding:16px}.panel-header{flex-direction:column;gap:12px}.value-row{flex-direction:column;align-items:flex-start;gap:8px}.value-row code{max-width:100%}.edit-row{flex-direction:column}.edit-row input{width:100%}}.platform-ai-usage{padding:0;max-width:1200px}.platform-ai-loading,.platform-ai-error{display:flex;align-items:center;justify-content:center;gap:16px;padding:80px 24px;color:var(--fg-dim, #888)}.error-card{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--danger, #ef4444)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.header-content h1{font-size:22px;font-weight:600;margin:0 0 4px;color:var(--fg, #111)}.header-content p{font-size:14px;color:var(--fg-dim, #666);margin:0}.refresh-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:6px;font-size:13px;font-weight:500;color:var(--fg-dim, #666);cursor:pointer;transition:all .15s}.refresh-btn:hover{border-color:var(--border-hover, #d1d5db);color:var(--fg, #111)}.header-actions{display:flex;align-items:center;gap:12px}.period-selector{display:flex;background:var(--bg, #f8f9fa);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:3px;gap:2px}.period-btn{padding:6px 12px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:var(--fg-dim, #666);cursor:pointer;transition:all .15s;white-space:nowrap}.period-btn:hover{color:var(--fg, #111);background:var(--card, #fff)}.period-btn.active{background:var(--card, #fff);color:var(--fg, #111);box-shadow:0 1px 3px #00000014}@media (max-width: 768px){.header-actions{flex-direction:column;align-items:stretch;gap:8px}.period-selector{overflow-x:auto;-webkit-overflow-scrolling:touch}.page-header{flex-direction:column;gap:16px}}.ai-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.ai-metric-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;position:relative}.ai-metric-card.primary{background:linear-gradient(135deg,#8b5cf614,#3b82f614);border-color:#8b5cf640}.metric-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#8b5cf61f;color:#8b5cf6;flex-shrink:0}.metric-icon svg{width:24px;height:24px}.metric-icon.blue{background:#3b82f61f;color:#3b82f6}.metric-icon.green{background:#10b9811f;color:#10b981}.metric-icon.orange{background:#f59e0b1f;color:#f59e0b}.metric-content{flex:1;min-width:0}.metric-value{font-size:26px;font-weight:700;color:var(--fg, #111);line-height:1.2;font-variant-numeric:tabular-nums}.metric-label{font-size:13px;color:var(--fg-dim, #666);margin-top:2px}.metric-trend{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:2px;padding:4px 8px;border-radius:20px;font-size:12px;font-weight:600}.metric-trend svg{width:14px;height:14px}.metric-trend.up{background:#ef44441a;color:#ef4444}.metric-trend.down{background:#10b9811a;color:#10b981}.ai-insights-row{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.insight-card{flex:1;min-width:150px;padding:14px 18px;background:var(--bg, #f8f9fa);border-radius:10px;border:1px solid var(--border-light, rgba(0,0,0,.06))}.insight-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted, #999);margin-bottom:6px}.insight-value{font-size:16px;font-weight:600;color:var(--fg, #111);display:flex;align-items:center;gap:6px}.insight-value.feature{font-size:14px}.feature-emoji{font-size:16px}.peak-cost{font-size:12px;font-weight:500;color:var(--fg-dim, #666);margin-left:8px}.ai-section{background:var(--card, #fff);border:1px solid var(--border, #e5e7eb);border-radius:12px;padding:20px;margin-bottom:20px}.ai-section h3{font-size:13px;font-weight:600;color:var(--fg-dim, #666);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.feature-card{padding:16px;background:var(--bg, #f8f9fa);border-radius:10px;border:1px solid var(--border-light, rgba(0,0,0,.06))}.feature-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.feature-header .feature-emoji{font-size:20px}.feature-name{font-size:15px;font-weight:600;color:var(--fg, #111)}.feature-stats{margin-bottom:12px}.feature-cost{font-size:22px;font-weight:700;color:var(--fg, #111);font-variant-numeric:tabular-nums}.feature-meta{font-size:12px;color:var(--fg-muted, #999);margin-top:2px}.feature-bar-container{display:flex;align-items:center;gap:10px;height:8px;background:var(--border-light, rgba(0,0,0,.08));border-radius:4px;position:relative;overflow:visible}.feature-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#6366f1);border-radius:4px;transition:width .4s ease}.feature-percentage{position:absolute;right:-40px;font-size:12px;font-weight:600;color:var(--fg-dim, #666);width:35px}.empty-state{padding:48px 24px;text-align:center;color:var(--fg-muted, #999)}.empty-state svg{opacity:.4;margin-bottom:12px}.empty-state p{margin:0;font-size:14px}.daily-trend{padding-top:8px}.trend-chart{height:120px;display:flex;align-items:flex-end;gap:2px;padding-bottom:4px}.trend-bar-wrapper{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;cursor:pointer}.trend-bar{width:100%;max-width:16px;min-height:4px;background:linear-gradient(to top,#6366f1,#8b5cf6);border-radius:3px 3px 0 0;transition:all .2s ease;opacity:.7}.trend-bar-wrapper:hover .trend-bar{opacity:1;transform:scaleY(1.02)}.trend-bar-wrapper.today .trend-bar{background:linear-gradient(to top,#10b981,#34d399);opacity:1}.trend-bar-wrapper.weekend .trend-bar{opacity:.5}.trend-labels{display:flex;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;color:var(--fg-muted, #999);border-top:1px solid var(--border-light, rgba(0,0,0,.06));margin-top:8px}.trend-summary{font-weight:500;color:var(--fg-dim, #666)}.trend-up{color:#ef4444;margin-left:6px}.trend-down{color:#10b981;margin-left:6px}.tenant-table-wrapper{overflow-x:auto;margin:0 -20px;padding:0 20px}.tenant-table{width:100%;border-collapse:collapse;font-size:13px}.tenant-table th,.tenant-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.tenant-table th{font-weight:600;color:var(--fg-dim, #666);background:var(--bg, #f8f9fa);position:sticky;top:0;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.tenant-table th.right,.tenant-table td.right{text-align:right}.tenant-table td.rank{width:50px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:11px;font-weight:700;background:var(--fg-muted, #94a3b8);color:#fff}.rank-badge.rank-1{background:#f59e0b}.rank-badge.rank-2{background:#94a3b8}.rank-badge.rank-3{background:#d97706}.tenant-table td.tenant{min-width:180px}.tenant-table td.tenant .tenant-name{display:block;font-weight:500;color:var(--fg, #111)}.tenant-table td.tenant .tenant-key{display:block;font-size:11px;color:var(--fg-muted, #999);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin-top:2px}.tenant-table td.cost{font-weight:600;color:var(--fg, #111);font-variant-numeric:tabular-nums}.tenant-table tbody tr:hover{background:var(--bg, #f8f9fa)}.tenant-table tfoot td{border-top:2px solid var(--border, #e5e7eb);border-bottom:none;background:var(--bg, #f8f9fa);font-weight:600}.percentage-bar-cell{display:flex;align-items:center;gap:8px;min-width:100px}.mini-bar{height:6px;background:linear-gradient(90deg,#8b5cf6,#6366f1);border-radius:3px;min-width:2px;max-width:60px}.percentage-bar-cell span{font-size:12px;font-weight:500;color:var(--fg-dim, #666);min-width:40px}.user-list{display:flex;flex-direction:column;gap:8px}.user-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--bg, #f8f9fa);border-radius:10px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.user-name{font-size:14px;font-weight:500;color:var(--fg, #111)}.user-meta{font-size:12px;color:var(--fg-muted, #999)}.user-cost{font-size:15px;font-weight:600;color:var(--fg, #111);font-variant-numeric:tabular-nums}@media (max-width: 768px){.ai-metrics-row{grid-template-columns:1fr}.ai-insights-row{flex-direction:column}.insight-card{min-width:100%}.feature-grid{grid-template-columns:1fr}.feature-bar-container{padding-right:45px}}.announcements-page{padding:24px;max-width:1000px}.announcements-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.announcements-page__header h1{margin:0 0 4px;font-size:1.5rem;font-weight:600}.announcements-page__header p{margin:0;color:var(--muted);font-size:.875rem}.announcements-page__actions{display:flex;align-items:center;gap:16px}.announcements-page__toggle{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--muted);cursor:pointer}.announcements-page__toggle input{cursor:pointer}.announcements-page__loading,.announcements-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 24px;text-align:center;color:var(--muted)}.announcements-page__empty svg{opacity:.3}.announcements-page__empty p{margin:0;font-size:.875rem;opacity:.7}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.announcements-page__list{display:flex;flex-direction:column;gap:12px}.announcements-page__item{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;padding:16px}.announcements-page__item--inactive{opacity:.6}.announcements-page__item-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.announcements-page__severity{display:inline-flex;padding:3px 8px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;color:#fff}.announcements-page__title{font-weight:600;flex:1}.announcements-page__badge{font-size:.6875rem;padding:2px 6px;border-radius:4px;text-transform:uppercase}.announcements-page__badge--inactive{background:var(--border);color:var(--muted)}.announcements-page__badge--push{background:#10b9811a;color:#10b981}.announcements-page__message{font-size:.875rem;color:var(--fg);margin-bottom:12px;line-height:1.5}.announcements-page__meta{display:flex;gap:16px;font-size:.75rem;color:var(--muted);margin-bottom:12px}.announcements-page__item-actions{display:flex;gap:8px;border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.announcements-form{display:flex;flex-direction:column;gap:16px}.announcements-form__field{display:flex;flex-direction:column;gap:6px}.announcements-form__field label{font-size:.8125rem;font-weight:500;color:var(--fg)}.announcements-form__field input[type=text],.announcements-form__field input[type=url],.announcements-form__field textarea,.announcements-form__field select{padding:10px 12px;font-size:.875rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--fg)}.announcements-form__field input:focus,.announcements-form__field textarea:focus,.announcements-form__field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.announcements-form__field textarea{resize:vertical;min-height:80px}.announcements-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.announcements-form__options{display:flex;gap:8px}.announcements-form__option{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.8125rem;transition:all .15s}.announcements-form__option input{display:none}.announcements-form__option-dot{width:10px;height:10px;border-radius:50%;background:var(--option-color)}.announcements-form__option--selected{border-color:var(--option-color);background:color-mix(in oklab,var(--option-color) 10%,var(--bg))}.announcements-form__checkboxes{display:flex;flex-direction:column;gap:8px}.announcements-form__checkboxes label{display:flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer}.announcements-form__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}@media (max-width: 640px){.announcements-page__header{flex-direction:column}.announcements-form__row{grid-template-columns:1fr}.announcements-form__options{flex-direction:column}}.quick-actions-section{padding:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px}.quick-actions-section h2{font-size:1.1rem;margin:0 0 16px;color:var(--fg);font-weight:600}.quick-actions-section[hidden]{display:none}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.quick-action-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft, rgba(15, 23, 42, .4));cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.quick-action-card:hover:not(:disabled){background:var(--accent-soft, color-mix(in oklab, var(--accent) 12%, transparent));border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.quick-action-card:active:not(:disabled){transform:translateY(0)}.quick-action-card:disabled{opacity:.5;cursor:not-allowed}.quick-action-icon{font-size:2rem;line-height:1}.quick-action-label{font-size:1rem;font-weight:600;color:var(--fg)}.quick-action-desc{font-size:.85rem;color:var(--fg-dim);line-height:1.4}@media (max-width: 720px){.quick-actions-grid{grid-template-columns:1fr}}.detail-content dl{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;margin:0}.detail-content dt{color:var(--fg-dim);font-weight:600;font-size:.95rem}.detail-content dd{margin:0;color:var(--fg)}.detail-content pre{margin:0;padding:12px;border-radius:12px;background:#0f172a99;border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto;font-size:.85rem}.action-group{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.section-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.section-header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--fg)}.section-header p{margin:4px 0 0;font-size:.875rem;color:var(--fg-dim)}.section-actions{display:flex;align-items:center;gap:12px}@media (max-width: 640px){.section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%;justify-content:flex-start}}.error-message{border:1px solid rgba(248,113,113,.45);background:#f871711f;color:#fca5a5;padding:12px 16px;border-radius:12px;font-size:.95rem}.skeleton{background:linear-gradient(90deg,var(--surface-soft) 0%,var(--surface) 50%,var(--surface-soft) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin:.5em 0}.skeleton-card{height:120px;border-radius:12px}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}
