:root{--navy:#0f172a;--slate:#334155;--line:#dbe3ee;--blue:#2563eb;--green:#15803d;--green-bg:#dcfce7;--red:#b91c1c;--red-bg:#fee2e2;--amber:#a16207;--amber-bg:#fef3c7;--bg:#f6f8fb}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:#172033}.topbar{height:58px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{font-weight:800}.topbar a,.link-btn{color:#fff;text-decoration:none;margin-left:18px;background:none;border:0;cursor:pointer;font:inherit}.inline{display:inline}.page{max-width:1180px;margin:0 auto;padding:24px}.login-card{max-width:430px;margin:10vh auto;background:#fff;padding:34px;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 30px rgba(15,23,42,.08)}h1{margin:0 0 8px}h2{font-size:18px;margin:0 0 14px}.muted{color:#64748b}.stack{display:grid;gap:14px}label{font-weight:700;font-size:14px}input,select{width:100%;padding:12px 13px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font-size:15px;margin-top:6px}button{border:0;border-radius:8px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:var(--blue);color:#fff}.secondary{background:#e8eef7;color:#172033}.alert{padding:11px;border-radius:8px;margin-bottom:15px}.alert.error{background:var(--red-bg);color:var(--red)}.scanner-head{background:var(--navy);color:#fff;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;border-radius:12px 12px 0 0}.scanner-head p{margin:3px 0 0;color:#cbd5e1}.selectors{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#e9eef5;padding:16px 24px}.scan-panel{background:#fff;border:1px solid var(--line);border-top:0;padding:18px 24px 24px;border-radius:0 0 12px 12px}.scan-instruction{text-align:center;font-weight:700;margin-bottom:10px}.scan-input{height:92px;border:2px solid #16a34a;border-radius:4px;font-size:28px;text-align:center}.last-label,.status-label{text-align:center;color:#64748b;font-size:12px;font-weight:700;margin-top:18px}.last-scan{text-align:center;font-size:24px;font-weight:700;padding:13px}.status{text-align:center;border:1px solid;padding:22px 12px;margin-top:6px;border-radius:4px;min-height:88px;display:flex;flex-direction:column;justify-content:center}.status strong{font-size:20px}.status small{font-size:12px;margin-top:5px}.status.ready{background:#eff6ff;color:#1d4ed8;border-color:#93c5fd}.status.success{background:var(--green-bg);color:var(--green);border-color:#86efac}.status.error{background:var(--red-bg);color:var(--red);border-color:#fca5a5}.status.warning{background:var(--amber-bg);color:var(--amber);border-color:#fcd34d}.counters{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;border:1px solid var(--line)}.counters div{text-align:center}.counters div+div{border-left:1px solid var(--line)}.counters span{display:block;background:var(--slate);color:#fff;font-size:12px;font-weight:700;padding:7px}.counters strong{display:block;font-size:30px;padding:18px}.utility-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.row{display:flex;gap:10px;align-items:end}.row input{flex:1}.search-item{border-top:1px solid var(--line);padding:12px 0;display:grid;grid-template-columns:1fr auto;gap:8px}.search-meta{font-size:13px;color:#64748b;margin-top:4px}.removed{opacity:.65}.danger{background:#fee2e2;color:#b91c1c}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.stat{background:#fff;border:1px solid var(--line);padding:18px;border-radius:12px}.stat span{display:block;color:#64748b}.stat strong{font-size:30px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.list-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:10px 0}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}th{background:#eef2f7}.table-wrap{overflow:auto;margin-top:12px}@media(max-width:800px){.utility-grid,.admin-grid,.stats,.selectors{grid-template-columns:1fr}.scanner-head{align-items:flex-start;gap:12px;flex-direction:column}}
