:root{
  --paper:#f5f2ea; --card:#fffdf8; --ink:#1d2a26; --muted:#5d6a65; --line:#ddd6c8;
  --green:#1f6b4f; --green-bg:#e3f1ea; --red:#a3322b; --red-bg:#f7e4e1; --amber:#8a5a00; --amber-bg:#f7ecd6;
  --accent:#1f4d40; --radius:10px;
  --sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;
  --mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans)}
[hidden]{display:none !important}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
.top{border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:2}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.brand-name{font-weight:700;letter-spacing:.01em;font-size:17px}
.pill{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 8px}
.pill.mode-closed{color:var(--amber);border-color:var(--amber)}
.pill.mode-auto{color:var(--green);border-color:var(--green)}
.top-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
a{color:var(--accent)}
button{font:inherit;font-weight:600;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:8px;padding:8px 16px;cursor:pointer;min-height:40px}
button:hover{filter:brightness(1.1)}
button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9cc9b8;outline-offset:2px}
button:disabled{opacity:.55;cursor:not-allowed;filter:none}
button.ghost{background:transparent;color:var(--accent)}
.small-btn{padding:4px 12px;min-height:32px;font-size:13px}
h2{font-size:18px;margin:0}
.muted{color:var(--muted)} .small{font-size:13px}
.mono{font-family:var(--mono);font-size:12.5px;word-break:break-all}
.banner{margin-top:20px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:12px 14px}
.banner.warn{border-left-color:var(--amber);background:var(--amber-bg)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-top:16px}
.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.msg{margin:10px 0 0;min-height:1em}
.msg.err{color:var(--red)} .msg.ok{color:var(--green)} .msg.warn{color:var(--amber)}
label{display:block;font-weight:600;font-size:14px;margin:12px 0 4px}
label.check{display:flex;gap:8px;align-items:flex-start;font-weight:500;margin-top:14px}
label.check input{margin-top:4px;width:auto;flex:none;padding:0}
input,textarea{width:100%;font:13.5px/1.4 var(--mono);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 10px}
input.short{max-width:12ch;letter-spacing:.08em}
details{margin-top:10px} summary{cursor:pointer;color:var(--accent)}
details textarea{margin-top:6px}
.notes,.xfers{display:grid;gap:12px}
.note,.xfer{border:1px solid var(--line);border-radius:8px;padding:12px 14px;background:#fff}
.note-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.serial{font-weight:700;font-family:var(--mono);font-size:14px}
.badge{font-size:12px;font-weight:700;border-radius:999px;padding:1px 9px;letter-spacing:.03em}
.badge.ok{background:var(--green-bg);color:var(--green)}
.badge.bad{background:var(--red-bg);color:var(--red)}
.badge.wait{background:var(--amber-bg);color:var(--amber)}
.badge.test{background:#e8e4f4;color:#4a3d7a}
.facts,.review{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 14px;margin:10px 0 0}
.facts dt,.review dt{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-top:2px}
.facts dd,.review dd{margin:0;min-width:0}
.review dd.addr{font-size:13.5px}
.review mark{background:#fde68a;color:var(--ink);padding:0 1px;border-radius:2px;font-weight:700}
.problems{margin:8px 0 0;padding-left:20px;color:var(--red);font-size:13px}
.rules ul{margin:10px 0 0;padding-left:20px} .rules li{margin:4px 0}
.foot{padding-top:18px;padding-bottom:30px}
@media (max-width:560px){
  .wrap{padding:0 14px}
  .facts,.review{grid-template-columns:minmax(0,1fr)}
  .facts dd,.review dd{margin-bottom:6px}
  .top-actions{gap:10px}
}
