[hidden]{display:none!important}:root{--ink:#e5ece9;--muted:#8da29a;--bg:#0b1312;--panel:#131f1b;--line:#283b33;--green:#a6ed81;--accent:#d2b878}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:8px;background:var(--green);color:#102113;padding:11px 18px;font-weight:700;cursor:pointer}button:hover,.btn:hover{filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#243a30;color:#e1eae3;border:1px solid #3a5648}.danger{background:#6d302f;color:#fff}.small{padding:5px 10px;font-size:12px}input,select,textarea{width:100%;background:#0e1915;color:var(--ink);border:1px solid #345044;border-radius:7px;padding:10px 12px}input[type=checkbox]{width:auto}label{display:block;font-size:12px;color:#b4c6bd;font-weight:600;margin:12px 0 5px}textarea{min-height:90px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.15;letter-spacing:-1.6px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:16px}p{color:#aabdb3}.muted,small{color:var(--muted)}.eyebrow{color:var(--green);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.brand{display:flex;align-items:center;gap:10px}.mark{background:var(--green);color:#0b2110;border-radius:7px;padding:5px 9px;font-size:21px;font-weight:900;line-height:1.3}.brand strong{font-size:20px;letter-spacing:-.8px}.brand small{display:block;font-size:9px;letter-spacing:2px;line-height:1}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.topbar nav{display:flex;align-items:center;gap:26px;font-size:13px}.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:5px;margin-top:45px}.sidebar nav a{padding:11px 14px;color:#98afa2;border-radius:7px;font-size:13px}.sidebar nav a.active{background:#21372b;color:var(--green);border-left:2px solid var(--green)}.sidebar .account{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.main{padding:36px 4vw;min-width:0}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-head h1{font-size:30px;margin-bottom:6px}.page-head p{margin-bottom:0;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.stat,.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px}.stat small{font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.stat strong{display:block;font-size:30px;letter-spacing:-1px;margin-top:8px}.stat.green strong{color:var(--green)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:grid;gap:20px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;background:#2b3c32;color:#c5dccb}.badge.confirmed,.badge.verified,.badge.sent{background:#21452e;color:#a6ed81}.badge.pending,.badge.returned,.badge.failed{background:#483f25;color:#eed28f}.badge.rejected,.badge.cancelled,.badge.expired{background:#492c2c;color:#f2aaaa}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;color:#8ca798;font-size:10px;letter-spacing:1px;text-transform:uppercase}td,th{padding:14px 12px;border-bottom:1px solid var(--line)}td a{color:var(--green)}.progress{height:6px;border-radius:8px;background:#2c3b32;overflow:hidden;margin:18px 0 10px}.progress span{display:block;height:100%;background:var(--green)}.filters{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filters>*{width:auto;min-width:130px}.notice{background:#233b2a;border:1px solid #426b47;padding:12px 16px;border-radius:8px;margin-bottom:20px;color:#d6ebd2}.error{background:#442828;border-color:#774342;color:#f7c3c3}.hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:660px;border-bottom:1px solid var(--line)}.hero-copy{padding:90px 6vw}.hero h1{font-size:clamp(44px,6vw,82px);margin:20px 0}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--green)}.hero-art{background:linear-gradient(90deg,#0b1312,transparent 40%),url('ticket-art.jpg') center 30%/cover}.hero-meta{display:flex;gap:30px;margin:32px 0}.hero-meta small{display:block;font-size:10px;letter-spacing:1px}.hero-meta strong{font-size:15px}.public-section{padding:55px 6vw}.seat-board{overflow:auto;padding:24px 12px;background:#0c1712;border:1px solid var(--line);border-radius:10px}.seat-grid{display:grid;gap:7px;width:max-content;margin:20px auto;position:relative}.seat{display:flex;align-items:center;justify-content:center;width:43px;height:36px;padding:0;border:1px solid #3c6850;border-radius:7px 7px 3px 3px;background:#1c3928;color:#bcdfc3;font-size:10px;position:relative}.seat.accessible{border-style:dashed}.seat.sold,.seat.pending,.seat.blocked,.seat.held{background:#29322d;color:#59685f;border-color:#354039}.seat.pending{background:#494024;color:#cfb878}.seat.mine,.seat.selected{background:var(--green);color:#163019;border-color:var(--green)}.seat small{position:absolute;bottom:-2px;font-size:7px;color:inherit}.projection,.screen{text-align:center;width:90%;max-width:620px;margin:auto;font-size:9px;letter-spacing:3px;color:#92ac9c;border:1px solid #2a4536;padding:7px}.screen{border-top:3px solid #a6ed81;border-radius:50% 50% 0 0;color:var(--green);margin-top:24px}.legend{display:flex;justify-content:center;gap:16px;font-size:10px;flex-wrap:wrap;margin:20px 0}.dot{display:inline-block;width:8px;height:8px;border-radius:2px;background:#274f35;margin-right:5px}.dot.selected{background:var(--green)}.dot.pending{background:#c1a24e}.dot.sold{background:#58675e}.booking{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px}.total{font-size:26px;color:var(--green);font-weight:700}.login{max-width:420px;margin:70px auto}.login .brand{margin-bottom:35px}.login h1{font-size:30px}
.login button{margin-top:20px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wide{grid-column:1/-1}details{border-top:1px solid var(--line);padding:12px 0}summary{cursor:pointer;color:var(--green);font-size:13px}.scanner-box{max-width:700px;margin:auto}.scanner-window{border:1px solid #46644f;border-radius:12px;overflow:hidden;min-height:160px;background:#07100b;padding:10px;margin:20px 0}.scan-result{font-size:20px;padding:25px;background:#23442e;border:1px solid #63875c;border-radius:10px;margin:20px 0}.scan-result.error{background:#4d2626}.scan-result p{font-size:14px;color:inherit;margin:6px 0}.footer{padding:24px 6vw;color:#789484;border-top:1px solid var(--line);font-size:11px}.help{font-size:12px;color:#88a091;margin:8px 0 16px}code{color:#c0e2ab}#toast{position:fixed;bottom:20px;right:20px;max-width:420px;padding:15px 20px;background:#d2edc5;color:#16301e;border-radius:10px;z-index:100;display:none}#toast.error{background:#f4c4be;color:#461b18}@media(max-width:1000px){.shell{grid-template-columns:185px 1fr}.sidebar{padding:25px 12px}.main{padding:26px 22px}.stats{grid-template-columns:repeat(2,1fr)}.booking{grid-template-columns:1fr}.hero-copy{padding:60px 5vw}.seat{width:38px}.grid{grid-template-columns:1fr}}@media(max-width:640px){.shell{display:block}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:18px}.sidebar nav{display:flex;overflow:auto;margin-top:18px;gap:4px}.sidebar nav a{white-space:nowrap;padding:8px 12px}.sidebar .account{display:none}.main{padding:24px 16px}.page-head{align-items:flex-start}.page-head .btn{font-size:11px;padding:8px}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:55px 22px}.hero-art{height:320px;grid-row:1;background-position:center 24%}.topbar{padding:15px 20px;height:auto}.topbar nav{gap:15px}.topbar nav a:first-child{display:none}.public-section{padding:35px 16px}.card{padding:18px}.settings-grid{grid-template-columns:1fr}.wide{grid-column:auto}.seat-board{padding:18px 6px}.seat-grid{gap:4px}.seat{width:37px;height:34px}.hero-meta{gap:20px}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:25px}.login{margin:40px 16px}.filters>*{min-width:100px;flex:1}.page-head h1{font-size:25px}}@media print{.sidebar,.topbar,button,.filters,.btn{display:none!important}.shell{display:block}.main{padding:0}body{background:white;color:black}.card,.stat{background:white;color:black;border:1px solid #bbb}td,th{color:black}p,small{color:#333}}

.reset-tickets{margin-top:24px;border-color:#704747}
.reset-tickets form{max-width:420px}
.reset-tickets button{margin-top:12px}

.password-field,.table-actions{display:flex;align-items:center;gap:8px}
.password-field input{min-width:0;flex:1}
.password-field button,.table-actions .btn,.table-actions button{white-space:nowrap}
.public-seat-map .seat:disabled{opacity:1}
.public-seat-map .seat.available,.public-seat-map .dot:not(.sold){background:#a9e997;border-color:#bcefb0;color:#122b18}
.public-seat-map .seat.sold,.public-seat-map .seat.pending,.public-seat-map .seat.held,.public-seat-map .seat.blocked,.public-seat-map .dot.sold{background:#a74450;border-color:#d67480;color:#fff}

.cinema-tabs,.scanner-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-block:12px}
.cinema-tabs [role=tab]{display:grid;gap:2px;min-width:120px}
.cinema-tabs [aria-selected=true]{background:var(--green);color:#14291c}
.cinema-tabs small{font-size:.78rem}
.scanner-box{max-width:1100px}
.scanner-picker{margin-bottom:16px}
.scanner-columns{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:start}
.scanner-columns h2{margin-top:0}
.scanner-occupancy dl{margin:0}
.scanner-occupancy dl div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.scanner-occupancy dd{margin:0;color:var(--green);font-weight:700;font-size:1.25rem}
#confirm-admit{width:100%;margin-top:12px}
#lookup-results button{margin:6px 6px 0 0}
@media(max-width:760px){.scanner-columns{grid-template-columns:1fr}}
