:root{--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#99f6e4;--color-teal-300:#5eead4;--color-teal-400:#2dd4bf;--color-teal-500:#53acb4;--color-teal-600:#3f8f97;--color-teal-700:#2f6f76;--color-cyan-400:#38bdf8;--color-cyan-500:#0ea5e9;--color-coral-50:#fff1ee;--color-coral-100:#ffe0d9;--color-coral-300:#ffab8f;--color-coral-400:#ff7952;--color-coral-500:#ff5a36;--color-coral-600:#e8431f;--color-coral-700:#c23417;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#dce3ed;--color-slate-300:#cbd5e1;--color-slate-400:#94a3b8;--color-slate-500:#6b7c93;--color-slate-600:#475569;--color-slate-700:#334155;--color-slate-800:#1e293b;--color-ink:#13294b;--color-ink-hover:#1e3a63;--color-bg:#f5f9fd;--color-panel:#fff;--color-panel-2:#edf3fa;--color-chrome-bg:#fdfdfc;--color-sidebar-bg:var(--color-ink);--color-border:var(--color-slate-200);--color-border-strong:var(--color-slate-300);--color-text:var(--color-ink);--color-muted:var(--color-slate-500);--color-accent:var(--color-teal-500);--color-accent-hover:var(--color-teal-600);--color-accent-soft:var(--color-teal-50);--color-accent-text:var(--color-teal-700);--color-accent-2:var(--color-coral-500);--color-accent-2-text:var(--color-coral-700);--color-accent-2-soft:var(--color-coral-50);--color-on-accent:#fff;--color-btn-secondary-bg:var(--color-info-bg);--color-btn-secondary-bg-hover:var(--chip-blue-bg);--color-btn-secondary-text:var(--color-info-text);--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-btn-primary-bg:var(--color-ink);--color-btn-primary-bg-hover:var(--color-ink-hover);--color-btn-primary-text:#3ddbb0;--color-btn-primary-border:#3ddbb0;--gradient-brand:linear-gradient(135deg, var(--color-teal-500), var(--color-cyan-400));--gradient-warm:linear-gradient(135deg, var(--color-teal-500), var(--color-coral-400));--color-accent-strong:var(--chip-teal-text);--color-focus:var(--color-teal-500);--focus-ring:0 0 0 2px var(--color-panel), 0 0 0 4px var(--color-focus);--shadow-focus:var(--focus-ring);--color-success-bg:#f0fdf4;--color-success-text:#16a34a;--color-warning-bg:#fffbeb;--color-warning-text:#b45309;--color-info-bg:#eff6ff;--color-info-text:#0369a1;--color-danger-bg:#fee2e2;--color-danger-text:#dc2626;--color-danger-bg-hover:#fecaca;--color-warning-bg-hover:#fde68a;--chip-teal-bg:#ccfbf1;--chip-teal-text:#0d9488;--chip-blue-bg:#dbeafe;--chip-blue-text:#0369a1;--chip-green-bg:#dcfce7;--chip-green-text:#16a34a;--chip-amber-bg:#fef3c7;--chip-amber-text:#b45309;--chip-red-bg:#fee2e2;--chip-red-text:#dc2626;--chip-purple-bg:#e9d5ff;--chip-purple-text:#7c3aed;--chip-pink-bg:#fbcfe8;--chip-pink-text:#be185d;--chip-slate-bg:#e2e8f0;--chip-slate-text:#475569;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:16px;--radius-2xl:24px;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-body);--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace;--font-size-xs:.72rem;--font-size-sm:.8rem;--font-size-md:.85rem;--font-size-base:.9rem;--font-size-lg:1.05rem;--font-size-xl:1.3rem;--font-size-2xl:1.7rem;--font-size-3xl:2.2rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.65;--letter-spacing-tight:-.02em;--letter-spacing-wide:.04em;--shadow-xs:0 1px 2px #0f172a0f;--shadow-sm:0 1px 2px #0f172a0f, 0 1px 3px #0f172a1a;--shadow-md:0 2px 4px #0f172a0f, 0 4px 12px #0f172a1a;--shadow-lg:0 8px 16px #0f172a14, 0 16px 32px #0f172a1f;--shadow-xl:0 12px 24px #0f172a1a, 0 24px 48px #0f172a24;--duration-fast:.12s;--duration-base:.18s;--duration-slow:.3s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--z-nav:50;--z-overlay:100;--z-popover:200;--z-tooltip:300;--z-toast:400;--switch-width:36px;--switch-height:20px;--switch-knob:14px;--color-overlay:#0f172a73;--color-skeleton:var(--color-slate-200);--color-skeleton-shine:var(--color-slate-100)}:root[data-brand-theme=dark]{--color-ink:#28293f;--color-ink-hover:#3b3c57;--color-bg:#17182a;--color-panel:#1f2034;--color-panel-2:#2a2b42;--color-chrome-bg:#1c1d30;--color-sidebar-bg:var(--color-ink);--color-border:#33344d;--color-border-strong:#45466a;--color-text:#e6e7f0;--color-muted:#9fa1bd;--color-accent:#cfd1e6;--color-accent-hover:#ecedf5;--color-accent-soft:#2f3049;--color-accent-text:#dcdeee;--color-accent-strong:#dcdeee;--color-on-accent:#1f2034;--color-accent-2:#cfd1e6;--color-accent-2-text:#dcdeee;--color-accent-2-soft:#2f3049;--color-btn-primary-bg:#e4e5f0;--color-btn-primary-bg-hover:#f4f5fa;--color-btn-primary-text:#1f2034;--color-btn-primary-border:#e4e5f0;--color-btn-secondary-bg:#2f3049;--color-btn-secondary-bg-hover:#3d3e5c;--color-btn-secondary-text:#dcdeee;--gradient-brand:linear-gradient(135deg, #45466a, #9fa1bd);--gradient-warm:linear-gradient(135deg, #3b3c57, #9fa1bd);--color-focus:#a3a5c4;--color-success-bg:#16302a;--color-success-text:#4ade80;--color-warning-bg:#2e2618;--color-warning-text:#fbbf24;--color-info-bg:#172a40;--color-info-text:#60a5fa;--color-danger-bg:#2f1c26;--color-danger-text:#f87171;--color-danger-bg-hover:#3d2532;--color-warning-bg-hover:#3d3220;--chip-teal-bg:#16323a;--chip-teal-text:#5eead4;--chip-blue-bg:#172a40;--chip-blue-text:#7dd3fc;--chip-green-bg:#16302a;--chip-green-text:#4ade80;--chip-amber-bg:#2e2618;--chip-amber-text:#fbbf24;--chip-red-bg:#2f1c26;--chip-red-text:#f87171;--chip-purple-bg:#2a2244;--chip-purple-text:#c4b5fd;--chip-pink-bg:#351a30;--chip-pink-text:#f9a8d4;--chip-slate-bg:#2f3049;--chip-slate-text:#cfd1e6;--color-overlay:#0a0a16a6;--color-skeleton:#2a2b42;--color-skeleton-shine:#3b3c57;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 1px 2px #0006, 0 1px 3px #00000080;--shadow-md:0 2px 4px #0006, 0 4px 12px #00000080;--shadow-lg:0 8px 16px #00000073, 0 16px 32px #0000008c;--shadow-xl:0 12px 24px #00000080, 0 24px 48px #0009}:root[data-brand-theme=dark] .sidebar-brand{border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);background:#ffffff14}:root[data-brand-theme=dark] .rail-flyout{--color-text:#e6e7f0;--color-muted:#9fa1bd;--color-border:#33344d;--color-panel-2:#2a2b42;--color-accent-soft:#2f3049}:root[data-brand-theme=dark] .datepicker-day.is-selected{color:var(--color-on-accent)}:root{font-family:var(--font-body)}*{box-sizing:border-box}body{background:var(--color-panel);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}a{color:var(--color-accent);text-underline-offset:.15em;text-decoration:underline}a:hover,a:focus-visible{color:var(--color-accent-hover)}h1{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--space-1)}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin:0}h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;margin:var(--space-4) 0 .4rem;color:var(--color-muted)}.muted{color:var(--color-muted);font-size:var(--font-size-md)}.center{text-align:center}.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stack{gap:var(--space-6);flex-direction:column;display:flex}.stack>*{margin-block:0}.stack-sm{gap:var(--space-3)}.stack-lg{gap:var(--space-8)}.field-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-muted)}.brand{align-items:center;gap:var(--space-2);display:inline-flex}.brand-mark{flex-shrink:0;width:1.9rem;height:1.9rem}.brand-name{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);line-height:1}.brand-lg .brand-mark{width:2.6rem;height:2.6rem}.brand-lg .brand-name{font-size:var(--font-size-2xl)}button,.btn,.btn-primary{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:1px solid var(--color-btn-primary-border);padding:var(--space-2) .9rem;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:999px}button:hover,.btn:hover,.btn-primary:hover,button:focus-visible,.btn:focus-visible,.btn-primary:focus-visible{background:var(--color-btn-primary-bg-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}button:active,.btn:active{box-shadow:var(--shadow-xs);transform:translateY(0)}button:disabled,.btn:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}button.default,.btn-default{background:var(--color-panel);border:1px solid var(--color-border-strong);color:var(--color-text)}button.default:hover,.btn-default:hover,button.default:focus-visible,.btn-default:focus-visible{background:var(--color-panel-2)}.btn{justify-content:center;align-items:center;gap:var(--space-2);display:inline-flex}.btn:focus-visible{outline:none}.btn-secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:none}.btn-secondary:hover,.btn-secondary:focus-visible{background:var(--color-btn-secondary-bg-hover);color:var(--color-btn-secondary-text)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border:none}.btn-danger:hover,.btn-danger:focus-visible{background:var(--color-danger-bg-hover);color:var(--color-danger-text)}.btn-warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:none}.btn-warning:hover,.btn-warning:focus-visible{background:var(--color-warning-bg-hover);color:var(--color-warning-text)}.btn-link{color:var(--color-accent);background:0 0;border:none;padding:0;text-decoration:underline}.btn-link:hover,.btn-link:focus-visible{color:var(--color-accent-hover);background:0 0}.btn-icon{background:var(--color-panel);border:1px solid var(--color-border-strong);color:var(--color-text);padding:var(--space-2);min-width:2rem;line-height:1}.btn-icon:hover,.btn-icon:focus-visible{background:var(--color-panel-2)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.btn-loading{cursor:default}input,select,textarea,.input{background:var(--color-panel);border:1px solid var(--color-border-strong);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-2) .6rem;font-size:var(--font-size-base);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}input:focus-visible,select:focus-visible,textarea:focus-visible,.input:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}[aria-invalid=true],.field-invalid .input{border-color:var(--color-danger)}.textarea{resize:vertical;font-family:inherit}.rich-text-editor{flex-direction:column;display:flex}.rich-text-toolbar{gap:var(--space-1);padding:var(--space-1) 0;display:flex}.rich-text-toolbar .btn-icon{min-width:1.9rem;padding:var(--space-1)}.rich-text-content{min-height:8rem;line-height:var(--line-height-normal);overflow-y:auto}.rich-text-content :is(ul,ol){margin:0;padding-left:1.4rem}.rich-text-content a{color:var(--color-accent)}.rich-text-placeholder:before{content:attr(data-placeholder);color:var(--color-muted);pointer-events:none}select,.select{appearance:none;padding-right:var(--space-8);border-color:var(--color-border);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='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer;background-size:1rem}select:hover,.select:hover{border-color:var(--color-border-strong)}select:disabled,.select:disabled{cursor:default;opacity:.6}.card{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-xs)}.integration-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.integration-card,.integration-detail-card{gap:var(--space-3);flex-direction:column;display:flex}.integration-detail-card{max-width:520px}.integration-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.integration-card-title{font-size:var(--font-size-lg);margin:0}.integration-card-account{font-size:var(--font-size-sm);color:var(--color-muted);margin:0}.simpro-steps{padding-left:var(--space-6);gap:var(--space-2);flex-direction:column;margin:0;display:flex}.simpro-callback-uri{margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);background:var(--color-panel-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);word-break:break-all}.simpro-status-head{align-items:center;gap:var(--space-3);display:flex}.dashboard-kpis{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.kpi-label{color:var(--color-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-1)}.kpi-value{font-family:var(--font-mono);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0}.kpi-hint{color:var(--color-muted);font-size:var(--font-size-sm);margin:var(--space-1) 0 0}.dashboard-asof{color:var(--color-muted);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.dashboard-section-title{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-lg)}.forecast-scroll{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.forecast-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);white-space:nowrap}.forecast-table th,.forecast-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border)}.forecast-table thead th{background:var(--color-panel);text-align:left;font-weight:var(--font-weight-medium);z-index:1;position:sticky;top:0}.forecast-num{text-align:right}.forecast-col-product{min-width:240px}.forecast-col-channel{min-width:150px}.forecast-matchline{margin:0 0 var(--space-2);font-size:var(--font-size-sm)}.forecast-prod{align-items:baseline;gap:var(--space-2);display:flex}.forecast-sku{font-family:var(--font-mono,monospace);font-size:var(--font-size-xs,.75rem);color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 4px}.forecast-nomatch{font-size:var(--font-size-xs,.75rem);color:var(--color-muted);font-style:italic}.forecast-total{font-weight:var(--font-weight-medium)}.forecast-group td{background:var(--color-panel);font-weight:var(--font-weight-medium)}.forecast-grand td{border-top:2px solid var(--color-border);font-weight:var(--font-weight-medium)}.forecast-input{text-align:right;width:5rem;padding:2px var(--space-1);border-radius:var(--radius-sm);color:inherit;font:inherit;background:0 0;border:1px solid #0000}.forecast-input:hover{border-color:var(--color-border)}.forecast-input:focus{border-color:var(--color-accent);background:var(--color-panel);outline:none}.forecast-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.forecast-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.forecast-input[type=number]{appearance:textfield}.dashboard-tables{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}.dashboard-tables .dashboard-section-title{margin-top:0}.dashboard-tables .data-table{table-layout:fixed}.dashboard-tables .data-table th:first-child,.dashboard-tables .data-table td:first-child{white-space:normal;width:46%}.dashboard-tables .data-table th:nth-child(2),.dashboard-tables .data-table td:nth-child(2){width:18%}.dashboard-tables .data-table th:nth-child(3),.dashboard-tables .data-table td:nth-child(3){width:20%}.dashboard-tables .data-table th:nth-child(4),.dashboard-tables .data-table td:nth-child(4){width:16%}.data-table.table-compact{font-size:var(--font-size-sm)}.data-table.table-compact th,.data-table.table-compact td{padding:.4rem var(--space-2);white-space:nowrap}.integration-card-actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.integration-form{gap:var(--space-3);flex-direction:column;display:flex}.integration-meta{gap:var(--space-1) var(--space-4);grid-template-columns:max-content 1fr;margin:0;display:grid}.integration-meta dt{color:var(--color-muted);font-size:var(--font-size-sm)}.integration-meta dd{margin:0}.error{background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);margin:var(--space-2) 0}.centered{justify-content:center;align-items:center;gap:var(--space-6);min-height:100vh;padding:var(--space-4);flex-direction:column;display:flex}.login-page{background:var(--color-accent-soft)}.login-brand{gap:var(--space-2)}.login-brand .brand-name{font-size:var(--font-size-xl)}.login-brand .brand-mark{background:var(--color-accent-soft);border-radius:var(--radius-lg);width:3rem;height:3rem}.login-card{border-radius:var(--radius-xl);width:100%;max-width:360px;box-shadow:var(--shadow-lg);flex-direction:column;gap:.4rem;display:flex;position:relative;overflow:hidden}.login-heading{text-align:center;margin:0 0 var(--space-1);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.login-tagline{margin:0 0 var(--space-4);text-align:center}.login-card label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-muted);margin-top:var(--space-2)}.login-card button{margin-top:var(--space-4);width:100%}.login-footer{color:var(--color-muted);font-size:var(--font-size-sm);text-align:center}html,body,#root{height:100%}.app-layout{height:100dvh;display:flex;overflow:hidden}.sidebar{z-index:var(--z-nav);width:240px;height:100%;padding:var(--space-4) var(--space-3);background:var(--color-sidebar-bg);border-right:1px solid var(--color-border);transition:width var(--duration-fast) var(--ease-out);--color-text:#fff;--color-muted:#ffffff9e;--color-border:#ffffff24;--color-panel-2:#ffffff14;--color-accent-soft:#ffffff1c;flex-direction:column;flex-shrink:0;align-self:flex-start;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-4);flex-direction:column;display:flex}.sidebar-brand-row{align-items:center;gap:var(--space-2);display:flex}.sidebar-brand .brand-mark{object-fit:contain;object-position:left center;width:auto;max-width:8rem;height:1.9rem}.sidebar-toggle{padding:var(--space-1);border-radius:var(--radius-md);color:var(--color-accent);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex}.sidebar-toggle:hover{background:var(--color-panel-2);color:var(--color-accent-hover)}.sidebar-brand .brand-mark{width:1.9rem;height:1.9rem}.sidebar-brand .brand-name{font-size:var(--font-size-lg)}.brand-text{gap:var(--space-1);flex-direction:column;display:flex}.brand-avatar{border-radius:var(--radius-md);background:var(--color-accent);width:1.9rem;height:1.9rem;color:var(--color-on-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-subtitle{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-muted);letter-spacing:var(--letter-spacing-tight);line-height:1}.sidebar-nav{flex:1}.nav-skeleton-row{border-radius:var(--radius-sm);background:var(--color-surface-muted,#ffffff0f);height:2.25rem;animation:1.4s ease-in-out infinite nav-skeleton-pulse}@keyframes nav-skeleton-pulse{0%,to{opacity:.45}50%{opacity:.8}}@media (prefers-reduced-motion:reduce){.nav-skeleton-row{animation:none}}.nav-error{margin:var(--space-2) 0 0;padding:0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-danger,#dc2626)}.sidebar-nav ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav-link{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-muted);transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);text-decoration:none;display:flex}.nav-link svg{color:var(--color-accent);flex-shrink:0}.nav-link:hover{background:var(--color-panel-2);color:var(--color-text)}.nav-link-active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.nav-link-active:hover{background:var(--color-accent-soft);color:var(--color-accent)}.nav-link-disabled{color:var(--color-muted);opacity:.45;cursor:default}.nav-link-disabled:hover{color:var(--color-muted);background:0 0}.nav-group{gap:var(--space-1);flex-direction:column;display:flex}.nav-group-header{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);cursor:pointer;box-shadow:none;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;display:flex}.nav-group-header svg:first-child{color:var(--color-accent);transition:color var(--duration-fast) var(--ease-out);flex-shrink:0}.nav-group-header:hover,.nav-group-header:focus-visible{background:var(--color-panel-2);box-shadow:none;transform:none}.nav-group-header:focus-visible{box-shadow:var(--shadow-focus)}.nav-group-header:active{box-shadow:none;transform:none}.nav-group-header:hover svg:first-child,.nav-group-header-active svg:first-child{color:var(--color-accent)}.nav-group-label{text-align:left;flex:1}.nav-group-chevron{color:var(--color-muted);transition:transform var(--duration-base) var(--ease-out);flex-shrink:0}.nav-group-chevron-expanded{transform:rotate(90deg)}.sidebar-nav ul.nav-group-items{gap:var(--space-1);margin:var(--space-1) 0 var(--space-1) calc(var(--space-3) + .5rem);padding:0 0 0 var(--space-3);border-left:1px solid var(--color-border);flex-direction:column;list-style:none;display:flex}.nav-group-items .nav-link{gap:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.nav-group-items .nav-link svg{width:15px;height:15px}.sidebar-footer{align-items:flex-start;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;margin-top:auto;display:flex}.sidebar-user{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-muted);max-width:100%;text-decoration:none;display:flex;overflow:hidden}.sidebar-user svg{color:var(--color-accent);flex-shrink:0}.sidebar-user .nav-link-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user:hover{color:var(--color-accent)}.sidebar-signout{align-items:center;gap:var(--space-2);display:flex}button.sidebar-signout{border-color:var(--color-accent);color:var(--color-accent);background:0 0}button.sidebar-signout:hover,button.sidebar-signout:focus-visible{background:var(--color-panel-2);color:var(--color-accent-hover)}.sidebar-console{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-muted);text-decoration:none;display:flex}.sidebar-console svg{color:var(--color-accent);flex-shrink:0}.sidebar-console:hover,.sidebar-console.is-active{color:var(--color-accent)}.version-popover{z-index:var(--z-popover);min-width:150px;padding:var(--space-2) var(--space-3);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:none;position:fixed}.version-popover-title{margin-bottom:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-muted);display:block}.version-popover-list{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.version-popover-row{justify-content:space-between;align-items:baseline;gap:var(--space-4);font-size:var(--font-size-sm);display:flex}.version-popover-row dt{color:var(--color-muted)}.version-popover-row dd{font-family:var(--font-mono);color:var(--color-text);margin:0}.app-layout-collapsed .sidebar{width:64px}.app-layout-collapsed .brand-name,.app-layout-collapsed .brand-subtitle,.app-layout-collapsed .brand-mark,.app-layout-collapsed .brand-avatar,.app-layout-collapsed .nav-link-label{display:none}.app-layout-collapsed .sidebar-brand{padding-left:0;padding-right:0}.app-layout-collapsed .sidebar-brand-row{justify-content:center}.app-layout-collapsed .sidebar-toggle{margin-left:0}.app-layout-collapsed .nav-link{padding:var(--space-2);justify-content:center}.app-layout-collapsed .sidebar-user,.app-layout-collapsed .sidebar-signout,.app-layout-collapsed .sidebar-console{justify-content:center}.rail-group{position:relative}.rail-group-trigger{box-shadow:none;color:var(--color-muted);font:inherit;background:0 0;border:none}.rail-group-trigger:hover,.rail-group-trigger:focus-visible{background:var(--color-panel-2);color:var(--color-text);box-shadow:none;transform:none}.rail-group-trigger:focus-visible{box-shadow:var(--shadow-focus)}.rail-group-trigger:active{box-shadow:none;transform:none}.rail-group-trigger-active,.rail-group-trigger-active:hover{background:var(--color-accent-soft);color:var(--color-accent)}.rail-flyout{--color-text:var(--color-ink);--color-muted:var(--color-slate-500);--color-border:var(--color-slate-200);--color-panel-2:#edf3fa;--color-accent-soft:var(--color-teal-50);z-index:var(--z-popover);min-width:190px;padding:var(--space-2);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:fixed}.rail-flyout-title{padding:var(--space-1) var(--space-2) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-muted);display:block}.rail-flyout ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.app-layout-collapsed .rail-flyout .nav-link-label{display:inline}.app-layout-collapsed .rail-flyout .nav-link{padding:var(--space-2) var(--space-3);justify-content:flex-start}.app-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar-bar{z-index:var(--z-overlay);justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-4);min-height:3.25rem;padding:var(--space-2) var(--space-6);background:var(--color-panel);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex;position:sticky;top:0}.topbar-right{justify-content:flex-end;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.nav-tenant-label{align-items:center;gap:var(--space-1);min-width:0;font-size:var(--font-size-sm);color:var(--color-muted);display:inline-flex}.nav-tenant-label select{max-width:12rem}.topbar-status{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.topbar-status-item{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-muted);display:inline-flex}.topbar-status-dot{background:var(--color-muted);border-radius:50%;width:.5rem;height:.5rem}.topbar-status-item.is-connected .topbar-status-dot{background:var(--color-success-text)}.topbar-status-item.is-disconnected .topbar-status-dot{background:var(--color-danger)}@media (width<=640px){.topbar-bar{gap:var(--space-2);padding:var(--space-2) var(--space-4)}.topbar-right{gap:var(--space-1) var(--space-2)}.topbar-status{gap:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.topbar-status-item{font-size:var(--font-size-xs)}.nav-tenant-label select{max-width:8rem}}.count-badge{min-width:1.25rem;height:1.25rem;padding:0 var(--space-1);background:var(--chip-blue-bg);color:var(--chip-blue-text);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.count-badge-accent{background:var(--color-accent-soft);color:var(--color-accent-strong)}.bulk-order{gap:var(--space-4);flex-direction:column;display:flex}.bulk-order-supplier{padding:0;overflow:hidden}.bulk-order-supplier-head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);display:flex}.bulk-order-supplier-id{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.bulk-order-supplier-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}.bulk-order-supplier-email{color:var(--color-muted);font-size:var(--font-size-sm)}.bulk-order-supplier-actions{align-items:center;gap:var(--space-4);display:flex}.bulk-order-supplier-total{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.bulk-order-supplier-sent{align-items:center;gap:var(--space-2);white-space:nowrap;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-success-text);display:inline-flex}.bulk-order-jobcc{color:var(--color-muted);white-space:nowrap}.bulk-order-line-total{font-family:var(--font-mono);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.bulk-order-qty-input{text-align:center;width:4rem}.bulk-order-remove{color:var(--color-danger)}.review-po-grid{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}@media (width<=560px){.review-po-grid{grid-template-columns:1fr}}.review-po-body{font-family:var(--font-mono);font-size:var(--font-size-sm)}.review-po-effects{margin-top:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--color-info-bg);color:var(--color-info-text);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.review-po-effects-head{font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.03em;margin-bottom:var(--space-3)}.review-po-effects-item{align-items:center;gap:var(--space-2);padding:var(--space-1) 0;display:flex}.console-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.console-card-link{color:inherit;text-decoration:none}.console-card-link .card{transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.console-card-link:hover .card{border-color:var(--color-accent);box-shadow:var(--shadow-xs)}.console-card{align-items:flex-start;gap:var(--space-3);display:flex}.console-card-icon{border-radius:var(--radius-md);background:var(--color-accent-soft);width:2.25rem;height:2.25rem;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.console-card-text{gap:var(--space-1);flex-direction:column;display:flex}.console-card-title{font-weight:var(--font-weight-semibold);color:var(--color-text)}.console-card-desc{font-size:var(--font-size-sm)}.app-main{flex:1;min-height:0;overflow:auto}.page{padding:var(--space-6);margin:0 auto}.page.page-wide{max-width:none}.topbar{justify-content:space-between;align-items:flex-start;gap:var(--space-4);background:var(--color-chrome-bg);margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) var(--space-6);padding:var(--space-5) var(--space-6);display:flex}.eyebrow{color:var(--color-accent-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;margin:0 0 var(--space-1)}.topbar-actions{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.page-panel{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6)}.page-panel>.card,.page-panel>.stack>.card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.page-panel>.stack{gap:0}.page-panel>.stack>.card+.card{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.page-panel .data-table{box-shadow:none;border:none;border-radius:0}.toolbar{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.toolbar-end{align-items:flex-end}.toolbar-filter{width:200px}.toolbar-filter .field{margin-bottom:0}table.jobs{border-collapse:collapse;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;font-size:var(--font-size-md);box-shadow:var(--shadow-sm);overflow:hidden}table.jobs th,table.jobs td{text-align:left;padding:.6rem var(--space-3);border-bottom:1px solid var(--color-border)}table.jobs th{color:var(--color-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;background:var(--color-panel-2)}tr.clickable{cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}tr.clickable:hover{background:var(--color-accent-soft)}.badge{padding:.15rem var(--space-2);font-size:var(--font-size-xs);border-radius:999px;font-weight:600;display:inline-block}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-processing{background:var(--color-info-bg);color:var(--color-info-text)}.badge-succeeded{background:var(--color-success-bg);color:var(--color-success-text)}.badge-failed{background:var(--color-danger-bg);color:var(--color-danger-text)}.chip{font-size:var(--font-size-xs);border-radius:999px;align-items:center;gap:5px;padding:.2rem .6rem;font-weight:600;display:inline-flex}.chip:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:block}.chip-teal{background:var(--color-accent-soft);color:var(--color-accent-strong)}.chip-blue{background:var(--chip-blue-bg);color:var(--chip-blue-text)}.chip-green{background:var(--chip-green-bg);color:var(--chip-green-text)}.chip-amber{background:var(--chip-amber-bg);color:var(--chip-amber-text)}.chip-red{background:var(--chip-red-bg);color:var(--chip-red-text)}.chip-purple{background:var(--chip-purple-bg);color:var(--chip-purple-text)}.chip-pink{background:var(--chip-pink-bg);color:var(--chip-pink-text)}.chip-slate{background:var(--chip-slate-bg);color:var(--chip-slate-text)}.overlay{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:var(--space-4);overscroll-behavior:contain;grid-template-rows:minmax(0,1fr);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.detail{width:100%;max-width:640px;max-height:85dvh;overflow:auto}.detail-head{justify-content:space-between;align-items:center;display:flex}.detail dl{gap:.3rem var(--space-3);margin:var(--space-3) 0;font-size:var(--font-size-md);grid-template-columns:120px 1fr;display:grid}.detail dt{color:var(--color-muted)}.detail dd{word-break:break-all;margin:0}pre.payload,pre.error-pre{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-sm);white-space:pre-wrap;word-break:break-word;overflow:auto}pre.error-pre{color:var(--color-danger-text)}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field-label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.field-required{color:var(--color-danger-text);margin-left:2px}.field-help{font-size:var(--font-size-xs);color:var(--color-muted)}.field-error{font-size:var(--font-size-xs);color:var(--color-danger-text)}.field .input,.field .select,.field .combobox,.field .datepicker{width:100%}.input-icon-wrap{display:flex;position:relative}.input-icon{color:var(--color-muted);pointer-events:none;display:inline-flex;position:absolute;top:50%;left:.6rem;transform:translateY(-50%)}.input-with-icon{padding-left:2.1rem}.number-field{align-items:stretch;gap:var(--space-1);display:flex}.number-field .number-field-input{flex:1}.number-field-step{font-size:var(--font-size-lg)}.number-field-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-field-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.combobox{position:relative}.combobox-input{width:100%;padding-right:var(--space-8)}button.combobox-toggle{right:var(--space-2);padding:var(--space-1);color:var(--color-muted);cursor:pointer;border-radius:var(--radius-sm);box-shadow:none;background:0 0;border:none;justify-content:center;align-items:center;margin:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}button.combobox-toggle:hover:not(:disabled),button.combobox-toggle:focus-visible:not(:disabled){color:var(--color-text);box-shadow:none;background:0 0;transform:translateY(-50%)}button.combobox-toggle:active:not(:disabled){box-shadow:none;transform:translateY(-50%)}button.combobox-toggle:disabled{cursor:default;opacity:.55}.combobox-spinner,.combobox-chevron{pointer-events:none}.combobox-list{z-index:var(--z-popover);margin:var(--space-1) 0 0;padding:var(--space-1);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:240px;box-shadow:var(--shadow-lg);list-style:none;overflow-y:auto}.combobox-option{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-md)}.combobox-option.is-active{background:var(--color-accent-soft);color:var(--color-accent-hover)}.combobox-option.is-selected{color:var(--color-accent);font-weight:600}.combobox-option.is-disabled{color:var(--color-muted);cursor:default}.combobox-empty{padding:var(--space-2) var(--space-3);color:var(--color-muted);font-size:var(--font-size-md)}.checkbox,.radio{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-md);display:inline-flex}.checkbox input{cursor:pointer;width:auto;accent-color:var(--color-accent)}.radio input[type=radio]{appearance:none;box-sizing:border-box;width:var(--space-4);height:var(--space-4);border:1.5px solid var(--color-border-strong);background:var(--color-panel);cursor:pointer;border-radius:50%;flex:none;place-content:center;margin:0;padding:0;transition:border-color .15s;display:inline-grid}.radio input[type=radio]:before{content:"";background:var(--color-accent-strong);border-radius:50%;width:.5rem;height:.5rem;transition:transform .15s;transform:scale(0)}.radio input[type=radio]:checked{border-color:var(--color-accent-strong);background:var(--color-accent-soft)}.radio input[type=radio]:checked:before{transform:scale(1)}.radio input[type=radio]:hover:not(:disabled){border-color:var(--color-accent-hover)}.radio input[type=radio]:focus-visible{box-shadow:var(--focus-ring);outline:none}.radio input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.radio-group{gap:var(--space-2);flex-direction:column;display:flex}.switch{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--font-size-md);display:inline-flex}.switch-track{width:var(--switch-width);height:var(--switch-height);background:var(--color-border-strong);cursor:pointer;border:none;border-radius:999px;padding:0;transition:background .2s;position:relative}.switch-track.is-on{background:var(--color-accent-soft);border:1px solid var(--color-accent-strong)}.switch-track:hover{background:var(--color-slate-300)}.switch-track.is-on:hover{background:var(--color-accent-soft)}.switch-track:focus-visible{box-shadow:var(--focus-ring);outline:none}.switch-track:disabled{opacity:.5;cursor:not-allowed}.switch-knob{width:var(--switch-knob);height:var(--switch-knob);background:var(--color-panel);box-shadow:var(--shadow-sm);border-radius:50%;transition:left .2s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:3px;transform:translateY(-50%)}.switch-track.is-on .switch-knob{left:calc(var(--switch-width) - var(--switch-knob) - 3px);background:var(--color-accent-strong)}.datepicker,.datepicker-control{position:relative}.datepicker-input{cursor:pointer;width:100%}.datepicker-clear{right:var(--space-2);color:var(--color-muted);padding:0 var(--space-1);font-size:var(--font-size-lg);background:0 0;border:none;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.datepicker-clear:hover{color:var(--color-text);background:0 0}.datepicker-popover{z-index:var(--z-popover);margin-top:var(--space-1);padding:var(--space-3);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:absolute}.datepicker-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.datepicker-title{font-size:var(--font-size-md);font-weight:600}.datepicker-grid{grid-template-columns:repeat(7,2rem);gap:2px;display:grid}.datepicker-weekday{text-align:center;font-size:var(--font-size-xs);color:var(--color-muted);padding:var(--space-1) 0}.datepicker-blank{width:2rem;height:2rem}.datepicker-day{width:2rem;height:2rem;color:var(--color-text);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:0 0;border:none;padding:0}.datepicker-day:hover{background:var(--color-panel-2)}.datepicker-day.is-today{border:1px solid var(--color-border)}.datepicker-day.is-selected{background:var(--color-accent);color:var(--color-text);font-weight:600}.datepicker-day:disabled{color:var(--color-muted);cursor:default}.datepicker-day:disabled:hover{background:0 0}.chip-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip-remove{color:currentColor;font-size:var(--font-size-md);opacity:.7;background:0 0;border:none;margin-left:2px;padding:0;line-height:1}.chip-remove:hover{color:currentColor;opacity:1;background:0 0}.spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;animation:.6s linear infinite spinner-rotate;display:inline-block}.spinner-sm{width:.9em;height:.9em}.spinner-md{width:1.4rem;height:1.4rem}.spinner-lg{width:2rem;height:2rem}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.overlay{z-index:var(--z-overlay)}.modal{flex-direction:column;width:100%;max-height:100%;display:flex}.modal-sm{max-width:380px}.modal-md{max-width:560px}.modal-lg{max-width:820px}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex:none;display:flex}.modal-body{font-size:var(--font-size-md);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);flex:none;display:flex}@media (width<=640px){.overlay{padding:var(--space-2)}.modal{padding:var(--space-4)}.modal-sm,.modal-md,.modal-lg{max-width:100%}.modal-foot{flex-wrap:wrap}}.tooltip{display:inline-flex;position:relative}.tooltip-bubble{z-index:var(--z-tooltip);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;position:absolute}.tooltip:hover .tooltip-bubble,.tooltip:focus-within .tooltip-bubble{opacity:1}.tooltip-top{margin-bottom:var(--space-1);bottom:100%;left:50%;transform:translate(-50%)}.tooltip-bottom{margin-top:var(--space-1);top:100%;left:50%;transform:translate(-50%)}.tooltip-left{margin-right:var(--space-1);top:50%;right:100%;transform:translateY(-50%)}.tooltip-right{margin-left:var(--space-1);top:50%;left:100%;transform:translateY(-50%)}.progress{background:var(--color-panel-2);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--color-accent);border-radius:999px;height:100%;transition:width .2s}.progress-indeterminate .progress-fill{width:40%;animation:1.2s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{margin-left:-40%}to{margin-left:100%}}.alert{align-items:flex-start;gap:var(--space-3);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-md);display:flex}.alert-content{flex:1}.alert-title{margin-bottom:var(--space-1);font-weight:600}.alert-info{background:var(--color-info-bg);color:var(--color-info-text)}.alert-success{background:var(--color-success-bg);color:var(--color-success-text)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.alert-dismiss{color:currentColor;padding:0 var(--space-1);font-size:var(--font-size-lg);opacity:.7;background:0 0;border:none;line-height:1}.alert-dismiss:hover{color:currentColor;opacity:1;background:0 0}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-skeleton) 25%, var(--color-skeleton-shine) 37%, var(--color-skeleton) 63%);background-size:400% 100%;width:100%;height:1rem;animation:1.4s infinite skeleton-shine;display:inline-block}.skeleton-circle{border-radius:50%}@keyframes skeleton-shine{0%{background-position:100%}to{background-position:0}}.empty-state{align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-8) var(--space-4);color:var(--color-muted);flex-direction:column;display:flex}.empty-state-icon{opacity:.6;font-size:2rem}.empty-state-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:600}.empty-state-desc{font-size:var(--font-size-md);max-width:32ch}.empty-state-action{margin-top:var(--space-2)}.toast-region{z-index:var(--z-toast);bottom:var(--space-4);right:var(--space-4);gap:var(--space-2);flex-direction:column;max-width:360px;display:flex;position:fixed}.toast{align-items:flex-start;gap:var(--space-3);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);font-size:var(--font-size-md);box-shadow:var(--shadow-lg);border-left-width:3px;display:flex}.toast-content{flex:1}.toast-title{margin-bottom:var(--space-1);font-weight:600}.toast-info{border-left-color:var(--color-info-text)}.toast-success{border-left-color:var(--color-success-text)}.toast-warning{border-left-color:var(--color-warning-text)}.toast-danger{border-left-color:var(--color-danger-text)}.toast-dismiss{color:var(--color-muted);padding:0 var(--space-1);font-size:var(--font-size-lg);background:0 0;border:none;line-height:1}.toast-dismiss:hover{color:var(--color-text);background:0 0}.pagination{align-items:center;gap:var(--space-1);display:inline-flex}.pagination .btn-primary{cursor:default}.tabs-list{gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.tabs-tab{color:var(--color-muted);padding:var(--space-2) var(--space-3);font-size:var(--font-size-md);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0}.tabs-tab:hover{color:var(--color-text);background:0 0}.tabs-tab.is-active{color:var(--color-text);border-bottom-color:var(--color-accent)}.tabs-tab:disabled{opacity:.5}.tabs-panel{padding:var(--space-4) 0}.form-layout{gap:var(--space-4);flex-direction:column;display:flex}.form-section{gap:var(--space-3);flex-direction:column;display:flex}.form-section+.form-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.form-section-header{flex-direction:column;display:flex}.form-section-title{margin:0 0 var(--space-1);color:var(--color-text)}.form-section-desc{margin:0}.breadcrumb-list{align-items:center;gap:var(--space-2);font-size:var(--font-size-md);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-sep{color:var(--color-muted)}.breadcrumb-link{color:var(--color-accent);text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-item [aria-current=page]{color:var(--color-muted)}.data-table-wrap{gap:var(--space-3);flex-direction:column;display:flex;overflow-x:auto}.data-table{border-collapse:collapse;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;font-size:var(--font-size-md);box-shadow:var(--shadow-sm);overflow:hidden}.data-table th,.data-table td{text-align:left;padding:.6rem var(--space-3);border-bottom:1px solid var(--color-border)}.data-table th{color:var(--color-muted);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;background:var(--color-panel-2);border-bottom:2px solid var(--color-border-strong)}.data-table th.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.is-sortable:hover{color:var(--color-text)}.data-table-th{align-items:center;gap:var(--space-1);display:inline-flex}.data-table-sort{opacity:.7;font-size:.7em}.data-table tbody tr.clickable{cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.data-table tbody tr.clickable:hover{background:var(--color-accent-soft)}.data-table tbody tr.clickable:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px;background:var(--color-accent-soft)}.data-table tbody tr.is-selected{background:var(--color-accent-soft)}.data-table .cell-right{text-align:right}.data-table .cell-center{text-align:center}.data-table-pagination{align-self:flex-end}.filter-pills{background:var(--color-panel-2);border:1px solid var(--color-border);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.filter-pill{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-muted);cursor:pointer;white-space:nowrap;box-shadow:none;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:999px}.filter-pill:hover{background:var(--color-panel);color:var(--color-text);transform:none}.filter-pill.is-active{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-xs)}.filter-pill:disabled{opacity:.45;cursor:default}.scheduled-filter{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.filter-custom{align-items:flex-end;gap:var(--space-3);display:flex}.filter-custom .field{width:160px;margin-bottom:0}.selection-bar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-accent-soft);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-accent);margin-bottom:var(--space-3);display:flex}.cc-sync-progress{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.cc-sync-progress-label{font-size:var(--font-size-sm);color:var(--color-muted)}.cc-stats-bar{align-items:center;gap:var(--space-6);padding:var(--space-4) var(--space-6);background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);box-shadow:var(--shadow-sm);display:flex}.cc-stats-group{align-items:center;gap:var(--space-6);display:flex}.cc-stat{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.cc-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);white-space:nowrap;line-height:1}.cc-stat-label{font-size:var(--font-size-xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);white-space:nowrap}.cc-stat-warn{color:var(--color-warning-text)}.cc-stat-divider{background:var(--color-border);flex-shrink:0;width:1px;height:2rem}.cc-outside-filter{font-size:var(--font-size-sm);color:var(--color-muted);margin-left:auto}.cc-select-all{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-2);display:flex}.cc-job-group{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;display:flex}.cc-job-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-panel-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);flex-wrap:wrap;display:flex}.cc-job-id{color:var(--color-accent);font-weight:var(--font-weight-semibold);flex-shrink:0}.cc-job-name{font-weight:var(--font-weight-semibold)}.cc-job-customer,.cc-job-address{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-muted);display:inline-flex}.cc-sections{gap:var(--space-2);padding-left:var(--space-8);flex-direction:column;display:flex}.cc-section{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.cc-section-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out);display:flex}.cc-section-header:hover{background:var(--color-panel-2)}.cc-section-chevron{color:var(--color-muted);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0}.cc-section-chevron.is-open{transform:rotate(90deg)}.cc-section-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.cc-section-code{font-size:var(--font-size-sm);color:var(--color-muted)}.cc-section-staff{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-muted);white-space:nowrap;display:inline-flex}.cc-section-date{font-size:var(--font-size-sm);color:var(--color-muted);text-align:right;white-space:nowrap;margin-left:auto}.cc-section-badge{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-warning-text);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.cc-badge-dot{background:var(--color-warning-text);border-radius:50%;flex-shrink:0;width:7px;height:7px}.cc-items-wrap{overflow-x:auto}.cc-items-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.cc-items-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap}.cc-items-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:middle}.cc-items-table tbody tr:last-child td{border-bottom:none}.cc-items-table .cell-right{text-align:right}.cc-items-table .cell-center{text-align:center}.cc-items-table .cell-cb{width:2rem;padding-left:var(--space-3)}.cc-item-cb{cursor:pointer;accent-color:var(--color-accent);width:14px;height:14px}.qty-warn{color:var(--color-warning-text);font-weight:var(--font-weight-semibold)}.qty-ok{color:var(--color-success-text);font-weight:var(--font-weight-semibold)}.qty-zero{color:var(--color-muted)}.cc-part-no{font-family:monospace;font-size:var(--font-size-xs);color:var(--color-muted);white-space:nowrap}.cc-supplier{color:var(--color-muted);white-space:nowrap}.cc-value{font-weight:var(--font-weight-semibold)}.cc-loading{padding:var(--space-8) 0;justify-content:center;display:flex}.assign-stock-modal-title{flex-direction:column;gap:2px;display:flex}.assign-stock-modal-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-muted)}.assign-stock-need{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-4);display:flex}.assign-stock-need-qty{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.assign-stock-need-number{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1}.assign-stock-need-label{font-size:var(--font-size-xs);color:var(--color-muted)}.assign-stock-need-divider{background:var(--color-border);flex-shrink:0;width:1px;height:2.5rem}.assign-stock-need-text{font-size:var(--font-size-md)}.assign-stock-need-job{color:var(--color-accent);font-weight:var(--font-weight-semibold)}.assign-stock-location-heading{font-size:var(--font-size-md);margin-bottom:var(--space-2)}.assign-stock-location-list{gap:var(--space-2);flex-direction:column;display:flex}.assign-stock-location{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);display:flex}.assign-stock-location:hover{border-color:var(--color-border-strong)}.assign-stock-location.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.assign-stock-location-radio{accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;width:16px;height:16px}.assign-stock-location-info{flex:1;min-width:0}.assign-stock-location-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.assign-stock-location-sub{font-size:var(--font-size-sm);color:var(--color-muted);margin-top:2px}.assign-stock-location-stock{text-align:right;flex-shrink:0}.assign-stock-location-qty{font-weight:var(--font-weight-semibold);color:var(--color-success-text);font-size:var(--font-size-md);white-space:nowrap}.assign-stock-location-avail{font-size:var(--font-size-xs);color:var(--color-success-text);margin-top:2px}.assign-stock-location-empty{padding:var(--space-4);text-align:center;color:var(--color-muted);font-size:var(--font-size-sm);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.assign-stock-qty-row{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.assign-stock-qty-label{font-size:var(--font-size-md)}.assign-stock-qty-input{width:90px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text)}.assign-stock-qty-input:focus{border-color:var(--color-accent);outline:none}.assign-stock-qty-hint{font-size:var(--font-size-sm);color:var(--color-muted)}.select-vendor-heading{font-size:var(--font-size-md);margin-bottom:var(--space-3)}.select-vendor-list{gap:var(--space-2);flex-direction:column;display:flex}.select-vendor-option{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);display:flex}.select-vendor-option:hover{border-color:var(--color-border-strong)}.select-vendor-option.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.select-vendor-radio{accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;width:16px;height:16px}.select-vendor-name{min-width:0;font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);flex:1}.select-vendor-incart{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success-text);background:var(--color-success-bg);padding:2px var(--space-2);border-radius:var(--radius-sm);flex-shrink:0}.edit-order-footer{align-items:center;gap:var(--space-2);width:100%;display:flex}.edit-order-actions-left{flex:1}.edit-order-qty-row{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.edit-order-qty-label{font-size:var(--font-size-sm);color:var(--color-muted);min-width:70px}.edit-order-qty-input{width:90px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text)}.edit-order-qty-input:focus{border-color:var(--color-accent);outline:none}.edit-order-loading{color:var(--color-muted);font-size:var(--font-size-sm);padding:var(--space-3) 0}.cc-notice{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-text);border-radius:var(--radius-md);font-size:var(--font-size-sm);display:flex}.cc-notice-close{color:inherit;font-size:var(--font-size-lg);cursor:pointer;background:0 0;border:none;margin-left:auto;line-height:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}button:hover,.btn:hover{transform:none}}.stock-view{gap:var(--space-4);flex-direction:column;display:flex}.stock-toolbar-end{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.stock-summary{gap:var(--space-4);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.stock-summary-time{margin-left:auto}.stock-transfer-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.stock-transfer-note{margin-top:var(--space-3);font-size:var(--font-size-sm)}.crm-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-end;display:flex}.crm-toolbar>*{min-width:220px}.crm-back{margin-bottom:var(--space-3);font-size:var(--font-size-sm);color:var(--color-muted);display:inline-block}.crm-detail{margin-bottom:var(--space-4)}.crm-detail-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;display:grid}.crm-detail-grid dt{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);margin-bottom:var(--space-1)}.crm-detail-grid dd{margin:0}.crm-section-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.crm-section-title{font-size:var(--font-size-lg);margin:0 0 var(--space-3)}.crm-activity{margin-top:var(--space-4)}.crm-note-composer{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.crm-note-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.crm-note{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-panel-2)}.crm-note-body{white-space:pre-wrap}.crm-note-meta{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--color-muted);display:flex}.crm-tags-field{gap:var(--space-2);flex-direction:column;display:flex}.doc-designer{gap:var(--space-4);grid-template-columns:minmax(320px,420px) 1fr;align-items:start;display:grid}@media (width<=1100px){.doc-designer{grid-template-columns:1fr}}.doc-designer-controls{min-width:0}.doc-designer-preview{top:var(--space-4);gap:var(--space-2);flex-direction:column;min-width:0;display:flex;position:sticky}.doc-designer-preview-bar{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.doc-designer-preview-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-weight:600}.doc-designer-preview-actions{gap:var(--space-2);display:flex}.doc-designer-preview-note{font-size:var(--font-size-xs);color:var(--color-muted);margin:0}.doc-designer-frame{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-panel);width:100%;height:70vh;min-height:420px;box-shadow:var(--shadow-sm)}.doc-designer-logo{gap:var(--space-2);flex-direction:column;display:flex}.doc-designer-logo-name{font-size:var(--font-size-sm);margin:0;font-weight:500}.doc-designer-logo-empty{font-size:var(--font-size-sm);color:var(--color-muted);margin:0}.doc-designer-logo-actions{gap:var(--space-2);display:flex}.doc-designer-file{display:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.quote-lines-scroll{overflow-x:auto}.quote-lines{border-collapse:collapse;width:100%;min-width:56rem;font-size:var(--font-size-sm)}.quote-lines th,.quote-lines td{padding:var(--space-2);border-bottom:1px solid var(--color-border);vertical-align:top}.quote-lines thead th{text-align:left;font-weight:var(--font-weight-medium);color:var(--color-accent-2-text);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);white-space:nowrap}.quote-lines-num{text-align:right}.quote-lines-index{width:2rem;color:var(--color-muted)}.quote-lines-actions{white-space:nowrap}.quote-lines-actions-cell{gap:var(--space-1);display:flex}.quote-col-section{width:9rem}.quote-col-qty,.quote-col-unit,.quote-col-discount{width:5rem}.quote-col-price,.quote-col-cost{width:7rem}.quote-col-total{white-space:nowrap;width:7rem}.quote-col-labour{width:6rem}.quote-input{width:100%;padding:2px var(--space-1);border-radius:var(--radius-sm);color:inherit;font:inherit;background:0 0;border:1px solid #0000}.quote-input:hover{border-color:var(--color-border)}.quote-input:focus{border-color:var(--color-accent);background:var(--color-panel);outline:none}.quote-input-num{text-align:right}.quote-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quote-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quote-input[type=number]{appearance:textfield}.quote-line-total{text-align:right;font-variant-numeric:tabular-nums}.quote-totals{align-items:flex-end;gap:var(--space-1);margin-top:var(--space-4);font-size:var(--font-size-sm);flex-direction:column;display:flex}.quote-totals-row{gap:var(--space-6);justify-content:space-between;min-width:16rem;display:flex}.quote-totals-value{font-variant-numeric:tabular-nums}.quote-totals-grand{border-top:1px solid var(--color-border-strong);padding-top:var(--space-1);font-weight:var(--font-weight-medium);font-size:var(--font-size-md)}.quote-meta{gap:var(--space-2) var(--space-6);margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-muted);flex-wrap:wrap;display:flex}.quote-meta-item{gap:var(--space-2);display:flex}.quote-meta-label{color:var(--color-muted)}.quote-meta-value{color:var(--color-text)}.quote-hint{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--color-muted)}.quote-header-fields{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.checklist-field-row{align-items:flex-start;gap:var(--space-4);display:flex}.checklist-field-inputs{flex:1;min-width:0}.checklist-field-actions{gap:var(--space-2);flex-shrink:0;display:flex}.checklist-check-title{margin:0 0 var(--space-1);font-size:var(--font-size-md);font-weight:600}.checklist-sections-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.checklist-section-row{align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.checklist-section-row .field{flex:1}.checklist-section-title{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-size-md);font-weight:700}.checklist-photos{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.checklist-photo{background:var(--color-panel-2);border:1px solid var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;width:120px;height:120px;margin:0;display:flex;position:relative;overflow:hidden}.checklist-photo img{object-fit:cover;width:100%;height:100%}.checklist-photo>button{top:var(--space-1);right:var(--space-1);position:absolute}.chart{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.chart-svg{width:100%;display:block;overflow:visible}.chart-bar .chart-svg,.chart-line .chart-svg{height:160px}.chart-caption{font-size:var(--font-size-sm)}.chart-legend{gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:var(--space-1);display:flex}.chart-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.chart-waterfall{width:100%;display:block}.chart-waterfall-track{background:var(--color-panel-2);border-radius:2px;height:12px;display:block;position:relative}.chart-waterfall-fill{border-radius:2px;height:100%;position:absolute;top:0}.chart-waterfall-fill.is-positive{background:var(--color-accent)}.chart-waterfall-fill.is-negative{background:var(--color-accent-2)}.finance-kpis{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.finance-mapping-add{align-items:flex-end;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.finance-chart-pair{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.finance-uplift-slider{accent-color:var(--color-accent);flex:1}.approval-trail{margin:var(--space-2) 0 0;gap:var(--space-2);font-size:var(--font-size-sm);flex-direction:column;padding:0;list-style:none;display:flex}.approval-trail li{border-left:2px solid var(--color-border);padding-left:var(--space-2)}.finance-section-title{margin:0 0 var(--space-1);font-size:var(--font-size-lg)}.fin-analysis-layout{gap:var(--space-4);grid-template-columns:minmax(0,3fr) minmax(280px,2fr);align-items:start;display:grid}@media (width<=1200px){.fin-analysis-layout{grid-template-columns:1fr}}.fin-analysis-table-wrap{overflow-x:auto}.fin-analysis{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.fin-analysis th,.fin-analysis td{padding:.3rem var(--space-2);white-space:nowrap;border-bottom:1px solid var(--color-border)}.fin-analysis th{text-align:right;font-weight:600}.fin-analysis th:first-child,.fin-analysis td:first-child{text-align:left}.fin-analysis thead .group-head th{text-align:center;color:var(--color-muted);border-bottom:0;padding-bottom:0}.fin-analysis td.num{text-align:right;font-variant-numeric:tabular-nums}.fin-analysis td.gap,.fin-analysis th.gap{width:var(--space-4);border-bottom:0;padding:0}.fin-analysis th.col-asat,.fin-analysis td.col-asat{background:var(--color-panel-2)}.fin-analysis tr.is-subtotal td,.fin-analysis tr.is-total td{font-weight:600}.fin-analysis tr.is-total td{border-top:1px solid var(--color-text)}.fin-analysis tr.is-group-start td{padding-top:var(--space-3)}.fin-analysis tr.is-expandable td:first-child{cursor:pointer}.fin-analysis tr.is-expandable td:first-child:before{content:"▸ ";color:var(--color-muted);font-size:var(--font-size-xs)}.fin-analysis tr.is-expandable.is-open td:first-child:before{content:"▾ "}.fin-analysis tr.is-account td{color:var(--color-muted);font-size:var(--font-size-xs);border-bottom:0;padding-top:.1rem;padding-bottom:.1rem}.fin-analysis tr.is-spacer td{height:var(--space-4);border-bottom:0}.fin-analysis tr.is-header td{padding-top:var(--space-3);border-bottom:0;font-weight:600}.fin-analysis tr.is-indented td:first-child{padding-left:var(--space-5)}.fin-analysis tr.is-percent td{color:var(--color-muted);font-weight:600}.fin-analysis tr.is-account td:first-child{padding-left:var(--space-8,2.5rem)}.fin-analysis-note{margin:var(--space-3) 0 0;font-size:var(--font-size-sm)}.fin-analysis td.col-budget,.fin-analysis th.col-budget{color:var(--color-muted);font-style:italic}.fin-analysis th.col-asat{box-shadow:inset 0 2px 0 var(--color-accent)}.fin-analysis-charts{gap:var(--space-4);flex-direction:column;display:flex}.chart-hbar-bar{fill:var(--color-slate-600)}.chart-hbar-bar.is-negative{fill:var(--color-accent)}.chart-hbar-bar.is-emphasis{fill:var(--color-ink)}.chart-hbar-axis{stroke:var(--color-text);stroke-width:1px}.chart-hbar-grid{stroke:var(--color-border);stroke-width:1px}.chart-hbar-tick,.chart-hbar-label{fill:var(--color-muted);font-size:10px}.chart-hbar-label.is-emphasis{fill:var(--color-text);font-weight:600}.kpi-value-sm{font-size:var(--font-size-base)}.health-check-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.health-check-title{font-size:var(--font-size-base);margin:0}.health-check-detail{margin:var(--space-2) 0 0}.health-check-foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.health-coverage{margin:var(--space-3) 0 0;gap:var(--space-4);flex-direction:column;padding:0;list-style:none;display:flex}.health-coverage li{border-left:2px solid var(--color-border);padding-left:var(--space-3)}.health-coverage p{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.role-permissions{gap:var(--space-4);flex-direction:column;display:flex}.role-permission-group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3)}.role-permission-group-header{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.role-permission-list{gap:var(--space-2);flex-direction:column;display:flex}.tenant-logo{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.tenant-logo-preview{object-fit:contain;max-width:14rem;max-height:3rem}.tenant-logo-empty{font-size:var(--font-size-sm);color:var(--color-muted);margin:0}.tenant-logo-name{font-size:var(--font-size-sm);margin:0;font-weight:500}.tenant-logo-help{font-size:var(--font-size-sm);color:var(--color-muted);margin:0}.tenant-logo-actions{gap:var(--space-2);display:flex}.tenant-logo-file{display:none}.role-checkboxes{gap:var(--space-2);flex-direction:column;display:flex}
