:root{
  --bg:#14161b;--surface:#1c1f26;--tile:#232831;--tile-press:#2c323d;--line:#2c313b;
  --text:#eae8e2;--muted:#8b91a0;--accent:#e0a64f;--accent-press:#c98a30;--accent-soft:rgba(224,166,79,.14);
  --danger:#d9694f;--ok:#2bb673;--radius:16px;--radius-sm:12px;color-scheme:dark;
  --floor:#191c22;--floor-line:#3a404c;--grid:rgba(255,255,255,.06);
  --free:#2bb673;--free-soft:rgba(43,182,115,.14);--free-hover:rgba(43,182,115,.32);
  --taken:#262a32;--taken-line:#3a3f49;
  --pending:#e0a64f;--pending-soft:rgba(224,166,79,.18);
  --confirmed:#5b8def;--confirmed-soft:rgba(91,141,239,.2);
  --arrived:#2bb673;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{background:var(--bg);color:var(--text);min-height:100vh;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans Georgian",sans-serif;font-size:15px;
  font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--tile);
  color:var(--text);border-radius:10px;padding:9px 14px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--tile-press)}
.btn:disabled{opacity:.45;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#1a1406}
.btn.primary:hover{background:var(--accent-press)}
.btn.danger{color:var(--danger);border-color:rgba(217,105,79,.45)}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#06210f}
.btn.blue{background:var(--confirmed);border-color:var(--confirmed);color:#fff}
.btn.big{padding:14px 18px;font-size:16px;border-radius:var(--radius-sm);width:100%}
.btn.sm{padding:6px 10px;font-size:13px;border-radius:8px}
.btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.field>span{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.inp{width:100%;background:var(--tile);border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:15px;outline:none}
.inp:focus{border-color:var(--accent)}
textarea.inp{resize:vertical;min-height:70px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.muted{color:var(--muted)}
.pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:999px;white-space:nowrap}
.pill.pending{background:var(--pending-soft);color:var(--pending)}
.pill.confirmed{background:var(--confirmed-soft);color:#8fb0f5}
.pill.cancelled{background:rgba(217,105,79,.14);color:var(--danger)}
.pill.arrived{background:rgba(43,182,115,.16);color:var(--ok)}
.pill.closed{background:var(--tile);color:var(--muted)}
.pill.free{background:var(--free-soft);color:var(--free)}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;border:2px solid}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;background:var(--text);color:var(--bg);
  padding:11px 18px;border-radius:12px;font-weight:600;font-size:14px;transition:.2s;pointer-events:none;z-index:100;max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.demo-badge{position:fixed;left:12px;bottom:12px;z-index:90;background:#7a3cff;color:#fff;font-size:11px;font-weight:800;
  letter-spacing:.06em;padding:5px 9px;border-radius:8px;opacity:.9}
.err-box{margin:16px;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--danger);color:var(--danger);background:rgba(217,105,79,.08)}
