
:root{
 --bg:#0b1118;--panel:#121b26;--panel2:#172333;--line:#29384a;
 --text:#eef4fb;--muted:#91a5ba;--blue:#4ba6ff;--blue2:#287fd2;
 --green:#35c991;--red:#f06e6e;--yellow:#f4bd4d;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}
body{font-size:16px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.appbar{
 position:sticky;top:0;z-index:10;height:68px;padding:10px 16px;
 display:flex;align-items:center;gap:12px;background:#0d151fdd;
 backdrop-filter:blur(12px);border-bottom:1px solid var(--line)
}
.appbar h1{font-size:18px;margin:0}.appbar p{font-size:11px;color:var(--muted);margin:2px 0 0}
.back,.home{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;padding:8px 11px}
.home{margin-left:auto}
main{max-width:720px;margin:0 auto;padding:22px 16px 50px}
.screen{display:none}.screen.active{display:block}.hidden{display:none!important}

.hero{text-align:center;padding:35px 10px 25px}
.mark,.scan-symbol{
 width:76px;height:76px;border-radius:22px;margin:0 auto 18px;
 display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),#6ab8ff);
 color:#061321;font-size:28px;font-weight:950;box-shadow:0 12px 35px #0008
}
.hero h2,.scan-hero h2,.screen>h2{font-size:26px;margin:0 0 8px}
.hero p,.scan-hero p,.screen>p{color:var(--muted);margin:0;line-height:1.5}

.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.big-action{
 min-height:210px;border:1px solid var(--line);border-radius:18px;
 padding:26px 20px;background:var(--panel);color:var(--text);text-align:left
}
.big-action:hover{border-color:var(--blue)}
.big-action .big-icon{
 width:54px;height:54px;border-radius:14px;display:grid;place-items:center;
 background:#16314a;color:#81c5ff;font-size:30px;margin-bottom:24px
}
.big-action strong{display:block;font-size:22px;margin-bottom:8px}
.big-action small{display:block;color:var(--muted);font-size:13px;line-height:1.45}

.progress{height:5px;background:#17212d;border-radius:99px;overflow:hidden;margin-bottom:35px}
.progress span{height:100%;display:block;background:var(--blue);width:25%;transition:width .2s}
.step{display:none}.step.active{display:block}
.step-count,.eyebrow{font-size:11px;letter-spacing:.11em;font-weight:900;color:var(--blue)}
.step h2{font-size:29px;margin:9px 0 6px}.step>p{color:var(--muted);margin:0 0 24px}

label{display:block;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#a9bad0;margin:20px 0 7px}
label span{font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}
input,select,textarea{
 width:100%;border:1px solid #35485f;background:#0e1722;color:var(--text);
 border-radius:11px;padding:14px 15px;outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4ba6ff20}
.focus-input{font-size:20px;padding:17px 16px}
textarea{min-height:95px;resize:vertical}
.primary,.secondary{
 border-radius:11px;padding:14px 17px;font-weight:900;border:1px solid var(--line)
}
.primary{background:var(--blue);border-color:var(--blue);color:#06111c}
.secondary{background:var(--panel);color:var(--text)}
.full{width:100%;margin-top:18px}
.review-card,.created-card,.edit-card,.last-scan{
 background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px
}
.review-row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #223044}
.review-row:last-child{border-bottom:0}.review-row span{color:var(--muted)}.review-row b{text-align:right}

.success-mark{
 width:80px;height:80px;border-radius:50%;margin:24px auto 18px;
 display:grid;place-items:center;background:#123a2b;color:#7fe7bd;font-size:40px
}
#createdScreen{text-align:center}.created-card{text-align:left;margin-top:24px}
.qr-card{background:#fff;padding:12px;border-radius:14px;width:min(280px,100%);margin:20px auto}
.qr-card img{display:block;width:100%}
.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.qr-actions a{text-decoration:none}

.scan-hero{text-align:center;padding:18px 8px 25px}
.scan-symbol{font-size:36px}.scan-symbol.small{width:58px;height:58px;border-radius:16px;margin-bottom:14px}
.camera-button{font-size:18px;padding:17px}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin:24px 0}
.or:before,.or:after{content:"";height:1px;background:var(--line);flex:1}
.camera-wrap{margin-top:18px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
#cameraVideo{width:100%;background:#000;border-radius:10px;min-height:280px}
#cameraMessage{text-align:center;color:var(--muted);font-size:13px}

.department-grid{display:grid;gap:10px;margin-top:24px}
.department-btn{
 width:100%;padding:18px;border-radius:12px;border:1px solid var(--line);
 background:var(--panel);color:var(--text);text-align:left;font-weight:900;font-size:18px
}
.department-btn:hover{border-color:var(--blue);background:#152637}
.operator-label{margin-top:25px}

.item-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.item-heading h2{font-size:26px;margin:5px 0 3px}.serial-display{color:var(--blue);font:800 14px ui-monospace,SFMono-Regular,Consolas,monospace}
.pill{display:inline-block;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.pill.good{background:#123a2b;color:#84ebc1}.pill.bad{background:#441d1d;color:#ffabab}.pill.warn{background:#3c2e10;color:#ffd670}
.last-scan{margin-bottom:12px;background:#101c29}
.last-scan strong{display:block;font-size:12px;color:#a9bad0;margin-bottom:5px}.last-scan .when{font-size:18px;font-weight:900}.last-scan .where{color:var(--muted);margin-top:4px}
.edit-card{padding:16px}.edit-card label:first-child{margin-top:0}
.history{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-top:12px;overflow:hidden}
.history summary{padding:15px;cursor:pointer;font-weight:800}
.history-row{padding:12px 15px;border-top:1px solid var(--line);font-size:13px}
.history-row b{display:block}.history-row span{color:var(--muted);display:block;margin-top:4px}

.alert,.error,.success{
 border-radius:10px;padding:11px 13px;margin-top:12px;font-size:13px
}
.alert,.error{background:#2e1616;border:1px solid #713838;color:#ffbaba}
.success{background:#102b20;border:1px solid #2d7457;color:#9fe9c8}
.home-alert{margin-bottom:15px}
.muted{color:var(--muted)}

@media(max-width:600px){
 main{padding-top:16px}
 .home-actions{grid-template-columns:1fr}
 .big-action{min-height:155px}
 .big-action .big-icon{margin-bottom:16px}
 .qr-actions{grid-template-columns:1fr}
}


.locked-info{
  background:#0e1722;border:1px solid #2b3b4e;border-radius:11px;
  padding:3px 13px 10px;margin-bottom:18px
}
.locked-row{
  display:flex;justify-content:space-between;gap:18px;
  padding:11px 0;border-bottom:1px solid #223044
}
.locked-row:last-of-type{border-bottom:0}
.locked-row span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.locked-row b{text-align:right;word-break:break-word}
.locked-note{color:#6f8499;font-size:11px;padding-top:8px}
.danger{
  border-radius:11px;padding:14px 17px;font-weight:900;
  border:1px solid #7a3838;background:#2c1515;color:#ffb3b3
}
.danger:hover{background:#3a1919;border-color:#a84d4d}
