:root{--bg: #12100c;--bg-2: #1a1712;--ink: #f4efe4;--muted: #a39886;--line: #3a3328;--amber: #ffb703;--amber-dim: rgba(255, 183, 3, .14);--green: #1f8f62;--green-bright: #b8f5d4;--green-dim: rgba(31, 143, 98, .2);--danger: #e07a5f;--shadow: 0 24px 60px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Atkinson Hyperlegible,sans-serif;color:var(--ink);background:radial-gradient(900px 480px at 8% -10%,rgba(255,183,3,.16),transparent 55%),radial-gradient(700px 420px at 100% 0%,rgba(31,143,98,.12),transparent 50%),var(--bg)}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.55'/></svg>")}main{position:relative;max-width:1120px;margin:0 auto;padding:36px 28px 64px}header{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:28px;animation:rise .6s ease both}.brand{font-family:"Instrument Serif",serif;font-size:64px;line-height:.85;letter-spacing:-.03em;margin:0}.brand em{font-style:italic;color:var(--amber)}.lede{margin:10px 0 0;max-width:42ch;color:var(--muted);font-size:15px}.hero-num{text-align:right}.hero-num strong{display:block;font-family:"Instrument Serif",serif;font-weight:400;font-size:72px;line-height:.8;font-style:italic;color:var(--amber)}.hero-num span{color:var(--muted);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.header-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}.layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}.panel{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%),var(--bg-2);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.cal{padding:18px 18px 14px;animation:rise .7s ease .05s both}.cal-head,.day-head,.queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.month{font-family:"Instrument Serif",serif;font-size:32px;margin:0;text-transform:lowercase}.nav{display:flex;gap:8px}button,input{font:inherit;color:inherit}.icon-btn,.text-btn,.primary,.ghost,.danger{border:1px solid var(--line);background:transparent;border-radius:999px;padding:8px 14px;cursor:pointer}.icon-btn{width:36px;height:36px;padding:0}.icon-btn:hover,.text-btn:hover,.ghost:hover{border-color:var(--ink)}.primary{background:var(--amber);color:#1a1406;border-color:transparent;font-weight:700}.primary:hover{filter:brightness(1.05)}.ghost.hot{background:var(--green);border-color:transparent;color:#062117;font-weight:700}.danger{color:var(--danger);border-color:transparent;padding:4px 8px}button:disabled{opacity:.5;cursor:wait}.weekdays,.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays{margin:18px 0 8px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.weekdays span,.cell{text-align:center}.cell{min-height:78px;border-radius:12px;border:1px solid transparent;background:#ffffff05;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 4px 7px}.cell:hover{border-color:var(--line)}.cell.out{opacity:.28}.cell.today .n{text-decoration:underline;text-underline-offset:3px}.cell.on{border-color:var(--ink);background:#f4efe40f}.cell.pending{background:var(--amber-dim)}.cell.settled{background:var(--green-dim)}.cell.mixed{background:linear-gradient(180deg,var(--amber-dim),var(--green-dim))}.n{font-size:15px}.bar{width:70%;height:4px;border-radius:99px;background:#2a261f;overflow:hidden;display:flex}.bar i{display:block;height:100%}.bar .p{background:var(--amber)}.bar .s{background:var(--green-bright)}.count{font-size:11px;color:var(--muted);letter-spacing:.04em}.legend{display:flex;gap:16px;margin-top:14px;color:var(--muted);font-size:13px}.dot{display:inline-block;width:8px;height:8px;border-radius:99px;margin-right:6px}.dot.a{background:var(--amber)}.dot.g{background:var(--green-bright)}aside{display:grid;gap:22px}.queue,.day{padding:18px;animation:rise .75s ease .1s both}h2{font-family:"Instrument Serif",serif;font-weight:400;font-size:28px;margin:0}.sub{color:var(--muted);font-size:13px;margin:4px 0 0}.pick-label{margin:14px 0 6px;color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.pick-row{display:grid;gap:8px}.plaza{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#100e0b;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}.plaza span{flex:1}.plaza strong{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:18px;color:var(--amber)}.plaza em{font-style:normal;font-size:12px;min-width:18px;height:18px;border-radius:99px;background:var(--amber);color:#1a1406;display:grid;place-items:center}.plaza:hover,.plaza.used{border-color:var(--amber)}.ticket{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:12px 12px 12px 8px;margin-top:8px;border-radius:14px;border:1px dashed var(--line);background:radial-gradient(circle at 0 12px,transparent 6px,#221e18 7px) left center / 14px 22px repeat-y,#221e18}.ticket.settled{opacity:.72}.meta{min-width:0}.meta b{display:block;font-weight:700}.meta small{color:var(--muted)}.amt{font-family:"Instrument Serif",serif;font-size:22px;font-style:italic}.stamp{display:inline-block;margin-top:4px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;border:1px solid currentColor;border-radius:4px;padding:2px 5px;transform:rotate(-2deg)}.stamp.pending{color:var(--amber)}.stamp.settled{color:var(--green-bright)}.row-actions{display:flex;gap:4px;justify-content:flex-end}.empty{color:var(--muted);padding:18px 0 6px}.checks{accent-color:var(--amber);margin-top:4px}.notice{color:var(--danger);margin:0 0 16px}.gate{min-height:100vh;display:grid;place-items:center;padding:32px}.gate-card{width:min(380px,100%);text-align:center}.gate .brand,.gate .lede{text-align:center}.gate .lede{margin-left:auto;margin-right:auto}.auth-actions{display:grid;gap:10px;margin-top:22px}.auth-actions .text-btn,.auth-actions .primary{width:100%;padding:12px}.err{color:var(--danger)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:860px){.layout,header{grid-template-columns:1fr}.hero-num,.header-actions{text-align:left;justify-content:flex-start}.brand{font-size:48px}.hero-num strong{font-size:56px}main{padding:22px 16px 48px}}
