:root{color:#102331;background:#eef2f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #102331;--muted: #5b6b76;--navy: #071d2c;--blue: #0b5d83;--accent: #e85c2a;--success: #087f5b;--danger: #b42318;--line: #ccd6dc;--paper: #ffffff;--shadow: 0 14px 40px rgba(7, 29, 44, .09)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}a{color:inherit}.app-shell{min-height:100vh}.topbar{min-height:72px;padding:12px clamp(16px,4vw,48px);display:flex;align-items:center;gap:24px;color:#fff;background:var(--navy);border-bottom:4px solid var(--accent)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;text-decoration:none;letter-spacing:.01em;white-space:nowrap}.brand-mark{width:38px;height:38px;display:grid;place-items:center;color:var(--navy);background:#fff;border-radius:9px;font-size:22px}.topbar nav{display:flex;gap:6px;flex:1}.topbar nav a{padding:12px 14px;border-radius:8px;text-decoration:none;font-weight:700}.topbar nav a:hover,.topbar nav a:focus-visible{background:#ffffff21;outline:none}.connection{padding:8px 12px;border-radius:999px;font-size:14px;font-weight:800;white-space:nowrap}.connection.online{background:#d5f5e8;color:#056144}.connection.offline{background:#fee4e2;color:#8a1c13}main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:38px 0 80px}.page-heading{margin-bottom:28px}.page-heading h1{margin:5px 0 0;font-size:clamp(32px,5vw,54px);line-height:1;letter-spacing:-.045em}.eyebrow{margin:0;color:var(--blue);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.card{padding:clamp(20px,4vw,34px);background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin:4px 0 10px}.card p{color:var(--muted);line-height:1.55}.settings-card{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:start}form{display:grid;gap:16px}label{display:grid;gap:7px;font-weight:800}input,select{width:100%;min-height:52px;padding:12px 14px;color:var(--ink);background:#fff;border:2px solid #9dabb4;border-radius:10px}input:focus,select:focus{border-color:var(--blue);outline:4px solid rgba(11,93,131,.17)}button{min-height:52px;padding:12px 18px;border:0;border-radius:10px;color:#fff;background:var(--blue);font-weight:900;cursor:pointer}button:hover{filter:brightness(.93)}button:focus-visible{outline:4px solid rgba(11,93,131,.25);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}button.secondary{color:var(--ink);background:#dce5ea}button.danger{background:var(--danger)}.toolbar{display:flex;align-items:end;gap:14px;margin-bottom:22px}.toolbar>label,.toolbar>form{flex:1}.workspace{display:grid;gap:22px}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:22px;align-items:start}.line-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:20px 0}.line-card{min-height:132px;padding:18px;color:var(--ink);text-align:left;background:#f7f9fa;border:2px solid var(--line)}.line-card strong,.line-card span{display:block}.line-card span{margin-top:6px;color:var(--muted);font-weight:600}.line-card.selected{color:#fff;background:var(--blue);border-color:var(--blue)}.line-card.selected span{color:#dcecf4}.scanner-form{padding-top:8px}.scanner-row{display:grid;grid-template-columns:1fr auto;gap:10px}.scanner-row input{min-height:66px;font-size:24px;letter-spacing:.035em}.scanner-row button{min-height:66px}.hint{margin:0;color:var(--muted);font-size:14px}.upload-warning{margin:0 0 10px;color:#704100!important;font-weight:800}.status-banner{display:grid;gap:3px;padding:16px 18px;border:2px solid;border-radius:12px}.status-banner.success{color:#065f46;background:#ecfdf3;border-color:#47b881}.status-banner.error{color:#8a1c13;background:#fff1f0;border-color:#e26b61}.status-banner.info{color:#124b66;background:#edf7fb;border-color:#6aa9c5}.status-banner span{line-height:1.4}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px}.metric span{display:block;color:var(--muted);font-weight:700}.metric strong{display:block;margin-top:8px;font-size:36px}.metric.alert strong{color:var(--danger)}.count{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;color:#fff;background:var(--success);border-radius:999px;font-weight:900}.summary-list{display:grid;gap:11px;margin:18px 0;padding:0;list-style:none}.summary-list li{display:flex;justify-content:space-between;gap:20px;padding-bottom:11px;border-bottom:1px solid var(--line)}.summary-list li:last-child{border:0}.completion{text-align:center}.completion .check{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;color:#fff;background:var(--success);font-size:42px;font-weight:900}.table-wrap{overflow-x:auto}.pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}.pagination span{color:var(--muted);text-align:center}.pagination button{min-width:108px}.action-stack{display:flex;flex-direction:column;gap:.5rem;min-width:11rem}table{width:100%;border-collapse:collapse}th,td{padding:15px 12px;text-align:left;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase}.job-status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:900;white-space:nowrap}.job-status.pending{color:#124b66;background:#edf7fb}.job-status.leased{color:#704100;background:#fff4cc}.job-status.succeeded{color:#065f46;background:#d5f5e8}.job-status.failed{color:#8a1c13;background:#fee4e2}.transaction-id{overflow-wrap:anywhere;font-size:13px}.empty{padding:30px;color:var(--muted);text-align:center;border:2px dashed var(--line);border-radius:14px}button.serials-count{min-height:40px;min-width:44px;padding:6px 12px;color:var(--blue);background:#edf7fb;border:2px solid #6aa9c5;text-decoration:underline;text-underline-offset:3px;cursor:pointer}button.serials-count:hover{filter:none;color:var(--navy);background:#dcecf4}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;background:#071d2c73}.modal{width:min(520px,100%);max-height:min(80vh,720px);overflow:auto;padding:28px 28px 24px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);color:var(--ink);background:var(--paper)}.modal h2{margin:4px 0 8px}.modal p{color:var(--muted)}.modal .summary-list{max-height:48vh;overflow:auto}.modal button{margin-top:8px}@media(max-width:800px){.topbar{align-items:flex-start;flex-wrap:wrap;gap:8px 14px}.topbar nav{order:3;flex-basis:100%;overflow-x:auto}.connection{margin-left:auto}.settings-card,.split{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){main{width:min(100% - 20px,1180px);padding-top:24px}.topbar{padding-inline:12px}.topbar nav a{padding-inline:10px}.scanner-row,.toolbar{grid-template-columns:1fr;display:grid}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{padding:16px}.metric strong{font-size:30px}.pagination{flex-wrap:wrap;justify-content:center}.pagination span{order:-1;flex-basis:100%}}.topbar nav a[aria-current=page]{color:var(--navy);background:#fff}.warehouse-intro{max-width:760px}.warehouse-intro h2{margin:8px 0;font-size:clamp(26px,4vw,42px);letter-spacing:-.035em}.warehouse-intro>p:last-child{color:var(--muted);font-size:18px;line-height:1.6}.workflow-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.workflow-launch{position:relative;min-height:330px;padding:clamp(24px,5vw,44px);overflow:hidden;color:#fff;text-decoration:none;border-radius:22px;box-shadow:var(--shadow);transition:transform .16s ease,box-shadow .16s ease}.workflow-launch.receive{background:linear-gradient(140deg,#075f52,#098169)}.workflow-launch.fulfill{background:linear-gradient(140deg,#073a58,#0b678f)}.workflow-launch:hover{transform:translateY(-3px);box-shadow:0 20px 48px #071d2c33}.workflow-launch:focus-visible{outline:5px solid rgba(232,92,42,.38);outline-offset:4px}.workflow-launch .eyebrow{display:block;color:#ffffffb8}.workflow-launch>strong{display:block;margin:16px 0 12px;font-size:clamp(30px,5vw,48px);line-height:1;letter-spacing:-.04em}.workflow-launch>span:not(.workflow-number,.eyebrow,.workflow-action){display:block;max-width:480px;color:#ffffffd1;font-size:18px;line-height:1.55}.workflow-number{position:absolute;top:16px;right:22px;color:#ffffff21;font-size:92px;font-weight:900;line-height:1}.workflow-action{position:absolute;right:clamp(24px,5vw,44px);bottom:clamp(24px,5vw,38px);left:clamp(24px,5vw,44px);display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(255,255,255,.24);font-weight:900}.warehouse-connection{margin:0;padding:15px 18px;border-radius:12px;font-weight:800}.warehouse-connection.online{color:#056144;background:#d5f5e8}.warehouse-connection.offline{color:#8a1c13;background:#fee4e2}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin:8px 4px 0;padding:12px 18px;color:#fff;background:var(--blue);border-radius:10px;font-weight:900;text-decoration:none}.button-link.secondary{color:var(--ink);background:#dce5ea}.serial-scan-control{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.scan-mode-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.scan-mode-heading>div{display:grid;gap:3px}.scan-mode-label{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}button.scan-mode-toggle{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:9px 13px}.range-mode button.scan-mode-toggle{color:#fff;background:var(--blue)}.range-mode-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.range-scanner-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.range-scanner-grid .scanner-form{min-width:0}.range-scanner-grid .scanner-row{grid-template-columns:1fr}.range-scanner-grid .scanner-row button{min-height:52px}.range-status{grid-column:1 / -1;margin:0;padding:12px 14px;color:var(--muted);background:#f4f7f8;border-radius:10px;font-weight:700}.pick-progress-list{max-height:410px;overflow-y:auto;padding-right:4px}.pick-progress-list li{align-items:center}.order-search{display:grid;gap:7px;max-width:560px;color:var(--ink);font-weight:900}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.progress-heading h2{margin:0}button.clear-progress-link{min-height:42px;padding:7px 4px;color:var(--danger);background:transparent;text-decoration:underline;text-underline-offset:3px}button.clear-progress-link:hover{background:transparent;filter:none;text-decoration-thickness:2px}.picked-serial{min-width:0}.picked-serial strong,.picked-serial span{display:block;overflow-wrap:anywhere}.picked-serial span{margin-top:3px;color:var(--muted);font-size:14px}button.remove-picked-serial{flex:0 0 auto;width:42px;min-height:42px;padding:0;color:var(--danger);background:#fff1f0;border:2px solid #e26b61;border-radius:50%;font-size:27px;line-height:1}button.remove-picked-serial:hover{color:#fff;background:var(--danger);filter:none}@media(max-width:760px){.workflow-launch-grid{grid-template-columns:1fr}.workflow-launch{min-height:290px}.range-scanner-grid{grid-template-columns:1fr}.range-status{grid-column:auto}.progress-heading{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.workflow-launch{transition:none}}
