:root{font-family:Inter,system-ui,sans-serif;color:#eaf0f3;background:#0b1115;--accent:#f5a623;--card:#151e24;--muted:#8ea0aa}
*{box-sizing:border-box}
body{margin:0}
header{display:flex;justify-content:space-between;align-items:center;padding:22px max(18px,calc((100% - 920px)/2));background:#10181d;border-bottom:1px solid #26343c}
h1{margin:2px 0;font-size:25px}
h2{margin-top:0}
small{color:var(--accent);font-weight:800;letter-spacing:2px}
main{max-width:920px;margin:auto;padding:18px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stats article,.card{background:var(--card);border:1px solid #26343c;border-radius:16px;padding:18px}
.stats b{display:block;font-size:27px;color:var(--accent)}
.stats span,.muted{color:var(--muted);font-size:13px}
nav{display:flex;gap:8px;margin:18px 0;overflow:auto}
button{border:1px solid #354650;background:#1a252c;color:#eaf0f3;border-radius:11px;padding:12px 15px;font-weight:700;cursor:pointer}
button.active,.primary{background:var(--accent);border-color:var(--accent);color:#15100a}
.ghost{background:transparent}
.card{margin-bottom:14px}
label{display:block;color:#c6d0d5;font-size:14px;margin:12px 0}
input,select,textarea{width:100%;margin-top:6px;background:#0d151a;color:#fff;border:1px solid #354650;border-radius:10px;padding:13px;font:inherit}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hidden{display:none!important}
.row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #28363e}
.receipt-link{width:100%;border:0;border-radius:0;background:transparent;text-align:left}
.receipt-link:active{background:#1d2a31}
.open-arrow{font-size:28px;color:var(--accent);margin-left:10px;vertical-align:middle}
.status{font-size:12px;font-weight:800;padding:5px 8px;border-radius:20px}
.RECEIVED{background:#173e2c;color:#6ce0a4}
.PARTIAL,.REVIEW{background:#493817;color:#ffd36d}
.MISSING{background:#46242a;color:#ff9ca7}
.EXCESS{background:#342b58;color:#c4afff}
.warning{background:#3a2b13;color:#ffd47d;padding:12px;border-radius:10px}
.edit-line{display:grid;grid-template-columns:1fr 2fr .7fr auto;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid #28363e}
.edit-line label{margin:0}
.remove-line{color:#ff9ca7}
.actions{display:flex;justify-content:space-between;gap:8px;margin-top:14px}
.qty-input{width:92px;text-align:right}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#e9f0f3;color:#10171c;padding:12px 18px;border-radius:10px;display:none;z-index:10}
.wide{width:100%;font-size:17px;padding:16px}
.start-card{text-align:center}
.start-card .admin-section{text-align:left;margin-top:24px;padding-top:18px;border-top:1px solid #28363e}
.admin-section>summary,.correction-card>summary{cursor:pointer;font-weight:800;color:#c6d0d5;padding:8px 0}
.receipt-header{display:flex;justify-content:space-between;align-items:flex-start}
.receipt-header h2{font-size:30px;margin:4px 0}
.eyebrow{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:1.5px}
.scan-card{text-align:center;border-color:#75541d}
.camera-button{display:block;margin:18px 0 4px;background:var(--accent);color:#15100a;border-radius:14px;padding:20px 16px;font-size:19px;font-weight:900;cursor:pointer}
.camera-button.disabled{opacity:.55;pointer-events:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.scan-progress{margin-top:16px;color:var(--accent);font-weight:800}
.spinner{display:inline-block;width:17px;height:17px;border:2px solid #72551f;border-top-color:var(--accent);border-radius:50%;vertical-align:-3px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.scan-success{display:flex;flex-direction:column;gap:7px;text-align:left;margin-top:15px;padding:13px;border-radius:11px;background:#123426;color:#a8edc5}
.warning-inline{color:#ffd47d;margin-top:5px}
.result-heading{display:flex;justify-content:space-between;align-items:flex-start}
.result-heading h2{margin-bottom:4px}
.icon-button{padding:7px 13px;font-size:24px}
.legend{display:flex;gap:13px;flex-wrap:wrap;font-size:12px;margin:14px 0}
.legend-received{color:#6ce0a4}
.legend-partial{color:#ffd36d}
.legend-missing{color:#ff9ca7}
.material-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 10px;margin:7px 0;border-left:5px solid;border-radius:9px;background:#10181d}
.material-row.MISSING{border-color:#d95a6a}
.material-row.PARTIAL{border-color:#e6a82f}
.material-row.RECEIVED{border-color:#3bc681}
.material-row.EXCESS{border-color:#9e82ef}
.material-main,.material-qty{display:flex;flex-direction:column;gap:5px}
.material-main span{color:var(--muted);font-size:12px}
.material-qty{text-align:right;align-items:flex-end}
.material-qty>b{font-size:13px}
.confirm-card{border-color:#365140}
.confirm-card button:disabled{background:#315341;color:#8fd8ae;border-color:#315341}
.correction-card{opacity:.86}
.correction-card[open]{opacity:1}
.correction-card h3{margin-top:22px}
@media(max-width:600px){
  .grid{grid-template-columns:1fr}
  .stats span{font-size:11px}
  .stats article{padding:12px}
  .stats b{font-size:22px}
  .edit-line{grid-template-columns:1fr 1fr}
  .edit-line .description{grid-column:1/-1}
  .actions{flex-direction:column}
  .material-row{grid-template-columns:minmax(0,1fr) 120px}
  .receipt-header h2{font-size:26px}
  .camera-button{padding:22px 14px}
}
