:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#e9edf4;background:#0c111b;color-scheme:dark;--muted:#a9b4c6;--line:#2a3446;--accent:#c8f17a}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,.button{border:1px solid #425069;border-radius:9px;background:#202c40;color:#f2f5fa;padding:11px 16px;cursor:pointer;text-decoration:none}button:hover,.button:hover{background:#34445e}button.primary,.button.primary{background:var(--accent);color:#18220d;border-color:var(--accent);font-weight:700}button:disabled{opacity:.4;cursor:default}a{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:3px}.testbar{text-align:center;padding:7px 16px;background:#302916;color:#f9df9b;font-size:12px;letter-spacing:.06em}header{max-width:1460px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 32px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:800;letter-spacing:.15em;color:#fff}.brand span{letter-spacing:0;font-weight:400;color:var(--muted);margin-left:12px}nav{display:flex;gap:18px;align-items:center}nav a{text-decoration:none;color:#dbe4f1}main{max-width:1460px;padding:38px 32px;margin:auto;min-height:75vh}h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.04em;margin:8px 0 14px}h2{font-size:23px;margin:0 0 18px}h3{margin:4px 0 12px}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.muted,small{color:var(--muted)}p{line-height:1.6}footer{text-align:center;padding:24px;color:var(--muted);font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px}.card,.panel{border:1px solid var(--line);background:#131d2c;border-radius:16px;padding:24px}.card{display:flex;flex-direction:column;gap:8px}.card .actions{margin-top:auto}.tag{display:inline-flex;padding:5px 9px;border-radius:6px;background:#25344a;color:#d5dfed;font-size:12px;align-self:flex-start}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.side{align-self:start;position:sticky;top:18px}.editor{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}.controls{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:7px;color:#c7d2e2;font-size:14px;margin:12px 0}input,select{width:100%;padding:11px 12px;background:#0e1725;border:1px solid #445168;border-radius:8px;color:#fff}input[type=checkbox]{width:auto}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:16px 0}.check input{margin-top:5px}.map-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#101725;padding:24px;min-height:330px;max-height:70vh}.screen{text-align:center;letter-spacing:.22em;font-size:11px;color:#b7c6da;border-top:4px solid #98abc5;border-radius:50%;padding:10px;margin:0 auto 30px;width:70%;min-width:180px}.screen-bottom{border-top:0;border-bottom:4px solid #98abc5;margin:30px auto 0}.screen-left,.screen-right{margin:0 0 18px;width:auto;min-width:0;border-radius:0}.screen-left{border-top:0;border-left:4px solid #98abc5;text-align:left}.screen-right{border-top:0;border-right:4px solid #98abc5;text-align:right}.map{display:grid;gap:6px;justify-content:start;margin:auto;width:max-content;min-width:100%;align-content:start}.seat,.cell{padding:0;width:38px;height:38px;border-radius:9px 9px 5px 5px;font-size:12px;display:flex;align-items:center;justify-content:center}.seat{background:#3c5663;border-color:#8aa8af;color:white}.seat.accessible{background:#284a70;border-color:#9db9ef}.seat.blocked,.seat.sold{background:#343d4d;border-color:#343d4d;color:#8490a2}.seat.held{background:#694d28;border-color:#a88b50}.seat.selected,.seat.mine{background:var(--accent);border-color:var(--accent);color:#142008}.cell{background:transparent;border:1px dashed #28374d;color:#596c86}.cell:hover{background:#27374d}.row-label{color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:12px;width:30px;height:38px}.legend{display:flex;flex-wrap:wrap;gap:15px;font-size:12px;color:#c1ccdb;margin:16px 0}.legend span{display:flex;align-items:center;gap:6px}.dot{width:12px;height:12px;border-radius:3px;background:#3c5663}.dot.selected{background:var(--accent)}.dot.sold{background:#343d4d}.dot.held{background:#a88b50}.dot.accessible{background:#6b9bd4}.total{font-size:32px;font-weight:700;margin:16px 0}.list{display:flex;flex-direction:column;gap:12px}.line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}dialog{border:1px solid #55647c;background:#192537;color:#fff;border-radius:14px;padding:28px;max-width:500px;width:calc(100% - 40px)}dialog::backdrop{background:#0009}.ticket{background:#fff;color:#111;border:2px dashed #777;border-radius:12px;padding:24px;margin:18px 0;break-inside:avoid}.ticket code{font-size:14px;overflow-wrap:anywhere}.ticket .muted{color:#555}.ticket h3{font-size:24px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.empty{border:1px dashed #425169;border-radius:16px;padding:48px;text-align:center;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){header{padding:18px;align-items:flex-start}.brand span{display:block;margin:6px 0}nav{flex-wrap:wrap;gap:12px;font-size:13px}main{padding:24px 16px}.workspace,.editor{grid-template-columns:1fr}.side{position:static}.controls{display:grid;grid-template-columns:1fr 1fr}.controls h3,.controls .wide{grid-column:1/-1}.map-wrap{padding:16px}.panel{padding:18px}}@media print{body{background:white;color:black}.testbar,header,footer,.actions,main>h1,main>p{display:none}main{padding:0}.ticket{page-break-inside:avoid}.ticket button{display:none}}

/* Side screens share the seating grid's row instead of occupying its header. */
.auditorium{width:100%;min-width:max-content}
.auditorium.side-screen{display:flex;gap:24px;align-items:stretch;min-height:180px}
.side-screen .map{min-width:0;margin:0;align-self:center}
.side-screen .screen{writing-mode:vertical-rl;display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;min-width:42px;margin:20px 0;padding:10px;border:0;border-radius:0;letter-spacing:.22em;text-align:center}
.side-screen .screen-left{border-left:4px solid #98abc5}
.side-screen .screen-right{border-right:4px solid #98abc5}

.auditorium:not(.side-screen) > .screen{width:calc(100% - 40px);min-width:0}

.auditorium:not(.side-screen){min-width:0}
.auditorium:not(.side-screen) > .screen{width:calc(100% - 36px);margin-left:36px;margin-right:0}

.map-zoom{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.map-zoom button{min-width:44px;min-height:44px;padding:8px 12px}.map-zoom button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}

.editor-views button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#18220d;font-weight:700}.view-controls{display:flex;flex-direction:column;gap:12px}.controls>.view-controls{grid-column:1/-1}

.paint-seats,.paint-seats button{touch-action:none;user-select:none}.paint-seats{cursor:crosshair}

.seat.admitted{background:#7846a8;border-color:#c69af0;color:#fff}.dot.admitted{background:#7846a8}.seat.admitted.selected{background:#7846a8;color:#fff;outline:3px solid var(--accent);outline-offset:1px}

.room-preview{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;padding:12px;background:#101725;border-color:var(--line)}.room-preview svg{display:block;width:100%;height:160px}.room-preview span{font-size:12px}.room-preview:hover{background:#1a2737}
