:root{--ink:#17212b;--cream:#f4f1ea;--accent:#e85d3f;--line:#e7e1d8}body{background:var(--cream);color:var(--ink);min-height:100vh}.app-navbar{background:var(--ink)}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;font-weight:800;margin-right:6px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:#7d7469}.display-6{letter-spacing:-.04em}.table-card,.batch-card,.station-chip,.empty-state,.login-card{border-radius:18px}.table-free{border-top:4px solid #49a078!important}.table-occupied{border-top:4px solid #f2b84b!important}.table-number{font-size:2.5rem;font-weight:800;letter-spacing:-.07em;line-height:1}.status-dot{width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 5px rgba(0,0,0,.04)}.station-chip{background:#fff}.batch-card{border-left:5px solid var(--accent)!important}.login-shell{min-height:calc(100vh - 120px);display:grid;place-items:center}.login-card{width:min(100%,440px)}.brand-lockup{font-size:1.3rem;font-weight:800;display:flex;align-items:center}.form-control,.form-select,.btn{border-radius:11px}.form-control:focus,.form-select:focus{border-color:var(--accent);box-shadow:0 0 0 .2rem rgba(232,93,63,.15)}.btn-primary{background:var(--accent);border-color:var(--accent)}.btn-primary:hover,.btn-primary:focus{background:#c9482f;border-color:#c9482f}.table> :not(caption)>*>*{padding-top:.85rem;padding-bottom:.85rem}.sticky-xl-top{z-index:10}@media (max-width:1199.98px){.sticky-xl-top{position:static!important}}@media (min-width:1400px){.batch-card{min-height:315px}}
.scanner-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:#101820}.scanner-frame video{width:100%;height:100%;object-fit:cover}.scanner-corners{position:absolute;inset:18% 16%;border:3px solid rgba(255,255,255,.85);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.18)}
