:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-primary:#1b1464;--brand-primary-fill:#1b1464;--brand-primary-ink:#1b1464;--brand-primary-hover:#2a1f8a;--brand-primary-active:#15104d;--brand-primary-soft:#ecebf6;--brand-accent:#a8c535;--brand-accent-soft:#f1f5d9;--brand-signal:#e8a100;--brand-signal-ink:#9c6d00;--brand-signal-soft:#fbefd0;--paper-0:#fff;--paper-50:#fbfaf6;--paper-100:#f5f3ed;--paper-150:#ebe8df;--paper-200:#ddd9cc;--paper-300:#bcb8ac;--paper-400:#918d80;--paper-500:#666257;--paper-600:#4a4640;--paper-700:#2e2c27;--paper-800:#1a1915;--paper-900:#0d0c0a;--ink-0:#0a0a0c;--ink-50:#0f1014;--ink-100:#15171d;--ink-150:#1b1e26;--ink-200:#252932;--ink-300:#3a3f4d;--ink-400:#5c6273;--ink-500:#878ea0;--ink-600:#b0b5c1;--ink-700:#d2d5de;--ink-800:#e8eaef;--ink-900:#f5f6fa;--ce-bg:var(--paper-50);--ce-surface:var(--paper-0);--ce-surface-hover:var(--paper-50);--ce-surface-sunk:var(--paper-100);--ce-border-subtle:var(--paper-100);--ce-border:var(--paper-200);--ce-border-strong:var(--paper-300);--ce-text:#1a1915;--ce-text-strong:#0d0c0a;--ce-text-secondary:#4a4640;--ce-text-muted:#666257;--ce-text-inverse:var(--paper-0);--ce-text-disabled:#a8a497;--ce-success:#0a9b6a;--ce-success-bg:#e8f7f0;--ce-success-border:#bfe6d2;--ce-warning:#ba6f00;--ce-warning-bg:#fdf4e3;--ce-warning-border:#f3dcb0;--ce-danger:#d11f4f;--ce-danger-bg:#fdecef;--ce-danger-border:#f3bfcb;--ce-info:#0969da;--ce-info-bg:#e8f1fb;--ce-info-border:#bfd8ef;--status-ok:var(--ce-success);--status-fail:var(--ce-danger);--ce-radius-xs:4px;--ce-radius-sm:6px;--ce-radius-md:8px;--ce-radius-lg:12px;--ce-radius-xl:16px;--ce-radius-full:9999px;--ce-shadow-xs:0 1px 2px #0000000a;--ce-shadow-sm:0 1px 2px #0000000d, 0 1px 3px #0000000a;--ce-shadow-md:0 2px 4px #0000000d, 0 4px 8px #0000000d;--ce-shadow-lg:0 4px 8px #0000000f, 0 8px 24px #00000012;--ce-shadow-xl:0 10px 20px #00000014, 0 16px 48px #0000001a;--ce-ring-width:2px;--ce-ring-offset:2px;--ce-ring-color:var(--brand-primary-fill);--ce-ring-danger:var(--ce-danger);--ce-space-1:4px;--ce-space-2:8px;--ce-space-3:12px;--ce-space-4:16px;--ce-space-5:20px;--ce-space-6:24px;--ce-space-8:32px;--ce-space-10:40px;--ce-space-12:48px;--ce-space-16:64px;--ce-font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ce-font-mono:"IBM Plex Mono", "Roboto Mono", "SF Mono", ui-monospace, monospace;--ce-tracking-label:.18em;--ce-tracking-tight:-.02em;--ce-text-xs:11px;--ce-text-sm:13px;--ce-text-md:14px;--ce-text-lg:16px;--ce-text-xl:18px;--ce-text-2xl:22px;--ce-text-3xl:28px;--ce-text-4xl:36px;--ce-text-display:48px;--ce-leading-tight:1.25;--ce-leading-normal:1.5;--ce-leading-relaxed:1.65;--ce-duration-fast:.12s;--ce-duration-base:.18s;--ce-duration-slow:.28s;--ce-ease-out:cubic-bezier(.22, 1, .36, 1);--ce-ease-inout:cubic-bezier(.65, 0, .35, 1);--ce-tap-sm:36px;--ce-tap-min:44px;--ce-tap-lg:52px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html[data-theme=dark]{--ce-bg:#0a0a0a;--ce-surface:#161616;--ce-surface-hover:#1c1c1c;--ce-surface-sunk:#1f1f1f;--ce-surface-2:#ffffff0a;--ce-surface-3:#ffffff14;--bg-card:#161616;--bg-subtle:#1f1f1f;--paper-0:#161616;--paper-50:#0a0a0a;--paper-100:#1f1f1f;--ce-text:#e7e7e8;--ce-text-strong:#fff;--ce-text-secondary:#b9b9bb;--ce-text-muted:#8b8b8d;--ce-text-disabled:#5a5a5c;--text-light:#c8c8ca;--text-muted:#8b8b8d;--text-secondary:#b9b9bb;--ce-border-subtle:#ffffff0f;--ce-border:#ffffff24;--ce-border-strong:#ffffff3d;--ce-border-light:#ffffff0f;--border:#ffffff24;--border-light:#ffffff0f;--bg:#0a0a0a;--surface:#161616;--surface-hover:#1c1c1c;--text:#e7e7e8;--brand-primary-ink:#b8b0ff;--brand-primary-soft:#1a1733;--ce-shadow-xs:0 1px 2px #0009;--ce-shadow-sm:0 2px 6px #0000008c;--ce-shadow-md:0 8px 20px #0000008c;--ce-shadow-lg:0 4px 8px #00000080, 0 8px 24px #0009;--ce-success:#34d399;--ce-success-bg:#0e2a20;--ce-success-border:#1e5641;--ce-warning:#f5b342;--ce-warning-bg:#332512;--ce-warning-border:#5c4318;--ce-danger:#f87171;--ce-danger-bg:#3a1620;--ce-danger-border:#6b2435;--ce-info:#5aa9f5;--ce-info-bg:#10243d;--ce-info-border:#1f4a78;--status-ok:#4ade80;--status-fail:#f87171}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html{font-family:var(--ce-font-sans);color:var(--ce-text);background:var(--ce-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--ce-font-sans);font-size:var(--ce-text-md);line-height:var(--ce-leading-normal);color:var(--ce-text);background:var(--ce-bg)}.ce-mono{font-family:var(--ce-font-mono);font-variant-numeric:tabular-nums}.ce-tabular{font-variant-numeric:tabular-nums}.ce-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ledger-label{font-family:var(--ce-font-mono);font-size:var(--ce-text-xs);text-transform:uppercase;letter-spacing:var(--ce-tracking-label);color:var(--ce-text-secondary);align-items:center;gap:8px;font-weight:500;line-height:1;display:inline-flex}.ledger-label:after{content:"";background:var(--ce-border);flex:1;min-width:24px;height:1px}.ledger-ref{font-family:var(--ce-font-mono);font-size:var(--ce-text-xs);letter-spacing:.04em;color:var(--ce-text-muted);font-variant-numeric:tabular-nums;text-transform:uppercase;font-weight:500}.ledger-ref:before{content:"REF · ";opacity:.6}.ledger-rule-top.ledger-rule-top{background:linear-gradient(var(--ce-surface), var(--ce-surface)) padding-box, linear-gradient(135deg, var(--brand-primary-fill) 0%, var(--brand-primary-fill) 55%, var(--brand-signal) 100%) border-box;border:2px solid #0000;position:relative}.ledger-rule-top:before{display:none}.ledger-numeral{font-family:var(--ce-font-mono);font-variant-numeric:tabular-nums;font-size:var(--ce-text-display);letter-spacing:var(--ce-tracking-tight);color:var(--ce-text-strong);font-weight:600;line-height:1}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#1b1464;--navy-dark:#110e3f;--navy-light:#2a1f8a;--lime:#a8c535;--lime-dark:#8baa1e;--lime-light:#c4e04a;--bg:#f4f5f7;--surface:#fff;--surface-hover:#f8f9fa;--border:#e2e4e8;--border-light:#f0f1f3;--text:#1a1d23;--text-secondary:#6b7280;--text-muted:#9ca3af;--success:#10b981;--success-bg:#d1fae5;--error:#ef4444;--error-bg:#fee2e2;--warning:#f59e0b;--warning-bg:#fef3c7;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 30px #0000001f;--anim-duration-fast:.2s;--anim-duration-normal:.35s;--anim-duration-slow:.5s;--anim-ease:cubic-bezier(.22, 1, .36, 1);--anim-stagger:70ms;--font-xs:.7rem;--font-sm:.8rem;--font-md:.9rem;--font-lg:1rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:2.25rem;--font-hero:3rem;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"Roboto Mono", "SF Mono", "Courier New", ui-monospace, monospace;--tap-min:44px;--tap-sm:40px;--primary:var(--navy);--primary-hover:var(--navy-light);--accent-green:var(--lime);--accent-blue:#3b82f6;--fail-red:var(--error);--status-fail:var(--error);--text-primary:var(--text);--text-light:var(--text-muted);--bg-primary:var(--bg);--bg-secondary:var(--surface);--bg-tertiary:var(--surface-hover);--bg-card:var(--surface);--bg-input:var(--surface);--border-color:var(--border);--lime-rgb:168, 197, 53;--navy-rgb:27, 20, 100}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app-shell{min-height:100vh;padding-bottom:env(safe-area-inset-bottom,0);flex-direction:column;display:flex}.app-header{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-dark) 100%);color:#fff;padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-md);z-index:100;-webkit-backdrop-filter:blur(12px)saturate(1.5);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:var(--space-sm);display:flex}.brand-logo{font-size:1.5rem}.brand-name{letter-spacing:-.5px;background:linear-gradient(90deg, #fff 0%, var(--lime) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:800}.header-subtitle{opacity:.7;font-size:.8rem;font-weight:500}.header-actions{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.header-user{align-items:center;gap:var(--space-sm);display:flex}@media (width<=768px){.header-actions{justify-content:space-between;gap:var(--space-sm);flex-wrap:nowrap;width:100%}}.app-nav{background:var(--surface);padding:var(--space-xs);border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0% 92%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 92%,#0000 100%)}.app-nav::-webkit-scrollbar{display:none}@media (width<=768px){.app-shell{flex-direction:column}.app-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.header-lock{justify-content:space-between;width:100%}.app-main{padding:1rem}.table-container{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.pin-hint{padding:0 1rem}}.nav-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);font-family:inherit;font-size:var(--font-xs);cursor:pointer;white-space:nowrap;min-height:var(--tap-min);min-width:var(--tap-min);background:0 0;border:none;flex-direction:column;flex:1 0;justify-content:center;align-items:center;gap:2px;font-weight:600;transition:background .15s,color .15s,transform .15s;display:flex;position:relative}.nav-btn:active{transform:scale(.97)}.nav-btn:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.nav-btn:hover{background:var(--surface-hover);color:var(--navy)}.nav-btn.active{background:var(--navy);color:#fff}.nav-btn.active:after{content:"";background:var(--lime);border-radius:2px;width:20px;height:3px;position:absolute;bottom:-1px;left:50%;transform:translate(-50%)}.nav-icon{font-size:1.25rem}.nav-label{font-size:.7rem}.app-main{padding:var(--space-lg);flex:1;width:100%;max-width:900px;margin:0 auto}.station-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);background:#ffffffd9;transition:box-shadow .2s,transform .2s}.station-title{color:var(--navy);margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);font-size:1.25rem;font-weight:700;display:flex}.select-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .2s}.select-input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #1b146426,inset 0 2px 4px #0000000d}.select-input option{background:var(--surface);color:var(--text);font-weight:400}.admin-input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);height:48px;color:var(--text);flex:1;padding:.5rem .75rem;font-size:.9rem;font-weight:500;transition:background .2s,border-color .2s,box-shadow .2s}.admin-input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #1b14641a}.stage-select{margin-bottom:var(--space-md);font-weight:700}.scan-input{width:100%;padding:var(--space-md);border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text);background:var(--surface);font-family:inherit;font-size:1rem;transition:background .2s,border-color .2s,box-shadow .2s}.scan-input:focus{border-color:var(--navy);background:var(--surface);outline:none;box-shadow:0 0 0 3px #1b146426,inset 0 2px 4px #0000000d}.scan-input.large{padding:var(--space-lg) var(--space-md);font-size:1.2rem}.scan-input:disabled{opacity:.5;cursor:not-allowed}.scan-area{margin-top:var(--space-md)}.active-roll-badge{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--navy);margin-bottom:var(--space-md);background:#1b14640f;border:1px solid #1b146426;font-weight:600;display:flex}.btn-change{padding:2px var(--space-sm);color:var(--error);cursor:pointer;background:0 0;border:none;margin-left:auto;font-family:inherit;font-size:.7rem;text-decoration:underline}.btn-primary{padding:var(--space-sm) var(--space-lg);background:var(--navy);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;font-family:inherit;font-size:.9rem;font-weight:700;transition:all .2s}.btn-primary:hover:not(:disabled){background:var(--navy-light);transform:translateY(-1px);box-shadow:0 4px 12px #1b146433}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #1b14641a}.btn-primary:focus-visible{box-shadow:0 0 0 3px #fffc, 0 0 0 5px var(--navy);outline:none}.btn-retry{padding:2px var(--space-md);margin-left:var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:600}.status-msg{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);align-items:center;gap:var(--space-sm);font-size:.9rem;font-weight:500;animation:.3s slideIn;display:flex}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.status-msg.error{background:var(--error-bg);color:#991b1b;border:1px solid #fecaca}.queue-badge{padding:var(--space-sm) var(--space-md);background:var(--warning-bg);color:#92400e;border-radius:var(--radius-sm);margin-bottom:var(--space-md);text-align:center;font-size:.8rem;font-weight:600}.disabled-area{opacity:.4;pointer-events:none}.search-bar{gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.search-bar .scan-input{flex:1}.membrane-info{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);background:#1b146408}.info-row{padding:var(--space-xs) 0;justify-content:space-between;font-size:.85rem;display:flex}.info-label{color:var(--text-secondary);font-weight:600}.info-value{font-weight:500}.stage-badge{background:var(--navy);color:#fff;padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:700}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{background:var(--bg);text-align:left;padding:var(--space-sm) var(--space-md);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border);font-size:.7rem;font-weight:700}.data-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-light)}.data-table tr:hover{background:var(--surface-hover)}.stage-cell{color:var(--navy);font-weight:700}.date-sub{color:var(--text-muted);font-size:.7rem}.duration-badge{padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;display:inline-block}.duration-badge.normal{background:var(--success-bg);color:#065f46}.duration-badge.over{background:var(--error-bg);color:#991b1b}.duration-na{color:var(--text-muted);font-size:.75rem}.stage-pipeline{justify-content:center;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xl);padding:var(--space-md);display:flex;overflow-x:auto}.pipeline-step{flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.pipeline-node{background:var(--bg);border:2px solid var(--border);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:56px;height:56px;transition:all .3s;display:flex}.pipeline-node.active{background:var(--navy);border-color:var(--lime);box-shadow:0 0 12px #a8c5354d}.pipeline-node.active .pipeline-count{color:var(--lime)}.pipeline-node.active .pipeline-icon{filter:brightness(1.5)}.pipeline-icon{font-size:.9rem}.pipeline-count{color:var(--text-secondary);font-size:.75rem;font-weight:800}.pipeline-label{color:var(--text-secondary);white-space:nowrap;font-size:.6rem;font-weight:600}.pipeline-arrow{color:var(--text-muted);font-size:.9rem;position:absolute;top:20px;right:-12px}.stage-grid{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.stage-card{padding:var(--space-md);background:var(--bg);border:1px solid var(--border-light);border-radius:var(--radius-md);transition:all .2s}.stage-card.has-items{border-color:var(--lime);background:#a8c5350d}.stage-card-header{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-sm);display:flex}.stage-name{text-transform:uppercase;color:var(--text-secondary);font-size:.7rem;font-weight:700}.stage-count{color:var(--navy);font-size:1.75rem;font-weight:800}.total-bar{text-align:center;padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9rem}.total-bar strong{color:var(--navy);font-size:1.1rem}.skeleton{position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{background:var(--border);width:60%;height:12px;margin-bottom:var(--space-sm);border-radius:4px}.skeleton-number{background:var(--border);border-radius:4px;width:40%;height:28px}.skeleton-select{background:var(--border);border-radius:var(--radius-sm);width:100%;height:38px}.loading-text{text-align:center;color:var(--text-secondary);padding:var(--space-lg);font-size:.9rem}.empty-text{text-align:center;color:var(--text-muted);padding:var(--space-lg);font-size:.9rem}.error-text{color:var(--error);margin-bottom:var(--space-sm);font-size:.85rem}.shift-toggle{margin-bottom:var(--space-md);gap:4px;display:flex}.shift-btn{padding:var(--space-sm) var(--space-md);border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);cursor:pointer;flex:1;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .25s}.shift-btn:hover{border-color:var(--navy);transform:translateY(-1px)}.shift-btn.active{color:#fff;box-shadow:var(--shadow-sm);transform:translateY(-1px)}.shift-btn.active[data-shift=day]{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#d97706}.shift-btn.active[data-shift=night]{background:linear-gradient(135deg,#4338ca,#312e81);border-color:#312e81}.field-group{margin-bottom:var(--space-md)}.field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--navy);margin-bottom:var(--space-xs);font-size:.7rem;font-weight:700;display:block}.input-row{gap:var(--space-sm);display:flex}.input-row .scan-input{flex:1}.station-desc{color:var(--text-secondary);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#1b146408;font-size:.85rem}.operator-list-section{margin-top:var(--space-lg);border-top:1px solid var(--border-light);padding-top:var(--space-md)}.list-section-title{color:var(--navy);margin-bottom:var(--space-sm);font-size:.8rem;font-weight:700}.operator-list{flex-direction:column;gap:4px;list-style:none;display:flex}.operator-list-item{padding:var(--space-xs) var(--space-md);background:var(--bg);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.btn-delete{width:24px;height:24px;color:var(--error);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:.8rem;font-weight:700;transition:background .2s}.btn-row-action{border:1px solid var(--border,#e5e7eb);background:var(--surface,#fff);color:var(--text-secondary,#4b5563);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-row-action:hover:not(:disabled){background:var(--surface-hover,#f3f4f6)}.btn-row-action:disabled{opacity:.5;cursor:not-allowed}.btn-row-action.danger{color:var(--error,#b91c1c);border-color:#b91c1c40}.btn-row-action.danger:hover:not(:disabled){background:var(--error-bg,#b91c1c14);border-color:var(--error,#b91c1c)}.btn-row-action.primary{color:var(--brand-primary-ink,#1b1464);border-color:#1b146440}.btn-row-action.primary:hover:not(:disabled){border-color:var(--brand-primary-ink,#1b1464);background:#1b14640f}.btn-row-action.success{color:#0a8c5a;border-color:#0a8c5a40}.btn-row-action.success:hover:not(:disabled){background:#0a8c5a14;border-color:#0a8c5a}.filter-tabs{margin-bottom:var(--space-md);padding-bottom:var(--space-xs);-webkit-overflow-scrolling:touch;gap:4px;display:flex;overflow-x:auto}.filter-tab{padding:var(--space-xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-family:inherit;font-size:.7rem;font-weight:600;transition:all .2s}.filter-tab:hover{background:var(--surface-hover);border-color:var(--navy)}.filter-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.table-search{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.table-search .scan-input{padding:var(--space-sm) var(--space-md);flex:1;font-size:.85rem}.result-count{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.table-wrapper{-webkit-overflow-scrolling:touch;margin-top:1rem;overflow-x:auto}.table-wrapper::-webkit-scrollbar{height:6px}.table-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--navy)}.sort-icon{font-size:.6rem}.barcode-cell{flex-direction:column;gap:2px;display:flex}.barcode-tag{color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.nfc-badge{padding:1px var(--space-sm);background:linear-gradient(135deg, var(--navy), var(--navy-light));color:#fff;border-radius:var(--radius-full);letter-spacing:.5px;text-transform:uppercase;font-size:.55rem;font-weight:700;display:inline-block}.roll-sub{color:var(--text-muted);font-size:.65rem}.stage-pill{padding:2px var(--space-sm);color:var(--navy);border-radius:var(--radius-full);background:#1b146414;font-size:.7rem;font-weight:700;display:inline-block}.title-sub{color:var(--text-muted);margin-left:var(--space-sm);font-size:.75rem;font-weight:500}.skeleton-table{gap:var(--space-sm);flex-direction:column;display:flex}.skeleton-row{background:var(--border-light);border-radius:var(--radius-sm);height:40px;position:relative;overflow:hidden}.skeleton-row:after{content:"";background:linear-gradient(90deg,#0000,#fff9,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}@media (width<=640px){.app-main,.station-card{padding:var(--space-md)}.stage-pipeline{gap:2px}.pipeline-node{width:40px;height:40px}.pipeline-icon{font-size:.7rem}.pipeline-count{font-size:.6rem}.pipeline-label{font-size:.45rem}.stage-grid{grid-template-columns:repeat(2,1fr)}.nav-label{display:none}.nav-icon{font-size:1.5rem}.nav-btn.active:after{display:none}.select-row{grid-template-columns:1fr}.scan-input.large{padding:var(--space-md);font-size:1rem}.filter-tabs{gap:2px}.filter-tab{padding:2px var(--space-sm);font-size:.6rem}}.station-card{transition:box-shadow var(--anim-duration-normal) var(--anim-ease)}.station-card:hover{box-shadow:var(--shadow-lg)}@keyframes scanPulse{0%{box-shadow:0 0 #a8c53580}70%{box-shadow:0 0 0 12px #a8c53500}to{box-shadow:0 0 #a8c53500}}.step-indicator{gap:var(--space-md);margin-bottom:var(--space-md);font-size:.85rem;font-weight:600;display:flex}.step{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);background:var(--border-light);color:var(--text-muted);transition:all var(--anim-duration-fast) ease}.step.done{background:var(--success-bg);color:var(--success)}.step.active{background:linear-gradient(135deg, var(--navy), var(--navy-light));color:#fff;box-shadow:0 2px 8px #1b14644d}.nfc-input:focus{border-color:var(--navy-light);animation:1.5s ease-out scanPulse;box-shadow:0 0 0 3px #2a1f8a26}.btn-skip{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all var(--anim-duration-fast) ease;background:0 0;font-family:inherit;font-size:.8rem}.btn-skip:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.product-timeline{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-lg);background:#1b146408;border:1px solid #1b14640f}.product-timeline.loading{min-height:60px}.timeline-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--bg-tertiary) 50%, var(--bg-secondary) 75%);background-size:200% 100%;height:40px;animation:1.5s infinite shimmer}.timeline-toggle{align-items:center;gap:var(--space-xs);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);background:0 0;border:none;padding:2px 0;font-size:.7rem;font-weight:600;display:flex}.timeline-toggle:hover{color:var(--navy)}.timeline-steps{padding-left:20px;position:relative}.timeline-steps:before{content:"";background:#1b14641f;border-radius:1px;width:2px;position:absolute;top:4px;bottom:4px;left:7px}.timeline-step{padding:4px 0 8px;position:relative}.timeline-step.current .timeline-dot{background:var(--lime);color:var(--navy);box-shadow:0 0 8px #a8c53566}.timeline-dot{background:var(--navy);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:6px;left:-20px}.timeline-content{flex-direction:column;gap:1px;display:flex}.timeline-row{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.timeline-stage{color:var(--navy);font-size:.75rem;font-weight:700}.timeline-time{color:var(--text-secondary);align-items:center;gap:4px;font-size:.65rem;display:flex}.timeline-date,.timeline-duration{color:var(--text-muted);font-size:.6rem}.timeline-meta{color:var(--text-muted);font-size:.6rem;font-style:italic}.drying-badge{padding:2px var(--space-sm);border-radius:var(--radius-full);letter-spacing:.3px;margin-top:2px;font-size:.6rem;font-weight:700;display:inline-block}.drying-badge.green{color:#16a34a;background:#22c55e26}.drying-badge.amber{color:#d97706;background:#f59e0b26}.drying-badge.red{color:#dc2626;background:#ef444426}.data-table tbody tr{content-visibility:auto;contain-intrinsic-size:0 48px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.station-card:hover{transform:none}}.login-backdrop{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100dvh;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;flex-direction:column;gap:1rem;width:min(400px,94vw);padding:2.5rem 2rem;display:flex}.login-logo{background:var(--accent-green);color:#000;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto .5rem;display:flex}.login-title{text-align:center;color:var(--text-primary);margin:0;font-size:1.5rem;font-weight:700}.login-subtitle{text-align:center;color:var(--text-secondary);margin:0;font-size:.85rem}.login-field{align-items:center;display:flex;position:relative}.login-field input{border:1px solid var(--border-color);background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:8px;padding:.7rem 2.4rem;font-size:1rem}.login-field input:focus{border-color:var(--accent-green);outline:none}.login-icon{color:var(--text-secondary);position:absolute;left:.7rem}.pw-toggle{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;align-items:center;padding:0;display:flex;position:absolute;right:.7rem}.login-error{color:#e74c3c;text-align:center;font-size:.85rem}.login-btn{background:var(--accent-green);color:#000;cursor:pointer;border:none;border-radius:8px;padding:.75rem;font-size:1rem;font-weight:700;transition:opacity .15s}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn:not(:disabled):hover{opacity:.9}.header-user{align-items:center;gap:.5rem;margin-left:auto;display:flex}.user-chip{color:var(--accent-green);text-transform:uppercase;letter-spacing:.04em;background:#a8c53526;border:1px solid #a8c5354d;border-radius:20px;padding:.2rem .7rem;font-size:.78rem;font-weight:600}.logout-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding:.35rem .5rem;transition:all .15s;display:flex}.logout-btn:hover{color:#e74c3c;border-color:#e74c3c}.ng-blink{position:relative}.ng-blink:after{content:"";pointer-events:none;border-radius:inherit;outline-offset:-2px;opacity:0;will-change:opacity;background:#e74c3c2e;outline:2px solid #e74c3c;animation:.6s ease-in-out 6 ngBlink;position:absolute;inset:0}@keyframes ngBlink{0%,to{opacity:0}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ng-blink:after{opacity:.6;animation:none}}.mgr-section{border-top:1px solid var(--border-color);margin-top:1.25rem;padding-top:1.25rem}.mgr-section-title{color:var(--text-primary);align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:1rem;font-weight:600;display:flex}.mgr-toolbar{align-items:center;gap:.4rem;margin:.75rem 0 0;font-size:.8rem;display:flex}.mgr-toolbar-btn{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .4rem;font-size:.8rem}.mgr-toolbar-btn:hover{color:var(--text-primary);background:#0000000a}.mgr-toolbar-sep{color:var(--text-muted);-webkit-user-select:none;user-select:none}.mgr-section-toggle{width:100%;font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;font-size:1rem;font-weight:600;transition:color .15s;display:flex}.mgr-section-toggle:hover{color:var(--navy,var(--text-primary))}.mgr-section-toggle:focus-visible{outline:2px solid var(--navy,currentColor);outline-offset:2px;border-radius:4px}.mgr-section-toggle-label{flex:1;align-items:center;gap:.4rem;display:flex}.mgr-section-count{min-width:1.5rem;height:1.25rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;background:#0000000f;border-radius:999px;justify-content:center;align-items:center;margin-left:.4rem;padding:0 .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.mgr-section-body{margin-top:.75rem}.mgr-section{contain:layout style}.mgr-section-anim{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.32,.72,0,1),opacity .16s ease-out;display:grid}.mgr-section-anim[data-open=true]{opacity:1;will-change:grid-template-rows;grid-template-rows:1fr}.mgr-section-anim-inner{min-height:0;overflow:hidden}.mgr-section-anim .mgr-section-body{opacity:0;transition:opacity .18s ease-out}.mgr-section-anim[data-open=true] .mgr-section-body{opacity:1}.mgr-section-chevron{color:var(--text-secondary);transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .16s}.mgr-section-toggle[aria-expanded=true] .mgr-section-chevron{color:var(--text-primary);transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.mgr-section-anim,.mgr-section-anim .mgr-section-body,.mgr-section-chevron{transition:none!important;transform:none!important}}.mgr-section-actions{justify-content:flex-end;margin:.5rem 0 .75rem;display:flex}.mgr-action-btn{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.82rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.mgr-action-btn:hover{color:#e74c3c;background:#e74c3c0f;border-color:#e74c3c66}.mgr-action-btn:focus-visible{outline:2px solid var(--navy,currentColor);outline-offset:2px}.mgr-bulk-bar{color:var(--text-primary);background:#e74c3c14;border:1px solid #e74c3c40;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0 .75rem;padding:.5rem .75rem;font-size:.85rem;animation:.2s cubic-bezier(.32,.72,0,1) bulkBarIn;display:flex}@keyframes bulkBarIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mgr-bulk-bar{animation:none}}.mgr-bulk-count{font-weight:600}.mgr-bulk-actions{align-items:center;gap:.5rem;display:flex}.mgr-bulk-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.8rem}.mgr-bulk-clear:hover{color:var(--text-primary);background:#0000000d}.confirm-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;animation:.15s ease-out confirmFade;display:flex;position:fixed;inset:0}@keyframes confirmFade{0%{opacity:0}to{opacity:1}}.confirm-modal{background:var(--bg-card);border-radius:10px;flex-direction:column;width:calc(100% - 2rem);max-width:480px;max-height:calc(100vh - 4rem);animation:.18s cubic-bezier(.4,0,.2,1) confirmSlide;display:flex;box-shadow:0 20px 50px #0000004d}@keyframes confirmSlide{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.confirm-header{align-items:center;gap:.5rem;padding:1rem 1.25rem .5rem;display:flex}.confirm-icon{color:#e74c3c;flex-shrink:0}.confirm-header h3{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:600}.confirm-warning{color:var(--text-secondary);margin:0;padding:0 1.25rem .75rem;font-size:.85rem;line-height:1.4}.confirm-list{color:var(--text-primary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:#00000005;margin:0;padding:.5rem 1.25rem .75rem 2.5rem;font-size:.85rem;list-style:outside;overflow-y:auto}.confirm-list li{font-variant-numeric:tabular-nums;padding:.15rem 0}.confirm-list-more{color:var(--text-secondary);margin-left:-1rem;font-style:italic;list-style:none}.confirm-actions{justify-content:flex-end;gap:.5rem;padding:.75rem 1.25rem 1rem;display:flex}.btn-cancel{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:background .12s,border-color .12s}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary,#0000000a)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-danger{color:#fff;cursor:pointer;background:#e74c3c;border:1px solid #e74c3c;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:background .12s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#c0392b;border-color:#c0392b}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-warning{color:#1f2937;cursor:pointer;background:#f59e0b;border:1px solid #d97706;border-radius:6px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn-warning:hover:not(:disabled){color:#fff;background:#d97706;border-color:#b45309}.btn-warning:disabled{opacity:.6;cursor:not-allowed}.confirm-error{color:#b91c1c;background:#e74c3c14;border:1px solid #e74c3c59;border-radius:6px;align-items:flex-start;gap:.5rem;margin:.75rem 1.25rem 0;padding:.6rem .75rem;font-size:.85rem;line-height:1.4;display:flex}.confirm-error svg{flex-shrink:0;margin-top:2px}.depleted-text{color:var(--text-secondary);text-decoration:line-through}.btn-sm{padding:.2rem .5rem!important;font-size:.78rem!important}.pin-backdrop{z-index:10000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.pin-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:.75rem;width:min(360px,94vw);padding:1.5rem;display:flex}.pin-header{color:var(--text-primary);justify-content:space-between;align-items:center;font-weight:600;display:flex}.pin-header button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none}.pin-hint{color:var(--text-secondary);margin:0;font-size:.85rem}.pin-actions{justify-content:flex-end;gap:.5rem;display:flex}.btn-delete-row{color:var(--text-secondary);cursor:pointer;opacity:.5;background:0 0;border:1px solid #0000;border-radius:6px;padding:.25rem .4rem;transition:all .15s}.btn-delete-row:hover{color:#e74c3c;opacity:1;border-color:#e74c3c}.row-ng{background:#e74c3c14!important}.row-selected{background:#1b146414!important}.row-selected.row-ng{background:#e74c3c1f!important}.ng-text{color:#e74c3c;font-weight:700}.fail-text{color:#e67e22;font-weight:600}.ng-badge{color:#fff;vertical-align:middle;background:#e74c3c;border-radius:4px;margin-left:.3rem;padding:.1rem .3rem;font-size:.65rem;font-weight:700}.vacuum-val{align-items:center;gap:.2rem;display:inline-flex}.date-cell{white-space:nowrap;font-size:.82rem}.station-lock-btn{cursor:pointer;border:1px solid;border-radius:8px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.station-lock-btn.locked{color:#e74c3c;background:#e74c3c1f;border-color:#e74c3c}.station-lock-btn.locked:hover{background:#e74c3c38}.station-lock-btn.unlocked{border-color:var(--accent-green);color:var(--accent-green);background:#a8c5351f}.station-lock-btn.unlocked:hover{background:#a8c53538}.header-lock{align-items:center;margin-left:auto;display:flex}.shift-btn:disabled,.select-input:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.history-table-wrap{-webkit-overflow-scrolling:touch;width:100%;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 24px),#0000 100%)}.history-table-wrap.scrolled-end{-webkit-mask-image:none;mask-image:none}.history-table-wrap .data-table{width:100%;min-width:900px}.history-table-wrap .data-table th,.history-table-wrap .data-table td{white-space:nowrap;text-overflow:ellipsis;padding:.35rem .4rem;font-size:.72rem;overflow:hidden}.history-table-wrap .data-table th:nth-child(3),.history-table-wrap .data-table td:nth-child(3){z-index:2;background:var(--bg-card,#fff);position:sticky;left:0;box-shadow:1px 0 #1b14640f}.history-table-wrap .data-table thead th:nth-child(3){z-index:3;background:var(--bg-subtle,#f6f7fb)}.history-table-wrap .data-table tr.row-ng td:nth-child(3){background:#dc26260f}.history-table-wrap .data-table tr.row-selected td:nth-child(3){background:#1b146414}.history-table-wrap .data-table th:last-child,.history-table-wrap .data-table td:last-child{z-index:2;background:var(--bg-card,#fff);position:sticky;right:0;box-shadow:-1px 0 #1b14640f}.history-table-wrap .data-table thead th:last-child{z-index:3;background:var(--bg-subtle,#f6f7fb)}.history-table-wrap .data-table tr.row-ng td:last-child{background:#dc26260f}.history-table-wrap .data-table tr.row-selected td:last-child{background:#1b146414}.history-table-wrap.history-compact .data-table th:nth-child(4),.history-table-wrap.history-compact .data-table td:nth-child(4),.history-table-wrap.history-compact .data-table th:nth-child(8),.history-table-wrap.history-compact .data-table td:nth-child(8),.history-table-wrap.history-compact .data-table th:nth-child(13),.history-table-wrap.history-compact .data-table td:nth-child(13),.history-table-wrap.history-compact .data-table th:nth-child(14),.history-table-wrap.history-compact .data-table td:nth-child(14),.history-table-wrap.history-cards{display:none}.history-card-stack{flex-direction:column;gap:0;display:none}.history-card-stack.active{display:flex}.history-card{background:linear-gradient(var(--bg-card,#fff), var(--bg-card,#fff)) padding-box, linear-gradient(135deg, var(--brand-primary-fill,#1b1464) 0%, var(--brand-primary-fill,#1b1464) 65%, var(--brand-signal,#e8a100) 100%) border-box;font-family:var(--ce-font-sans,system-ui);border:2px solid #0000;border-radius:8px;flex-direction:column;gap:.45rem;margin-bottom:.55rem;padding:.75rem .85rem;display:flex;box-shadow:0 1px 2px #1b14640a}.history-card.row-ng{background:linear-gradient(#dc26260a,#dc26260a) padding-box padding-box,linear-gradient(135deg,#dc2626,#dc2626) border-box}.history-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.history-card-head .barcode-tag{font-size:.95rem}.history-card-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.35rem .85rem;font-size:.78rem;display:grid}.history-card-grid-item{flex-direction:column;gap:1px;min-width:0;display:flex}.history-card-grid-label{opacity:.6;letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:600}.history-card-grid-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;color:var(--brand-primary-ink,#1b1464);font-weight:600;overflow:hidden}.history-card-actions{border-top:1px solid #1b14640f;justify-content:flex-end;gap:.4rem;padding-top:.4rem;display:flex}.history-display-toggle{border:1px solid var(--border,#1b146426);background:var(--bg-card,#fff);border-radius:999px;align-items:center;padding:2px;font-size:.75rem;display:inline-flex}.history-display-toggle button{cursor:pointer;color:var(--text-muted,#6b7280);letter-spacing:.03em;background:0 0;border:0;border-radius:999px;padding:.3rem .7rem;font-weight:600}.history-display-toggle button.active{background:var(--brand-primary-ink,#1b1464);color:#fff}.history-table-wrap .data-table th:first-child,.history-table-wrap .data-table td:first-child{width:18%}.history-table-wrap .data-table th:nth-child(2),.history-table-wrap .data-table td:nth-child(2){width:8%}.history-table-wrap .data-table th:nth-child(3),.history-table-wrap .data-table td:nth-child(3){width:6%}.history-table-wrap .data-table th:nth-child(4),.history-table-wrap .data-table td:nth-child(4){width:10%}.history-table-wrap .data-table th:nth-child(5),.history-table-wrap .data-table td:nth-child(5){width:8%}.history-table-wrap .data-table th:nth-child(6),.history-table-wrap .data-table td:nth-child(6){width:5%}.history-table-wrap .data-table th:nth-child(7),.history-table-wrap .data-table td:nth-child(7){width:10%}.history-table-wrap .data-table th:nth-child(8),.history-table-wrap .data-table td:nth-child(8){width:7%}.history-table-wrap .data-table th:nth-child(9),.history-table-wrap .data-table td:nth-child(9){width:8%}.history-table-wrap .data-table th:nth-child(10),.history-table-wrap .data-table td:nth-child(10){width:12%}.history-table-wrap .data-table th:nth-child(11),.history-table-wrap .data-table td:nth-child(11){width:5%}.btn-edit-row{border:1px solid var(--accent-blue);color:var(--accent-blue);cursor:pointer;background:#64a0ff14;border-radius:5px;justify-content:center;align-items:center;padding:.25rem .35rem;transition:all .15s;display:inline-flex}.btn-edit-row:hover{background:#64a0ff33}.history-table-wrap .data-table th,.history-table-wrap .data-table td{white-space:nowrap;text-overflow:unset;overflow:visible}.history-table-wrap{overflow-x:auto}.pagination-controls{justify-content:center;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.pagination-info{color:var(--text-muted);font-size:.85rem}.station-card:has(.history-table-wrap){min-width:0;overflow:visible}.edit-modal-positioned{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:2000;flex-direction:column;gap:.75rem;width:min(560px,96vw);padding:1.25rem;display:flex;position:fixed;right:50%;transform:translate(50%);box-shadow:0 8px 32px #00000073}.edit-modal-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.edit-modal-field .field-label{margin-bottom:.25rem;font-size:.8rem}.edit-modal-field .scan-input,.edit-modal-field .select-input{padding:.4rem .6rem;font-size:.9rem}.station-card:has(.history-table-wrap){max-width:none}.app-main-wide{max-width:100%!important}.input-row{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.scan-input,.select-input{box-sizing:border-box;height:48px}.input-row .btn-primary,.input-row .btn-secondary,.select-row .btn-primary{justify-content:center;align-items:center;height:48px;margin:0;display:flex}.field-group{flex-direction:column;flex:1;align-items:flex-start;gap:.4rem;min-width:200px;display:flex}.select-row{align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.data-table td,.data-table th{vertical-align:middle}.btn-primary svg,.btn-secondary svg,.btn-delete svg{vertical-align:text-bottom;margin-right:6px}.operator-list-item{padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;display:flex}.shift-toggle{align-items:center;height:48px;display:flex}.shift-btn{justify-content:center;align-items:center;height:100%;display:flex}.shift-date-group .shift-toggle{margin-bottom:0}.shift-date-input{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-md,8px);background:var(--surface,#fff);height:48px;font:inherit;color:var(--text-primary,#111827);box-sizing:border-box;padding:0 .75rem}.shift-counter{background:linear-gradient(var(--ce-surface,#fff), var(--ce-surface,#fff)) padding-box, linear-gradient(135deg, var(--brand-primary-fill,#1b1464) 0%, var(--brand-primary-fill,#1b1464) 60%, var(--brand-signal,#e8a100) 100%) border-box;min-width:220px;max-width:320px;color:var(--brand-primary-ink,#1b1464);font-family:var(--ce-font-sans,system-ui);border:2px solid #0000;border-radius:10px;flex-direction:column;gap:.5rem;padding:.65rem .85rem;display:flex;box-shadow:0 1px 2px #1b14640a}.shift-counter--disabled{opacity:.5;filter:grayscale(.4)}.shift-counter-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.shift-counter-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted,#6b7280);font-size:.68rem;font-weight:700;font-family:var(--ce-font-sans,system-ui);align-items:center;gap:.35rem;display:inline-flex}.shift-counter-total{font-family:var(--ce-font-mono,ui-monospace, SFMono-Regular, monospace);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--brand-primary-ink,#1b1464);font-size:1.9rem;font-weight:800;line-height:1}.shift-counter-body{border-top:1px solid #1b14641f;flex-direction:column;gap:.2rem;padding-top:.45rem;display:flex}.shift-counter-row{font-size:.8rem;font-weight:600;line-height:1.3;font-family:var(--ce-font-sans,system-ui);justify-content:space-between;align-items:center;gap:.5rem;padding:.15rem 0;display:flex}.shift-counter-row-label{color:var(--brand-primary-ink,#1b1464);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.35rem;max-width:200px;display:inline-flex;overflow:hidden}.shift-counter-row-dot{background:var(--brand-signal,#e8a100);opacity:.7;border-radius:50%;flex:none;width:6px;height:6px}.shift-counter-row-count{color:var(--brand-primary-ink,#1b1464);font-variant-numeric:tabular-nums;font-family:var(--ce-font-mono,ui-monospace, monospace)}.shift-counter-row-muted .shift-counter-row-label,.shift-counter-row-muted .shift-counter-row-count{color:var(--text-muted,#6b7280);font-size:.72rem;font-weight:500}.shift-counter-row-muted .shift-counter-row-dot{background:var(--text-muted,#9ca3af);opacity:.4}.shift-counter-empty{color:var(--text-muted,#6b7280);text-align:left;font-size:.78rem;font-family:var(--ce-font-sans,system-ui);padding:.25rem 0;line-height:1.4}.shift-clock-banner{background:var(--brand-primary-ink,#1b1464);color:#fff;letter-spacing:.01em;border-radius:999px;align-items:center;gap:.45rem;padding:.4rem .75rem;font-size:.78rem;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 1px 2px #1b14642e}.shift-clock-shift{text-transform:none}.shift-clock-sep{opacity:.55;font-weight:400}.shift-clock-date{font-variant-numeric:tabular-nums;opacity:.92;font-weight:500}.shift-clock-banner-buffer{background:#e8a100;box-shadow:0 1px 2px #e8a10052}.shift-clock-buffer-tag{letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;border-radius:999px;margin-left:.25rem;padding:.1rem .45rem;font-size:.65rem;font-weight:700}.recent-scans{background:linear-gradient(var(--bg-card,#fff), var(--bg-card,#fff)) padding-box, linear-gradient(135deg, var(--brand-primary-fill,#1b1464) 0%, var(--brand-primary-fill,#1b1464) 60%, var(--brand-signal,#e8a100) 100%) border-box;border:2px solid #0000;border-radius:10px;margin-top:1rem;overflow:hidden;box-shadow:0 1px 2px #1b14640a}.recent-scans-head{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#6b7280);background:var(--bg-subtle,#00000005);border-bottom:1px solid #1b146414;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:.72rem;font-weight:700;display:flex}.recent-scans-title{flex:1}.recent-scans-count{background:var(--brand-primary-ink,#1b1464);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.04em;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.recent-scans-empty{color:var(--text-muted,#6b7280);text-align:left;font-size:.85rem;line-height:1.4;font-family:var(--ce-font-sans,system-ui);padding:1rem .85rem}.recent-scans-scroll{max-height:320px;overflow-y:auto}.recent-scans-table{border-collapse:collapse;width:100%;font-size:.83rem}.recent-scans-table thead th{background:var(--bg-subtle,#f6f7fb);text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#6b7280);border-bottom:1px solid var(--border,#1b146414);z-index:1;padding:.4rem .7rem;font-size:.66rem;font-weight:700;position:sticky;top:0;box-shadow:0 1px #1b14640a}.recent-scans-table tbody td{color:var(--brand-primary-ink,#1b1464);border-bottom:1px solid #1b14640a;padding:.4rem .7rem}.recent-scans-table tbody tr:last-child td{border-bottom:none}.recent-scans-table tbody tr:hover{background:var(--bg-subtle,#f6f7fb)}.recent-scans-barcode{font-family:var(--ce-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);white-space:nowrap;font-weight:600}.recent-scans-mono{font-family:var(--ce-font-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-variant-numeric:tabular-nums;color:var(--text-muted,#6b7280);white-space:nowrap}.ng-badge-ok{color:#fff;letter-spacing:.06em;background:#0a9b6a;border-radius:999px;justify-content:center;align-items:center;min-width:36px;padding:.15rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.ng-badge-ng{color:#fff;letter-spacing:.06em;background:#e74c3c;border-radius:999px;justify-content:center;align-items:center;min-width:36px;padding:.15rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.ng-badge-none{color:var(--text-muted,#6b7280);font-variant-numeric:tabular-nums}.ng-badge{justify-content:center;align-items:center;display:inline-flex;transform:translateY(-1px)}.edit-modal-grid{gap:var(--space-md) var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;display:grid}.rs-setup-row{gap:var(--space-md);background:var(--surface-hover);padding:var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.rs-bento-grid{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (width>=1024px){.rs-bento-grid{grid-template-columns:4fr 8fr}}.rs-bento-card{background:var(--surface);padding:var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);position:relative;overflow:hidden}.rs-bento-header{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.rs-bento-title{text-transform:uppercase;color:var(--text-secondary);letter-spacing:1px;font-size:.75rem;font-weight:700}.rs-delivery-grid{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.rs-delivery-grid.full{grid-template-columns:1fr}.rs-field-label{color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--space-xs);padding-left:2px;font-size:.65rem;font-weight:700;display:block}.rs-field-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:48px;padding:0 var(--space-md);color:var(--text);box-shadow:var(--shadow-sm);font-size:.875rem;transition:all .2s}.rs-field-input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 2px #1b14641a}.rs-field-input:disabled{opacity:.5;background:var(--bg);cursor:not-allowed}.rs-field-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:48px;padding:0 var(--space-md);color:var(--text);font-size:.875rem;font-weight:500;transition:all .2s}.rs-field-select:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 2px #1b146433}.rs-field-select:disabled{opacity:.5;background:var(--bg);cursor:not-allowed}.rs-scan-area{text-align:center;justify-content:center;align-items:center;gap:var(--space-xl);background:var(--surface);border-radius:var(--radius-lg);min-height:400px;padding:var(--space-2xl);flex-direction:column;height:100%;display:flex;box-shadow:0 12px 32px #1b14640f}.rs-scan-icon-wrapper{background:var(--navy);border-radius:var(--radius-md);width:80px;height:80px;margin-bottom:var(--space-sm);justify-content:center;align-items:center;display:flex}.rs-scan-icon-wrapper svg{color:#fff}.rs-big-title{color:var(--navy);letter-spacing:-.5px;margin-bottom:var(--space-xs);font-family:Manrope,sans-serif;font-size:2rem;font-weight:900}.rs-scan-input-wrapper{gap:var(--space-md);flex-direction:column;width:100%;max-width:480px;display:flex}.rs-main-input{background:var(--bg);border:none;border-bottom:3px solid var(--navy);border-radius:var(--radius-md) var(--radius-md) 0 0;width:100%;height:64px;padding:0 var(--space-lg);text-align:center;color:var(--navy);font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:700;transition:all .2s}.rs-main-input::placeholder{color:var(--text-muted);font-weight:500}.rs-main-input:focus{background:var(--surface-hover);outline:none}.rs-main-input:disabled{opacity:.5;cursor:not-allowed}.rs-btn-submit{background:var(--lime);width:100%;height:64px;color:var(--navy-dark);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:var(--space-sm);cursor:pointer;border:none;font-family:Manrope,sans-serif;font-size:1.125rem;font-weight:800;transition:all .2s;display:flex;box-shadow:0 8px 16px #a8c53533}.rs-btn-submit:hover:not(:disabled){background:var(--lime-dark);transform:translateY(-2px);box-shadow:0 12px 24px #a8c5354d}.rs-btn-submit:active:not(:disabled){transform:translateY(0)}.rs-btn-submit:disabled{opacity:.5;cursor:not-allowed}.rs-status-feed{padding:var(--space-md);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-top:var(--space-sm);border-left:4px solid #0000;justify-content:space-between;align-items:center;display:flex}.rs-status-feed.success{background:var(--success-bg);border-left-color:var(--success)}.rs-status-feed.error{background:var(--error-bg);border-left-color:var(--error)}.rs-table-container{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:var(--space-xl);overflow:hidden}.rs-table-header{padding:var(--space-md) var(--space-lg);background:var(--surface-hover);border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;display:flex}.rs-table-title{color:var(--navy);text-transform:uppercase;letter-spacing:1px;font-size:.875rem;font-weight:800}.rs-data-table{border-collapse:collapse;width:100%}.rs-data-table th{padding:var(--space-md) var(--space-lg);text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;border-bottom:1px solid var(--border-light);background:var(--bg);font-size:.65rem;font-weight:800}.rs-data-table td{padding:var(--space-lg);border-bottom:1px solid var(--border-light);vertical-align:middle;font-size:.875rem}.rs-data-table tr:hover{background:var(--surface-hover)}.rs-badge{border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:800;display:inline-flex}.rs-badge.success{color:#10b981;background:#10b9811a}@keyframes pulseSuccessGlow{0%{box-shadow:0 0 #10b98173}70%{box-shadow:0 0 0 12px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes pulseErrorGlow{0%{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 12px #dc262600}to{box-shadow:0 0 #dc262600}}.pulse-success{animation:.6s ease-out pulseSuccessGlow;border-color:#10b981!important}.pulse-error{animation:.6s ease-out pulseErrorGlow;border-color:#dc2626!important}@media (prefers-reduced-motion:reduce){.pulse-success,.pulse-error{animation:none}}.loading-overlay{z-index:40;-webkit-backdrop-filter:blur(8px);border-radius:inherit;background:#0f122647;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay-card{color:#fff;letter-spacing:.02em;background:#ffffff24;border:1px solid #ffffff47;border-radius:14px;flex-direction:column;align-items:center;gap:.6rem;padding:1.1rem 1.5rem;font-size:.9rem;font-weight:600;display:flex;box-shadow:0 8px 30px #00000040}.loading-overlay-spinner{border:3px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite loadingOverlaySpin}@keyframes loadingOverlaySpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-overlay-spinner{animation-duration:1.6s}}.station-card.settings-card .admin-input,.station-card.settings-card .select-input,.station-card.settings-card .btn-primary,.station-card.settings-card .btn-delete,.station-card.settings-card .btn-cancel,.station-card.settings-card .login-btn,.settings-card .admin-input,.settings-card .select-input,.settings-card .btn-primary,.settings-card .btn-delete,.settings-card .btn-cancel,.settings-card .login-btn{justify-content:center;align-items:center;font-family:inherit;line-height:normal;display:inline-flex;box-sizing:border-box!important;border-radius:var(--radius-sm,6px)!important;height:48px!important;padding:0 1.25rem!important;font-size:.95rem!important;transition:background-color .2s,border-color .2s,box-shadow .2s,transform .1s!important}.station-card.settings-card .btn-sm,.settings-card .btn-sm,.station-card .btn-sm{line-height:32px;height:32px!important;padding:0 .5rem!important}.settings-card .confirm-modal .btn-cancel,.settings-card .confirm-modal .btn-delete,.settings-card .confirm-modal .btn-primary,.settings-card .pin-modal .btn-cancel,.settings-card .pin-modal .btn-delete,.settings-card .pin-modal .btn-primary,.settings-card .edit-modal-positioned .btn-cancel,.settings-card .edit-modal-positioned .btn-delete,.settings-card .edit-modal-positioned .btn-primary{height:auto!important;padding:.5rem 1rem!important;line-height:normal!important}.station-card.settings-card textarea.admin-input,.settings-card textarea.admin-input{height:auto!important;min-height:88px!important;padding:.75rem!important}.station-card.settings-card .admin-input:focus,.station-card.settings-card .select-input:focus,.station-card.settings-card .btn-primary:focus-visible,.station-card.settings-card .btn-delete:focus-visible,.station-card.settings-card .btn-cancel:focus-visible,.station-card.settings-card .login-btn:focus-visible,.settings-card .admin-input:focus,.settings-card .select-input:focus,.settings-card .btn-primary:focus-visible,.settings-card .btn-delete:focus-visible,.settings-card .btn-cancel:focus-visible,.settings-card .login-btn:focus-visible{border-color:var(--navy)!important;outline:none!important;box-shadow:0 0 0 3px #1b146440!important}.btn-primary,.station-card button.btn-primary{background-color:var(--navy)!important;color:#fff!important;border:none!important;font-weight:700!important}.btn-primary:hover:not(:disabled){cursor:pointer;background-color:var(--navy-light)!important}.login-btn,.station-card button.login-btn{background-color:var(--lime)!important;color:#000!important;border:none!important;font-weight:700!important}.login-btn:hover:not(:disabled){background-color:var(--lime-dark)!important;color:#000!important;opacity:1!important}.btn-delete,.station-card button.btn-delete,.btn-danger{background-color:var(--error,#ef4444)!important;color:#fff!important;border:none!important;font-weight:700!important}.btn-delete:hover:not(:disabled),.btn-danger:hover:not(:disabled){background-color:#dc2626!important}.btn-cancel,.station-card button.btn-cancel{background-color:var(--bg-card,#fff)!important;color:var(--text-secondary,#4b5563)!important;border:1px solid var(--border-color,#e5e7eb)!important;font-weight:600!important}.btn-cancel:hover:not(:disabled){background-color:var(--surface-hover,#f8f9fa)!important;border-color:var(--text-muted,#9ca3af)!important}.mgr-action-btn{background-color:var(--bg-card,#fff)!important;color:var(--text-secondary,#4b5563)!important;border:1px solid var(--border-color,#e5e7eb)!important;font-weight:600!important}.mgr-action-btn:hover:not(:disabled){background-color:var(--surface-hover,#f8f9fa)!important;border-color:var(--text-muted,#9ca3af)!important;color:var(--text,#1a1d23)!important}.mgr-row-checkbox-wrap{cursor:pointer!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;margin:-8px 0!important;padding:8px!important;display:inline-flex!important}.mgr-row-checkbox{border:2px solid var(--border-color,#e2e4e8)!important;border-radius:var(--radius-sm,6px)!important;cursor:pointer!important;box-sizing:border-box!important;appearance:none!important;width:24px!important;height:24px!important;transition:background-color .12s,border-color .12s!important;position:relative!important}.mgr-row-checkbox:hover{border-color:var(--text-secondary,#6b7280)!important}.mgr-row-checkbox:checked{background-color:var(--error,#ef4444)!important;border-color:var(--error,#ef4444)!important}.mgr-row-checkbox:checked:after{content:""!important;border:3px solid #fff!important;border-width:0 3px 3px 0!important;width:6px!important;height:11px!important;position:absolute!important;top:2px!important;left:6px!important;transform:rotate(45deg)!important}.mgr-row-checkbox:focus-visible{outline:2px solid var(--navy,currentColor);outline-offset:2px}.select-row{align-items:flex-end!important;gap:var(--space-md,16px)!important;margin-bottom:var(--space-md,16px)!important;flex-direction:row!important;width:100%!important;display:flex!important}.select-row .field-group{gap:var(--space-xs,4px)!important;flex-direction:column!important;flex:1!important;display:flex!important}.settings-category{border:1px solid var(--border-color,#e2e4e8);border-radius:var(--radius-md,8px);background:var(--bg-card,#fff);margin-bottom:var(--space-md,16px);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);transition:border-color .2s,box-shadow .2s;overflow:hidden}.settings-category:hover{border-color:var(--text-muted,#9ca3af);box-shadow:var(--shadow-md,0 4px 12px #00000014)}.settings-category-header{background:var(--bg-tertiary,#f8f9fa)!important;cursor:pointer!important;text-align:left!important;border-radius:var(--radius-md,8px) var(--radius-md,8px) 0 0!important;border:none!important;justify-content:space-between!important;align-items:center!important;width:100%!important;min-height:64px!important;padding:1rem 1.25rem!important;display:flex!important}.settings-category-header:focus-visible{background:var(--border-light,#f0f1f3)!important;outline:none!important}.settings-category-label{color:var(--navy)!important;align-items:center!important;gap:.75rem!important;font-size:1.1rem!important;font-weight:700!important;display:inline-flex!important}.settings-category-name{color:var(--text,#1a1d23)!important}.settings-category-badge{color:var(--text-secondary,#6b7280)!important;background:var(--border,#e2e4e8)!important;border-radius:var(--radius-full,9999px)!important;margin-left:.5rem!important;padding:.2rem .6rem!important;font-size:.8rem!important;font-weight:500!important}.settings-category-chevron{color:var(--text-secondary,#6b7280)!important;flex-shrink:0!important}.settings-category-content{border-top:1px solid var(--border-color,#e2e4e8);background:var(--surface,#fff);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}html,body{background:var(--ce-bg);color:var(--ce-text)}body{font-family:var(--ce-font-sans);font-size:var(--ce-text-md);line-height:var(--ce-leading-normal)}.lg-shell{background:var(--ce-bg);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,0);background-image:linear-gradient(90deg,#00000005 1px,#0000 1px);background-size:40px 100%;flex-direction:column;display:flex}.lg-header{z-index:50;justify-content:space-between;align-items:center;gap:var(--ce-space-4);padding:14px var(--ce-space-6);background:var(--paper-0);border-bottom:1px solid var(--ce-border);box-shadow:0 1px 0 0 transparent, 0 2px 0 0 var(--brand-primary-fill), inset 0 -3px 0 -1px transparent;box-shadow:inset 0 -3px 0 var(--brand-primary-fill);display:flex;position:sticky;top:0}.lg-header:after{content:"";background:linear-gradient(90deg, var(--brand-primary-fill) 0%, var(--brand-primary-fill) 60%, var(--brand-signal) 100%);height:2px;position:absolute;bottom:-2px;left:0;right:0}.lg-brand{align-items:center;gap:var(--ce-space-3);min-width:0;display:inline-flex}.lg-brand-mark{border-radius:var(--ce-radius-sm);background:var(--brand-primary-fill);width:36px;height:36px;color:var(--brand-accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.lg-brand-logo{flex-shrink:0;width:auto;height:40px;display:block}.lg-brand-text{flex-direction:column;gap:2px;min-width:0;line-height:1;display:flex}.lg-brand-name{font-family:var(--ce-font-sans);font-weight:700;font-size:var(--ce-text-lg);color:var(--ce-text-strong);letter-spacing:-.01em}.lg-brand-sub{color:var(--ce-text-muted);border-left:1px solid var(--ce-border);font-size:var(--ce-text-xs);white-space:nowrap;padding-left:12px}.lg-brand-sub:after{display:none}@media (width<=640px){.lg-brand-sub{display:none}}.lg-header-actions{align-items:center;gap:var(--ce-space-3);flex-wrap:nowrap;display:inline-flex}.lg-user{height:32px;font-family:var(--ce-font-mono);font-size:var(--ce-text-xs);color:var(--ce-text-strong);background:var(--paper-50);border:1px solid var(--ce-border);border-radius:var(--ce-radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.lg-user-dot{background:var(--brand-accent);border-radius:50%;width:6px;height:6px}.lg-logout{height:32px;font-family:var(--ce-font-sans);font-size:var(--ce-text-sm);color:var(--ce-text-secondary);border-radius:var(--ce-radius-sm);cursor:pointer;transition:background var(--ce-duration-fast) var(--ce-ease-out), color var(--ce-duration-fast) var(--ce-ease-out);background:0 0;border:1px solid #0000;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.lg-logout:hover{background:var(--ce-surface-hover);color:var(--ce-text-strong)}.lg-logout:focus-visible{outline:var(--ce-ring-width) solid var(--ce-ring-color);outline-offset:var(--ce-ring-offset)}.lg-nav{background:var(--paper-0);border-bottom:1px solid var(--ce-border);padding:0 var(--ce-space-6)}.lg-nav-list{flex-wrap:wrap;align-items:stretch;gap:2px;margin:0;padding:0;list-style:none;display:flex}.lg-nav-btn{height:var(--ce-tap-min);padding:0 var(--ce-space-4);color:var(--ce-text-secondary);font-family:var(--ce-font-sans);font-size:var(--ce-text-sm);cursor:pointer;white-space:nowrap;transition:color var(--ce-duration-fast) var(--ce-ease-out);background:0 0;border:none;border-radius:0;flex-shrink:0;align-items:center;gap:8px;font-weight:500;display:inline-flex;position:relative}.lg-nav-btn:hover:not(:disabled){color:var(--ce-text-strong)}.lg-nav-btn:disabled{cursor:not-allowed;color:var(--ce-text-muted)}.lg-nav-btn:focus-visible{outline:var(--ce-ring-width) solid var(--ce-ring-color);outline-offset:-var(--ce-ring-offset)}.lg-nav-btn.is-active{color:var(--ce-text-strong);font-weight:600}.lg-nav-btn.is-active:after{content:"";left:var(--ce-space-4);right:var(--ce-space-4);background:var(--brand-primary-fill);height:2px;position:absolute;bottom:-1px}.lg-nav-ico{color:currentColor;align-items:center;display:inline-flex}.lg-nav-dropdown-item{position:relative}.lg-nav-dropdown-menu{background:var(--paper-0);border:1px solid var(--ce-border);border-radius:var(--ce-radius-md);box-shadow:var(--ce-shadow-md);z-index:1000;flex-direction:column;gap:2px;min-width:190px;margin:4px 0 0;padding:6px;list-style:none;display:flex;position:absolute;top:100%;left:0}.lg-nav-dropdown-item:last-child .lg-nav-dropdown-menu,.lg-nav-dropdown-item:nth-last-child(2) .lg-nav-dropdown-menu{left:auto;right:0}.lg-nav-dropdown-btn{border-radius:var(--ce-radius-sm);width:100%;color:var(--ce-text);text-align:left;cursor:pointer;font-size:var(--ce-text-sm);transition:background var(--ce-duration-fast) var(--ce-ease-out), color var(--ce-duration-fast) var(--ce-ease-out);background:0 0;border:none;align-items:center;gap:10px;padding:8px 14px;font-weight:500;display:flex}.lg-nav-dropdown-btn:hover{background:var(--ce-surface-hover);color:var(--ce-text-strong)}.lg-nav-dropdown-btn.is-active{color:var(--brand-primary-fill);background:#f0eefc;font-weight:600}html[data-theme=dark] .lg-nav-dropdown-btn.is-active{color:var(--brand-primary-fill);background:#231d54}.lg-nav-arrow{opacity:.6;transition:transform var(--ce-duration-fast) var(--ce-ease-out);margin-left:6px;font-size:8px;display:inline-block}.lg-nav-btn.is-open .lg-nav-arrow{transform:rotate(180deg)}.lg-main{background:var(--ce-bg);flex:1;min-height:0;padding:0}.lg-main-wide{max-width:none}@media (width<=768px){.lg-header{padding:10px var(--ce-space-4);gap:var(--ce-space-3);flex-wrap:wrap}.lg-header-actions{justify-content:space-between;width:100%}.lg-nav{padding:0 var(--ce-space-4)}.lg-nav-btn{padding:0 var(--ce-space-3)}.lg-nav-label{display:none}.lg-nav-btn.is-active:after{left:12px;right:12px}}.lg-main .station-card,.station-card{background:linear-gradient(var(--ce-surface), var(--ce-surface)) padding-box, linear-gradient(135deg, var(--brand-primary-fill) 0%, var(--brand-primary-fill) 55%, var(--brand-signal) 100%) border-box;border-radius:var(--ce-radius-lg);max-width:980px;box-shadow:var(--ce-shadow-sm);padding:var(--ce-space-6);gap:var(--ce-space-4);font-family:var(--ce-font-sans);color:var(--ce-text);border:2px solid #0000;flex-direction:column;display:flex;position:relative;margin:var(--ce-space-5) auto!important}.lg-main .station-card:before,.station-card:before{display:none}.station-header{justify-content:space-between;align-items:center;gap:var(--ce-space-4);padding-bottom:var(--ce-space-4);border-bottom:1px solid var(--ce-border);flex-wrap:wrap;display:flex}.station-title,.station-header h2{align-items:center;gap:10px;display:inline-flex;font-family:var(--ce-font-sans)!important;font-size:var(--ce-text-2xl)!important;letter-spacing:-.02em!important;color:var(--ce-text-strong)!important;margin:0!important;font-weight:700!important;line-height:1.1!important}.shift-toggle{border:1px solid var(--ce-border);border-radius:var(--ce-radius-sm);background:var(--ce-surface);display:inline-flex;overflow:hidden}.shift-btn{cursor:pointer;transition:background var(--ce-duration-fast) var(--ce-ease-out), color var(--ce-duration-fast) var(--ce-ease-out);align-items:center;gap:6px;display:inline-flex;color:var(--ce-text-secondary)!important;height:var(--ce-tap-min)!important;font-family:var(--ce-font-sans)!important;font-size:var(--ce-text-sm)!important;text-transform:none!important;letter-spacing:0!important;background:0 0!important;border:none!important;padding:0 14px!important;font-weight:500!important}.shift-btn:not(:last-child){border-right:1px solid var(--ce-border)!important}.shift-btn:hover:not(:disabled){background:var(--ce-surface-hover)!important;color:var(--ce-text-strong)!important}.shift-btn.active{background:var(--brand-primary-fill)!important;color:var(--ce-text-inverse)!important}.shift-date-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.shift-date-input{background:var(--ce-surface);color:var(--ce-text);border:1px solid var(--ce-border-strong);border-radius:var(--ce-radius-sm);height:var(--ce-tap-min);font-family:var(--ce-font-sans);font-size:var(--ce-text-sm);cursor:pointer;transition:border-color var(--ce-duration-fast) var(--ce-ease-out);padding:0 10px;font-weight:500}.shift-date-input:hover:not(:disabled){border-color:var(--ce-text-secondary)}.shift-date-input:focus-visible{outline:2px solid var(--brand-primary-fill);outline-offset:1px}.shift-date-input:disabled{opacity:.6;cursor:not-allowed}.station-setup-group{margin-top:.5rem}.station-scan-group{border-top:1px dashed var(--ce-border);margin-top:1rem;padding-top:1rem}.match-chip{color:var(--ce-success,#16a34a);letter-spacing:.02em;background:#22c55e1f;border-radius:999px;align-items:center;gap:.25rem;margin-left:.5rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-flex}.select-input,.scan-input,.admin-input{transition:border-color var(--ce-duration-fast) var(--ce-ease-out), box-shadow var(--ce-duration-fast) var(--ce-ease-out);background:var(--ce-surface)!important;color:var(--ce-text)!important;border:1px solid var(--ce-border-strong)!important;border-radius:var(--ce-radius-sm)!important;height:var(--ce-tap-min)!important;font-family:var(--ce-font-sans)!important;font-size:var(--ce-text-md)!important;outline:none!important;padding:0 14px!important;font-weight:500!important}.scan-input{letter-spacing:.04em;font-family:var(--ce-font-mono)!important}.select-input:hover,.scan-input:hover,.admin-input:hover{border-color:var(--ce-text-muted)!important}.select-input:focus-visible,.scan-input:focus-visible,.admin-input:focus-visible,.select-input:focus,.scan-input:focus,.admin-input:focus{border-color:var(--brand-primary-fill)!important;box-shadow:0 0 0 3px var(--brand-primary-soft)!important}.scan-container{background:var(--ce-surface);border:1px solid var(--ce-border-strong);border-radius:var(--ce-radius-sm);transition:border-color var(--ce-duration-fast) var(--ce-ease-out), box-shadow var(--ce-duration-fast) var(--ce-ease-out);align-items:center;display:flex;overflow:hidden}.scan-container:focus-within{border-color:var(--brand-primary-fill);box-shadow:0 0 0 3px var(--brand-primary-soft)}.scan-container .scan-input{flex:1;box-shadow:none!important;border:none!important}.scan-container.scanning-active{border-color:var(--brand-signal);box-shadow:0 0 0 3px var(--brand-signal-soft)}.field-label{display:block;font-family:var(--ce-font-mono)!important;font-size:var(--ce-text-xs)!important;text-transform:uppercase!important;letter-spacing:var(--ce-tracking-label)!important;color:var(--ce-text-secondary)!important;margin-bottom:6px!important;font-weight:500!important}.btn-primary{cursor:pointer;transition:background var(--ce-duration-fast) var(--ce-ease-out);align-items:center;gap:8px;display:inline-flex;background:var(--brand-primary-fill)!important;color:var(--ce-text-inverse)!important;border:1px solid var(--brand-primary-fill)!important;border-radius:var(--ce-radius-sm)!important;height:var(--ce-tap-min)!important;font-family:var(--ce-font-sans)!important;font-size:var(--ce-text-md)!important;padding:0 18px!important;font-weight:600!important}.btn-primary:hover:not(:disabled){background:var(--brand-primary-hover)!important}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-delete{background:var(--ce-surface)!important;color:var(--ce-danger)!important;border:1px solid var(--ce-danger-border)!important;border-radius:var(--ce-radius-sm)!important}.btn-delete:hover{background:var(--ce-danger-bg)!important}.btn-icon-cancel{width:32px;height:32px;color:var(--ce-danger);border-radius:var(--ce-radius-sm);cursor:pointer;transition:background var(--ce-duration-fast) var(--ce-ease-out), border-color var(--ce-duration-fast) var(--ce-ease-out);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-icon-cancel:hover:not(:disabled){background:var(--ce-danger-bg);border-color:var(--ce-danger-border)}.btn-icon-cancel:focus-visible{border-color:var(--ce-danger);box-shadow:0 0 0 2px var(--ce-danger-bg);outline:none}.btn-icon-cancel:disabled{opacity:.4;cursor:not-allowed}.status-msg{align-items:center;gap:8px;display:flex;border-radius:var(--ce-radius-sm)!important;font-family:var(--ce-font-sans)!important;font-size:var(--ce-text-sm)!important;padding:10px 12px!important}.status-msg.success{background:var(--ce-success-bg)!important;color:var(--ce-success)!important;border:1px solid var(--ce-success-border)!important}.status-msg.error,.status-msg.fail{background:var(--ce-danger-bg)!important;color:var(--ce-danger)!important;border:1px solid var(--ce-danger-border)!important}.status-msg.warning{background:var(--ce-warning-bg)!important;color:var(--ce-warning)!important;border:1px solid var(--ce-warning-border)!important}.status-msg.info{background:var(--ce-info-bg)!important;color:var(--ce-info)!important;border:1px solid var(--ce-info-border)!important}.queue-badge{font-family:var(--ce-font-mono);font-size:var(--ce-text-xs);background:var(--brand-signal-soft);color:var(--brand-signal-ink);border-radius:var(--ce-radius-full);border:1px solid var(--brand-signal-border,#f3dcb0);text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;font-weight:500}.timeline-wrap{margin-top:var(--ce-space-4)}.select-row{gap:var(--ce-space-4);margin-bottom:var(--ce-space-3);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.select-row{grid-template-columns:1fr}}.field{flex-direction:column;gap:.25rem;min-width:0;margin-bottom:.75rem;display:flex}.field-label{color:var(--ce-text-secondary,var(--text-secondary,#4a4640));letter-spacing:.01em;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;display:inline-flex}.field--required .field-label:after{content:"*";color:var(--ce-danger,var(--status-fail,#d11f4f));margin-left:.15rem;font-weight:700}.field-input{width:100%;min-height:44px;color:var(--ce-text,var(--text,#1a1915));background:var(--ce-surface,var(--bg-input,#fff));border:1px solid var(--ce-border,var(--border,#ddd9cc));border-radius:var(--ce-radius-md,var(--radius-md,8px));outline:none;padding:0 .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}.field-input::placeholder{color:var(--ce-text-muted,var(--text-muted,#918d80));opacity:1}.field-input:hover:not(:disabled):not(:read-only){border-color:var(--ce-border-strong,var(--paper-300,#bcb8ac))}.field-input:focus,.field-input:focus-visible{border-color:var(--brand-primary,#1b1464);box-shadow:0 0 0 3px var(--brand-primary-soft,#1b14642e)}.field-input:disabled,.field-input[aria-disabled=true]{background:var(--ce-surface-sunk,var(--bg-subtle,#f5f3ed));color:var(--ce-text-disabled,#a8a497);cursor:not-allowed;opacity:.7}.field-input[readonly]:not(:focus){background:var(--ce-surface-sunk,var(--bg-subtle,#f5f3ed));opacity:.9}select.field-input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ce-text-secondary,#4a4640) 50%), linear-gradient(135deg, var(--ce-text-secondary,#4a4640) 50%, transparent 50%);background-position:calc(100% - 1rem),calc(100% - .6rem);background-repeat:no-repeat;background-size:5px 5px;padding-right:2rem}textarea.field-input{resize:vertical;min-height:88px;padding-top:.5rem;padding-bottom:.5rem;line-height:1.4}.field-hint{color:var(--ce-text-muted,var(--text-muted,#918d80));font-size:.75rem;line-height:1.35}.field-error{color:var(--ce-danger,var(--status-fail,#d11f4f));align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;line-height:1.3;display:inline-flex}.field--invalid .field-input{border-color:var(--ce-danger,var(--status-fail,#d11f4f));background:var(--ce-danger-bg,#fdecef)}.field--invalid .field-input:focus{box-shadow:0 0 0 3px #d11f4f2e}.field--invalid .field-hint{display:none}.field-row{flex-wrap:wrap;align-items:flex-start;gap:.75rem;display:flex}.field-row>.field{flex:200px;min-width:0}@media (width<=640px){.field-row{flex-direction:column;gap:0}.field-row>.field{flex:auto;width:100%}}@keyframes mes-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite mes-spin}@media (prefers-reduced-motion:reduce){.animate-spin{animation-duration:3s}}
