:root{--bg:#f6f7f9;--panel:#fff;--ink:#17202a;--muted:#64748b;--line:#d9e0ea;--brand:#0f766e;--brand-dark:#115e59;--danger:#b91c1c;--ok:#15803d;--warn:#b45309}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{min-height:100vh}.topbar{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{letter-spacing:0;font-weight:800}.nav{flex-wrap:wrap;gap:8px;display:flex}.nav a,.nav button,.secondary{color:#233143;cursor:pointer;background:#eef2f7;border:1px solid #0000;border-radius:8px;padding:9px 12px}.content{max-width:1180px;margin:0 auto;padding:24px}.stamp-page{align-items:center;min-height:100vh;padding:24px;display:flex}.stamp-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%;max-width:720px;margin:0 auto;padding:32px}.stamp-title{margin:0 0 10px;font-size:clamp(30px,6vw,56px);line-height:1.05}.lead{color:var(--muted);margin:0 0 24px;font-size:18px}.field{gap:7px;margin-bottom:16px;display:grid}.field span{color:#334155;font-size:14px;font-weight:700}.field input,.field select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:44px;padding:10px 12px}.pin-input{letter-spacing:6px;text-align:center;font-size:32px}.actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.big-btn{color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:120px;font-size:clamp(24px,5vw,40px);font-weight:800}.come{background:var(--ok)}.go{background:var(--danger)}.primary{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:10px 14px;font-weight:800}.primary:hover{background:var(--brand-dark)}.danger{background:var(--danger);color:#fff;cursor:pointer;border:0;border-radius:8px;min-height:42px;padding:10px 14px;font-weight:800}.danger:hover{background:#991b1b}.message{border-radius:8px;margin-top:18px;padding:14px}.success{color:#14532d;background:#dcfce7}.error{color:#7f1d1d;background:#fee2e2}.grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-8,.span-12{grid-column:span 12}.stat{color:var(--muted);font-size:14px}.stat strong{color:var(--ink);margin-top:6px;font-size:30px;display:block}.toolbar{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 10px}th{color:#475569;font-size:13px}.badge{border-radius:999px;padding:5px 9px;font-size:13px;font-weight:700;display:inline-block}.badge.ok{color:#14532d;background:#dcfce7}.badge.off{color:#334155;background:#e2e8f0}.badge.warn{color:#78350f;background:#fef3c7}.form-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.login{align-items:center;min-height:100vh;padding:24px;display:flex}.login .panel{width:100%;max-width:420px;margin:0 auto}@media (max-width:800px){.content,.stamp-page{padding:14px}.stamp-panel{padding:20px}.actions,.toolbar,.form-row{grid-template-columns:1fr}.span-4,.span-6,.span-8,.span-12{grid-column:span 12}}
