:root { color-scheme: dark; font-family: Inter, Segoe UI, sans-serif; background:#10151d; color:#eef3f8; }
* { box-sizing:border-box; }
body { margin:0; background:linear-gradient(135deg,#10151d,#151f2b); }
.shell { max-width:1200px; margin:0 auto; padding:32px 20px 60px; }
.login-card { max-width:460px; margin:10vh auto 0; }.logout { display:flex; justify-content:flex-end; margin-bottom:10px; }
.hero { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:24px; }
.eyebrow { color:#6ee7b7; font-size:12px; letter-spacing:.16em; font-weight:700; }
h1 { margin:0; font-size:42px; letter-spacing:-.04em; }
h2 { margin:0 0 8px; font-size:20px; }
.lede,.muted { color:#9eacbb; }
.status,.pill { border:1px solid #2d4755; border-radius:999px; color:#9ce6c3; padding:8px 12px; font-size:13px; white-space:nowrap; }
.grid { display:grid; gap:16px; }.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { background:#182330; border:1px solid #293a48; border-radius:16px; padding:20px; margin-bottom:16px; box-shadow:0 12px 32px #07101844; }
label { display:block; color:#aebdca; font-size:13px; margin:12px 0; }
input,select { display:block; width:100%; margin-top:6px; background:#0f1720; color:#f2f7fb; border:1px solid #344a5b; border-radius:9px; padding:11px 12px; }
.check { display:flex; align-items:center; gap:8px; }.check input { width:auto; margin:0; }.compact { gap:8px; }
.form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); align-items:end; gap:12px; }.form-grid label { margin:0; }.account-link { display:inline-block; margin-bottom:10px; }
textarea { display:block; width:100%; margin-top:6px; background:#0f1720; color:#f2f7fb; border:1px solid #344a5b; border-radius:9px; padding:11px 12px; resize:vertical; }
button { border:0; border-radius:9px; padding:11px 14px; font-weight:700; color:#062016; background:#6ee7b7; cursor:pointer; }
button:hover { background:#8af2c8; }
button.secondary { background:#344a5b; color:#eef3f8; margin-top:6px; }
.notice { padding:13px 16px; border:1px solid #5c5030; background:#332b16; color:#f9dd91; border-radius:10px; margin-bottom:16px; }
.audit-summary { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 16px; }.metric { padding:10px 13px; border-radius:10px; background:#0f1720; }.metric strong { font-size:20px; margin-right:4px; }.metric.blocking { color:#fca5a5; }.metric.warning { color:#fde68a; }.metric.info { color:#93c5fd; }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; min-width:700px; } th,td { text-align:left; padding:11px 10px; border-bottom:1px solid #2a3b49; font-size:13px; } th { color:#8fa2b2; font-weight:600; } a { color:#7dd3fc; }
hr { border:0; border-top:1px solid #2a3b49; margin:20px 0; }
.module-nav { position:sticky; top:8px; z-index:5; display:flex; flex-wrap:wrap; gap:6px; padding:10px; margin:0 0 18px; border:1px solid #293a48; border-radius:12px; background:#101923f2; box-shadow:0 8px 24px #07101888; backdrop-filter:blur(12px); }
.module-nav a { padding:7px 10px; border-radius:8px; color:#c9d8e4; font-size:13px; text-decoration:none; white-space:nowrap; }
.module-nav a:hover { background:#263746; color:#fff; }
.module-nav a:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid #6ee7b7; outline-offset:2px; }
[id] { scroll-margin-top:100px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior:smooth; } }
@media (max-width:760px) { .hero,.two { display:block; } .status { display:inline-block; margin-top:16px; } h1 { font-size:34px; } }
.pagination { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:16px; color:#9eacbb; }
.pagination a { padding:8px 12px; border:1px solid #344a5b; border-radius:8px; text-decoration:none; }

.inventory-close-form { display:flex; align-items:end; gap:12px; padding:12px; margin:0 0 12px; border:1px solid #344a5b; border-radius:12px; background:#121c26; }
.inventory-close-form label { flex:1; margin:0; }
.session-close-button { min-height:42px; margin:0 !important; white-space:nowrap; }
.inventory-scan-form { padding:16px; border:1px solid #293a48; border-radius:12px; background:#121c26; }
.inventory-scan-form label { margin:10px 0; }
.inventory-help { margin:6px 0 10px; font-size:12px; }
.inventory-quantity-row { display:flex; align-items:center; gap:12px; margin:14px 0; }
.inventory-quantity-label { color:#aebdca; font-size:13px; font-weight:600; }
.quantity-control { display:flex; align-items:center; gap:8px; }
.quantity-step { width:44px; height:42px; padding:0; font-size:24px; line-height:1; touch-action:none; user-select:none; }
.quantity-step.is-holding { background:#8af2c8; transform:scale(.96); }
.quantity-display { display:grid; place-items:center; min-width:70px; height:42px; padding:0 10px; border:1px solid #344a5b; border-radius:9px; background:#0f1720; color:#f2f7fb; font-size:20px; font-weight:700; }
.quantity-keypad-toggle { margin:0 !important; }
.quantity-keypad { display:grid; grid-template-columns:repeat(3,minmax(56px,76px)); gap:7px; width:max-content; padding:10px; margin:4px 0 14px; border:1px solid #344a5b; border-radius:12px; background:#0f1720; }
.quantity-keypad[hidden] { display:none; }
.quantity-keypad button { min-height:44px; padding:8px; }
.quantity-keypad .keypad-done { grid-column:1 / -1; }
.inventory-submit { margin-top:4px; }
@media (max-width:760px) {
  .inventory-session-card { padding:14px; border-radius:12px; }
  .inventory-session-card > h2 { margin-bottom:8px; font-size:17px; }
  .inventory-session-meta { margin:7px 0; font-size:12px; }
  .inventory-operator { display:none; }
  .inventory-summary { gap:6px; margin:8px 0 10px; }
  .inventory-summary .metric { flex:1 1 29%; min-width:82px; padding:7px 8px; font-size:11px; }
  .inventory-summary .metric strong { display:block; margin:0 0 2px; font-size:16px; }
  .inventory-close-form { align-items:stretch; flex-direction:column; gap:8px; padding:9px; margin:0 0 9px; }
  .inventory-close-form label { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:center; gap:8px; font-size:11px; }
  .inventory-close-form input { min-width:0; margin:0; padding:8px 9px; font-size:12px; }
  .session-close-button { min-height:38px; padding:8px 10px; font-size:12px; }
  .inventory-scan-form { padding:11px; border-radius:10px; }
  .inventory-scan-form label { margin:7px 0; font-size:12px; }
  .inventory-scan-form input { margin-top:4px; padding:9px 10px; font-size:14px; }
  .inventory-help { margin:4px 0 7px; font-size:11px; line-height:1.35; }
  .inventory-quantity-row { flex-wrap:wrap; gap:8px; margin:10px 0; }
  .inventory-quantity-label { width:100%; font-size:12px; }
  .quantity-step { width:42px; height:40px; }
  .quantity-display { min-width:56px; height:40px; font-size:18px; }
  .quantity-keypad-toggle { padding:9px 10px; font-size:11px; }
  .quantity-keypad { grid-template-columns:repeat(3,minmax(58px,1fr)); width:min(100%,252px); gap:6px; padding:8px; margin-bottom:10px; }
  .quantity-keypad button { min-height:42px; padding:7px; font-size:13px; }
  .inventory-submit { width:100%; min-height:42px; font-size:13px; }
}

@media (max-width:760px) {
  .operator-hero { margin-bottom:12px; gap:8px; align-items:flex-start; }
  .operator-hero h1 { font-size:22px; }
  .operator-hero .eyebrow { margin:0 0 4px; font-size:10px; }
  .operator-hero .lede { display:none; }
  .operator-hero nav { font-size:12px; }
  .operator-session { padding:12px; border-radius:12px; }
  .operator-session .section-heading { gap:8px; margin-bottom:6px; }
  .operator-session .section-heading h2 { font-size:17px; }
  .operator-session .section-heading .eyebrow { display:none; }
  .operator-name { display:none; }
  .operator-summary { gap:6px; margin:8px 0 10px; }
  .operator-summary .metric { flex:1 1 29%; min-width:74px; padding:7px 8px; font-size:11px; }
  .operator-summary .metric strong { display:block; margin:0 0 2px; font-size:16px; }
  .operator-close-form { margin:0 0 9px; }
  .operator-close-form button { width:100%; min-height:38px; padding:8px 10px; font-size:12px; }
  .operator-scan-form { padding:11px; border-radius:10px; }
  .operator-scan-form label { margin:7px 0; font-size:12px; }
  .operator-scan-form input { margin-top:4px; padding:9px 10px; font-size:14px; }
  .operator-help { margin:4px 0 7px; font-size:11px; line-height:1.35; }
  .operator-quantity-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0; }
  .operator-quantity-label { width:100%; color:#aebdca; font-size:12px; font-weight:600; }
  .operator-scan-form .quantity-step { width:42px; height:40px; }
  .operator-scan-form .quantity-display { min-width:56px; height:40px; font-size:18px; }
  .operator-scan-form .quantity-keypad-toggle { padding:9px 10px; font-size:11px; }
  .operator-scan-form .quantity-keypad { grid-template-columns:repeat(3,minmax(58px,1fr)); width:min(100%,252px); gap:6px; padding:8px; margin-bottom:10px; }
  .operator-scan-form .quantity-keypad button { min-height:42px; padding:7px; font-size:13px; }
  .operator-scan-form > button[type="submit"] { width:100%; min-height:42px; font-size:13px; }
}
