:root{--color-bg: #111418;--color-text: #e6e8ea;--color-accent: #4c8dff;--color-danger: #e5534b}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button{min-height:48px;font-size:1rem;font-family:inherit;color:var(--color-text);background:var(--color-accent);border:none;border-radius:8px;cursor:pointer}button.danger{background:var(--color-danger)}button:disabled{opacity:.5}.screen{display:flex;flex-direction:column;gap:12px;max-width:420px;margin:0 auto;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px))}.screen input{min-height:48px;padding:0 12px;font-size:1.125rem;color:var(--color-text);background:#1b2027;border:1px solid #2c333c;border-radius:8px}.screen .hint{font-size:.875rem;opacity:.7}.pin-dots{font-size:2rem;letter-spacing:.4rem;text-align:center;margin:8px 0}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.keypad button{min-height:60px;font-size:1.5rem;background:#1b2027}.keypad button:last-child{background:var(--color-accent);font-size:1rem}.inventory{display:flex;flex-direction:column;gap:12px}.inventory h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:8px 0 0}.inventory h3{font-size:.875rem;opacity:.7;margin:8px 0 4px}.inventory .rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.inventory .rows button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;font-size:1.0625rem;text-align:left;background:#1b2027}.inventory .badge{color:var(--color-danger);font-size:.875rem}.inventory .qty{opacity:.8}.badge-pending,.banner-rejected{margin:0}.banner-rejected button{width:100%;background:var(--color-danger);padding:0 12px}.inventory .row-empty{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;margin:0;padding:0 14px;font-size:1.0625rem;background:#161a20;border-radius:8px;opacity:.5}.summary{display:flex;flex-direction:column;gap:12px}.summary-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:8px 0 0}.summary-head h2{margin:0}.summary-head button{padding:0 16px}.summary-status{display:flex;justify-content:space-between;gap:8px;margin:0;font-size:.8125rem;opacity:.7}.summary-status .live{color:#62c37a}.summary-status .stalled{color:var(--color-danger);opacity:1}.summary .warn{display:block;color:var(--color-danger);font-size:.6875rem;text-transform:none;letter-spacing:0}.summary table{width:100%;border-collapse:collapse}.summary th{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;opacity:.6;text-align:right;padding:4px 6px}.summary th:first-child,.summary td:first-child{text-align:left}.summary td{text-align:right;font-size:1.125rem;font-variant-numeric:tabular-nums;padding:2px 6px;border-top:1px solid #2c333c}.summary td:first-child{width:100%;padding:2px 0}.summary td button{width:100%;min-height:52px;padding:0 10px;font-size:1rem;text-align:left;background:transparent}.summary td button[aria-expanded=true]{background:#1b2027}.summary tr.lab td{border-top:2px solid #2c333c;opacity:.75}.crew-detail{background:#161a20;border-radius:12px;padding:8px 12px}.crew-detail h3{margin:8px 0;font-size:1rem}.crew-detail h4{margin:8px 0 4px;font-size:.8125rem;opacity:.6;text-transform:uppercase;letter-spacing:.06em}.crew-detail .rows,.crew-detail .serials{list-style:none;margin:0;padding:0}.crew-detail .row,.crew-detail .serials li{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:6px 0;font-size:.9375rem}.crew-detail .badge,.crew-detail .qty{opacity:.7;font-size:.875rem;white-space:nowrap}.crew-detail .gone{opacity:.45;text-decoration:line-through}.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.feed li{font-size:.9375rem;line-height:1.35;padding:6px 0;border-bottom:1px solid #1b2027}.feed .time{font-variant-numeric:tabular-nums;opacity:.6}.feed .crew,.feed .actor{font-weight:600}.feed li.undone{opacity:.5;text-decoration:line-through}.tabs{display:flex;gap:8px}.tabs button{flex:1;padding:0 8px;font-size:.9375rem;background:#1b2027}.tabs button.active{background:var(--color-accent)}.catalog,.admin{display:flex;flex-direction:column;gap:12px}.catalog h2,.admin h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin:8px 0 0}.catalog .rows,.admin .rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.catalog .rows button{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;font-size:1.0625rem;text-align:left;background:#1b2027}.catalog .meta,.admin .meta{font-size:.8125rem;opacity:.7;white-space:nowrap}.form{display:flex;flex-direction:column;gap:8px;padding:12px;background:#161a20;border-radius:12px}.form h3{margin:0;font-size:1rem}.form label{font-size:.875rem;opacity:.7}.form input:not([type=checkbox]),.form select{min-height:48px;padding:0 12px;font-size:1.0625rem;color:var(--color-text);background:#111418;border:1px solid #2c333c;border-radius:8px}.form label.check{display:flex;align-items:center;gap:10px;min-height:48px;font-size:1rem;opacity:1}.form input[type=checkbox]{width:24px;height:24px}.form .hint{margin:0;font-size:.8125rem;opacity:.7}.catalog .hint{margin:0;font-size:.8125rem;opacity:.6}.admin .created{padding:12px;background:#23303f;border-radius:12px}.admin .created p{margin:0 0 8px;font-size:1.0625rem}.admin .created .warn{color:var(--color-danger);font-size:.875rem}.admin .users li{display:flex;flex-direction:column;gap:8px;padding:8px 12px;background:#1b2027;border-radius:8px}.admin .users .row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}.admin .users li.disabled{opacity:.45}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:#0009}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#1b2027;border-radius:16px 16px 0 0;box-shadow:0 -8px 24px #00000080}.sheet h2{margin:0;font-size:1.125rem}.sheet fieldset{display:flex;flex-direction:column;gap:4px;border:none;padding:0;margin:0}.sheet label{display:flex;align-items:center;gap:10px;min-height:48px}.sheet input[type=radio]{width:24px;height:24px}.sheet input[type=text],.sheet input:not([type]){min-height:48px;padding:0 12px;font-size:1rem;color:var(--color-text);background:#111418;border:1px solid #2c333c;border-radius:8px}.stepper{display:flex;align-items:center;justify-content:space-between;gap:12px}.stepper button{min-width:64px;font-size:1.5rem}.stepper [role=status]{font-size:1.5rem;min-width:48px;text-align:center}.toast{position:fixed;left:12px;right:12px;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:396px;margin:0 auto;padding:8px 8px 8px 16px;background:#23303f;border-radius:12px}
