@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--content-padding:16px;--color-primary:#ea580c;--color-success:#16a34a;--color-success-light:#16a34a14;--color-warning:#d97706;--color-warning-light:#d9770614;--color-error:#dc2626;--color-error-light:#dc262614;--color-info:#0891b2;--color-info-light:#0891b214;--font-family:"Inter Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono:"JetBrains Mono Variable", "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-size-xs:.6875rem;--font-size-sm:.75rem;--font-size-md:.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-base:var(--font-size-md);--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.01em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--letter-spacing-caption:.08em;--letter-spacing-caption-legacy:.05em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-1-5:6px;--space-2-5:10px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--z-base:1;--z-sidebar:10;--z-toolbar:100;--z-modal:1000;--z-tooltip:1100;--z-toast:1200;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease;--ease:cubic-bezier(.2, 0, 0, 1);--dur-state:.12s;--dur-reveal:.2s;--font-features-numeric:"tnum", "zero", "ss01";--accent:var(--color-primary);--accent-fg:#fff;--color-focus:#2563eb}.label-caps{text-transform:uppercase;letter-spacing:var(--letter-spacing-caption-legacy,.05em)}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:1.25}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.3}h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.35}h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.4}h5{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}h6{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}.text-display{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.text-body-sm{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.text-caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide)}[data-app=cockpit]{--accent:#e8a030;--accent-fg:#0b0d0f}[data-app=occ]{--accent:#5a9eff;--accent-fg:#0b0d0f}[data-app=pulse]{--accent:#b58cff;--accent-fg:#0b0d0f}[data-app=inspector]{--accent:#ff7a40;--accent-fg:#0b0d0f}[data-app=ticketing]{--accent:#34c58a;--accent-fg:#0b0d0f}[data-app=sentinel],[data-app=sentinel-driver]{--accent:#f5564e;--accent-fg:#0b0d0f}[data-app=flow]{--accent:#6ba0f5;--accent-fg:#0b0d0f}[data-app=payroll]{--accent:#16a371;--accent-fg:#fff}[data-app=pis]{--accent:#2563eb;--accent-fg:#fff}[data-app=portal]{--accent:#f2f3f5;--accent-fg:#0b0d0f}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}[data-theme=light]{--color-bg:#f1f5f9;--color-surface:#fff;--color-surface-raised:#f8fafc;--color-text:#0f172a;--color-text-secondary:#475569;--color-muted:#64748b;--color-disabled:#cbd5e1;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-primary:#c2410c;--color-primary-dark:color-mix(in srgb, var(--color-primary) 85%, black);--color-primary-light:color-mix(in srgb, var(--color-primary) 8%, transparent);--color-primary-contrast:#fff;--color-success:#16a34a;--color-success-light:#16a34a14;--color-warning:#d97706;--color-warning-light:#d9770614;--color-error:#dc2626;--color-error-light:#dc262614;--color-sidebar-bg:#1c1917;--color-sidebar-text:#e7e5e4;--color-sidebar-active:color-mix(in srgb, var(--color-primary) 20%, transparent);--color-sidebar-hover:#ffffff14;--color-sidebar-border:#94a3b826;--color-bg-toolbar:#fff;--color-bg-statusbar:#1c1917;--color-bg-secondary:#f5f6f8;--color-border-primary:#e2e5ea;--color-border-secondary:#ebedf0;--color-table-header-bg:#f5f6f8;--color-table-stripe:#00000005;--color-table-hover:#0000000a;--shadow-sm:0 1px 2px #0f172a0a;--shadow:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 6px #0f172a0f, 0 2px 4px #0f172a0a;--shadow-lg:0 10px 25px #0f172a14;--shadow-xl:0 20px 40px #0f172a1f;--ground-0:var(--color-bg);--ground-1:var(--color-surface);--ground-2:var(--color-surface-raised);--ground-3:#eef1f4;--ink-1:var(--color-text);--ink-2:var(--color-text-secondary);--ink-3:var(--color-muted);--ink-4:var(--color-disabled);--rule:var(--color-border);--rule-subtle:var(--color-border-secondary);--signal-nominal:#15803d;--signal-degraded:#b45309;--signal-incident:#dc2626;--signal-info:#0891b2;--signal-forecast:#7c3aed;--signal-nominal-bg:#15803d14;--signal-degraded-bg:#b4530914;--signal-incident-bg:#dc262614;--signal-info-bg:#0891b214;--signal-forecast-bg:#7c3aed14;--signal-incident-muted:#f87171;--signal-incident-strong:#991b1b;--signal-warning-strong:#92400e;--signal-incident-bg-soft:#fee2e2;--signal-degraded-bg-soft:#fef3c7;--signal-nominal-strong:#166534;--signal-nominal-bg-soft:#d1fae5;--signal-interactive:#3b82f6;--signal-interactive-strong:#2563eb;--signal-interactive-bg:#eff6ff;--signal-interactive-bg-mid:#dbeafe;--ink-heavy:#1e293b;--color-panel-dark:#1e2028;--ground-elev:#fff;--rule-soft:#eef0f2;--rule-hair:#0000000a;--focus-ring:#2563eb;--shadow-1:0 1px 0 #00000005, 0 1px 3px #0000000d;--shadow-2:0 1px 2px #00000008, 0 12px 32px -10px #0d121a1a;--shadow-3:0 2px 4px #0000000a, 0 24px 64px -16px #0d121a2e;--scrim-modal:#0d121a59}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);--bg:var(--color-bg);--surface:var(--color-surface);--surface-elevated:var(--color-surface-raised);--border:var(--color-border);--muted:var(--color-text-secondary);--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#2563eb14;--success:#16a34a;--danger:#dc2626;--warning:#d97706;--shadow:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-lg:0 10px 25px #0f172a14;--radius:12px;--sidebar-width:240px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0}:focus-visible{outline-offset:2px;outline:2px solid var(--primary,#2563eb)!important}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.app-shell{--toolbar-height:0px;--statusbar-height:0px}.content-wrapper{max-width:1200px;margin:0 auto;padding:2rem 2rem 3rem}.depot-map-fullscreen-shell{top:0;bottom:0;right:0;left:var(--sidebar-width);width:calc(100vw - var(--sidebar-width));z-index:1;height:100vh;position:fixed}.sidebar-brand{align-items:center;gap:.75rem;display:flex}.sidebar-logo{background:linear-gradient(135deg, var(--primary), var(--color-info,#38bdf8));width:36px;height:36px;box-shadow:0 4px 12px var(--primary-light-shadow,#2563eb66);border-radius:10px;flex-shrink:0}.sidebar-title{letter-spacing:.3px;font-size:.95rem;font-weight:700}.sidebar-subtitle{color:var(--color-muted);font-size:.72rem}.sidebar-user{align-items:center;gap:.65rem;padding:.25rem 0;display:flex}.sidebar-user-avatar{background:linear-gradient(135deg, var(--color-accent-indigo,#6366f1), var(--color-accent-violet,#8b5cf6));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.sidebar-user-info{flex-direction:column;min-width:0;display:flex}.sidebar-user-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.sidebar-logout{cursor:pointer;width:100%;color:var(--color-muted);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;margin-top:.25rem;padding:.4rem .5rem;font-size:.875rem;display:flex}.sidebar-logout:hover{color:var(--color-error);background:var(--color-error-light)}.page{flex-direction:column;gap:1.25rem;display:flex}.cockpit-page-header{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.page-title{letter-spacing:-.01em;margin:0;font-size:1.6rem;font-weight:700}.page-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.page-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.breadcrumb{color:var(--muted);align-items:center;gap:.35rem;margin-bottom:.25rem;font-size:.85rem;display:flex}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--primary)}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);padding:1.25rem}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-title{font-size:1rem;font-weight:700}.card-meta{color:var(--muted);font-size:.82rem}.card-section{margin-top:1rem}.card-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.stat-grid.four-col{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.kpi-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);align-items:center;gap:1rem;padding:1.25rem;display:flex}.kpi-icon{flex-shrink:0}.kpi-body{flex-direction:column;display:flex}.kpi-value{font-size:1.6rem;font-weight:800;line-height:1.2}.kpi-label{color:var(--muted);font-size:.82rem;font-weight:500}.kpi-stat-grid{flex-direction:column;display:flex}.stat{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.9rem;display:flex}.stat:last-child{border-bottom:none}.stat-label{color:var(--muted);align-items:center;gap:.4rem;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.grid.two-column{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.tab-bar{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);gap:.25rem;padding:.35rem;display:flex}.tab-btn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .85rem;font-size:.85rem;font-weight:600;transition:background .15s,color .15s;display:flex}.tab-btn:hover{background:var(--surface-elevated);color:var(--color-text)}.tab-btn.active{background:var(--primary);color:#fff}.tab-count{background:#94a3b833;border-radius:6px;padding:.1rem .4rem;font-size:.72rem}.tab-btn.active .tab-count{background:#fff3}.badge{text-transform:uppercase;letter-spacing:.3px;background:var(--color-border);color:#334155;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge.pass,.badge.approved,.badge.exported,.badge.success{color:var(--success);background:#16a34a1f}.badge.warn,.badge.evidence_ready{color:#92400e;background:#d977061f}.badge.fail,.badge.failed{color:var(--danger);background:#dc26261f}.badge.unknown{background:var(--color-border);color:var(--color-text-secondary)}.badge.subtle{color:var(--color-text-secondary);background:#94a3b826}.badge.badge-lg{padding:.25rem .75rem;font-size:.78rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px}th,td{border-bottom:1px solid var(--border);text-align:left;padding:.7rem .65rem;font-size:.88rem}th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-elevated);font-size:.7rem;font-weight:600}tbody tr:hover{background:#94a3b80f}.table-compact th,.table-compact td{padding:.5rem;font-size:.82rem}.table-title{font-weight:600}.table-link{color:var(--muted);font-size:.82rem}.table-link-primary{color:var(--primary);font-weight:600}.table-link-primary:hover{color:var(--primary-dark)}.table-footer{text-align:center;padding:.75rem;font-size:.82rem}.btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.btn:hover{background:var(--primary-dark)}.btn.secondary{background:var(--color-border);color:var(--color-text)}.btn.secondary:hover{background:#cbd5e1}.btn.danger{background:var(--danger)}.btn.danger:hover{background:#b91c1c}.btn.full{justify-content:center;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.3rem .6rem;font-size:.78rem}.file-import-label{background:var(--color-border);color:var(--color-text);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-flex}.file-import-label:hover{background:#cbd5e1}.actions{flex-wrap:wrap;gap:.5rem;display:flex}.action-bar{flex-direction:column;gap:.75rem;display:flex}.input-actions{align-items:flex-end;display:flex}label{color:var(--color-text);flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--border);background:var(--color-surface);border-radius:8px;width:100%;padding:.55rem .65rem;font-family:inherit;font-size:.88rem;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:2px solid #2563eb33}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.form-stack{flex-direction:column;gap:.85rem;display:flex}.form-row{align-items:flex-end;gap:1rem;display:flex}.form-row label,.form-label-inline{flex:1}.checkbox{flex-direction:row;align-items:center;gap:.5rem;font-weight:600;display:flex}.checkbox input[type=checkbox]{width:auto}.divider{background:var(--border);height:1px;margin:1.25rem 0}.search-box{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;flex:1;align-items:center;gap:.5rem;max-width:320px;padding:.45rem .65rem;display:flex}.search-box:focus-within{outline:2px solid var(--primary,#2563eb);outline-offset:1px}.search-box input{background:0 0;border:none;flex:1;padding:0;font-size:.85rem}.search-box input:focus{outline:none}.progress{flex-direction:column;gap:.3rem;display:flex}.progress-sm .progress-track{height:6px}.progress-md .progress-track{height:8px}.progress-lg .progress-track{height:12px}.progress-header{justify-content:space-between;font-size:.8rem;display:flex}.progress-label{color:var(--color-text);font-weight:600}.progress-value{color:var(--muted);font-weight:600}.progress-track{background:var(--color-border);border-radius:999px;overflow:hidden}.progress-fill{border-radius:999px;height:100%;transition:width .4s}.progress-default{background:var(--primary)}.progress-success{background:var(--success)}.progress-warning{background:var(--warning)}.progress-danger{background:var(--danger)}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;max-width:380px;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:var(--color-surface);border-left:4px solid var(--primary);border-radius:10px;align-items:flex-start;gap:.65rem;padding:.75rem 1rem;animation:.25s toast-in;display:flex;box-shadow:0 8px 24px #0f172a1f}.toast-success{border-left-color:var(--success)}.toast-error{border-left-color:var(--danger)}.toast-warning{border-left-color:var(--warning)}.toast-info{border-left-color:var(--primary)}.toast-body{flex-direction:column;flex:1;gap:.15rem;display:flex}.toast-title{font-size:.85rem;font-weight:700}.toast-message{color:var(--muted);font-size:.8rem}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.error-boundary{justify-content:center;align-items:center;min-height:400px;display:flex}.error-boundary-content{text-align:center;max-width:420px}.error-boundary-icon{width:56px;height:56px;color:var(--danger);background:#dc26261a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.5rem;font-weight:800;display:inline-flex}.error-boundary-message{color:var(--muted);margin-bottom:1.5rem}.message{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;align-items:center;gap:.5rem;padding:.65rem .85rem;font-size:.88rem;font-weight:600;display:flex}.message.error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.quick-action-card{border:1px solid var(--border);background:var(--surface-elevated);color:inherit;border-radius:10px;align-items:center;gap:.85rem;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.quick-action-card:hover{border-color:var(--primary);color:inherit;box-shadow:0 2px 8px #2563eb1a}.quick-action-card strong{font-size:.88rem;display:block}.quick-action-card span{color:var(--muted);font-size:.78rem}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem;padding:2rem;display:flex}.upload-title{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.upload-desc{margin:0;font-size:.85rem}.upload-controls{align-items:center;gap:.75rem;margin-top:.5rem;display:flex}.upload-input{border:none;width:auto;padding:0;font-size:.85rem}.import-list{flex-direction:column;gap:.75rem;display:flex}.import-item{border:1px solid var(--border);background:var(--surface-elevated);border-radius:10px;flex-direction:column;gap:.5rem;padding:.85rem;display:flex}.import-item-header{justify-content:space-between;align-items:center;display:flex}.import-item-info{align-items:center;gap:.65rem;display:flex}.import-item-info div{flex-direction:column;display:flex}.import-item-info strong{font-size:.88rem}.import-error{color:var(--danger);font-size:.82rem}.import-result{margin-top:.25rem}.code-block-sm{color:#e2e8f0;background:#0f172a;border-radius:8px;max-height:240px;margin:0;padding:.5rem;font-family:SFMono-Regular,Menlo,monospace;font-size:.72rem;overflow:auto}.run-list{flex-direction:column;gap:.75rem;display:flex}.run-card{border:1px solid var(--border);background:var(--surface-elevated);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.run-card.run-active{border-color:var(--warning);background:#d9770608}.run-card-header{justify-content:space-between;align-items:center;display:flex}.run-card-title{align-items:center;gap:.5rem;font-weight:600;display:flex}.run-card-meta{color:var(--muted);gap:1.5rem;font-size:.82rem;display:flex}.run-result{font-size:.85rem}.run-error{color:var(--danger);font-size:.82rem}.gate-tile{background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.4rem;padding:.85rem;display:flex}.gate-tile.gate-fail{border-color:var(--danger)}.gate-title{font-size:.88rem;font-weight:600}.gate-meta{color:var(--muted);margin:0;font-size:.82rem}.gate-codes{color:var(--muted);margin:0;padding:0;font-size:.8rem;list-style:none}.gate-codes li{margin-bottom:.2rem}.gate-detail{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b84d;border-radius:8px;margin:0;padding:.5rem;font-size:.72rem;overflow-x:auto}.map-card{padding-bottom:1.5rem}.map-shell{flex-direction:column;gap:.65rem;display:flex}.map-canvas{border-radius:var(--radius);border:1px solid var(--border);background-image:linear-gradient(#0000 95%,#94a3b826 95%),linear-gradient(90deg,#0000 95%,#94a3b826 95%);background-size:40px 40px;width:100%;height:320px;position:relative;overflow:hidden}.map-svg{width:100%;height:100%}.map-dot{fill:#2563eb;stroke:#fff;stroke-width:.8px}.map-dot.depot{fill:#22c55e}.map-dot.transfer{fill:#eab308}.map-dot.customer{fill:#3b82f6}.map-label{fill:var(--color-text);font-size:3px;font-weight:600}.map-legend{flex-wrap:wrap;gap:.75rem;display:flex}.legend-item{color:var(--muted);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.legend-item:before{content:"";background:#3b82f6;border-radius:50%;width:8px;height:8px}.legend-item.depot:before{background:#22c55e}.legend-item.transfer:before{background:#eab308}.legend-item.customer:before{background:#3b82f6}.code-area{color:#e2e8f0;background:#0f172a;border:1px solid #94a3b833;border-radius:10px;margin-top:.5rem;padding:.65rem;font-family:SFMono-Regular,Menlo,monospace;font-size:.82rem}.code-block{color:#e2e8f0;background:#0f172a;border-radius:10px;max-height:200px;padding:.65rem;font-size:.78rem;overflow:auto}.mono-text{font-family:SFMono-Regular,Menlo,monospace;font-size:.82rem}.hash-value{text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:inline-block;overflow:hidden}.text-muted{color:var(--muted)}.provenance-grid{flex-direction:column;display:flex}.compact-list{color:var(--muted);margin:.35rem 0 0;padding:0;font-size:.82rem;list-style:none}.compact-list li{margin-bottom:.2rem}.status-list{color:var(--muted);margin:0;padding-left:1.2rem;font-size:.88rem}.status-list.error{color:var(--danger)}.status-list.warn{color:#92400e}.empty-state{color:var(--muted);text-align:center;padding:2rem 1rem;font-size:.9rem}.loading-text{color:var(--muted);text-align:center;padding:1.5rem;font-size:.9rem}.auth-layout{background:radial-gradient(circle at top, var(--color-border), var(--color-surface-raised) 45%, var(--color-border) 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:var(--color-surface);width:min(440px,92vw);box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:16px;padding:2.25rem}.auth-brand{align-items:center;gap:.85rem;margin-bottom:1.5rem;display:flex}.auth-brand h1{margin:0;font-size:1.3rem}.auth-brand p{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.auth-footnote{color:var(--muted);margin-top:1.25rem;font-size:.82rem}.route-loading{justify-content:center;align-items:center;height:100vh;display:flex}.route-loading--inline{height:auto;padding:2rem 0}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border,var(--color-border));border-top-color:var(--accent,#3b82f6);will-change:transform;border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}.modal{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:14px;width:min(480px,90vw);padding:1.5rem;box-shadow:0 20px 40px #0f172a33}.modal-content h3{margin:0 0 .75rem}.modal-content label{margin-bottom:.65rem;display:block}.modal-actions{justify-content:flex-end;gap:.5rem;margin-top:1rem;display:flex}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a99;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content-cms{background:var(--color-surface);border-radius:16px;flex-direction:column;width:min(520px,92vw);max-height:85vh;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;display:flex;box-shadow:0 24px 48px #0f172a40,0 0 0 1px #0f172a0d}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header-cms{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem 1.75rem;display:flex}.modal-header-cms h2{color:var(--color-text);letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:600}.btn-icon-close{width:32px;height:32px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.btn-icon-close:hover{background:var(--color-bg);color:var(--color-text)}.btn-icon-close:active{background:var(--color-border);transform:scale(.96)}.modal-body-cms{flex:1;padding:1.75rem;overflow-y:auto}.form-field{margin-bottom:1.5rem}.form-field:last-child{margin-bottom:0}.form-field.read-only .form-input{background:var(--color-surface-raised);color:var(--color-muted);cursor:not-allowed;border-color:var(--color-border)}.form-label{color:#334155;letter-spacing:-.006em;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:flex}.read-only-badge{text-transform:uppercase;letter-spacing:.025em;color:var(--color-muted);background:var(--color-bg);border-radius:6px;align-items:center;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-flex}.form-input{width:100%;color:var(--color-text);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:10px;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem;transition:all .15s}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-input:disabled{background:var(--color-surface-raised);color:#94a3b8;cursor:not-allowed}.form-input[type=number]{font-variant-numeric:tabular-nums}.checkbox-wrapper{cursor:pointer;background:var(--color-surface-raised);border:1.5px solid var(--color-border);border-radius:10px;align-items:center;gap:.625rem;padding:.75rem;transition:all .15s;display:flex}.checkbox-wrapper:hover{background:var(--color-bg);border-color:#cbd5e1}.checkbox-wrapper input[type=checkbox]{cursor:pointer;border:1.5px solid #cbd5e1;border-radius:6px;width:20px;height:20px;transition:all .15s}.checkbox-wrapper input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.checkbox-wrapper input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label{color:#334155;font-size:.9375rem;font-weight:500}.modal-footer-cms{border-top:1px solid var(--border);background:var(--color-surface-raised);justify-content:flex-end;align-items:center;gap:.75rem;padding:1.25rem 1.75rem;display:flex}.modal-footer-cms .btn{border-radius:10px;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;transition:all .15s}.modal-footer-cms .btn:active{transform:scale(.97)}@media (width<=960px){.sidebar{display:none}.app-main{margin-left:0}.depot-map-fullscreen-shell{width:100vw;left:0}.grid.two-column{grid-template-columns:1fr}table{min-width:500px}}.export-action{flex-direction:column;gap:.2rem;display:flex}.helper-text{color:var(--muted);font-size:.82rem}.section-title{margin:.65rem 0 .3rem;font-weight:700}.reason-bars{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.reason-row{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.reason-label{min-width:140px;color:var(--color-text);font-size:.82rem;font-weight:600}.reason-bar-wrap{background:var(--color-border);border-radius:999px;flex:1;height:8px;overflow:hidden}.reason-bar{background:var(--danger);border-radius:999px;height:100%;transition:width .3s}.reason-count{color:var(--danger);text-align:right;min-width:32px;font-size:.85rem;font-weight:700}.stat-row-inline{flex-wrap:wrap;gap:1.5rem;padding:.5rem 0;display:flex}.stat-mini{flex-direction:column;gap:.1rem;display:flex}.stat-mini .text-muted{font-size:.72rem}.stat-mini strong{font-size:.88rem}.pipeline-steps{flex-direction:column;gap:0;display:flex;position:relative}.pipeline-step{border-left:2px solid var(--border);align-items:flex-start;gap:.85rem;margin-left:1rem;padding:.85rem 0 .85rem 1.25rem;display:flex;position:relative}.pipeline-step:last-child{border-left-color:#0000}.pipeline-step-num{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:.75rem;left:-13px}.pipeline-step div{flex-direction:column;display:flex}.pipeline-step strong{font-size:.88rem}.pipeline-step .text-muted{font-size:.82rem}.gate-checklist{flex-direction:column;gap:0;display:flex}.gate-check-item{border-bottom:1px solid var(--border);align-items:center;gap:.65rem;padding:.55rem .75rem;font-size:.85rem;transition:background .1s;display:flex}.gate-check-item:last-child{border-bottom:none}.gate-check-item:hover{background:var(--surface-elevated)}.gate-check-item.gate-check-fail{background:#dc26260a}.gate-check-item.gate-check-fail:hover{background:#dc262614}.gate-check-body{flex-direction:column;flex:1;display:flex}.gate-check-label{font-size:.85rem;font-weight:600}.gate-check-code{color:var(--muted);font-size:.72rem}.audit-timeline{flex-direction:column;gap:0;display:flex}.audit-event{border-bottom:1px solid var(--border);cursor:pointer;gap:.75rem;padding:.75rem .5rem;transition:background .1s;display:flex;position:relative}.audit-event:last-child{border-bottom:none}.audit-event:hover{background:var(--surface-elevated)}.audit-event-selected{background:var(--primary-light)}.audit-event-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.35rem}.audit-event-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.audit-event-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.audit-service-badge{letter-spacing:.05em;border-radius:4px;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.audit-event-type{font-size:.82rem;font-weight:600}.audit-event-time{color:var(--muted);margin-left:auto;font-size:.78rem}.audit-event-message{color:var(--muted);margin:0;font-size:.82rem}.audit-event-hash{color:var(--muted);align-items:center;gap:.3rem;margin-top:.15rem;font-size:.72rem;display:flex}.i18n-loading-skeleton{background:var(--color-bg);color:var(--color-text);justify-content:center;align-items:center;font-family:system-ui,sans-serif;font-size:14px;display:flex;position:fixed;inset:0}.lang-switcher-dropdown{align-items:center;display:flex}.lang-switcher-select{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:4px;padding:4px 6px;font-size:12px}.lang-switcher-select:hover{border-color:var(--color-muted);color:#cbd5e1}.lang-switcher-select:focus{color:var(--color-border);border-color:#3b82f6}.lang-switcher-select option{color:var(--color-border);background:#1e293b}.lang-switcher-list{flex-direction:column;gap:2px;display:flex}.lang-switcher-list-item{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:flex-start;width:100%;padding:6px 10px;display:flex}.lang-switcher-list-item:hover{background:#1e293b;border-color:#334155}.lang-switcher-list-item--active{background:#1e3a5f;border-color:#3b82f6}.lang-switcher-native{color:var(--color-border);font-size:13px;font-weight:500}.lang-switcher-sub{color:var(--color-muted);font-size:11px}
