:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17202a;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}header{background:#13253a;color:white;padding:14px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.brand{font-size:20px;font-weight:700}nav{display:flex;gap:16px;flex:1}header a{color:white;text-decoration:none}.identity{font-size:14px;opacity:.8}main{max-width:1200px;margin:28px auto;padding:0 20px}h1{margin-top:0}.card{background:white;border:1px solid #d8dee5;border-radius:10px;padding:22px}.login{max-width:420px;margin:10vh auto}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:600}input,select,button{font:inherit;padding:11px 13px;border:1px solid #aeb8c3;border-radius:7px}button,.button{background:#1769aa;color:white;border:0;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;padding:11px 16px;border-radius:7px}.secondary{background:#51606f}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metrics>div{background:white;border:1px solid #d8dee5;border-radius:10px;padding:18px}.metrics b{display:block;font-size:32px}.metrics span{color:#617080}.actions{display:flex;gap:10px;margin:18px 0}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid #e1e6eb}th{background:#eaf0f5}.status{padding:4px 9px;border-radius:99px;background:#dfe7ee}.status.completed,.status.filled{background:#d9f2df;color:#176b2d}.status.partial{background:#fff0c2}.status.active,.status.open{background:#dcecff;color:#135d9a}.row{display:flex;justify-content:space-between;align-items:center;gap:20px}.flash{padding:12px;margin-bottom:16px;border-radius:8px}.flash.success{background:#d9f2df}.flash.error{background:#ffdede}.scanner input{font-size:22px;border-width:2px}.scanner #feedback{margin-top:14px;padding:14px;border-radius:8px;background:#eef2f5}.scanner #feedback.ok{background:#d9f2df}.scanner #feedback.bad{background:#ffdede}.scan-layout{display:grid;grid-template-columns:2fr 1fr;gap:22px}.event{display:grid;gap:3px;background:white;border-left:5px solid #8c99a5;padding:10px;margin-bottom:8px}.event.accepted{border-color:#2b8a3e}.event.rejected{border-color:#c92a2a}.complete-banner{background:#238636;color:white;font-size:25px;font-weight:800;text-align:center;padding:18px;border-radius:10px;margin-bottom:18px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.muted{color:#66727e;font-size:14px}.sticky-action{position:sticky;bottom:16px;margin-top:15px}@media(max-width:760px){.metrics{grid-template-columns:1fr 1fr}.scan-layout,.two-col{grid-template-columns:1fr}nav{order:3;width:100%;overflow:auto}.row{align-items:flex-start;flex-direction:column}table{font-size:14px}}

/* Mobile-first PWA additions */
body{padding-bottom:0}.brand{color:white;text-decoration:none}.mobile-tabs{display:none}.scan-progress{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.scan-progress span{font-weight:700}.scan-progress b{font-size:20px}.scan-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.camera-panel{position:relative;margin-top:14px;border-radius:12px;overflow:hidden;background:#111;padding:10px}.camera-panel video{display:block;width:100%;max-height:56vh;object-fit:cover;border-radius:8px}.camera-guide{position:absolute;inset:18% 12% 28%;border:3px solid rgba(255,255,255,.9);border-radius:14px;pointer-events:none}.camera-panel .danger{margin-top:10px;background:#a61b1b;width:100%}.working{background:#fff0c2!important}.wide-button{width:100%;margin-top:16px}.table-wrap{overflow-x:auto}.line-complete{background:#edf9f0}.mobile-page-title p{color:#617080}.lookup-card{max-width:760px}.lookup-card input{font-size:20px}.lookup-result{background:white;border:1px solid #d8dee5;border-radius:12px;padding:22px;margin-top:18px}.lookup-result h2{overflow-wrap:anywhere}.lookup-status{display:inline-block;border-radius:999px;padding:7px 12px;font-weight:800}.lookup-status.available{background:#d9f2df;color:#176b2d}.lookup-status.allocated{background:#fff0c2;color:#745400}.lookup-status.shipped{background:#e1e6eb;color:#4b5965}.serial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:7px;margin-top:10px}.serial-grid span{background:#eef2f5;padding:8px;border-radius:6px;font-family:monospace}.error-card{margin-top:18px;background:#ffdede;padding:20px;border-radius:10px}.viz-callout h2{margin-top:0}
@media(max-width:760px){body{padding-bottom:72px}header{padding:12px 16px;position:sticky;top:0;z-index:20}.brand{font-size:18px}header nav{display:none}.identity{margin-left:auto;font-size:12px}.mobile-tabs{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:#13253a;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -2px 12px rgba(0,0,0,.22)}.mobile-tabs a{color:white;text-decoration:none;text-align:center;padding:10px 2px;font-size:13px;font-weight:700}main{margin:16px auto;padding:0 12px}.card{padding:16px}.session-heading h1{font-size:25px}.scanner input{font-size:18px;padding:15px}.scan-actions{grid-template-columns:1fr}.scan-actions button{min-height:50px}.scan-progress{align-items:flex-start;flex-direction:column}.scan-layout{display:block}.scan-layout aside{margin-top:20px}.complete-banner{font-size:20px;position:sticky;top:62px;z-index:15}.metrics.lookup-metrics{grid-template-columns:1fr 1fr}.metrics.lookup-metrics b{font-size:22px}th,td{padding:10px 8px}.camera-panel video{max-height:48vh}}
@media(max-width:390px){.metrics.lookup-metrics{grid-template-columns:1fr}.mobile-tabs a{font-size:12px}}
textarea{font:inherit;padding:11px 13px;border:1px solid #aeb8c3;border-radius:7px;width:100%}.danger{background:#a61b1b}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.evidence-actions{margin-top:24px}.file-grid{display:grid;gap:12px}.file-card,.shipment-card{background:white;border:1px solid #d8dee5;border-radius:10px;padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.file-card p{margin:6px 0;overflow-wrap:anywhere}.file-card small,.shipment-card small{display:block;color:#66727e;margin-top:5px}.file-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.file-actions form{display:block}.shipment-list{display:grid;gap:12px}.shipment-card{text-decoration:none;color:inherit}.shipment-card>div{display:grid;gap:5px}.shipment-card>div:last-child{text-align:right;justify-items:end}.status.picked_up{background:#d9f2df;color:#176b2d}@media(max-width:760px){.evidence-grid{grid-template-columns:1fr}.file-card,.shipment-card{align-items:flex-start;flex-direction:column}.file-actions{width:100%}.file-actions .button,.file-actions form,.file-actions button{flex:1;width:100%}.shipment-card>div:last-child{text-align:left;justify-items:start}.evidence-actions{align-items:stretch}.evidence-actions .button{width:100%;text-align:center}}

.warning-note{padding:.65rem .8rem;border-left:4px solid var(--warning,#b7791f);background:rgba(183,121,31,.1);border-radius:.35rem}.admin-override{margin:1rem 0}.check-row{display:flex;gap:.6rem;align-items:center}.check-row input{width:auto}

/* Operations dashboard */
.dashboard-heading,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dashboard-heading h1,.section-heading h2{margin-bottom:4px}.dashboard-actions{display:flex;flex-wrap:wrap;gap:8px}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.metric-card{background:white;border:1px solid #d8dee5;border-radius:12px;padding:18px;text-decoration:none;color:inherit;display:grid;gap:5px;min-height:125px}.metric-card:hover{border-color:#1769aa}.metric-card span{font-weight:700;color:#526170}.metric-card b{font-size:32px;line-height:1.1}.metric-card small{color:#66727e}.priority-panel{margin:28px 0}.priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.priority-card{background:white;border:1px solid #d8dee5;border-radius:12px;padding:17px}.priority-card h3{margin:0 0 12px}.priority-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:11px 0;border-top:1px solid #e5e9ed;text-decoration:none;color:inherit}.priority-row:first-of-type{border-top:0}.priority-row strong{overflow-wrap:anywhere}.priority-values{font-size:13px;color:#66727e;grid-column:1}.alert-badge{grid-column:2;grid-row:1 / span 2;align-self:center;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:800;background:#fff0c2;color:#745400}.alert-badge.critical{background:#ffdede;color:#921c1c}.dashboard-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin:28px 0}.responsive-list,.activity-feed{background:white;border:1px solid #d8dee5;border-radius:12px;overflow:hidden}.list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 16px;border-bottom:1px solid #e5e9ed;text-decoration:none;color:inherit}.list-row:last-child{border-bottom:0}.list-row>div{display:grid;gap:3px}.list-row span,.list-row small{color:#66727e}.list-row-right{text-align:right;justify-items:end}.activity-row{display:grid;grid-template-columns:14px 1fr;gap:9px;padding:13px 16px;border-bottom:1px solid #e5e9ed}.activity-row:last-child{border-bottom:0}.activity-row>div{display:grid;gap:3px}.activity-row span,.activity-row small{color:#66727e}.activity-dot{width:10px;height:10px;margin-top:5px;border-radius:50%;background:#1769aa}.empty-state{padding:16px;color:#66727e}.report-links{margin:30px 0}.report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-grid a{display:grid;gap:6px;background:white;border:1px solid #d8dee5;border-radius:10px;padding:16px;text-decoration:none;color:inherit}.report-grid a:hover{border-color:#1769aa}.report-grid span{font-size:14px;color:#66727e}
@media(max-width:900px){.dashboard-metrics,.priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-heading,.section-heading{flex-direction:column}.dashboard-actions{width:100%}.dashboard-actions .button{flex:1;text-align:center}.dashboard-metrics,.priority-grid,.report-grid{grid-template-columns:1fr}.metric-card{min-height:auto}.list-row{align-items:flex-start}.list-row-right{min-width:90px}.mobile-tabs{grid-template-columns:repeat(5,1fr)}}
