:root{
  --bg:#0e1116;--card:#161b22;--ink:#e6edf3;--mut:#9aa7b4;--acc:#4cc2ff;
  --warn:#ffb454;--good:#4ade80;--bad:#f87171;--border:#232a33;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--ink);
  font:16px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  padding-bottom:40px;-webkit-text-size-adjust:100%}
header{position:sticky;top:0;background:#0e1116ee;backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);display:flex;align-items:center;
  justify-content:space-between;padding:14px 16px;z-index:10}
.brand{color:var(--ink);font-weight:700;text-decoration:none;font-size:17px}
nav a{color:var(--acc);text-decoration:none;margin-left:16px;font-size:15px}
main{max-width:680px;margin:0 auto;padding:16px}
.loading{color:var(--mut);padding:40px;text-align:center}
h1{font-size:22px;margin-bottom:14px}
h2{font-size:16px;color:var(--acc);margin:18px 0 8px}
.muted{color:var(--mut)}
.row{display:flex;gap:10px;align-items:center}

/* item list */
.item{display:block;background:var(--card);border:1px solid var(--border);
  border-radius:12px;padding:14px 16px;margin-bottom:10px;text-decoration:none;color:var(--ink)}
.item .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.item .name{font-weight:600}
.num{font-family:ui-monospace,monospace;color:var(--mut);font-size:13px}
.pill{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid}
.pill.in{color:var(--good);border-color:#1f4d33;background:#0e2a1c}
.pill.out{color:var(--warn);border-color:#5a3c14;background:#231708}
.pill.att{color:var(--acc);border-color:#1d4a63;background:#0d2330}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.chip{background:#0e1116;border:1px solid var(--border);color:var(--mut);
  border-radius:999px;padding:7px 13px;font-size:13px;cursor:pointer}
.chip.sel{background:var(--acc);color:#08222f;border-color:var(--acc);font-weight:600}
.meta{color:var(--mut);font-size:13px;margin-top:6px}
.meta b{color:var(--ink);font-weight:500}

/* forms */
label{display:block;margin:14px 0 6px;font-size:14px;color:var(--mut)}
input,select,textarea{width:100%;background:#0e1116;color:var(--ink);
  border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:16px}
textarea{min-height:72px;resize:vertical}
.seg{display:flex;gap:8px}
.seg button{flex:1;background:#0e1116;border:1px solid var(--border);color:var(--ink);
  padding:12px;border-radius:10px;font-size:15px}
.seg button.sel{background:var(--acc);color:#08222f;border-color:var(--acc);font-weight:600}
button.primary,a.primary{display:block;width:100%;text-align:center;margin-top:20px;
  background:var(--acc);color:#08222f;border:none;border-radius:12px;padding:15px;
  font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}
button.ghost{background:transparent;border:1px solid var(--border);color:var(--ink);
  border-radius:12px;padding:13px;font-size:15px;cursor:pointer;width:100%;margin-top:10px}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);
  background:var(--good);color:#062013;padding:12px 20px;border-radius:10px;font-weight:600;
  box-shadow:0 8px 30px rgba(0,0,0,.4)}

/* logs */
.log{border-left:2px solid var(--border);padding:8px 0 8px 14px;margin-left:4px}
.log .when{color:var(--mut);font-size:12px}

/* labels (print) */
.labels{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.label{background:#fff;color:#000;border:1px solid #ccc;border-radius:10px;
  padding:14px;text-align:center;break-inside:avoid}
.label img{width:100%;max-width:180px}
.label .qr{display:flex;justify-content:center}
.label .qr svg{width:170px;max-width:100%;height:auto}
.label .lname{font-weight:700;margin-top:6px}
.label .lnum{font-family:ui-monospace,monospace;font-size:14px}
@media print{
  header,.noprint{display:none!important}
  body{background:#fff;padding:0}
  .labels{grid-template-columns:repeat(3,1fr)}
}
