@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--bg:#f4f7f8;--panel:#fff;--ink:#14212c;--muted:#6e7c87;--line:#e5eaed;--nav:#0a1721;--nav-soft:#142631;--amber:#f1a640;--amber-deep:#e88f22;--blue:#4c95e8;--purple:#9e7aea;--mint:#40b99b;--red:#d86d70;--shadow:0 15px 40px rgba(31,55,70,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 Manrope,Arial,sans-serif}.app-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#d9e4e9;padding:27px 16px 16px;display:flex;flex-direction:column}.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.8px;display:flex;align-items:center;gap:10px;font-size:17px;margin:0 9px 35px}.brand span span{color:var(--amber)}.brand-mark{display:grid;place-items:center;background:var(--amber);color:#10202b!important;border-radius:8px;width:29px;height:29px;font-size:17px}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#72818b;margin:12px 10px}.side-nav{display:grid;gap:4px}.nav-item{width:100%;border:0;background:transparent;color:#a9bac3;text-align:left;border-radius:8px;padding:11px 12px;font:600 13px Manrope;cursor:pointer}.nav-item span{display:inline-block;width:22px;font-size:17px;vertical-align:-1px}.nav-item:hover,.nav-item.active{background:var(--nav-soft);color:#fff}.nav-item.active{box-shadow:inset 3px 0 0 var(--amber)}.sidebar-footer{border-top:1px solid #253741;padding:18px 8px 0;margin-top:auto;display:flex;align-items:center;gap:9px;font-size:11px}.sidebar-footer strong,.sidebar-footer small{display:block}.sidebar-footer small{color:#7e929e;font-size:10px}.venue-badge,.profile-logo{display:grid;place-items:center;width:29px;height:29px;background:#f7b45b;color:#192731;border-radius:8px;font-weight:800}.verified{color:#58d1a4;margin-left:auto;font-size:11px}main{min-width:0}.topbar{height:86px;padding:0 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.crumb>span,.muted{color:var(--muted);font-size:12px}.crumb h1{font-size:19px;margin:2px 0 0;letter-spacing:-.4px}.top-actions,.guest-tools{display:flex;align-items:center;gap:13px}.day-picker,.icon-button,.location-btn,.search-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 12px;font:600 12px Manrope;color:#43525d}.icon-button{position:relative;padding:8px;width:34px;height:34px;font-size:16px}.icon-button i{position:absolute;right:6px;top:6px;width:5px;height:5px;border-radius:50%;background:#ef8d3a}.avatar{border:0;border-radius:50%;height:34px;width:34px;background:#e5b06b;color:#19313d;font:700 10px Manrope}.mobile-menu{display:none}.view{display:none;padding:31px 38px 48px}.active-view{display:block}.dashboard-intro,.panel-head,.guest-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:23px}.dashboard-intro h2,.guest-header h2{font-size:25px;letter-spacing:-.8px;margin:2px 0 0}.dashboard-intro p,.guest-header p{margin:0}.primary-btn,.secondary-btn{border:0;border-radius:8px;background:var(--amber);color:#182630;padding:11px 15px;font:700 12px Manrope;cursor:pointer;box-shadow:0 5px 12px rgba(239,161,60,.18)}.primary-btn:hover{background:var(--amber-deep)}.primary-btn:disabled{opacity:.45;cursor:not-allowed}.full{width:100%;margin-top:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.stat-card{padding:18px;display:flex;gap:12px;min-width:0}.stat-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:15px;font-weight:800;flex:0 0 auto}.amber{background:#fff4df;color:#da8b24}.blue{background:#edf5ff;color:#4785c9}.purple{background:#f1edff;color:#8f73ca}.mint{background:#e5f7f0;color:#38a889}.stat-card p{font-size:11px;color:var(--muted);margin:0 0 2px}.stat-card strong{display:block;font-size:19px;letter-spacing:-.5px}.stat-card small{font-size:10px;color:#79908a}.stat-card small span{color:#98a4aa}.up{color:#43aa88!important}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.82fr);gap:18px;margin-bottom:18px}.panel{padding:20px}.panel-head{margin-bottom:16px}.panel h3{margin:0;font-size:15px;letter-spacing:-.3px}.panel p{font-size:11px;color:var(--muted);margin:3px 0 0}.legend{display:flex;gap:13px;font-size:10px;color:var(--muted)}.legend i{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:4px}.online-dot{background:var(--blue)}.counter-dot{background:#e5b05e}.chart{display:flex;height:212px;padding:10px 4px 0 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 41px,#edf1f3 42px)}.y-labels{font:9px/42px 'DM Mono';color:#9ba7ac;width:35px;transform:translateY(-5px)}.bars{display:flex;justify-content:space-around;align-items:stretch;flex:1;padding:0 5px}.bar-day{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;font-size:10px;color:#8c999f;width:11%}.bar-stack{height:164px;width:28px;display:flex;flex-direction:column-reverse;justify-content:flex-start}.bar-stack i,.bar-stack b{display:block;width:100%}.bar-stack i{background:#7bb6ee;border-radius:4px 4px 0 0}.bar-stack b{background:#e8b35b;border-radius:4px 4px 0 0;margin-bottom:2px}.bar-day.current span{color:var(--ink);font-weight:700}.occupancy-list{display:grid;gap:20px;padding-top:8px}.screen-title{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.screen-title strong{font-size:12px}.occupancy-list small{display:block;color:#94a0a6;font-size:10px;margin-top:6px}.progress{height:6px;background:#f1f3f4;border-radius:7px;overflow:hidden}.progress i{height:100%;display:block;background:var(--amber);border-radius:inherit}.blue-progress i{background:var(--blue)}.purple-progress i{background:var(--purple)}.text-btn{border:0;background:transparent;color:#cc8123;font:700 11px Manrope;cursor:pointer;padding:0}.shows-panel{padding-bottom:6px}.show-table{display:grid}.show-row{display:grid;grid-template-columns:1.7fr .7fr .75fr 1fr .75fr;gap:14px;align-items:center;padding:12px 3px;border-top:1px solid #eef1f2;font-size:11px}.show-row>span:first-child{display:flex;align-items:center;gap:9px}.show-row strong{font-size:11px}.show-row strong small{display:block;font-weight:500;color:#8c9aa1;font-size:9px;margin-top:2px}.table-head{border:0;padding-top:0;text-transform:uppercase;letter-spacing:.8px;color:#9aa4aa;font-size:9px}.mini-poster{display:grid;place-items:center;height:29px;width:22px;background:linear-gradient(155deg,#113e52,#f7ae4b);color:#fff;font:800 8px Manrope;border-radius:4px;flex:0 0 auto}.mini-poster.red{background:linear-gradient(155deg,#1d233f,#d95155)}.mini-poster.teal{background:linear-gradient(155deg,#96cdc0,#357e7c)}.status{font-size:10px;font-weight:700;padding:5px 8px;border-radius:20px;white-space:nowrap}.status.open{background:#e8f7f1;color:#289778}.status.closing{background:#fff3df;color:#d58a27}.inline-progress{height:4px;background:#eff2f3;display:inline-block;width:43px;margin-left:7px;vertical-align:2px;border-radius:5px;overflow:hidden}.inline-progress i{display:block;height:100%;background:var(--amber)}.schedule-filter{display:flex;gap:8px;margin:-4px 0 18px}.schedule-filter span{flex:1}.filter{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 10px;font:600 11px Manrope;color:#63737c;cursor:pointer}.filter.active{border-color:#efb968;background:#fffaf0;color:#b56c15}.schedule-board{padding:0;overflow:hidden}.schedule-heading,.schedule-line{display:grid;grid-template-columns:1.5fr repeat(4,1fr);align-items:center}.schedule-heading{padding:13px 20px;background:#f9fafb;text-transform:uppercase;font-size:9px;letter-spacing:.8px;color:#9da8ad}.schedule-line{min-height:88px;padding:11px 20px;border-top:1px solid var(--line)}.schedule-line>div:first-child{display:flex;align-items:center;gap:9px}.schedule-line strong{font-size:12px}.schedule-line small{display:block;font-size:10px;color:#8b989f;margin-top:2px}.show-chip{margin:4px;padding:9px;background:#fff0d9;border-left:3px solid #e6a23f;border-radius:4px}.show-chip b{font-size:10px;display:block}.show-chip small{font-size:9px;color:#a56c28}.show-chip.dark{background:#eaf3fb;border-color:#619bdf}.show-chip.blue{background:#eaf3fb;border-color:#619bdf}.show-chip.green{background:#e6f6ef;border-color:#55b596}.counter-live{font-size:11px;color:#398f75;background:#e7f6ef;padding:8px 11px;border-radius:20px}.counter-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#37b18c;margin-right:5px}.counter-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;max-width:800px}.counter-select label{display:grid;gap:7px;font-size:11px;font-weight:700;margin:18px 0}.counter-select select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px;font:500 13px Manrope;color:var(--ink)}.counter-times,.payment-pills{display:flex;gap:8px}.time-btn,.pay-choice{flex:1;border:1px solid var(--line);background:#fff;border-radius:7px;padding:10px 5px;font:600 11px Manrope;cursor:pointer;color:#64727b}.time-btn.active,.pay-choice.active{border-color:#efaa45;background:#fff7e8;color:#a66014}.counter-seat-copy{padding:10px 0;font-size:12px!important}.counter-summary h3{margin-bottom:19px}.counter-total{display:grid;grid-template-columns:1fr auto;gap:9px;padding:14px;background:#f8fafb;border-radius:8px}.counter-total span{font-size:11px;color:#77858d}.counter-total strong{font-size:11px}.counter-total b{font-size:19px}.payment-pills{margin-top:15px}.secure-note{margin-top:13px!important;font-size:10px!important;line-height:1.5}.guest-view{background:#eef2f3}.guest-header{align-items:center}.guest-header h2{font-size:24px}.location-btn,.search-btn{background:#fff;padding:10px 12px}.movie-hero{padding:0;overflow:hidden;display:grid;grid-template-columns:175px minmax(0,1fr) auto;margin-bottom:18px;min-height:235px;background:#101c25;color:#edf5f8;border:0}.movie-hero>img{height:235px;width:175px;object-fit:cover}.movie-info{padding:23px 20px}.movie-label{color:#ffc873;text-transform:uppercase;font-weight:800;font-size:9px;letter-spacing:1px}.movie-info h2{font-size:26px;letter-spacing:-.8px;margin:4px 0}.movie-meta{color:#a9bac3!important;font-size:11px!important;margin:0!important}.movie-desc{max-width:530px;color:#d2dee2!important;margin:13px 0 18px!important;font-size:12px!important}.show-dates{display:flex;align-items:center;gap:8px}.date{border:1px solid #40515b;color:#c1d0d4;background:transparent;border-radius:6px;width:45px;padding:4px 0;font:600 8px Manrope;cursor:pointer}.date b{display:block;font-size:16px;line-height:16px}.date small{font-size:7px}.date.active{color:#162630;background:#f5b451;border-color:#f5b451}.date-divider{height:35px;border-left:1px solid #43535c;margin:0 4px}.show-dates>div small,.show-dates>div b{display:block;font-size:10px}.show-dates>div small{color:#a9bac3}.show-times{display:flex;gap:8px;margin-top:15px}.showtime{border:1px solid #42535c;background:#172833;color:#d9e8ec;border-radius:6px;padding:7px 10px;font:700 11px Manrope;cursor:pointer}.showtime small{display:block;color:#91a6af;font-weight:500;font-size:9px;margin-top:1px}.showtime.active{border-color:#f0ae49;background:#29333a;color:#ffd083}.rating{padding:23px 23px 0 0;text-align:right;font-size:13px;color:#f6be62}.rating small{display:block;color:#9cafb7;font-size:9px;margin-top:3px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.63fr);gap:18px}.seat-panel{min-height:490px}.lock-dot{display:inline-block;width:6px;height:6px;background:#e7a13f;border-radius:50%;margin-right:5px}.seat-legend{margin-bottom:22px;gap:15px}.seat-legend span{font-size:10px;color:#7c8a91}.seat-legend i{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-2px;margin-right:4px}.seat{border:1px solid #ced7db;background:white}.seat.selected{background:#f3ae45;border-color:#f3ae45}.seat.booked{background:#cbd4d8;border-color:#cbd4d8}.seat.blocked{background:#344550;border-color:#344550}.screen{height:26px;background:linear-gradient(to bottom,#dbe8ec,transparent);border-radius:50% 50% 0 0;text-align:center;color:#8d9ba2;font:700 8px/20px Manrope;letter-spacing:1px;margin:0 10% 23px}.seat-map{display:grid;gap:9px;max-width:540px;margin:auto}.seat-row{display:grid;grid-template-columns:23px repeat(12,1fr);gap:7px;align-items:center}.seat-row .row-name{font:700 10px 'DM Mono';color:#7c8990;text-align:right;margin-right:3px}.seat-btn{border:1px solid #cfd8dc;border-radius:4px;background:#fff;width:100%;aspect-ratio:1/.78;color:#5f7079;font:600 9px 'DM Mono';cursor:pointer;transition:.15s}.seat-btn:hover:not(.booked):not(.blocked){border-color:#e7a037;background:#fff9ef}.seat-btn.selected{background:#f0aa42;border-color:#f0aa42;color:#1f2c32}.seat-btn.booked{background:#d7dfe2;border-color:#d7dfe2;color:#a0aeb3;cursor:not-allowed}.seat-btn.blocked{background:#41515b;border-color:#41515b;color:#77858c;cursor:not-allowed}.seat-btn.aisle-left{margin-left:13px}.seat-btn.recliner{border-radius:6px;border-color:#8d77d7;background:#f5f0ff;color:#6f58bd}.seat-rows-label{display:flex;justify-content:center;gap:32px;margin-top:20px;color:#859199;font-size:10px}.booking-summary{height:max-content;position:sticky;top:15px;padding:20px}.booking-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:13px}.booking-title p{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#859098;margin:0}.booking-title h3{margin:4px 0 1px}.booking-title small{font-size:10px;color:#687780}.ticket-icon{color:#e6a03c;font-size:20px}.summary-line{display:flex;justify-content:space-between;padding:6px 0;color:#75828a;font-size:11px;gap:10px}.summary-line b{color:var(--ink);font-size:11px;text-align:right}.seats-line{padding-top:11px;margin-top:6px;border-top:1px dashed #dce2e4}.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin-top:10px}.summary-total span{font-weight:700;font-size:11px}.summary-total b{font-size:19px;letter-spacing:-.6px}.summary-policy{font-size:9px!important;line-height:1.55;margin-top:14px!important}.report-stats{max-width:850px}.report-table{max-width:900px}.profile-card{display:flex;gap:14px;align-items:center;padding:22px}.profile-logo{width:48px;height:48px;font-size:21px;border-radius:13px}.profile-card h3{font-size:17px}.profile-card p{font-size:11px}.profile-card .status{margin-left:auto}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;max-width:900px}.profile-grid h3{margin-bottom:15px}.profile-grid dl{margin:0}.profile-grid dl div{padding:11px 0;border-top:1px solid var(--line)}dt{font-size:10px;color:#8a969d}dd{margin:2px 0 0;font-size:12px;font-weight:600}.team-list{max-width:800px;padding:4px 20px}.team-row{display:grid;grid-template-columns:35px 1fr 130px 80px;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.team-row:last-child{border:0}.avatar.large{width:32px;height:32px;display:grid;place-items:center}.team-row strong,.team-row small{display:block}.team-row strong{font-size:12px}.team-row small{color:#829098;font-size:10px}.role{font-size:11px;color:#60717b}.purple-avatar{background:#e9e2ff;color:#7259bd}.blue-avatar{background:#dceeff;color:#3679ba}.mint-avatar{background:#dff5eb;color:#278d70}.modal-backdrop{position:fixed;inset:0;background:rgba(4,15,23,.62);backdrop-filter:blur(5px);display:none;place-items:center;padding:18px;z-index:10}.modal-backdrop.open{display:grid}.ticket-modal{background:#fff;border-radius:14px;max-width:500px;width:100%;padding:27px;position:relative;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.25)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:24px;color:#7b8890;cursor:pointer}.success-burst{display:grid;place-items:center;background:#def6e9;color:#2ba375;border-radius:50%;width:49px;height:49px;margin:0 auto 12px;font-size:24px;font-weight:700}.ticket-modal h2{margin:2px 0 4px;font-size:22px;letter-spacing:-.7px}.ticket-modal>.muted{font-size:11px;max-width:330px;margin:0 auto 17px}.digital-ticket{border:1px solid #e2e8ea;border-radius:10px;text-align:left;overflow:hidden}.ticket-movie{display:flex;gap:12px;background:#13222c;color:#edf6f7;padding:12px}.ticket-movie img{width:44px;height:59px;object-fit:cover;border-radius:4px}.ticket-movie h3{font-size:14px;margin:4px 0}.ticket-movie p{font-size:10px;color:#afc1c8;margin:1px 0 6px}.ticket-movie b{color:#f2b250;font-size:10px}.ticket-details{padding:15px;display:grid;grid-template-columns:1fr 1.3fr 1fr auto;align-items:center;gap:8px}.ticket-details small,.ticket-details b{display:block}.ticket-details small{font-size:8px;letter-spacing:.7px;color:#89969c}.ticket-details b{font-size:9px;margin-top:3px}.qr{width:51px;height:51px;background:repeating-linear-gradient(90deg,#1a2a33 0 3px,transparent 3px 6px),repeating-linear-gradient(#1a2a33 0 4px,transparent 4px 7px);border:4px solid #fff;outline:1px solid #d7e0e3}.modal-actions{display:flex;gap:10px;margin-top:17px}.modal-actions>*{flex:1}.secondary-btn{background:#f0f3f4;color:#4b5e67;box-shadow:none}.secondary-btn:hover{background:#e5ebed}
.scan-layout{display:grid;grid-template-columns:minmax(290px,.75fr) minmax(290px,1.15fr);gap:18px;max-width:900px}.scan-card{text-align:center;padding:30px}.scan-visual{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:17px;background:#fff3df;color:#e69b31;font-size:31px}.scan-card h3{font-size:18px}.scan-card>p{font-size:12px!important;line-height:1.6;margin:8px auto 16px!important;max-width:310px}.scan-card label{display:grid;text-align:left;gap:7px;font-size:11px;font-weight:700;margin-top:18px}.scan-card input{border:1px solid var(--line);border-radius:7px;padding:11px;font:600 12px 'DM Mono';color:var(--ink);width:100%}.scan-hint{display:block;margin-top:13px;color:#87949a;font-size:10px}.scan-result{min-height:265px;display:flex;flex-direction:column;justify-content:center;padding:31px}.scan-result .result-icon{font-size:28px;margin-bottom:10px;color:#8fa0a8}.scan-result h3{font-size:21px;margin:0}.scan-result>p:last-child{font-size:12px;max-width:330px;line-height:1.6}.scan-result.valid{background:#effaf5;border-color:#bfe9d6}.scan-result.valid .result-icon{color:#2fa47b}.scan-result.used{background:#fff6e8;border-color:#f0d49d}.scan-result.used .result-icon{color:#d88c27}.scan-result.invalid{background:#fff1f1;border-color:#f2caca}.scan-result.invalid .result-icon{color:#d65f61}.scan-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:17px;text-align:left}.scan-details div{background:rgba(255,255,255,.7);border-radius:7px;padding:8px}.scan-details small,.scan-details b{display:block}.scan-details small{font-size:9px;color:#7f8e95;letter-spacing:.6px}.scan-details b{font-size:11px;margin-top:2px}
.session-label{font-size:11px;color:#6e7d85;max-width:115px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-trigger{border:1px solid #ead4b1;background:#fffaf1;color:#a56415;border-radius:7px;padding:8px 11px;font:700 11px Manrope;cursor:pointer}.login-trigger:hover{background:#fff2d9}.auth-modal{background:#fff;border-radius:14px;max-width:390px;width:100%;padding:28px;position:relative;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.25)}.auth-mark{display:grid;place-items:center;margin:0 auto 13px;width:46px;height:46px;border-radius:13px;background:var(--amber);color:#12222c;font-size:23px;font-weight:800}.auth-modal h2{font-size:21px;letter-spacing:-.7px;margin:3px 0 6px}.auth-modal>p:not(.movie-label){font-size:11px;line-height:1.6;color:#718089;margin:0 auto 19px;max-width:310px}.auth-modal form{display:grid;gap:13px;text-align:left}.auth-modal label{display:grid;gap:6px;color:#52616a;font:700 11px Manrope}.auth-modal input{border:1px solid var(--line);border-radius:7px;padding:11px;font:500 13px Manrope;color:var(--ink);outline:0}.auth-modal input:focus{border-color:#e8a13d;box-shadow:0 0 0 3px rgba(241,166,64,.16)}.auth-modal .full{margin-top:3px}.auth-modal>small{display:block;margin-top:15px;color:#8d989e;font-size:10px;line-height:1.5}.auth-error{min-height:15px;margin:0!important;color:#c54f54!important;font-size:10px!important;line-height:1.4}.auth-error:empty{display:none}
@media(max-width:1000px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.view{padding:25px}.topbar{padding:0 25px}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.movie-hero{grid-template-columns:140px minmax(0,1fr)}.movie-hero>img{width:140px}.rating{display:none}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}.counter-layout,.scan-layout{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:245px;transform:translateX(-102%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:12px 0 35px rgba(0,0,0,.3)}.mobile-menu{display:block}.topbar{height:66px;padding:0 16px}.crumb>span{display:none}.crumb h1{font-size:16px}.day-picker{display:none}.view{padding:21px 15px 32px}.dashboard-intro,.guest-header{align-items:flex-start}.dashboard-intro h2,.guest-header h2{font-size:21px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:13px;gap:8px}.stat-icon{width:29px;height:29px}.stat-card strong{font-size:16px}.stat-card p{font-size:10px}.stat-card small{display:none}.panel{padding:15px}.dashboard-grid{gap:12px}.sales-panel{overflow:hidden}.chart{height:175px}.bar-stack{height:130px;width:21px}.y-labels{line-height:34px}.show-row{grid-template-columns:1.4fr .8fr .8fr;gap:7px}.show-row>:nth-child(2),.show-row>:nth-child(5){display:none}.show-row strong{font-size:10px}.schedule-board{overflow:auto}.schedule-heading,.schedule-line{min-width:650px}.guest-tools{display:none}.movie-hero{grid-template-columns:100px minmax(0,1fr);min-height:280px}.movie-hero>img{width:100px;height:280px}.movie-info{padding:17px 13px}.movie-info h2{font-size:19px}.movie-desc{font-size:10px!important;line-height:1.5}.show-dates{gap:5px}.date{width:34px}.date-divider{display:none}.show-dates>div{display:none}.show-times{gap:4px}.showtime{padding:6px 5px;font-size:9px}.showtime small{font-size:8px}.seat-panel{padding:13px}.seat-row{grid-template-columns:16px repeat(12,1fr);gap:4px}.seat-btn{font-size:7px;border-radius:2px}.seat-btn.aisle-left{margin-left:7px}.seat-rows-label{gap:12px;font-size:8px}.booking-summary{padding:16px}.team-row{grid-template-columns:35px 1fr 74px}.team-row .role{display:none}.ticket-modal{padding:24px 16px}.ticket-details{grid-template-columns:1fr 1.2fr 1fr;gap:6px}.qr{grid-column:1/-1;margin:8px auto 0}.top-actions{gap:7px}}
/* Tenant starter layouts use the actual number of seats in each row. */
.seat-row { grid-template-columns: 23px repeat(var(--seat-count, 12), 1fr); }
.tenant-layout-action { margin-top: 14px; }
@media (max-width: 700px) {
  .seat-row { grid-template-columns: 16px repeat(var(--seat-count, 12), 1fr); }
}

/* Cinema-owner scheduling */
.owner-scheduler { margin-bottom: 18px; }
.scheduler-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.scheduler-heading h3 { margin: 2px 0 3px; }
.scheduler-heading p { max-width: 680px; }
.scheduler-status { flex: 0 0 auto; border-radius: 999px; background: #eef8fc; color: #41606d; padding: 6px 9px; font: 700 10px Manrope; }
.scheduler-readonly { border: 1px solid #dce5e8; border-radius: 8px; background: #f8fafb; color: #5d6c74; padding: 13px; font-size: 12px; line-height: 1.55; }
.scheduler-form { display: grid; gap: 16px; }
.scheduler-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.scheduler-selection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
.scheduler-booking-window { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 520px; }
.scheduler-field { display: grid; gap: 6px; color: #53636d; font: 700 11px Manrope; }
.scheduler-field select, .scheduler-field input { min-width: 0; width: 100%; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: var(--ink); padding: 10px 11px; font: 500 12px Manrope; }
.scheduler-field select:disabled, .scheduler-field input:disabled { background: #f4f6f7; color: #94a0a5; cursor: not-allowed; }
.scheduler-field select:focus, .scheduler-field input:focus { outline: 0; border-color: #e5a13f; box-shadow: 0 0 0 3px rgba(241,166,64,.14); }
.scheduler-field small, .scheduler-repeat small { color: #809098; font: 500 10px/1.45 Manrope; }
.scheduler-repeat { margin: 0; padding: 0; border: 0; }
.scheduler-repeat legend { padding: 0; margin-bottom: 8px; color: #53636d; font: 700 11px Manrope; }
.scheduler-frequency { display: flex; gap: 8px; margin-bottom: 10px; }
.schedule-frequency-choice { border: 1px solid var(--line); border-radius: 7px; background: #fff; color: #5c6b73; padding: 8px 10px; font: 700 11px Manrope; cursor: pointer; }
.schedule-frequency-choice.active { border-color: #efaa45; background: #fff7e8; color: #9c5e18; }
.weekday-picker { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 8px; }
.weekday-picker label { display: inline-flex; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 7px; background: #fff; color: #5b6a72; padding: 7px 9px; font: 600 10px Manrope; cursor: pointer; }
.weekday-picker input { accent-color: #de942c; margin: 0; }
.scheduler-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 2px; }
.scheduler-message { min-height: 18px; margin: 0; color: #66777f; font-size: 11px; line-height: 1.45; }
.scheduler-message[data-tone="error"] { color: #bd5455; }
.scheduler-message[data-tone="success"] { color: #278d70; }
.scheduler-message[data-tone="notice"] { color: #a56d25; }
#shows .schedule-heading, #shows .schedule-line { grid-template-columns: minmax(190px, 1.5fr) repeat(4, minmax(95px, 1fr)) minmax(125px, .9fr); }
.schedule-action { color: #829097; font-size: 10px; }
.schedule-cancel-btn { border: 1px solid #edcccc; border-radius: 7px; background: #fff8f8; color: #ae5557; padding: 7px 8px; font: 700 10px Manrope; cursor: pointer; white-space: nowrap; }
.schedule-cancel-btn:hover { background: #fff0f0; }
.schedule-cancel-btn:disabled { cursor: wait; opacity: .65; }

@media (max-width: 700px) {
  .owner-scheduler { padding: 15px; }
  .scheduler-heading, .scheduler-actions { align-items: flex-start; flex-direction: column; }
  .scheduler-grid, .scheduler-booking-window { grid-template-columns: 1fr; max-width: none; }
  #shows .schedule-heading, #shows .schedule-line { min-width: 780px; }
  .scheduler-actions .primary-btn { width: 100%; }
}

/* Live counter booking catalogue */
.counter-booking-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:18px; max-width:1060px; align-items:start; }
.counter-catalog { padding:22px; }
.counter-catalog[aria-busy="true"] { opacity:.72; }
.counter-catalog-head,.counter-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.counter-catalog-head { margin-bottom:17px; }
.counter-catalog-head h3,.counter-section-head h3 { margin:2px 0 3px; font-size:16px; }
.counter-catalog-head p:not(.movie-label),.counter-section-head>p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.counter-section-head { align-items:end; margin:22px 0 10px; }
.counter-section-head>p { max-width:245px; text-align:right; }
.counter-movie-select { display:grid; gap:7px; color:#53636d; font:700 11px Manrope; }
.counter-movie-select select { min-width:0; width:100%; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--ink); padding:11px; font:600 13px Manrope; }
.counter-movie-select select:focus { outline:0; border-color:#e5a13f; box-shadow:0 0 0 3px rgba(241,166,64,.14); }
.counter-movie-select select:disabled { background:#f4f6f7; color:#94a0a5; cursor:not-allowed; }
.counter-movie-card { display:grid; grid-template-columns:52px minmax(0,1fr); gap:11px; align-items:center; padding:12px; margin-top:12px; border:1px solid #e9edf0; border-radius:9px; background:#fafcfc; }
.counter-movie-card img { width:52px; height:67px; object-fit:cover; border-radius:6px; background:#10232d; }
.counter-movie-card h3 { margin:2px 0 3px; font-size:14px; }
.counter-movie-card p:not(.movie-label) { margin:0; color:#718089; font-size:10px; line-height:1.5; }
.counter-date-picker { display:flex; gap:8px; flex-wrap:wrap; }
.counter-date-btn { width:58px; min-height:68px; border:1px solid #d8e1e5; border-radius:8px; color:#53636d; background:#fff; padding:7px 4px; font:600 9px Manrope; cursor:pointer; transition:.15s; }
.counter-date-btn small,.counter-date-btn b { display:block; }
.counter-date-btn b { color:#22323b; font-size:19px; line-height:20px; }
.counter-date-btn.active { color:#162630; background:#f5b451; border-color:#f5b451; box-shadow:0 5px 12px rgba(239,161,60,.2); }
.counter-date-btn.active b { color:#162630; }
.counter-date-btn:hover:not(.active) { border-color:#e8ad58; background:#fffaf1; }
.counter-schedule-list { display:grid; gap:10px; }
.counter-screen-group { border:1px solid #e7edef; border-radius:9px; overflow:hidden; background:#fff; }
.counter-screen-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:#f8fafb; border-bottom:1px solid #e9eef0; }
.counter-screen-heading h4 { margin:0; color:#263740; font-size:12px; }
.counter-screen-heading small { color:#809098; font-size:10px; }
.counter-show-slots { display:flex; flex-wrap:wrap; gap:8px; padding:10px 12px; }
.counter-show-slot { min-width:106px; border:1px solid #cfdde1; border-radius:7px; background:#fff; color:#354852; padding:8px 10px; text-align:left; font:700 11px Manrope; cursor:pointer; transition:.15s; }
.counter-show-slot strong,.counter-show-slot small { display:block; }
.counter-show-slot strong { font-size:12px; }
.counter-show-slot small { margin-top:2px; color:#6f8089; font:600 9px Manrope; text-transform:capitalize; }
.counter-show-slot:hover:not(:disabled),.counter-show-slot.active { border-color:#e8a23a; background:#fff7e8; color:#9b5e17; }
.counter-show-slot.active { box-shadow:inset 0 0 0 1px #e8a23a; }
.counter-show-slot.unavailable,.counter-show-slot:disabled { border-style:dashed; color:#98a5aa; background:#f7f9fa; cursor:not-allowed; opacity:.82; }
.counter-show-slot.unavailable small { color:#9aa5a9; }
.counter-catalog-message { min-height:18px; margin:14px 0 0; color:#66777f; font-size:11px; line-height:1.45; }
.counter-catalog-message[data-tone="error"] { color:#bd5455; }
.counter-catalog-message[data-tone="success"] { color:#278d70; }
.counter-catalog-message[data-tone="notice"] { color:#a56d25; }
.counter-summary { position:sticky; top:15px; }
.counter-summary .movie-label { margin:0 0 3px; }
.counter-summary h3 { margin:0 0 5px; font-size:16px; }
.counter-summary .counter-seat-copy { min-height:39px; margin:0 0 13px; color:#718089; line-height:1.5; }
.counter-summary .payment-pills { margin-top:15px; }
.counter-summary .secure-note { margin-bottom:0; }
.show-times { flex-wrap:wrap; }
.booking-show-context { min-height:35px; margin-top:10px; padding-left:12px; border-left:1px solid #43535c; color:#edf5f8; }
.booking-show-context small,.booking-show-context b { display:block; }
.booking-show-context small { color:#a9bac3; font-size:10px; }
.booking-show-context b { font-size:11px; }
.showtime.unavailable,.showtime:disabled { border-style:dashed; border-color:#53626a; color:#91a1a8; background:#17232b; opacity:.72; cursor:not-allowed; }
.showtime.unavailable small { color:#81929a; }
.booking-show-empty { width:100%; margin:8px 0 0; color:#a9bac3; font-size:11px; }

/* Status always wins over a category colour.  Without these overrides, a
   sold Recliner inherited the purple Recliner appearance after .booked. */
.seat-btn.recliner.booked { background:#d7dfe2; border-color:#d7dfe2; color:#a0aeb3; cursor:not-allowed; }
.seat-btn.recliner.blocked { background:#41515b; border-color:#41515b; color:#77858c; cursor:not-allowed; }

@media (max-width:1000px) { .counter-booking-layout { grid-template-columns:1fr; max-width:800px; } .counter-summary { position:static; } }
@media (max-width:700px) { .counter-catalog { padding:15px; } .counter-catalog-head,.counter-section-head { gap:10px; } .counter-section-head { align-items:flex-start; flex-direction:column; } .counter-section-head>p { text-align:left; } .counter-show-slot { flex:1 1 108px; } .counter-date-picker { flex-wrap:nowrap; overflow-x:auto; padding-bottom:2px; } .counter-date-btn { flex:0 0 53px; } .booking-show-context { display:none; } }

/* Counter sales always get a final, non-destructive review before checkout. */
.counter-confirmation-modal { width:min(100%, 460px); padding:27px; position:relative; border-radius:14px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.25); }
.confirmation-mark { display:grid; place-items:center; width:48px; height:48px; margin:0 0 12px; border-radius:14px; background:#fff1d9; color:#b76d12; font-size:24px; font-weight:800; }
.counter-confirmation-modal h2 { margin:2px 0 5px; font-size:21px; letter-spacing:-.7px; }
.confirmation-copy { margin:0 0 18px; color:#718089; font-size:12px; line-height:1.5; }
.confirmation-alert { margin:-8px 0 14px; padding:9px 10px; border:1px solid #efd197; border-radius:8px; background:#fff8e8; color:#98621b; font-size:10px; line-height:1.45; }
.confirmation-details { display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0; overflow:hidden; border:1px solid #e1e8eb; border-radius:10px; }
.confirmation-details div { min-width:0; padding:11px 12px; border-top:1px solid #e8edef; }
.confirmation-details div:nth-child(-n+2) { border-top:0; }
.confirmation-details div:nth-child(odd) { border-right:1px solid #e8edef; }
.confirmation-details .confirmation-wide { grid-column:1 / -1; border-right:0; }
.confirmation-details dt { color:#829098; font:700 9px Manrope; letter-spacing:.7px; text-transform:uppercase; }
.confirmation-details dd { overflow-wrap:anywhere; margin:3px 0 0; color:#273942; font:700 11px/1.4 Manrope; }
.confirmation-details .confirmation-total { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; border-right:0; background:#f8fafb; }
.confirmation-details .confirmation-total dd { color:#a66215; font-size:18px; letter-spacing:-.4px; }
.confirmation-note { margin:13px 0 0; color:#718089; font-size:10px; line-height:1.5; }
.counter-confirmation-modal .modal-actions { margin-top:17px; }
.counter-confirmation-modal .modal-close:disabled { cursor:wait; opacity:.55; }
@media (max-width:700px) { .counter-confirmation-modal { padding:24px 17px; } .confirmation-details { grid-template-columns:1fr; } .confirmation-details div:nth-child(2) { border-top:1px solid #e8edef; } .confirmation-details div:nth-child(odd) { border-right:0; } .confirmation-details .confirmation-wide,.confirmation-details .confirmation-total { grid-column:auto; } }
