:root{--bg: #0b0b0d;--bg-2: #111114;--panel: #151518;--panel-2: #1b1b1f;--line: #26262b;--line-2: #33333a;--text: #ececef;--muted: #8b8b94;--green: #4fd18b;--green-ink: #06210f;--red: #9b1c22;--recl: #6d2a35;--acc: #2b4c7e;--warn: #e8b04a;--danger: #e5484d;--radius: 12px;--mono: "JetBrains Mono", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:16px}h3{font-size:13px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono);font-size:12px}.center{text-align:center}.right{text-align:right}.nowrap{white-space:nowrap}.error{color:var(--danger);margin:6px 0}.invisible{visibility:hidden}button,.btn{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line-2);border-radius:8px;padding:7px 12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}button:disabled{opacity:.4;cursor:default}button.primary,.btn.primary{background:var(--text);color:#0b0b0d;border-color:var(--text);font-weight:600}button.ghost,.btn.ghost{background:transparent}button.ghost:hover:not(:disabled),.btn.ghost:hover{background:var(--panel-2)}button.small,.btn.small{padding:4px 9px;font-size:12px}button.danger{color:var(--danger)}button.wide,.btn.wide{width:100%;justify-content:center}button.left{justify-content:flex-start;width:100%}input,select{font:inherit;color:var(--text);background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px;width:100%;min-width:0}input:focus,select:focus,button:focus-visible{outline:2px solid #5b8def;outline-offset:1px}.field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.field input,.field select{font-size:14px}.check{display:flex;gap:8px;align-items:center;font-size:13px;margin:6px 0}.check input{width:auto}.chip{font-size:11px;padding:1px 7px;border-radius:99px;background:var(--panel-2);border:1px solid var(--line-2);color:var(--muted)}.chip.warn{color:var(--warn);border-color:#5a4520}.prefixed{display:flex;align-items:center;background:var(--bg-2);border:1px solid var(--line-2);border-radius:8px;padding-left:10px}.prefixed em{font-style:normal;color:var(--muted)}.prefixed input{border:0;background:transparent;padding-left:2px}kbd{font-family:var(--mono);font-size:10px;color:var(--muted);border:1px solid var(--line-2);border-radius:4px;padding:0 4px;margin-left:auto}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px}.logo{width:18px;height:18px;border-radius:5px;background:radial-gradient(circle at 50% 120%,var(--green) 0 35%,transparent 36%),linear-gradient(#26262b,#1b1b1f);border:1px solid var(--line-2)}.auth{min-height:100%;display:grid;place-items:center;padding:24px 16px}.auth-card{width:min(380px,100%);display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100%}.nav{border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh}.nav .brand{padding:0 8px 4px}.nav .tenant{padding:0 8px 14px;color:var(--muted);font-size:12px}.nav a{padding:7px 8px;border-radius:7px;text-decoration:none;color:var(--muted)}.nav a.active,.nav a:hover{background:var(--panel-2);color:var(--text)}.nav-foot{margin-top:auto;padding:8px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.main{min-width:0}.page{padding:28px 32px;max-width:1200px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px}.page-head p{margin:4px 0 0}.back{display:inline-block;color:var(--muted);text-decoration:none;margin-bottom:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card.link{text-decoration:none;display:block}.card.link:hover{border-color:var(--line-2);background:var(--panel-2)}.card h3{font-size:15px;margin-bottom:4px}.card p{margin:2px 0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}.form-row .field{min-width:160px}.form-row .grow{flex:1}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:20px}.form-foot{grid-column:1 / -1;display:flex;justify-content:flex-end;align-items:center;gap:12px}.empty{border:1px dashed var(--line-2);border-radius:var(--radius);padding:32px;text-align:center}.empty p{margin:6px 0 0}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line)}.table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.table td .btn,.table td button{margin-left:6px}.table tr.dim td{opacity:.5}.day-group{margin-bottom:26px}.day-group h2{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:4px}.meter{display:flex;align-items:center;gap:8px;min-width:110px}.meter-bar{flex:1;height:4px;background:var(--line);border-radius:4px;overflow:hidden}.meter-bar i{display:block;height:100%;background:var(--green)}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;justify-content:flex-end;z-index:20}.drawer{width:min(440px,100%);background:var(--panel);border-left:1px solid var(--line);padding:20px;overflow:auto}.bookings{list-style:none;padding:0;margin:12px 0}.bookings li{border-bottom:1px solid var(--line);padding:10px 0;display:flex;flex-direction:column;gap:2px}.builder{display:flex;flex-direction:column;height:100vh}.builder-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.crumbs{display:flex;align-items:center;gap:10px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs h1{font-size:16px}.bar-actions{display:flex;gap:8px;align-items:center}.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:8px;overflow:hidden}.seg button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:6px 12px}.seg button.on{background:var(--panel-2);color:var(--text)}.builder-status{padding:7px 16px;font-size:12px;border-bottom:1px solid var(--line)}.builder-status.error{color:var(--danger);background:#2a1214}.builder-status.ok{color:var(--green)}.builder-body{flex:1;min-height:0;display:grid;grid-template-columns:280px minmax(0,1fr) minmax(0,1fr)}.builder-body.view-map,.builder-body.view-3d{grid-template-columns:280px minmax(0,1fr)}.panel{border-right:1px solid var(--line);overflow:auto;padding:4px 14px 30px}.section{padding:14px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.section-head{display:flex;justify-content:space-between;align-items:center}.section h3{color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.hint{margin:0;color:var(--muted);font-size:12px}.tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}.tool{font-size:12px;padding:7px 8px;background:transparent;min-width:0;overflow:hidden}.tool.on{border-color:var(--text);background:var(--panel-2)}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none;border:1px solid transparent}.c-S{background:var(--red)}.c-R{background:var(--recl);border-color:#a24a5a}.c-W{background:var(--acc)}.c-X{background:#2a2a30;background-image:repeating-linear-gradient(45deg,transparent 0 3px,#44444c 3px 4px)}.c-aisle{background:transparent;border:1px dashed var(--line-2)}.c-eye{background:var(--green);border-radius:50%}.stepper{display:flex;justify-content:space-between;align-items:center;font-size:13px}.stepper>div{display:flex;gap:4px;align-items:center}.stepper input{width:52px;text-align:center;padding:4px}.slider{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.slider span{display:flex;justify-content:space-between}.slider b{color:var(--text);font-weight:500;font-family:var(--mono);font-size:11px}.slider input{padding:0;accent-color:var(--text);border:0;background:transparent}.btn-row{display:flex;gap:6px;flex-wrap:wrap}.templates{display:flex;flex-direction:column;gap:4px}.versions{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.versions li{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.grid-wrap{overflow:auto;padding:26px 20px 40px;display:flex;flex-direction:column;align-items:center;gap:16px;border-right:1px solid var(--line);-webkit-user-select:none;user-select:none}.view-map .grid-wrap{border-right:0}.grid-screen{max-width:100%;text-align:center;color:var(--muted);font-size:10px;letter-spacing:.25em}.grid-screen svg{width:100%;height:18px;display:block}.grid-screen path{fill:none;stroke:#d9d9de;stroke-width:1.2;vector-effect:non-scaling-stroke}.grid{display:flex;flex-direction:column;gap:3px;touch-action:none}.grid-row{display:flex;gap:3px;align-items:center;border-radius:6px}.grid-row.selected{background:#ffffff0d;box-shadow:0 0 0 4px #ffffff0d}.row-label{width:26px;flex:none;text-align:center;font-size:11px;color:var(--muted);padding:0;border:0;background:transparent;justify-content:center;height:var(--cell)}.row-label:hover{color:var(--text)}.col-head{width:var(--cell);height:16px;padding:0;border:0;background:transparent;font-size:9px;color:#5c5c66;justify-content:center;font-family:var(--mono)}.col-head:hover:not(:disabled){color:var(--text)}.cell{width:var(--cell);height:var(--cell);border-radius:calc(var(--cell) * .22);display:grid;place-items:center;font-size:9px;font-family:var(--mono);color:#ffffffbf;cursor:crosshair;border:1px solid transparent}.cell.c-aisle{border:1px dashed #24242a}.cell:hover{outline:1px solid #fff;outline-offset:1px}.cell.focus{box-shadow:0 0 0 2px var(--green)}.legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:12px}.legend span{display:inline-flex;gap:6px;align-items:center}.preview{position:relative;min-height:0;min-width:0;background:#050506}.preview-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0}.preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted)}.preview-hud{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:center;pointer-events:none}.hud-tip{font-size:12px;color:var(--muted);background:#0009;padding:6px 10px;border-radius:99px}.hud-card{pointer-events:auto;background:#151518eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-2);border-radius:14px;padding:14px;width:min(360px,100%);display:flex;flex-direction:column;gap:6px}.hud-title{font-size:18px;font-weight:600}.eyebrow{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:600}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0}.stat{background:#ffffff0a;border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column}.stat b{font-size:16px;font-weight:600}.stat span{font-size:10px;color:var(--muted)}@media (max-width: 1100px){.builder-body,.builder-body.view-map,.builder-body.view-3d{grid-template-columns:240px minmax(0,1fr)}.builder-body.view-split .preview{display:none}}@media (max-width: 760px){.shell{grid-template-columns:1fr}.nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--line)}.nav .tenant{display:none}.nav-foot{margin:0 0 0 auto;flex-direction:row;align-items:center;padding:0}.page{padding:20px 16px}.builder{height:auto;min-height:100vh}.builder-body,.builder-body.view-map,.builder-body.view-3d,.builder-body.view-split{grid-template-columns:1fr}.builder-body .preview{display:block!important;height:60vh}.panel{border-right:0}.table{display:block;overflow-x:auto}}.phone{position:relative;max-width:440px;margin:0 auto;min-height:100%;height:100dvh;overflow:hidden;background:#0a0a0b}.phone.scroll{overflow:auto;height:auto;min-height:100dvh;padding-bottom:40px}.phone-msg{padding:60px 24px;text-align:center;display:flex;flex-direction:column;gap:12px}.round{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#ffffff12;border:0;text-decoration:none;font-size:20px;line-height:1;padding:0;color:var(--text);flex:none}.round.ghosted{font-size:13px;font-family:Georgia,serif;font-style:italic;border:1px solid #3a3a40;background:transparent}.p-map{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;transition:opacity .35s,transform .5s;overflow-y:auto}.p-map.behind{opacity:0;transform:scale(.96);pointer-events:none}.p-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 6px;gap:10px}.p-title{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.p-title b{font-size:16px}.p-title span{font-size:11px;color:var(--muted)}.p-film{text-align:center;font-size:12px;color:var(--muted);margin-top:-2px}.pills{display:flex;justify-content:center;gap:6px;padding:12px 16px;flex-wrap:wrap}.pills.left{justify-content:flex-start;padding:8px 0 0}.pills button,.pills a{border-radius:99px;background:transparent;border:0;color:var(--muted);padding:6px 12px;font-size:13px;text-decoration:none;display:inline-flex;gap:5px;align-items:baseline}.pills a{border:1px solid var(--line-2);color:var(--text)}.pills a.full{opacity:.4}.pills small{font-size:8px;letter-spacing:.08em;opacity:.7}.pills .on{background:#f2f2f4;color:#0a0a0b;font-weight:600}.p-screen{position:relative;margin:6px 22px 0;text-align:center}.p-screen svg{width:100%;height:44px;display:block}.p-screen span{font-size:9px;letter-spacing:.4em;color:#6b6b74;position:relative;top:-6px}.p-seats{--seat: min(calc((100vw - 64px) / var(--cols)), calc(376px / var(--cols)));display:flex;flex-direction:column;gap:calc(var(--seat) * .28);align-items:center;padding:18px 12px 10px 4px;margin-top:10px}.p-row{display:flex;gap:calc(var(--seat) * .18);align-items:center}.p-rl{width:18px;font-size:9px;color:#55555e;text-align:center;flex:none}.p-gap,.p-seat{width:calc(var(--seat) * .82);height:calc(var(--seat) * .82);flex:none}.p-seat{border-radius:calc(var(--seat) * .22);padding:0;border:1px solid transparent;justify-content:center;font-size:9px;font-weight:700;transition:transform .12s,background .2s}.p-seat:active:not(:disabled){transform:scale(.85)}.p-seat.avail{background:#34343a}.p-seat.recl{background:#5a2530}.p-seat.acc{background:#26406a}.p-seat.taken{background:transparent;border-color:#2c2c32}.p-seat.held{background:transparent;border-color:#3a2a2c;border-style:dashed}.p-seat.blocked{background:transparent;opacity:.2;border-color:#333}.p-seat.sel{background:var(--green);color:var(--green-ink);box-shadow:0 0 12px #4fd18b73}.p-legend{display:flex;justify-content:center;gap:14px;font-size:10px;color:var(--muted);padding:14px 8px;flex-wrap:wrap}.p-legend span{display:inline-flex;gap:5px;align-items:center}.d{width:8px;height:8px;border-radius:2px;display:inline-block}.d.avail{background:#34343a}.d.taken{border:1px solid #44444c}.d.recl{background:#5a2530}.d.acc{background:#26406a}.d.sel{background:var(--green)}.p-notice{margin:0 16px;padding:10px 12px;border-radius:10px;background:#2a1d10;color:var(--warn);font-size:12px}.p-bar{margin-top:auto;position:sticky;bottom:0;display:flex;align-items:center;gap:10px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0a0a0b 30%)}.p-bar-info{display:flex;flex-direction:column;flex:1;min-width:0}.p-bar-info small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-bar-info b{font-size:16px}.tickets{display:flex;align-items:center;gap:2px;border:1px solid var(--line-2);border-radius:99px;padding:2px}.tickets button{border:0;background:transparent;padding:4px 9px;border-radius:99px}.tickets span{min-width:14px;text-align:center;font-size:13px}.p-cta{background:var(--green);color:var(--green-ink);border:0;border-radius:99px;padding:12px 22px;font-weight:600;text-decoration:none;justify-content:center}.p-cta:disabled{background:#1c1c20;color:#55555e;opacity:1}.p-cta.wide{width:100%}.p-view{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transition:opacity .4s}.p-view.show{opacity:1;pointer-events:auto}.p-view:not(.show) *{pointer-events:none!important}.p-canvas{position:absolute!important;top:0;right:0;bottom:0;left:0}.p-view-head{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(rgba(0,0,0,.6),transparent)}.p-view-head .round{background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-pill{display:inline-flex;gap:6px;align-items:center;font-size:12px;padding:6px 12px;border-radius:99px;background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.view-pill i{width:6px;height:6px;border-radius:50%;background:var(--green)}.p-sheet{position:absolute;left:0;right:0;bottom:0;background:#111113f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:22px 22px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);transform:translateY(100%);transition:transform .5s cubic-bezier(.2,.8,.2,1) .25s}.p-view.show .p-sheet{transform:translateY(0)}.grabber{width:36px;height:4px;border-radius:4px;background:#3a3a40;margin:0 auto 12px}.sheet-top{display:flex;justify-content:space-between;gap:12px}.sheet-top h2{font-size:22px;margin:2px 0}.sheet-top p{margin:0;font-size:12px}.minimap{width:64px;height:52px;flex:none}.sheet-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:8px}.p-secondary{border-radius:99px;background:transparent;border:1px solid var(--line-2);justify-content:center;padding:12px;font-weight:600}.p-primary{border-radius:99px;background:#f2f2f4;color:#0a0a0b;border:0;justify-content:center;padding:12px;font-weight:600}.p-checkout{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0b;overflow:auto;display:flex;flex-direction:column;z-index:5}.co-summary{margin:8px 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.co-film{font-weight:600;font-size:16px;margin-bottom:2px}.co-summary ul{list-style:none;padding:0;margin:12px 0 0}.co-summary li{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--line);font-size:13px}.co-summary li.total{font-weight:700}.co-form{padding:8px 16px 24px;display:flex;flex-direction:column;gap:12px}.p-done{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;z-index:6}.p-done p{margin:0}.tick{width:56px;height:56px;border-radius:50%;background:var(--green);color:var(--green-ink);display:grid;place-items:center;font-size:28px;font-weight:700;margin-bottom:8px}.ticket-seats{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:10px 0}.ticket-seats span{background:var(--panel-2);border:1px solid var(--line-2);border-radius:8px;padding:6px 10px;font-weight:600}.p-done .p-cta{margin-top:16px;min-width:160px}.home-head{display:flex;justify-content:space-between;align-items:center;padding:18px 16px;gap:12px}.home-head select{width:auto}.home-day{padding:8px 16px}.home-day h2{font-size:12px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin:10px 0 6px}.home-film{padding:12px 0;border-bottom:1px solid var(--line)}.home-film>div:first-child{display:flex;flex-direction:column}.home-film b{font-size:15px}.tick.pending{background:var(--panel-2);color:var(--text);border:1px solid var(--line-2)}.tick.fail{background:#3a1a1c;color:var(--danger)}.status-confirmed{color:var(--green);border-color:#1f4a33}.status-pending_payment{color:var(--warn);border-color:#5a4520}.status-needs_refund,.status-failed{color:var(--danger);border-color:#5a2024}.payout{display:flex;flex-direction:column;gap:8px;align-items:flex-start;max-width:560px;margin-bottom:16px}.payout h3{font-size:16px}
