:root{--bg:#f4f7f4;--card:#fff;--ink:#1b2a20;--muted:#657268;--accent:#1f6d3c;--border:#dfe7e0}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--ink)}
header{position:sticky;top:0;z-index:5;background:var(--card);border-bottom:1px solid var(--border);padding:12px 16px;display:flex;justify-content:space-between;align-items:center}header strong{display:block;font-size:18px}header small{display:block;color:var(--muted)}
nav{position:sticky;top:63px;z-index:4;background:var(--card);display:flex;gap:6px;overflow-x:auto;padding:8px 10px;border-bottom:1px solid var(--border)}nav button{border:0;background:transparent;padding:10px 12px;border-radius:10px;font-weight:700;color:var(--muted)}nav button.active{background:#e4f1e8;color:var(--accent)}
main{max-width:1150px;margin:0 auto;padding:14px}.page{display:none}.page.active{display:block}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 2px 10px #00000008}.card h2{margin:0 0 12px;font-size:18px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.metric{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px}.metric span{color:var(--muted);font-size:12px;display:block}.metric strong{font-size:25px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quickgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}input,select,textarea{width:100%;margin-top:5px;border:1px solid #cfd8d0;border-radius:10px;padding:12px;font:inherit;background:#fff}input[type=number]{font-size:18px;font-weight:700}.primary,.ghost{border-radius:11px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{border:0;background:var(--accent);color:#fff}.ghost{border:1px solid var(--border);background:#fff;color:var(--ink)}.linkbtn{text-decoration:none;display:inline-block}.actions{display:flex;gap:10px;flex-wrap:wrap}
.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:9px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}th{color:var(--muted)}canvas{width:100%;height:auto;max-height:320px}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#17251c;color:#fff;padding:11px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1}
@media(max-width:700px){header strong{font-size:16px}nav{top:59px}.metrics{grid-template-columns:repeat(2,1fr)}.grid2,.quickgrid{grid-template-columns:1fr 1fr}.metric strong{font-size:22px}main{padding:10px}.card{padding:13px}.primary{width:100%;min-height:48px}.actions .linkbtn{width:100%;text-align:center}}
@media(max-width:420px){.quickgrid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}}
.row{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.traygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px}.traycard{padding:12px;border:1px solid #d5dfd7;border-radius:12px;background:#fff;text-align:left}.traycard b,.traycard span,.traycard small{display:block}.traycard b{font-size:1.05rem}.traycard span{margin-top:5px}.traycard small{color:#657268;margin-top:3px}.quickButtons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quickButtons button{padding:16px 10px;border:0;border-radius:12px;background:#e7f2e9;font-weight:700;color:#194d2c}.quickButtons button:active{transform:scale(.98)}@media(min-width:700px){.quickButtons{grid-template-columns:repeat(4,1fr)}}
.assignmentCard{border:2px solid #cfe4d5}.assignStatus{margin-top:12px;padding:12px;border-radius:10px;background:#f1f6f2;font-size:1.05rem}#scanConfirm{text-align:center;border:2px solid #9bc8a8}#scanConfirm h2{font-size:1.7rem}details{margin-top:16px}summary{cursor:pointer;font-weight:700;padding:10px 0}

.trayActions{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.danger{border:1px solid #c75b5b;background:#fff5f5;color:#8a2323;border-radius:11px;padding:12px 16px;font-weight:800;cursor:pointer}.danger:disabled{opacity:.45;cursor:not-allowed}.historyList{margin-top:8px}.historyItem{padding:10px 0;border-bottom:1px solid var(--border)}.historyItem strong,.historyItem span,.historyItem small{display:block}.historyItem span{font-size:12px;color:var(--muted);margin-top:3px}.historyItem small{font-size:12px;color:var(--muted);margin-top:3px}@media(max-width:700px){.danger{width:100%;min-height:48px}}
