:root{--ink:#1d1d1b;--ink-2:#55534c;--line:#ddd5c4;--sand:#efe9dd;--paper:#faf8f3;--gold:#a07c3b;--green:#2f6b45;--red:#a3352b;--blue:#2f5a7a;--mute:#8a867c;color:var(--ink);background:var(--paper);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:var(--blue)}h1{margin:0 0 .5rem;font-size:1.4rem;font-weight:600}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:0 0 .6rem;font-size:1rem}h3{margin:0 0 .5rem;font-size:1rem}small{color:var(--ink-2);font-size:.82rem;display:block}main{max-width:1240px;margin:0 auto;padding:1.25rem}.bar{background:var(--ink);color:var(--sand);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1.25rem;display:flex}.bar a{color:var(--sand);text-decoration:none}.brand{letter-spacing:.04em;font-weight:600}.brand span,.login h1 span{color:var(--gold);font-weight:400}.bar nav{gap:1.2rem;display:flex}.bar nav a{opacity:.75;border-bottom:2px solid #0000;padding-bottom:2px}.bar nav a.on,.bar nav a:hover{opacity:1;border-color:var(--gold)}.login{border:1px solid var(--line);background:#fff;border-radius:6px;gap:.9rem;max-width:22rem;margin:14vh auto;padding:2rem;display:grid}label{color:var(--ink-2);gap:.25rem;font-size:.9rem;display:grid}label.radio{color:var(--ink);align-items:center;gap:.5rem;display:flex}input,textarea,select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px;padding:.45rem .55rem}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:1px}button{font:inherit;background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:4px;justify-self:start;padding:.5rem 1rem}button:disabled{opacity:.5;cursor:wait}button.link{color:var(--blue);background:0 0;padding:0;text-decoration:underline}.error{color:var(--red);margin:.25rem 0}.hint,.empty,.loading{color:var(--ink-2);margin:.3rem 0 .8rem;font-size:.9rem}.loading{text-align:center;padding:2rem}.note{background:var(--sand);border-radius:4px;margin:0 0 1rem;padding:.7rem .9rem}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.tabs button{color:var(--ink-2);background:0 0;border-bottom:2px solid #0000;border-radius:4px 4px 0 0;padding:.55rem .9rem}.tabs button.on{color:var(--ink);border-color:var(--gold);font-weight:600}.search{min-width:16rem;margin-bottom:.3rem;margin-left:auto}table{border-collapse:collapse;background:#fff;width:100%;font-size:.92rem}th{text-align:left;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}th,td{border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .6rem}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.queue tbody tr:hover{background:var(--paper)}.ref{font-family:ui-monospace,monospace;font-weight:600}td.urgent{color:var(--red);font-weight:600}tr.bad td{background:#fbefed}.status{white-space:nowrap;vertical-align:middle;border-radius:99px;padding:.08rem .5rem;font-size:.78rem;font-weight:600;display:inline-block}.status.gold{color:#6b5020;background:#f3e6c8}.status.green{color:var(--green);background:#dcebdf}.status.red{color:var(--red);background:#f5d9d5}.status.blue{color:var(--blue);background:#dbe6ef}.status.grey{background:var(--sand);color:var(--ink-2)}.status.mute{color:var(--mute);background:#ece9e2}.booking>header{flex-wrap:wrap;align-items:baseline;gap:.3rem 1.2rem;margin-bottom:1rem;display:flex}.booking>header p{margin:0}.cols{grid-template-columns:minmax(0,1fr) minmax(0,24rem);align-items:start;gap:1.25rem;display:grid}@media (width<=900px){.cols{grid-template-columns:1fr}}.card{border:1px solid var(--line);background:#fff;border-radius:6px;margin-bottom:1.25rem;padding:1rem 1.1rem}dl{grid-template-columns:9rem 1fr;gap:.3rem .8rem;margin:0;display:grid}dt{color:var(--ink-2)}dt:first-letter{text-transform:uppercase}dd{overflow-wrap:anywhere;margin:0}.actions{gap:1rem;display:grid;position:sticky;top:1rem}.action{border:1px solid var(--line);border-left:3px solid var(--gold);background:#fff;border-radius:6px;gap:.6rem;padding:1rem;display:grid}.action.danger{border-left-color:var(--red)}.action.danger button{background:var(--red)}.events{gap:.4rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.events time{color:var(--ink-2);font-variant-numeric:tabular-nums;margin-right:.4rem}.events small{margin-left:.4rem;display:inline}.events q{color:var(--ink-2);margin-left:1rem;display:block}.settings{gap:1rem;max-width:30rem;display:grid}.toasts{z-index:10;gap:.5rem;width:min(26rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{border:1px solid var(--line);background:#fff;border-left-width:4px;border-radius:6px;grid-template-columns:auto 1fr auto;align-items:start;gap:.6rem;padding:.7rem .8rem;display:grid;box-shadow:0 6px 20px #1d1d1b24}.toast p{overflow-wrap:anywhere;margin:0}.toast-mark{color:#fff;border-radius:99px;place-items:center;width:1.5rem;height:1.5rem;font-size:.85rem;font-weight:700;line-height:1;display:grid}.toast-close{color:var(--ink-2);background:0 0;padding:0 .2rem;font-size:1.2rem;line-height:1}.toast.success{border-left-color:var(--green)}.toast.success .toast-mark{background:var(--green)}.toast.info{border-left-color:var(--blue)}.toast.info .toast-mark{background:var(--blue)}.toast.warning{border-left-color:var(--gold);background:#fdf8ec}.toast.warning .toast-mark{background:var(--gold)}.toast.error{border-left-color:var(--red);background:#fbefed}.toast.error .toast-mark{background:var(--red)}@media (prefers-reduced-motion:no-preference){.toast{animation:.18s ease-out toast-in}}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}}.action fieldset{border:0;gap:.6rem;min-width:0;margin:0;padding:0;display:grid}.action fieldset:disabled{opacity:.6}.confirm{border:1px solid var(--gold);background:#fdf8ec;border-radius:4px;gap:.6rem;padding:.7rem .8rem;display:grid}.confirm:focus{outline:2px solid var(--gold);outline-offset:1px}.confirm p{margin:0;font-weight:600}.confirm-buttons{gap:.6rem;display:flex}button.secondary{color:var(--ink);border:1px solid var(--line);background:0 0}
