:root{--bg: #f1f2ee;--paper: #ffffff;--ink: #16181d;--muted: #5d636c;--line: #d9dcd4;--head: #e8eae4;--accent: #1f4fd8;--accent-ink: #ffffff;--ai: #6b34d6;--tint: #efe8fc;--ok: #1d7a4a;--warn: #9a6200;--warn-bg: #fdf3dc;--block: #b3261e;--block-bg: #fce9e7;--venue: #1f4fd8;--tour: #b4531a;--shared: #1d7a4a;--radius: 10px;--f-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0f1114;--paper: #171a1f;--ink: #e9ebee;--muted: #9aa1ac;--line: #2b3038;--head: #1f232a;--accent: #7c9bff;--accent-ink: #0f1114;--ai: #b794ff;--tint: #271e3d;--ok: #5fd39a;--warn: #f2b65a;--warn-bg: #2f2512;--block: #ff8a80;--block-bg: #3a1714;--venue: #7c9bff;--tour: #f0a070;--shared: #5fd39a;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em;margin:0}h1{font-size:1.6rem}h2{font-size:1.05rem}p{margin:.4rem 0}.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:var(--f-mono)}code{font-family:var(--f-mono);font-size:.85rem}button,.button{font:inherit;font-size:.9rem;padding:.45rem .85rem;border-radius:8px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.35rem}button:hover:not(:disabled),.button:hover{border-color:var(--muted)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button.link{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;min-width:0}fieldset{border:0;padding:0;margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.app>.main{flex:1}.topbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.6rem 1.25rem;background:#16181d;color:#f1f2ee;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topbar select{background:transparent;color:inherit;border-color:#fff3;max-width:22rem}.topbar select option{color:#16181d}.brand{font-family:var(--f-display);font-weight:700;font-size:1.15rem}.brand span{color:#b794ff}.brand.big{font-size:1.6rem;color:var(--ink)}.venue{opacity:.75;font-size:.9rem;margin-right:auto}.conn{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;padding:.25rem .65rem;border-radius:99px;background:#ffffff14}.conn .dot{width:8px;height:8px;border-radius:50%;background:#5fd39a}.conn-syncing .dot{background:#f2b65a}.conn-offline .dot{background:#ff8a80}.conn .pending{background:#f2b65a;color:#16181d;border-radius:99px;padding:0 .45rem;font-weight:600}.nav{display:flex;gap:.25rem;padding:.5rem 1.25rem;border-bottom:1px solid var(--line);background:var(--paper);overflow-x:auto}.nav button{border:0;background:none;padding:.45rem .75rem;white-space:nowrap;color:var(--muted)}.nav button.on{color:var(--ink);background:var(--head);font-weight:600}.count{background:var(--block);color:#fff;border-radius:99px;font-size:.72rem;padding:0 .4rem;margin-left:.2rem}.main{padding:1.25rem;max-width:1200px;width:100%;margin:0 auto}.stack{display:grid;gap:1rem}.hero{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}.hero p{flex-basis:100%;margin:0}.hero>button{margin-left:auto}.row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.row.wrap{flex-wrap:wrap}.row input{flex:1 1 12rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cols2{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.cols3{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem;min-width:0}.card>header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.card.today{border-color:var(--accent);box-shadow:inset 4px 0 0 var(--accent)}.card.attention{border-color:var(--warn);background:var(--warn-bg)}.card.ai{border-color:color-mix(in srgb,var(--ai) 45%,var(--line));background:color-mix(in srgb,var(--tint) 55%,var(--paper))}.ai-mark{font-family:var(--f-mono);font-size:.7rem;color:var(--ai);border:1px solid var(--ai);border-radius:4px;padding:0 .3rem;vertical-align:middle}.pill,.tag{display:inline-block;font-size:.78rem;padding:.1rem .5rem;border-radius:99px;background:var(--head);color:var(--muted);margin-right:.3rem}.tag.block{background:var(--block-bg);color:var(--block)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.ok{color:var(--ok)}.badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-left:.4rem}.owner-venue{color:var(--venue)}.owner-tour{color:var(--tour)}.owner-shared{color:var(--shared)}.field{display:grid;gap:.2rem;margin-bottom:.7rem}.field label{font-size:.8rem;color:var(--muted);font-weight:600}.field input,.field textarea{width:100%}.field.locked input,.field.locked textarea{background:transparent;border-style:dashed;color:var(--ink);opacity:1;cursor:default}.err{color:var(--block);font-size:.85rem}label.inline{display:inline-flex;align-items:center;gap:.25rem}input.narrow{width:4rem}.switch{display:flex;gap:.5rem;align-items:flex-start;margin:.4rem 0;cursor:pointer}.switch input{margin-top:.3rem}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.6rem 0}.times div,.facts div{min-width:0}dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}dd{margin:0;font-family:var(--f-mono)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem 1rem;margin:.8rem 0 0}.facts dd{font-family:var(--f-body);overflow-wrap:anywhere}.findings,.notices,.plain,.guests{list-style:none;padding:0;margin:0}.findings li{display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;padding:.5rem 0;border-top:1px solid var(--line)}.findings li:first-child{border-top:0}.findings .sev{font-size:.75rem;font-weight:700;text-transform:uppercase;padding-top:.15rem}.findings .sources{grid-column:2}.sev-block .sev{color:var(--block)}.sev-warn .sev{color:var(--warn)}.sev-info .sev{color:var(--muted)}.sources{font-family:var(--f-mono);font-size:.75rem;color:var(--muted)}.plain li{padding:.3rem 0}.decision{padding:.6rem 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);display:grid;gap:.3rem}.decision:first-of-type{border-top:0}.link-box{background:var(--head);padding:.4rem .6rem;border-radius:6px;overflow-wrap:anywhere;flex:1 1 16rem}.notices li{display:grid;grid-template-columns:4.5rem 1fr auto;gap:.6rem;padding:.5rem 0 .5rem .6rem;border-top:1px solid var(--line);border-left:3px solid transparent}.notices li.sev-warn{border-left-color:var(--warn)}.notices li.sev-urgent{border-left-color:var(--block);background:var(--block-bg)}.guests li{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.45rem 0;border-top:1px solid var(--line)}.guests li.in .name{color:var(--muted);text-decoration:line-through}.search{width:100%;margin-bottom:.5rem}table{border-collapse:collapse;width:100%}td,th{padding:.4rem .5rem;text-align:left;border-top:1px solid var(--line);vertical-align:top}th{font-size:.78rem;color:var(--muted);font-weight:600;border-top:0}.num{text-align:right;font-family:var(--f-mono)}.table-wrap{overflow-x:auto;margin-top:.6rem}.sched td:first-child{width:4.5rem}.wx td.rain{color:var(--accent);font-weight:600}.money input{width:100%}.money td:last-child{width:2.5rem}.trace tr.strong td{font-weight:700;border-top-width:2px}.trace td.sources{width:40%}.chat{display:grid;gap:.8rem;min-height:40vh;align-content:start}.msg{display:grid;gap:.3rem;max-width:46rem}.msg.user{justify-self:end}.bubble{padding:.6rem .85rem;border-radius:12px;white-space:pre-wrap;background:var(--head)}.msg.user .bubble{background:var(--accent);color:var(--accent-ink)}.msg.assistant .bubble{background:color-mix(in srgb,var(--tint) 70%,var(--paper));border:1px solid color-mix(in srgb,var(--ai) 30%,var(--line))}.msg.error .bubble{background:var(--block-bg);border-color:var(--block)}.bubble.thinking{color:var(--muted);font-style:italic}.suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.composer{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;padding:.75rem 0;background:var(--bg)}.composer input{flex:1 1 14rem}.mic{width:2.75rem;height:2.75rem;border-radius:50%;justify-content:center;font-size:1.1rem}.mic.live{background:var(--block);border-color:var(--block);color:#fff;animation:pulse 1.2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--block) 25%,transparent)}}@media (prefers-reduced-motion: reduce){.mic.live{animation:none}}.toast{position:fixed;right:1rem;bottom:1rem;z-index:10;max-width:26rem;background:var(--ink);color:var(--bg);padding:.8rem 1rem;border-radius:var(--radius);display:grid;gap:.4rem}.toast button{justify-self:end}.setup-link{margin-top:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius);display:grid;gap:.4rem}.setup-link input{flex:1;min-width:0}.clock-note{margin:.6rem 1rem 0;padding:.45rem .8rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);font-size:.9rem}.clock-note.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.wallet .clock-note,.buy .clock-note,.hero .clock-note{margin:.4rem 0 0}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login .card{width:min(26rem,100%);display:grid;gap:.5rem}.button.google{justify-content:center;padding:.6rem;font-weight:600}.or{text-align:center;color:var(--muted);font-size:.85rem}.wallet{max-width:26rem;margin:0 auto;padding:1.25rem 1rem;display:grid;gap:.75rem}.wallet .brand{color:var(--ink)}.ticket{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem;display:grid;grid-template-columns:1fr 9rem;gap:.75rem;align-items:center}.qr img{width:100%;height:auto;display:block;background:#fff;border-radius:6px}@media (max-width: 640px){.main{padding:1rem}.topbar{padding:.6rem 1rem;gap:.5rem}.topbar select{max-width:100%;flex:1 1 100%;order:3}.nav{padding:.4rem 1rem}.times{grid-template-columns:repeat(2,1fr)}.ticket{grid-template-columns:1fr}.qr{max-width:14rem;justify-self:center;width:100%}}.print-only{display:none}.pass-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:middle}.pass-legend{margin-top:.8rem;display:grid;gap:.2rem}@media print{.topbar,.nav,.noprint,.composer,.toast,.clock-note,button,select,.switch{display:none!important}:root{color-scheme:light}body{background:#fff!important;color:#000!important}.card{border-color:#999;break-inside:avoid;background:#fff!important;box-shadow:none!important}.main{max-width:none;padding:0}.muted,.tag{color:#333!important}.print-only{display:table}div.print-only{display:grid}.door-list{width:100%;border-collapse:collapse;font-size:11pt}.door-list th,.door-list td{border-bottom:1px solid #bbb;padding:4pt 6pt;text-align:left}.door-list td:first-child{width:2em;font-size:14pt}.pass-sheet{grid-template-columns:repeat(2,3.5in);gap:.25in;justify-content:center}.pass-card{width:3.5in;height:2.75in;border:1px dashed #999;display:grid;grid-template-rows:.45in 1fr;break-inside:avoid;overflow:hidden}.pass-band{color:#fff;font-weight:800;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;font-size:14pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pass-body{padding:.1in .15in;display:grid;gap:1pt;align-content:start}.pass-show{font-weight:700;font-size:11pt}.pass-name{font-size:16pt;font-weight:800;margin-top:4pt}.pass-foot{display:flex;justify-content:space-between;align-items:end;gap:6pt}.pass-foot img{width:.8in;height:.8in}}tr.dim td{opacity:.55}.row-actions{white-space:nowrap;display:flex;gap:.5rem;align-items:center}.narrow-md{width:7rem}.narrow-field{width:10rem}label.button{cursor:pointer}label.button.disabled{opacity:.5;cursor:not-allowed}.verdict{border-radius:var(--radius);padding:1.25rem;text-align:center;border:2px solid var(--line);background:var(--paper);display:grid;gap:.25rem;min-height:7rem;align-content:center}.verdict .big{font-family:var(--f-display);font-size:2rem;font-weight:700}.verdict.v-ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,var(--paper))}.verdict.v-used,.verdict.v-unknown{border-color:var(--block);background:var(--block-bg)}.verdict.v-wrong-show{border-color:var(--warn);background:var(--warn-bg)}.camera video{width:100%;max-width:28rem;border-radius:var(--radius);margin-top:.75rem;background:#000}.pairing{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:.75rem}.pairing img{width:10rem;height:10rem;background:#fff;border-radius:8px;padding:4px}.pair-code{font-size:1.8rem;letter-spacing:.15em;font-weight:600;margin:.2rem 0}.buy h1{font-size:1.8rem}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.row .switch{margin:0;white-space:nowrap}.new-show{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem .8rem}.new-show label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.new-show input{width:100%;min-width:0}.new-show-foot{grid-column:1 / -1;display:grid;gap:.4rem}.new-show-foot p{margin:0}.warn-note{background:var(--warn-bg);color:var(--warn);border-radius:var(--radius);padding:.45rem .7rem;margin:.4rem 0}.seatmap{overflow-x:auto;padding:.4rem 0}.seatmap .stage{text-align:center;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:0 0 40% 40%;padding:.2rem;margin:0 auto .6rem;max-width:18rem}.seat-rows{display:grid;gap:3px;width:max-content;margin:0 auto}.seat-row{display:flex;gap:3px;align-items:center}.row-label{width:1.8rem;text-align:center;font-size:.7rem;color:var(--muted);font-family:var(--f-mono);flex:none}.seat{display:inline-block;width:14px;height:14px;min-width:14px;padding:0;border-radius:3px 3px 5px 5px;border:1px solid var(--accent);background:transparent;cursor:pointer;vertical-align:middle}span.seat{cursor:default}.seat.taken{background:var(--line);border-color:var(--line);cursor:not-allowed}.seat.mine{background:var(--accent)}.seat-legend{display:flex;gap:.4rem;align-items:center;justify-content:center;margin-top:.5rem}.section-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem}.section-pick button{display:grid;gap:.1rem;text-align:left;padding:.6rem .7rem}.section-pick button.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.sales-table{margin:.6rem 0}.row input.narrow{flex:0 0 4.5rem;width:4.5rem}.sales-table td{padding:.25rem .4rem}.use-sales{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;padding:.5rem .6rem;margin-bottom:.6rem;border:1px dashed var(--line);border-radius:var(--radius)}.grow{flex:1 1 16rem}.tasks{list-style:none;padding:0;margin:.4rem 0;display:grid;gap:.35rem}.tasks li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;padding:.3rem 0;border-top:1px solid var(--line)}.tasks li:first-child{border-top:0}.tasks label{display:flex;gap:.5rem;align-items:baseline;flex:1 1 14rem}.tasks li.done span{text-decoration:line-through;color:var(--muted)}.on-tonight{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.6rem}.crew-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.35rem 0 0}.crew-chips li{border:1px solid var(--line);border-radius:99px;padding:.1rem .6rem;color:var(--muted)}.crew-chips li.in{border-color:var(--ok);color:var(--ok)}.crew-chips li.late{border-color:var(--warn);background:var(--warn-bg);color:var(--warn)}.row.spread{justify-content:space-between;margin-top:0}.sales{margin:.5rem 0}.bar{height:6px;border-radius:99px;background:var(--head);overflow:hidden;margin-top:.3rem}.bar>span{display:block;height:100%;background:var(--accent);border-radius:99px}.weather{margin:.4rem 0;color:var(--muted)}.weather.wet,.hours .wet{color:var(--warn)}.issues{list-style:none;padding:0;margin:.5rem 0;display:grid;gap:.3rem;font-size:.9rem}.issues li{display:flex;gap:.4rem;align-items:baseline}.issues .tag{flex:none}.card.tonight{border-color:var(--accent)}.tonight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:start}.big-num{font-size:1.8rem;font-weight:700;font-family:var(--f-mono);line-height:1.1}.big-num .muted{font-size:1rem;font-weight:400}.hours{margin:.3rem 0 0;display:grid;gap:.15rem}.notices-mini{margin:.8rem 0 0;display:grid;gap:.3rem;border-top:1px solid var(--line);padding-top:.6rem}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem 1rem}.grid2 label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}.grid2 label input,.grid2 label select{color:var(--ink, inherit)}.card.inset{margin-top:.8rem;background:transparent}.card.inset h3{margin:0 0 .6rem;font-size:1rem}.venue-switch{position:relative;opacity:1}.venue-switch>select{font-size:.9rem}.venue-pw{position:absolute;top:calc(100% + .4rem);left:0;z-index:20;width:min(22rem,90vw);display:grid;gap:.4rem;color:var(--ink, #16181d);box-shadow:0 8px 24px #0003}.venue-pw label{font-size:.85rem}.spacer{flex:1}.platform-tag{background:#b794ff22;color:#d9c6ff}.topbar .button.small,.topbar button.small{font-size:.8rem;padding:.3rem .65rem;color:inherit;background:transparent;border-color:#fff3}.stats{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}.stat{border:1px solid var(--line);border-radius:10px;padding:.8rem .9rem;background:var(--paper)}.stat-label{font-size:.78rem;color:var(--muted)}.stat-value{font-family:var(--f-display);font-size:1.45rem;font-weight:700;margin-top:.15rem;font-variant-numeric:tabular-nums}.stat-note{font-size:.78rem;color:var(--muted);margin-top:.15rem}table.list td.num,table.list th.num{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 640px){.topbar .small:not(.button):not(button){display:none}}
