@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800&display=swap');

:root{--bg:#0f172a;--bg-soft:#151f36;--yellow:#f4e500;--purple:#6f2da8;--text:#ffffff;--text-muted:#b7bfd1;--card:var(--bg-soft);--card-2:#1b2944;--accent:var(--yellow);--accent-2:#fff36a;--muted:var(--text-muted);--red:var(--purple);--line:#293653;--cream:#f8fafc}*{box-sizing:border-box}.cinema-nav{background:rgba(8,9,13,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.brand-mark,.brand-big{display:inline-grid;place-items:center;background:var(--red);color:white;border-radius:9px}.brand-mark{width:30px;height:30px}.brand-big{width:66px;height:66px;font-size:36px;font-weight:900;text-decoration:none;margin-bottom:24px}.hero{min-height:720px;background:radial-gradient(circle at 80% 35%,rgba(239,35,60,.22),transparent 28%),radial-gradient(circle at 20% 10%,rgba(124,58,237,.16),transparent 30%),linear-gradient(180deg,#0a0b10,#08090d)}.min-vh-75{min-height:75vh}.fw-black{font-weight:900;letter-spacing:-.05em}.hero h1 span{color:var(--red)}.hero-orb{width:350px;height:350px;margin:auto;display:grid;place-items:center;border-radius:50%;font-size:180px;font-weight:900;background:linear-gradient(145deg,#ef233c,#7c1731);box-shadow:0 0 120px rgba(239,35,60,.25);transform:rotate(8deg)}.eyebrow{color:#ff5b6e;font-weight:800;letter-spacing:.16em;font-size:.78rem}.movie-card,.checkout-card,.admin-card,.stat-card,.revenue-card,.admin-form{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.poster{aspect-ratio:2/3;object-fit:cover;transition:.3s}.movie-card:hover .poster{transform:scale(1.02)}.showtime-card{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:white}.showtime-card:hover{border-color:#525866}.time{font-size:1.4rem;font-weight:800}.pt-page{padding-top:110px}.detail-poster{border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.chip{padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#c7cad4}.auth-bg{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,rgba(239,35,60,.2),transparent 35%),#08090d}.auth-card{width:min(440px,92vw);background:#101218;border:1px solid var(--line);border-radius:24px;padding:36px}.form-control,.form-select{background:#0b0d12;border-color:#30333d;color:white;padding:12px}.form-control:focus,.form-select:focus{border-color:#ef233c;box-shadow:0 0 0 .2rem rgba(239,35,60,.12)}.demo-box{background:#0b0d12;border:1px dashed #343844;padding:14px;border-radius:12px;color:#a8adba}.screen{width:70%;margin:45px auto 36px;text-align:center;padding:8px;border-top:4px solid #d7d8dd;border-radius:50%;color:#8d92a0;box-shadow:0 -12px 30px rgba(255,255,255,.08)}.seat-map{display:grid;grid-template-columns:repeat(10,minmax(34px,1fr));gap:10px;max-width:760px;margin:auto}.seat{border:0;border-radius:9px;background:#2c303a;color:#dde0e7;padding:11px 4px;font-size:.78rem}.seat.vip{background:#6a4c13}.seat.selected{background:#ef233c;color:white}.seat.held{background:#6d28d9}.seat.booked{background:#343640;color:#6f7380;text-decoration:line-through}.seat:disabled{cursor:not-allowed}.legend{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:30px 0;color:#a9aebb;font-size:.85rem}.seat-dot{display:inline-block;width:14px;height:14px;border-radius:4px;margin-right:5px;vertical-align:-2px;background:#2c303a}.seat-dot.vip{background:#6a4c13}.seat-dot.selected{background:#ef233c}.seat-dot.held{background:#6d28d9}.seat-dot.booked{background:#343640}.checkout-card{padding:24px;top:100px}.summary-row{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.ticket-list{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;color:white}.empty-state{text-align:center;padding:60px;color:#8d92a0}.ticket{max-width:900px;display:grid;grid-template-columns:1fr 260px;background:#f4f0e8;color:#111;border-radius:24px;overflow:hidden}.ticket-left{padding:36px}.ticket-left small{display:block;color:#777}.ticket-left strong{display:block;font-size:1.05rem}.ticket-code{display:grid;place-items:center;align-content:center;gap:12px;background:#e9e3d6;border-left:2px dashed #aaa;padding:30px;text-align:center}.fake-qr{width:120px;height:120px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#111 0 8px,#fff 8px 16px);font-size:56px;font-weight:900;color:#ef233c;text-shadow:0 0 2px white}.admin-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:28px}.admin-links{display:flex;gap:10px;flex-wrap:wrap}.admin-links a{color:#ddd;text-decoration:none;padding:8px 12px;border:1px solid var(--line);border-radius:8px}.stat-card{padding:24px}.stat-card span{color:var(--muted)}.stat-card strong{display:block;font-size:2.2rem}.revenue-card{padding:28px;display:flex;justify-content:space-between;align-items:center}.revenue-card strong{font-size:2rem;color:#5ee28c}.admin-form{padding:24px}.admin-form label{font-size:.85rem;color:#a8adba;margin-bottom:6px}.table-dark{--bs-table-bg:#11131a;--bs-table-border-color:#2a2e37}@media(max-width:991px){.seat-map{grid-template-columns:repeat(8,minmax(30px,1fr))}.admin-title{align-items:flex-start;flex-direction:column}}@media(max-width:576px){.hero{min-height:620px}.hero h1{font-size:3rem}.seat-map{grid-template-columns:repeat(5,1fr)}.ticket{grid-template-columns:1fr}.ticket-code{border-left:0;border-top:2px dashed #aaa}.auth-card{padding:26px}}.profile-shell{display:grid;grid-template-columns:280px 1fr;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden}.profile-side{padding:36px;background:linear-gradient(180deg,#151823,#0d0f15);text-align:center}.profile-form{padding:36px}.avatar-wrap{width:120px;height:120px;margin:0 auto 18px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.12)}.avatar-wrap img{width:100%;height:100%;object-fit:cover}.avatar-fallback{width:100%;height:100%;display:grid;place-items:center;background:var(--red);font-size:48px;font-weight:900}.profile-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:18px;color:var(--muted)}.profile-meta strong{color:white}.rating-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stars{color:#fbbf24;letter-spacing:.08em}.review-section{border-top:1px solid var(--line);padding-top:36px}.review-form-card,.review-card,.chart-card,.combo-admin-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}.review-card{padding:20px}.booking-section{padding:18px 0;border-top:1px solid var(--line)}.combo-choice{display:grid;grid-template-columns:1fr 78px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed #2c3039}.combo-choice small{display:block;color:var(--muted)}.combo-choice span{display:block;color:#ff7586;font-weight:700;margin-top:4px}.combo-choice input{padding:8px}.ticket-alert{max-width:900px}.ticket-breakdown{border-top:1px solid #c8c1b3;padding-top:16px}.ticket-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:5px 0}.ticket-breakdown .ticket-combo{font-size:.9rem;color:#666;padding-left:12px}.ticket-breakdown .total-line{border-top:1px solid #b9b1a2;margin-top:10px;padding-top:12px;font-size:1.15rem}.chart-card{min-height:300px}.recent-booking{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.recent-booking small{display:block;color:var(--muted)}.recent-booking span{font-weight:700}.combo-admin-card{display:flex;gap:16px;align-items:flex-start}.combo-thumb{width:80px;height:80px;flex:0 0 80px;border-radius:14px;overflow:hidden;background:#0b0d12;display:grid;place-items:center;font-size:34px}.combo-thumb img{width:100%;height:100%;object-fit:cover}.review-cell{max-width:360px;white-space:normal}.admin-links{max-width:100%;overflow-x:auto;padding-bottom:2px}.admin-links a{white-space:nowrap}@media(max-width:768px){.profile-shell{grid-template-columns:1fr}.profile-side,.profile-form{padding:26px}.combo-choice{grid-template-columns:1fr 68px}}

/* Booking call-to-action typography is intentionally scoped to booking links only. */

/* ========================= REX V3 EXPERIENCE ========================= */

.btn-dark-soft{background:#1a1d24;border:1px solid #30343e;color:#ddd}.btn-dark-soft:hover{background:#262a33;color:white}.eyebrow{color:var(--accent);font-weight:800;letter-spacing:.18em;font-size:.76rem}.pt-page{padding-top:118px}.admin-page-wrap{padding-left:2.5rem;padding-right:2.5rem}
.rex-nav{min-height:76px;background:rgba(5,6,9,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.rex-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;line-height:0}.rex-logo{display:block;width:auto;height:50px;max-width:220px;object-fit:contain}.rex-main-nav{gap:12px}.rex-main-nav .nav-link{font-size:.78rem;font-weight:800;letter-spacing:.12em;color:#d9d9d9;padding:.65rem .45rem}.rex-main-nav .nav-link:hover{color:var(--accent)}.rex-auth-nav{font-size:.78rem}.nav-profile-link{display:flex;align-items:center;gap:6px;text-decoration:none;color:#d6d6d6;max-width:190px}.nav-profile-link span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-mini{color:var(--accent)}.rex-modal{background:#101217;border:1px solid #333844;color:white;border-radius:20px}.search-big-form{display:grid;grid-template-columns:1fr auto;gap:12px}
.rex-hero-home{margin-top:76px;height:650px;background:#08090c}.rex-hero-home .carousel,.rex-hero-home .carousel-inner,.rex-hero-home .carousel-item{height:100%}.hero-backdrop{position:absolute;inset:0;background-size:cover;background-position:center 22%;filter:saturate(.85)}.hero-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,var(--bg))}.hero-empty{background:radial-gradient(circle at 75% 45%,rgba(237,142,0,.24),transparent 24%),linear-gradient(140deg,#101116,#050609)}.hero-home-content{position:relative;height:100%;display:flex;align-items:center;justify-content:space-between;gap:50px;z-index:2}.hero-copy{max-width:720px}.hero-copy h1{font-size:clamp(3.4rem,6vw,6.4rem);line-height:.92;font-weight:950;letter-spacing:-.055em;text-transform:uppercase;margin:10px 0 18px}.hero-meta{font-weight:700;color:#dedede}.hero-desc{max-width:650px;color:#b7bac2;font-size:1.02rem;line-height:1.7;margin-bottom:28px}.hero-age{display:inline-grid;place-items:center;min-width:48px;height:48px;border:2px solid var(--accent);border-radius:50%;color:var(--accent);font-weight:900;margin-bottom:18px}.hero-poster-wrap{width:295px;flex:0 0 295px}.hero-poster-wrap img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:5px;box-shadow:0 35px 90px rgba(0,0,0,.55);transform:rotate(2deg)}.rex-hero-home .carousel-control-prev,.rex-hero-home .carousel-control-next{width:6%}
.quick-schedule{position:relative;z-index:4;margin-top:-34px}
.rex-section{padding-top:76px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;border-top:3px solid #fff;padding-top:19px;margin-bottom:28px}.section-heading.orange-line{border-color:var(--accent)}.section-heading.light-line{border-color:#777}.section-heading h2{font-size:2.15rem;font-weight:900;letter-spacing:.015em;margin:0}.section-heading a{color:#e3e3e3;text-decoration:none;font-weight:700}.section-heading a:hover{color:var(--accent)}.genre-strip{display:flex;gap:9px;overflow-x:auto;padding-bottom:18px;margin-top:-8px}.genre-strip a{white-space:nowrap;border:1px solid #343841;border-radius:999px;color:#c6c8ce;text-decoration:none;padding:8px 15px;font-size:.82rem}.genre-strip a:hover{border-color:var(--accent);color:var(--accent)}.poster-link:hover .poster-hover{opacity:1;transform:none}.age-tag,.release-ribbon{position:absolute;top:12px;left:12px;padding:6px 9px;background:#050505;color:white;font-weight:900;font-size:.72rem;border-left:3px solid var(--accent)}.release-ribbon{left:auto;right:12px;background:var(--accent);color:#111;border:0}.empty-panel{padding:48px;border:1px dashed #383c45;color:#90949f;text-align:center;background:#0c0e12}
.event-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}.member-banner{padding-top:76px}.member-banner-inner{background:linear-gradient(120deg,#1d1f24 0%,#101116 60%,#24180a);padding:50px;display:flex;align-items:center;justify-content:space-between;gap:40px;overflow:hidden;position:relative}.member-banner-inner:before{content:"";position:absolute;width:450px;height:450px;border-radius:50%;background:rgba(237,142,0,.08);right:-90px;top:-170px}.member-banner-inner h2{font-size:clamp(2rem,4vw,3.7rem);font-weight:900;line-height:1.05;margin:10px 0 18px}.member-banner-inner p{color:#a9adb6;max-width:700px}.member-card-visual{position:relative;z-index:2;width:330px;height:190px;padding:28px;border-radius:19px;background:linear-gradient(135deg,#efb350,#7b4900);color:#111;box-shadow:0 35px 80px rgba(0,0,0,.45);display:flex;flex-direction:column}.member-card-visual span{font-size:2.5rem;font-weight:1000}.member-card-visual strong{margin-top:auto;font-size:1.2rem;letter-spacing:.15em}.member-card-visual small{letter-spacing:.2em;margin-top:4px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.article-card{background:#0e1014;border-bottom:2px solid #252830}.article-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.article-card>div{padding:18px}.article-card span{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.13em}.article-card h3{font-size:1.12rem;line-height:1.35;margin:8px 0}.article-card h3 a{color:white;text-decoration:none}.article-card p{color:#9297a1;font-size:.86rem}.article-card small{color:#6f747d}.media-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,31%);overflow-x:auto;gap:14px;padding-bottom:15px}.media-card{position:relative;display:block;aspect-ratio:16/9;background:#111;color:white;text-decoration:none;overflow:hidden}.media-card img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:.3s}.media-card:hover img{transform:scale(1.04);opacity:.52}.media-card .play-circle{position:absolute;left:18px;top:18px;width:48px;height:48px;border:2px solid white;border-radius:50%;display:grid;place-items:center;padding-left:3px}.media-card>div:last-child{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column}.media-card>div:last-child span{font-size:.67rem;color:var(--accent);font-weight:900}.media-card>div:last-child strong{font-size:1.05rem}.rex-footer{margin-top:75px;border-top:1px solid #292c34;background:#08090b}.footer-brand{display:inline-flex}.rex-footer h6{color:var(--accent);font-size:.75rem;letter-spacing:.14em}.rex-footer a{display:block;color:#a8acb5;text-decoration:none;margin:8px 0;font-size:.9rem}.rex-footer a:hover{color:white}.footer-bottom{border-top:1px solid #20232a;color:#666b75;display:flex;justify-content:space-between;font-size:.75rem}
.catalog-head{padding:25px 0 5px}.catalog-head h1,.schedule-hero h1{font-size:clamp(2.6rem,5vw,4.8rem);font-weight:950;letter-spacing:-.04em}.catalog-search{display:grid;grid-template-columns:1fr 190px auto;gap:10px;max-width:850px;margin-top:25px}.schedule-hero{padding:28px 0 20px}.schedule-hero p{color:#a3a7af}.schedule-filter{display:grid;grid-template-columns:1.3fr 1.3fr 1fr auto;gap:12px;align-items:end;background:#101217;border:1px solid #292d35;padding:20px;margin-bottom:18px}.schedule-filter label{display:block;font-size:.72rem;letter-spacing:.1em;color:#aaa;margin-bottom:7px}.date-tabs{display:flex;gap:8px;overflow-x:auto;margin:20px 0 32px}.date-tabs a{min-width:92px;padding:12px;text-align:center;border:1px solid #333741;color:#aaa;text-decoration:none}.date-tabs a small,.date-tabs a strong{display:block}.date-tabs a.active,.date-tabs a:hover{border-color:var(--accent);color:var(--accent);background:rgba(237,142,0,.06)}.cinema-schedule-block{border-top:2px solid var(--accent);margin-bottom:40px;background:#0d0f13}.cinema-schedule-head{padding:22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #272b32}.cinema-schedule-head span:first-child{font-size:.68rem;color:var(--accent);letter-spacing:.15em;font-weight:900}.cinema-schedule-head h2{margin:4px 0;font-size:1.6rem}.cinema-schedule-head p{margin:0;color:#8f949d;font-size:.85rem}.city-badge{padding:8px 12px;border:1px solid #333743;color:#aaa;font-size:.75rem}.movie-show-row{display:grid;grid-template-columns:85px 1fr;gap:20px;padding:20px 22px;border-bottom:1px solid #20232a}.movie-show-row>img{width:85px;aspect-ratio:2/3;object-fit:cover}.movie-show-info h3{font-size:1.2rem;margin:4px 0}.movie-show-info h3 a{color:white;text-decoration:none}.movie-show-info p{color:#838894;font-size:.8rem}.showtime-pills{display:flex;gap:8px;flex-wrap:wrap}.showtime-pills a{min-width:92px;border:1px solid #383c45;padding:9px 12px;color:white;text-decoration:none;text-align:center}.showtime-pills a:hover{border-color:var(--accent);color:var(--accent)}.showtime-pills strong,.showtime-pills small{display:block}.showtime-pills small{color:#858a94;font-size:.67rem;margin-top:3px}
.movie-detail-hero{min-height:630px;margin-top:76px;position:relative;display:flex;align-items:end}.movie-detail-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;filter:blur(0)}.movie-detail-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,var(--bg))}.movie-detail-inner{position:relative;z-index:2;display:grid;grid-template-columns:260px 1fr;gap:45px;align-items:end;padding-bottom:60px}.movie-detail-inner .detail-poster{width:260px;border-radius:2px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.movie-detail-inner h1{font-size:clamp(3rem,6vw,6rem);line-height:.92;font-weight:950;letter-spacing:-.05em;text-transform:uppercase}.movie-meta-chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.movie-meta-chips span{border:1px solid rgba(255,255,255,.22);padding:7px 10px;font-size:.75rem}.movie-detail-desc{max-width:800px;color:#c2c4c9;line-height:1.75}.detail-section{padding-top:70px}.cinema-showtimes{padding:20px 0 25px;border-bottom:1px solid #292d35}.cinema-mini-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:15px}.cinema-mini-head h3{margin:0;font-size:1.35rem}.cinema-mini-head p{color:#818690;margin:4px 0}.cinema-mini-head>span{font-size:.72rem;color:var(--accent);border:1px solid #614014;padding:7px 10px}.article-detail{max-width:960px;margin:auto}.article-detail-head{padding:35px 0}.article-detail-head>span{color:var(--accent);font-size:.75rem;font-weight:900;letter-spacing:.15em}.article-detail-head h1{font-size:clamp(2.5rem,5vw,4.7rem);font-weight:950;line-height:1.03;margin:12px 0}.article-detail-head p{font-size:1.18rem;color:#a9adb5}.article-detail-head small{color:#6f747e}.article-cover{width:100%;max-height:560px;object-fit:cover}.article-content{font-size:1.08rem;line-height:1.9;color:#d3d4d8;white-space:pre-line;padding:35px 0}
.profile-grid-v3{display:grid;grid-template-columns:330px 1fr;border:1px solid #2a2d34;background:#0e1014}.member-panel{padding:36px;background:linear-gradient(180deg,#161920,#0b0d11)}.member-panel h3{text-align:center;margin:10px 0 4px}.member-panel>p{text-align:center;color:#838894;font-size:.82rem}.member-tier{margin-top:25px;border-radius:17px;padding:22px;background:linear-gradient(135deg,#383b43,#181b20);display:flex;flex-direction:column;min-height:150px;box-shadow:inset 0 1px rgba(255,255,255,.08)}.member-tier small{letter-spacing:.16em}.member-tier strong{font-size:2rem;margin-top:auto}.member-tier span{font-size:.78rem;color:#ddd}.member-tier.tier-silver{background:linear-gradient(135deg,#d9dce0,#6f7781);color:#111}.member-tier.tier-gold{background:linear-gradient(135deg,#efbd5b,#895000);color:#111}.member-tier.tier-diamond{background:linear-gradient(135deg,#c7f6ff,#6b9eb4,#242e3d);color:#071015}.tier-progress{margin-top:24px;font-size:.76rem;color:#9499a3}.tier-progress .progress{height:7px;background:#292d34;margin:10px 0}.tier-progress .progress-bar{background:var(--accent)}.profile-links{margin-top:28px;border-top:1px solid #2a2d34;padding-top:15px}.profile-links a{display:block;color:#b1b5bd;text-decoration:none;padding:9px 0}.profile-main-v3{padding:42px}.profile-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.profile-heading h1{font-size:2.6rem;font-weight:900}.points-box{text-align:right}.points-box span{display:block;color:#858a95;font-size:.75rem}.points-box strong{font-size:2.5rem;color:var(--accent)}.profile-form-v3{max-width:900px}.form-divider{border-top:1px solid #2c3038;margin-top:15px;padding-top:15px}.form-divider span{font-size:.72rem;color:var(--accent);font-weight:900;letter-spacing:.15em}
.booking-progress-v3{margin-top:76px;background:#0d0f13;border-bottom:1px solid #282b33}.booking-progress-line{height:84px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;position:relative}.booking-progress-line:before{content:"";position:absolute;left:12.5%;right:12.5%;top:29px;height:1px;background:#3a3e47}.booking-progress-step{position:relative;z-index:2;text-align:center;color:#696e78;font-size:.75rem;font-weight:800;letter-spacing:.06em}.booking-progress-step i{margin:0 auto 6px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#262a31;border:2px solid #3a3e47;font-style:normal}.booking-progress-step.active{color:var(--accent)}.booking-progress-step.active i{background:var(--accent);border-color:var(--accent);color:#111}.booking-progress-step.done{color:#d0d2d6}.booking-progress-step.done i{background:#555b64;border-color:#707781;color:white}.booking-page-v3{padding-top:28px;padding-bottom:60px}.booking-movie-bar{display:grid;grid-template-columns:60px 1fr auto;gap:16px;align-items:center;padding:13px 0 24px}.booking-movie-bar img{width:60px;height:84px;object-fit:cover}.booking-movie-bar h2{font-size:1.45rem;margin:0}.booking-movie-bar p:last-child{color:#8f949e;margin:4px 0}.booking-movie-bar>a{color:var(--accent);text-decoration:none;font-weight:700;font-size:.82rem}.booking-layout-v3{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px}.booking-main-v3{background:#0c0e12;border:1px solid #242831;min-height:600px}.booking-stage{display:none;padding:30px}.booking-stage.active{display:block}.stage-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;border-bottom:1px solid #292d35;padding-bottom:18px;margin-bottom:25px}.stage-heading span{color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.15em}.stage-heading h2{font-size:2rem;margin:4px 0 0;font-weight:900}.stage-heading>p{color:#828791;margin:0;font-size:.8rem}.screen-v3{width:78%;height:65px;margin:20px auto 35px;display:grid;place-items:end center;padding-bottom:4px;color:#888;font-size:.65rem;letter-spacing:.18em;border-top:5px solid #d8d8d8;border-radius:50%;box-shadow:0 -15px 30px rgba(255,255,255,.08)}.seat-map{grid-template-columns:repeat(10,minmax(36px,1fr));max-width:800px}.seat.couple{outline:1px solid #a14d82}.seat-dot.couple{background:#7d315f}.snack-grid-v3{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.snack-card-v3{display:grid;grid-template-columns:86px 1fr auto;gap:15px;align-items:center;border:1px solid #2a2e36;padding:14px;background:#11141a}.snack-image{width:86px;height:86px;background:#0a0c10;display:grid;place-items:center;font-size:2rem}.snack-image img{width:100%;height:100%;object-fit:cover}.snack-content h3{font-size:1rem;margin:0}.snack-content p{font-size:.74rem;color:#858a94;margin:5px 0}.snack-content strong{font-size:.9rem;color:var(--accent)}.qty-control{display:grid;grid-template-columns:28px 42px 28px;align-items:center}.qty-control button{height:32px;border:1px solid #363b45;background:#1d2128;color:white}.qty-control input{width:42px;height:32px;background:#0c0e12;color:white;border:1px solid #363b45;text-align:center}.stage-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.payment-grid-v3{display:grid;gap:15px}.payment-card{border:1px solid rgba(183,191,209,.16);background:linear-gradient(145deg,#172542,#111b32);padding:22px;border-radius:14px}.payment-card h4{margin-bottom:16px;font-family:'Anton',sans-serif;font-size:1.15rem;font-weight:400;letter-spacing:.03em;text-transform:uppercase;color:var(--text)}.payment-card>small{color:var(--text-muted)}.payment-radio-list{display:grid;gap:10px}.payment-radio-list label{display:grid;grid-template-columns:auto 42px minmax(0,1fr);align-items:center;gap:12px;border:1px solid rgba(183,191,209,.2);border-radius:10px;padding:13px 14px;cursor:pointer;background:rgba(15,23,42,.58);transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.payment-radio-list label:hover{border-color:rgba(244,229,0,.65);transform:translateY(-1px)}.payment-radio-list label:has(input:checked){border-color:var(--yellow);background:rgba(244,229,0,.1);box-shadow:0 0 0 1px rgba(244,229,0,.16)}.payment-radio-list input{accent-color:var(--yellow);margin:0}.payment-radio-list .payment-method-icon{display:grid;place-items:center;flex-direction:initial;width:42px;height:42px;border-radius:11px;background:var(--purple);color:#fff;font-family:'Anton',sans-serif;font-size:1.35rem;font-weight:400}.payment-method-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.payment-method-copy strong{color:var(--text);font-size:.98rem}.payment-method-copy small{color:var(--text-muted);font-size:.78rem;line-height:1.4}.booking-sidebar-v3{align-self:start;position:sticky;top:95px}.sidebar-card-v3{border-top:3px solid var(--accent);background:#13161c;padding:23px}.sidebar-card-v3>h3{font-size:.85rem;letter-spacing:.13em;font-weight:900;border-bottom:1px solid #30343d;padding-bottom:15px}.sidebar-movie{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid #2b2f37}.sidebar-movie img{width:52px;height:75px;object-fit:cover}.sidebar-movie strong,.sidebar-movie small{display:block}.sidebar-movie small{color:#858a94;margin-top:5px}.summary-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px dashed #31353e;font-size:.82rem}.summary-line span{color:#888d97}.summary-line strong{text-align:right}.summary-total{display:flex;justify-content:space-between;align-items:end;padding:19px 0}.summary-total span{font-size:.72rem;letter-spacing:.12em}.summary-total strong{font-size:1.55rem;color:var(--accent)}.hold-notice{text-align:center;margin-top:10px;padding:10px;background:#31260f;color:#f6c66e;font-size:.82rem}
.dashboard-filter{display:grid;grid-template-columns:140px 140px 1fr 1fr 1fr auto auto;gap:9px;align-items:end;background:#101217;border:1px solid #292d35;padding:15px;margin-bottom:15px}.dashboard-filter label{font-size:.68rem;color:#8f949f;margin-bottom:5px}.stat-card small{display:block;color:#6f7580;margin-top:4px;font-size:.72rem}.stat-card .money-stat{font-size:1.65rem;color:#61d78b}.section-header-admin{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.section-header-admin>span,.section-header-admin div>span{font-size:.72rem;color:#7f848e}.status-stack{display:grid;gap:10px;margin-top:20px}.status-stack>div{display:flex;justify-content:space-between;border-bottom:1px solid #2a2e36;padding:12px 0}.status-stack span{color:#969ba5}.status-stack strong{font-size:1.25rem}.leaderboard>div{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #272b33}.leaderboard i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#272b32;font-style:normal;font-weight:900;color:var(--accent)}.leaderboard span strong,.leaderboard span small{display:block}.leaderboard span small{color:#777d87}.leaderboard b{color:#7ae09c;font-size:.85rem}.admin-thumb{width:80px;height:55px;object-fit:cover;background:#0b0d11}.admin-form h4{margin-bottom:20px}.admin-form label{display:block}
.admin-entry{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.45rem .9rem;border:1px solid var(--yellow);border-radius:8px;background:var(--yellow);color:#0f172a;font-family:Anton,sans-serif;font-size:.9rem;letter-spacing:.04em;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease,transform .2s ease}.admin-entry:hover,.admin-entry:focus-visible{background:#fff36a;color:#0f172a;transform:translateY(-1px)}
.admin-sidebar{position:fixed;z-index:1035;top:82px;bottom:0;left:0;width:252px;padding:22px 16px 18px;background:linear-gradient(180deg,#111b32,#0b1224);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.admin-sidebar-head{display:flex;align-items:center;gap:10px;padding:0 8px 18px;border-bottom:1px solid rgba(255,255,255,.1)}.admin-sidebar-logo{width:112px;height:48px;object-fit:contain}.admin-role-badge{margin-left:auto;padding:4px 8px;border-radius:999px;background:var(--yellow);color:#0f172a;font:400 .7rem Anton,sans-serif;letter-spacing:.06em}.admin-role-badge.manager{background:var(--purple);color:#fff}.admin-sidebar-menu{display:grid;gap:4px;padding:18px 0;overflow-y:auto}.admin-sidebar-menu a{display:block;padding:10px 12px;border-left:3px solid transparent;border-radius:7px;color:var(--text-muted);text-decoration:none;font-size:.9rem}.admin-sidebar-menu a:hover,.admin-sidebar-menu a.active{background:rgba(244,229,0,.12);border-left-color:var(--yellow);color:#fff}.admin-sidebar-menu a.checkin-nav-link.active,.admin-sidebar-menu a.checkin-nav-link:hover{background:rgba(111,45,168,.25);border-left-color:#b276e5}.admin-sidebar-footer{display:grid;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.admin-sidebar-footer a,.admin-sidebar-footer button{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text-muted);text-align:left;text-decoration:none;font-size:.85rem}.admin-sidebar-footer form{margin:0}.admin-page-wrap,body:has(.admin-sidebar)>main{margin-left:252px}
@media(max-width:991px){.admin-sidebar{top:70px;width:270px;transform:translateX(-102%);transition:transform .25s ease}.admin-sidebar:hover,.admin-sidebar:focus-within{transform:translateX(0)}.admin-sidebar:before{content:'MENU QUáº¢N TRá»Š';position:fixed;left:270px;top:12px;padding:10px;background:var(--yellow);color:#0f172a;border-radius:0 7px 7px 0;font:400 .8rem Anton,sans-serif;white-space:nowrap}.admin-page-wrap,body:has(.admin-sidebar)>main{margin-left:0}}
@media(max-width:991px){.rex-auth-nav{flex-wrap:wrap;padding:.7rem 0}.admin-entry{flex:0 0 auto}}
@media(max-width:1199px){.rex-main-nav{gap:2px}.rex-main-nav .nav-link{letter-spacing:.08em}.booking-layout-v3{grid-template-columns:1fr}.booking-sidebar-v3{position:static}.dashboard-filter{grid-template-columns:repeat(3,1fr)}.member-card-visual{width:270px}}
@media(max-width:991px){.movie-grid{grid-template-columns:repeat(3,1fr)}.article-grid{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:1fr}.hero-poster-wrap{display:none}.hero-copy{padding:0 40px}.quick-schedule-box>div{flex-direction:column;align-items:stretch;gap:5px}.quick-schedule-box{align-items:stretch}.member-banner-inner{flex-direction:column;align-items:flex-start}.movie-detail-inner{grid-template-columns:190px 1fr;gap:25px}.movie-detail-inner .detail-poster{width:190px}.profile-grid-v3{grid-template-columns:1fr}.member-panel{display:grid;grid-template-columns:140px 1fr;gap:15px;text-align:left}.member-panel .avatar-wrap{grid-row:span 3}.member-panel h3,.member-panel>p{text-align:left}.member-tier,.tier-progress,.profile-links{grid-column:1/-1}.schedule-filter{grid-template-columns:1fr 1fr}.snack-grid-v3{grid-template-columns:1fr}}
@media(max-width:767px){.admin-page-wrap{padding-left:1rem;padding-right:1rem}.rex-hero-home{height:600px}.hero-copy{padding:0 18px}.hero-copy h1{font-size:3.5rem}.quick-schedule{margin-top:0}.quick-schedule-box{display:block}.quick-schedule-box>div{margin-bottom:10px}.movie-grid{grid-template-columns:repeat(2,1fr);gap:14px}.article-grid{grid-template-columns:1fr}.media-strip{grid-auto-columns:78%}.event-overlay{max-width:92%;padding:25px}.member-banner-inner{padding:30px}.member-card-visual{width:100%;max-width:330px}.catalog-search{grid-template-columns:1fr}.schedule-filter{grid-template-columns:1fr}.movie-detail-hero{min-height:720px}.movie-detail-inner{grid-template-columns:1fr;padding-top:60px}.movie-detail-inner .detail-poster{width:145px}.movie-detail-inner h1{font-size:3.2rem}.booking-progress-step span{font-size:.59rem}.booking-movie-bar{grid-template-columns:50px 1fr}.booking-movie-bar>a{grid-column:2}.booking-stage{padding:20px 14px}.stage-heading{align-items:flex-start;flex-direction:column}.seat-map{grid-template-columns:repeat(8,minmax(28px,1fr));gap:7px}.profile-main-v3{padding:25px}.profile-heading{align-items:flex-start;flex-direction:column}.points-box{text-align:left}.dashboard-filter{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column;gap:6px}}
@media(max-width:520px){.movie-grid{grid-template-columns:1fr 1fr}.movie-card-body h3{font-size:.9rem}.seat-map{grid-template-columns:repeat(5,1fr)}.member-panel{display:block}.member-panel h3,.member-panel>p{text-align:center}.dashboard-filter{grid-template-columns:1fr}.search-big-form{grid-template-columns:1fr}.footer-bottom{font-size:.68rem}}

/* ===== V4 booking + QR check-in ===== */
.ticket-actions{max-width:1040px}.ticket-real{max-width:1040px}.ticket-qr-panel{min-width:300px}.qr-frame{background:#fff;padding:14px;border-radius:18px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}.ticket-qr-img{width:230px;height:230px;display:block;image-rendering:pixelated}.qr-disabled{width:230px;height:230px;border:2px dashed #606776;border-radius:16px;display:grid;place-items:center;text-align:center;color:#858b98;font-weight:800;letter-spacing:.08em}.checkin-note{margin-top:18px;padding:12px 14px;border:1px solid rgba(49,196,141,.3);background:rgba(49,196,141,.08);border-radius:12px;color:#baf5dd}.ticket-list-v2{min-height:154px}.scanner-card{background:linear-gradient(180deg,#11141c,#0b0d12);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:20px}.scanner-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:16px;color:#c8cbd3}.scanner-head small{color:var(--muted)}.live-dot{display:inline-block;width:9px;height:9px;background:#41d895;border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px rgba(65,216,149,.11)}.qr-reader{overflow:hidden;border-radius:18px;background:#fff;min-height:300px}.qr-reader video{border-radius:12px}.scan-result{min-height:420px;border-radius:22px;padding:28px;border:1px solid rgba(255,255,255,.08);background:#10121a;display:flex;flex-direction:column;justify-content:center}.scan-result.empty{text-align:center;color:var(--muted)}.scan-result.loading{border-color:rgba(255,193,7,.35)}.scan-result.success{border-color:rgba(40,200,140,.48);background:linear-gradient(180deg,rgba(40,200,140,.10),#10121a)}.scan-result.danger{border-color:rgba(239,35,60,.5);background:linear-gradient(180deg,rgba(239,35,60,.10),#10121a)}.scan-icon{width:64px;height:64px;border-radius:18px;background:#202430;display:grid;place-items:center;font-weight:900;font-size:1.35rem;margin-bottom:18px}.scan-result.success .scan-icon{background:#153c31;color:#65e8b7}.scan-result.danger .scan-icon{background:#421a23;color:#ff7a8c}.scan-ticket-info{display:grid;gap:9px;margin-top:18px}.scan-ticket-info>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.07)}.scan-ticket-info span{color:var(--muted)}.scan-ticket-info b{text-align:right}.admin-links .checkin-nav-link{border-color:rgba(255,193,7,.35);color:#ffd765}.status-checkedin{color:#74e6b6}.availability-chip{font-size:.75rem;color:#72e2b5}.showtime-pills .showtime-link-wrap{display:inline-flex;flex-direction:column}.showtime-login-note{font-size:.75rem;color:#f3ba62}
@media(max-width:768px){.ticket-qr-panel{min-width:100%;width:100%}.ticket-qr-img,.qr-disabled{width:210px;height:210px}.scanner-head{flex-direction:column}.scan-ticket-info>div{flex-direction:column;gap:3px}.scan-ticket-info b{text-align:left}}

@media(max-width:767px){.rex-logo{height:38px;max-width:170px}.rex-brand{padding-top:2px;padding-bottom:2px}}
.site-logo{display:block;width:auto;max-width:100%;object-fit:contain}.site-logo-fallback{font-weight:900;letter-spacing:.12em;color:var(--accent)}.footer-logo{height:52px;max-width:230px}.auth-logo{display:inline-flex;align-items:center;min-height:66px;margin-bottom:24px}.auth-logo .site-logo{height:66px;max-width:250px}

@media print{.cinema-nav,.ticket-actions,.ticket-alert,footer{display:none!important}body{background:#fff!important;color:#111!important}.pt-page{padding-top:0!important}.ticket{box-shadow:none!important;border:1px solid #ccc!important}.ticket *{color:#111!important}.ticket-left,.ticket-code{background:#fff!important}.qr-frame{border:1px solid #ccc}.ticket-breakdown{border-color:#ddd!important}}
.individual-tickets-section{max-width:820px}.seat-ticket-qr{max-width:170px}@media print{.individual-tickets-section{page-break-before:always}.ticket-seat-card{border:1px solid #333!important;color:#111!important;background:#fff!important}}
.quick-showtimes{margin-top:14px;background:#0c0e14;border:1px solid rgba(255,255,255,.07);border-radius:16px;padding:14px}.quick-showtime-title{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.quick-showtime-title span{font-weight:900;color:#ff5b6e;letter-spacing:.08em}.quick-showtime-title small{color:var(--muted)}.quick-showtime-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.quick-showtime-item{min-width:275px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;background:#12151d;border:1px solid rgba(255,255,255,.06);border-radius:13px;padding:11px}.quick-showtime-item>div:first-child{display:flex;flex-direction:column}.quick-showtime-item>div:first-child strong{font-size:1.2rem}.quick-showtime-item>div:first-child span{font-size:.75rem;color:var(--muted)}.quick-showtime-copy{display:flex;flex-direction:column;min-width:0}.quick-showtime-copy b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-showtime-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-showtime-copy em{font-size:.72rem;color:#6fe0b2;font-style:normal}.quick-showtime-item>a{color:#fff;text-decoration:none;font-weight:900;font-size:.75rem;background:var(--red);padding:8px 10px;border-radius:8px}
/* Modern cinema theme overrides */

html,body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
h1,h2,h3,h4,h5,h6,.section-heading h2,.hero-copy h1,.catalog-head h1,.schedule-hero h1,.movie-detail-inner h1,.member-banner-inner h2,.btn-rex,.btn-booking,.register-submit{font-family:'Anton',sans-serif;font-weight:400}
.cinema-nav,.rex-nav{background:rgba(15,23,42,.96);border-color:rgba(183,191,209,.16)}
.rex-section,.detail-section,.schedule-section{background:transparent}
.btn-rex{background:var(--yellow);border-color:var(--yellow);color:#172033}.btn-rex:hover,.btn-rex:focus{background:var(--accent-2);border-color:var(--accent-2);color:#172033}
.form-control,.form-select{font-family:'Inter',system-ui,sans-serif}
.text-secondary,.hero-desc,.hero-meta,.movie-card-body p,.schedule-hero p{color:var(--text-muted)}
.rex-nav .container-xl{gap:18px}.rex-brand{flex:0 0 auto}.rex-main-nav{align-items:center;gap:8px}.rex-main-nav .nav-link{border-radius:999px;white-space:nowrap;transition:background .2s,color .2s}.rex-main-nav .nav-link:hover{background:rgba(111,45,168,.35);color:var(--text)}.rex-main-nav .nav-item:last-child .nav-link{display:flex;align-items:center;gap:6px;background:var(--bg-soft);border:1px solid rgba(183,191,209,.24);padding:.55rem .85rem;color:var(--text-muted)}.rex-main-nav .nav-item:last-child .nav-link:hover{border-color:var(--purple);background:rgba(111,45,168,.25);color:var(--text)}.rex-main-nav .nav-item:last-child .nav-link:before{content:'⌕';font-size:1.1rem;line-height:1}.rex-auth-nav{margin-left:auto;gap:8px!important;white-space:nowrap}.rex-booking-cta,.rex-mobile-booking{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--yellow);color:#172033;text-decoration:none;font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.02em;padding:.62rem 1rem;line-height:1;white-space:nowrap}.rex-booking-cta:hover,.rex-mobile-booking:hover{background:#fff36a;color:#172033}.rex-auth-nav .btn-outline-light,.rex-auth-nav .btn-rex,.rex-auth-nav .btn-dark-soft,.rex-auth-nav .btn-outline-warning{border-radius:999px}.rex-header-actions{margin-left:auto}.rex-mobile-booking{font-size:.9rem;padding:.55rem .8rem}.rex-nav .navbar-toggler{border-color:rgba(183,191,209,.4);border-radius:10px;padding:.45rem .6rem}.rex-nav .navbar-toggler:focus{box-shadow:0 0 0 .15rem rgba(244,229,0,.28)}
.quick-schedule-box{display:flex;align-items:center;justify-content:center;gap:18px;min-height:92px;padding:18px 24px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#f8fafc;color:#18233a;box-shadow:0 20px 45px rgba(2,8,23,.35)}.quick-schedule-box>div{display:flex;flex:1;align-items:center;gap:14px;max-width:820px}.quick-schedule-box span{color:#18233a;font-family:'Anton',sans-serif;font-size:clamp(1.1rem,2vw,1.55rem);font-weight:400;letter-spacing:.02em;white-space:nowrap}.quick-schedule-box .form-select{min-width:240px;height:48px;min-height:48px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#18233a;font-family:'Inter',sans-serif}.quick-schedule-box>.btn{height:48px;border-radius:9px;background:var(--purple);border-color:var(--purple);color:#fff;font-family:'Anton',sans-serif;font-weight:400;font-size:1.05rem;white-space:nowrap}.quick-schedule-box>.btn:hover{background:#8540bf;border-color:#8540bf;color:#fff}.quick-showtimes{background:var(--bg-soft);border-color:rgba(183,191,209,.16);border-radius:14px}.quick-showtime-title span{font-family:'Anton',sans-serif;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:400;letter-spacing:.02em;color:var(--yellow)}.quick-showtime-item>a{background:var(--purple);border-radius:9px;padding:10px 13px;color:#fff;font-family:'Anton',sans-serif;font-size:0;line-height:1;white-space:nowrap}.quick-showtime-item>a:after{content:'Äáº¶T NGAY';font-size:.9rem}.section-heading h2{font-family:'Anton',sans-serif;font-size:clamp(2rem,4vw,3.25rem);font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:.015em;color:var(--text)}.section-heading{padding-top:22px;margin-bottom:32px}.section-heading a{color:var(--text-muted)}
@media(max-width:1199px){.rex-nav .container-xl{gap:12px}.rex-main-nav{gap:2px}.rex-main-nav .nav-link{font-size:.72rem;padding-left:.38rem;padding-right:.38rem}.rex-booking-cta{padding:.58rem .78rem;font-size:.9rem}}
@media(max-width:991px){.rex-nav .container-xl{flex-wrap:wrap}.rex-nav .navbar-collapse{flex-basis:100%;padding:14px 0 8px;border-top:1px solid rgba(183,191,209,.14);margin-top:10px}.rex-main-nav{align-items:stretch;margin:0!important;gap:4px}.rex-main-nav .nav-link{width:100%;padding:.7rem .8rem}.rex-main-nav .nav-item:last-child .nav-link{justify-content:flex-start}.rex-auth-nav{align-items:stretch!important;flex-wrap:wrap;margin:12px 0 0;white-space:normal}.rex-auth-nav>*{flex:1 1 auto;text-align:center}.rex-booking-cta{order:-1;flex-basis:100%;min-height:42px}.rex-header-actions{display:flex;align-items:center}}
@media(max-width:575px){.rex-nav{min-height:68px}.rex-logo{height:36px;max-width:145px}.rex-nav .container-xl{padding-left:14px;padding-right:14px}.rex-mobile-booking{font-size:.82rem}.rex-auth-nav .nav-profile-link{flex-basis:100%;justify-content:center}.rex-main-nav .nav-link{font-size:.75rem}}

.btn-booking,.hero-copy .d-flex .btn-rex{font-family:'Anton',sans-serif;font-size:30px;font-weight:400;font-style:normal;font-stretch:100%;line-height:46.5px;text-transform:uppercase;letter-spacing:0;white-space:nowrap}

/* Final frontend polish: movie cards, promotions, footer and responsive layout */
.movie-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px)}.rex-movie-card{display:flex;min-width:0;flex-direction:column;background:transparent}.poster-link{position:relative;display:block;overflow:hidden;aspect-ratio:2/3;border-radius:14px;background:#111;box-shadow:0 12px 30px rgba(2,8,23,.25)}.poster-link img{display:block;width:100%;height:100%;object-fit:cover;filter:none;transition:transform .22s ease,filter .22s ease}.poster-link:hover img{transform:scale(1.025);filter:brightness(.9)}.poster-hover{border-radius:8px;background:var(--yellow);color:#172033;transition:opacity .2s ease,transform .2s ease}.movie-card-body{display:flex;flex:1;flex-direction:column;padding:16px 3px 2px}.movie-card-body h3{min-height:2.55em;margin:0 0 8px;color:var(--text);font-family:'Inter',sans-serif;font-size:clamp(.98rem,1.2vw,1.12rem);font-weight:750;line-height:1.28;letter-spacing:0;text-transform:uppercase}.movie-card-body p{min-height:1.45em;margin-bottom:14px;overflow:hidden;color:var(--text-muted);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.movie-card-body>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;color:#a6aab2;font-size:.78rem}.movie-card-body>div>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:8px;background:var(--yellow);color:#172033;font-family:'Anton',sans-serif;font-size:1rem;font-weight:400;line-height:1;letter-spacing:.01em;white-space:nowrap;text-decoration:none}.coming-grid .movie-card-body>div>a{background:var(--purple);color:#fff}.movie-card-body>div>a:hover{filter:brightness(1.07)}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}.event-card{position:relative;overflow:hidden;min-height:clamp(280px,34vw,360px);border:1px solid rgba(183,191,209,.13);border-radius:16px;background:var(--bg-soft);box-shadow:0 14px 34px rgba(2,8,23,.22)}.event-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .25s ease,opacity .25s ease}.event-card:hover img{transform:scale(1.018);opacity:.72}.event-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,23,42,.95),rgba(15,23,42,.58) 62%,rgba(15,23,42,.2))}.event-overlay{position:relative;z-index:2;max-width:min(76%,620px);padding:clamp(24px,4vw,42px)}.event-overlay>span{color:var(--yellow);font-size:.75rem;font-weight:900;letter-spacing:.13em}.event-overlay h3{margin:10px 0;font-family:'Anton',sans-serif;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:400;line-height:1.08}.event-overlay p{color:var(--text-muted);line-height:1.6}.event-overlay a{display:inline-flex;align-items:center;min-height:40px;margin-top:8px;padding:9px 14px;border-radius:8px;background:var(--purple);color:#fff;font-size:.78rem;font-weight:900;text-decoration:none}
.rex-footer{margin-top:clamp(56px,8vw,90px);border-color:rgba(183,191,209,.14);background:#0b1325}.rex-footer .container-xl{padding-top:clamp(38px,5vw,58px)!important;padding-bottom:clamp(30px,4vw,46px)!important}.footer-brand{display:inline-flex;align-items:center;margin:0}.footer-logo{height:54px;max-width:230px}.rex-footer h6{margin-bottom:16px;color:var(--yellow);font-family:'Anton',sans-serif;font-size:1rem;font-weight:400;letter-spacing:.08em}.rex-footer p,.rex-footer a{color:var(--text-muted)}.rex-footer a{width:max-content;max-width:100%;margin:9px 0;line-height:1.4}.rex-footer a:hover{color:var(--text)}.footer-bottom{align-items:center;border-color:rgba(183,191,209,.13);color:#8994aa;gap:14px;line-height:1.5}
.rex-footer .footer-brand{display:inline-flex;align-items:center;margin:0}img{max-width:100%}.btn,.rex-booking-cta,.rex-mobile-booking{max-width:100%}
@media(max-width:1199px){.movie-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-overlay{max-width:82%}}
@media(max-width:991px){.movie-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-grid{grid-template-columns:1fr}.event-card{min-height:310px}.rex-footer .row>div:first-child{margin-bottom:8px}}
@media(max-width:767px){.rex-section{padding-top:56px}.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 13px}.movie-card-body{padding-top:12px}.movie-card-body h3{min-height:2.5em;font-size:.95rem}.movie-card-body>div{align-items:flex-start;flex-direction:column}.movie-card-body>div>a{width:100%;min-height:38px}.event-card{min-height:300px}.event-overlay{max-width:92%;padding:24px}.event-overlay p{font-size:.9rem}.footer-logo{height:46px}.footer-bottom{align-items:flex-start}}
@media(max-width:480px){.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.movie-card-body h3{font-size:.88rem}.movie-card-body p{font-size:.74rem}.movie-card-body>div{font-size:.72rem}.movie-card-body>div>a{padding:7px 8px;font-size:.88rem}.age-tag,.release-ribbon{top:8px;left:8px;padding:5px 7px}.release-ribbon{right:8px;left:auto}.event-card{min-height:330px}.event-overlay{max-width:100%;padding:22px}.event-overlay h3{font-size:1.65rem}.event-overlay p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.rex-footer .row{--bs-gutter-y:1.8rem}.rex-footer .col-6{width:100%}.footer-bottom{font-size:.7rem}}
.rex-movie-card .poster-link:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.rex-movie-card .poster-link:hover .poster-hover,.rex-movie-card .poster-link:focus-visible .poster-hover{opacity:1;transform:translateY(0)}
.rex-movie-card .poster-hover{position:absolute;right:14px;bottom:14px;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 11px;border-radius:8px;background:var(--yellow);color:#172033;font-size:.7rem;font-weight:900;letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
.rex-movie-card .poster-info{position:absolute;inset:0;z-index:2;display:flex;justify-content:flex-end;flex-direction:column;gap:7px;padding:20px 16px 56px;background:linear-gradient(180deg,rgba(5,8,16,.08) 22%,rgba(5,8,16,.92) 100%);color:#fff;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.rex-movie-card .poster-link:hover .poster-info,.rex-movie-card .poster-link:focus-visible .poster-info{opacity:1;transform:translateY(0)}
.rex-movie-card .poster-info-title{display:-webkit-box;overflow:hidden;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.15;text-overflow:ellipsis;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.rex-movie-card .poster-info-meta{display:flex;align-items:center;gap:7px;min-width:0;color:#e1e5ed;font-size:.72rem;line-height:1.25}
.rex-movie-card .poster-info-meta>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rex-movie-card .poster-info-icon{flex:0 0 15px;color:var(--yellow);font-size:.68rem;text-align:center}
.rex-movie-card .movie-card-language{display:block;margin:-8px 0 12px;overflow:hidden;color:#8f98aa;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}
.rex-movie-card .movie-card-language+div{margin-top:auto}
.rex-movie-card .movie-card-body h3{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rex-movie-card .movie-card-meta{display:flex;align-items:center;min-height:1.2em;margin:0 0 10px;color:#a6aab2;font-size:.76rem;line-height:1.2}
.rex-movie-card .movie-card-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:stretch!important;gap:8px!important;margin-top:auto!important}
.rex-movie-card .movie-card-actions .movie-card-trailer,.rex-movie-card .movie-card-actions .movie-card-booking{display:inline-flex;align-items:center;justify-content:center;min-width:0;min-height:36px;padding:8px 9px;border:1px solid transparent;border-radius:8px;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.rex-movie-card .movie-card-actions .movie-card-trailer{border-color:rgba(183,191,209,.32);background:transparent;color:#d8dce5}
.rex-movie-card .movie-card-actions .movie-card-trailer:not(.is-disabled):hover{border-color:var(--yellow);color:var(--yellow);transform:translateY(-1px)}
.rex-movie-card .movie-card-actions .movie-card-trailer span{margin-right:5px;color:var(--yellow);font-size:.62rem}
.rex-movie-card .movie-card-actions .movie-card-trailer.is-disabled{cursor:default;opacity:.42}
.rex-movie-card .movie-card-actions .movie-card-booking{background:var(--yellow);color:#172033;font-weight:800}
.rex-movie-card .movie-card-actions .movie-card-booking:hover{background:var(--accent-2);color:#172033;transform:translateY(-1px)}
@media(max-width:767px){.rex-movie-card .movie-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6px!important}.rex-movie-card .movie-card-actions .movie-card-trailer,.rex-movie-card .movie-card-actions .movie-card-booking{min-height:38px;padding:8px 5px;font-size:.66rem}}
@media (hover:none),(pointer:coarse){.rex-movie-card .poster-info,.rex-movie-card .poster-hover{display:none}.rex-movie-card .poster-link:hover img{filter:none;transform:none}}
.admin-sidebar-toggle{display:none}.error-panel{max-width:760px}
.admin-title h1{font-family:Anton,sans-serif;font-weight:400;letter-spacing:.02em;text-transform:uppercase;font-size:clamp(2rem,3vw,3rem);color:var(--text);margin-bottom:.35rem}.admin-title{margin-bottom:24px}.admin-title .eyebrow{color:var(--yellow)}.admin-page-wrap .stat-card{min-height:128px;padding:20px;background:linear-gradient(145deg,#172542,#111b32);box-shadow:0 12px 28px rgba(0,0,0,.14)}.admin-page-wrap .stat-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-page-wrap .stat-card strong{margin-top:10px;color:#fff;font-size:clamp(1.45rem,2.4vw,2.1rem);line-height:1}.admin-page-wrap .stat-card small{color:var(--text-muted)}.admin-page-wrap .chart-card{box-shadow:0 12px 28px rgba(0,0,0,.12)}.admin-page-wrap .dashboard-filter{border-radius:14px;background:#111b32;border-color:rgba(255,255,255,.1)}.admin-page-wrap .dashboard-filter .btn{min-height:44px}.admin-page-wrap .section-header-admin h4,.admin-page-wrap .chart-card>h4{font-family:Anton,sans-serif;font-weight:400;letter-spacing:.02em}
@media(max-width:991px){.admin-sidebar-toggle{display:block;position:fixed;z-index:1036;left:0;top:84px;padding:9px 10px;border:0;border-radius:0 7px 7px 0;background:var(--yellow);color:#0f172a;font:400 .75rem Anton,sans-serif}.admin-sidebar{transform:translateX(-102%)}body.admin-sidebar-open .admin-sidebar{transform:translateX(0)}body.admin-sidebar-open .admin-sidebar-toggle{left:270px}.admin-sidebar:hover,.admin-sidebar:focus-within{transform:translateX(-102%)}}

/* Admin shell */
.admin-sidebar{top:76px;width:264px;padding:0;background:linear-gradient(180deg,#111b31 0%,#0b1325 100%);border-right:1px solid rgba(183,191,209,.14);box-shadow:16px 0 40px rgba(2,8,23,.2)}
.admin-sidebar-head{min-height:88px;padding:16px 18px}.admin-sidebar-brand{display:flex;align-items:center;min-width:0}.admin-sidebar-logo{width:auto;height:52px;max-width:170px;object-fit:contain}.admin-sidebar-close{display:none;margin-left:auto;border:0;background:transparent;color:var(--text);font-size:1.8rem;line-height:1}
.admin-sidebar-role{display:flex;align-items:center;gap:9px;margin:0 16px;padding:13px 4px;border-bottom:1px solid rgba(183,191,209,.12);color:var(--text-muted);font-size:.76rem;overflow:hidden}.admin-sidebar-role>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-badge{flex:0 0 auto;margin:0}
.admin-sidebar-menu{gap:3px;padding:14px 12px}.admin-sidebar-menu a{padding:9px 13px;border-left:0;border-radius:9px;font-weight:650}.admin-sidebar-menu a:hover,.admin-sidebar-menu a.active{border-left:0;background:linear-gradient(90deg,rgba(244,229,0,.18),rgba(244,229,0,.05));color:#fff;box-shadow:inset 3px 0 0 var(--yellow)}.admin-sidebar-menu a[data-admin-route="/admin/checkin"].active{background:linear-gradient(90deg,rgba(111,45,168,.38),rgba(111,45,168,.08));box-shadow:inset 3px 0 0 #b276e5}
.admin-sidebar-footer{margin:0 12px;padding:14px 0 18px}.admin-sidebar-footer a,.admin-sidebar-footer button{display:block;border-color:rgba(183,191,209,.15);background:rgba(255,255,255,.025)}.admin-sidebar-backdrop{display:none}
.admin-page-wrap,body:has(.admin-sidebar)>main{width:calc(100% - 264px);max-width:none;margin-left:264px;padding-right:clamp(18px,3vw,42px);padding-left:clamp(18px,3vw,42px)}
body:has(.admin-sidebar)>main>h1,body:has(.admin-sidebar)>main>.d-flex h1{font-family:Anton,sans-serif;font-weight:400;text-transform:uppercase}
.dashboard-stat-grid{--bs-gutter-y:1rem}.dashboard-stat-card{height:100%;min-height:132px;padding:18px;border:1px solid rgba(183,191,209,.13);background:linear-gradient(145deg,#192844,#111b32);box-shadow:0 10px 28px rgba(2,8,23,.16)}.dashboard-stat-card span{display:block;color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.dashboard-stat-card strong{display:block;margin:12px 0 7px;color:var(--text);font-size:clamp(1.45rem,2vw,2rem);line-height:1;font-weight:700}.dashboard-stat-card .money-stat{color:var(--yellow)}.dashboard-stat-card small{display:block;color:#8f9bb2;font-size:.73rem}.dashboard-chart-card{border-color:rgba(183,191,209,.14);background:linear-gradient(145deg,#151f36,#101a2f)}#revenueChart{max-height:330px}
@media(max-width:767px){.dashboard-stat-card{min-height:116px;padding:15px}.dashboard-stat-card strong{font-size:1.35rem}.dashboard-stat-card small{font-size:.68rem}.dashboard-filter{grid-template-columns:1fr}.dashboard-filter .btn,.dashboard-filter a{width:100%}}
@media(max-width:991px){.admin-page-wrap,body:has(.admin-sidebar)>main{width:100%;margin-left:0;padding-right:16px;padding-left:16px}.admin-sidebar{top:0;z-index:1060;width:min(86vw,300px);transform:translateX(-105%);transition:transform .24s ease}.admin-sidebar:hover,.admin-sidebar:focus-within{transform:translateX(-105%)}body.admin-sidebar-open{overflow:hidden}body.admin-sidebar-open .admin-sidebar,body.admin-sidebar-open .admin-sidebar:hover,body.admin-sidebar-open .admin-sidebar:focus-within{transform:translateX(0)}.admin-sidebar-close{display:block}.admin-sidebar-toggle{display:inline-flex;align-items:center;gap:8px;top:86px;left:12px;z-index:1050;padding:9px 12px;border-radius:8px;box-shadow:0 8px 22px rgba(0,0,0,.24)}body.admin-sidebar-open .admin-sidebar-toggle{left:12px;visibility:hidden}.admin-sidebar-backdrop{position:fixed;z-index:1055;inset:0;border:0;background:rgba(2,8,23,.68);backdrop-filter:blur(2px)}body.admin-sidebar-open .admin-sidebar-backdrop{display:block}.admin-sidebar-head{min-height:82px}.admin-title{padding-top:46px}}
/* Shared admin table and form controls */
body:has(.admin-sidebar) table{width:100%;margin:0;border-collapse:separate;border-spacing:0;font-family:'Inter',sans-serif;color:var(--text)}body:has(.admin-sidebar) .table-responsive{border:1px solid rgba(183,191,209,.14);border-radius:14px;background:#111b32;overflow-x:auto;box-shadow:0 10px 26px rgba(2,8,23,.12)}body:has(.admin-sidebar) .table-dark{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:rgba(183,191,209,.1)}body:has(.admin-sidebar) table thead th{padding:13px 15px;border-bottom:1px solid rgba(244,229,0,.32);background:#192844;color:var(--yellow);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}body:has(.admin-sidebar) table tbody td{padding:13px 15px;border-bottom:1px solid rgba(183,191,209,.08);vertical-align:middle;color:#e8ebf2;font-size:.86rem}body:has(.admin-sidebar) table tbody tr:last-child td{border-bottom:0}body:has(.admin-sidebar) table tbody tr{transition:background-color .16s ease}body:has(.admin-sidebar) table tbody tr:hover{background:rgba(111,45,168,.13)}body:has(.admin-sidebar) table .btn{min-height:32px;padding:5px 10px;border-radius:7px;font-size:.74rem;font-weight:700;white-space:nowrap}body:has(.admin-sidebar) table form{display:inline-block;margin:0}body:has(.admin-sidebar) table .badge{font-size:.68rem;letter-spacing:.04em}
body:has(.admin-sidebar) .admin-form{padding:22px;background:linear-gradient(145deg,#172542,#111b32);border:1px solid rgba(183,191,209,.14);border-radius:14px;box-shadow:0 10px 26px rgba(2,8,23,.12)}body:has(.admin-sidebar) .admin-form h4,body:has(.admin-sidebar) main>h1{font-family:'Anton',sans-serif;font-size:1.6rem;font-weight:400;letter-spacing:.02em;text-transform:uppercase;color:var(--text)}body:has(.admin-sidebar) .admin-form label{display:block;margin:0 0 7px;color:var(--text-muted);font-size:.76rem;font-weight:700;letter-spacing:.04em}body:has(.admin-sidebar) .admin-form .form-control,body:has(.admin-sidebar) .admin-form .form-select{min-height:44px;border:1px solid rgba(183,191,209,.24);border-radius:8px;background:#0d172b;color:var(--text);font-family:'Inter',sans-serif;font-size:.88rem}body:has(.admin-sidebar) .admin-form textarea.form-control{min-height:100px;resize:vertical}body:has(.admin-sidebar) .admin-form .form-control:focus,body:has(.admin-sidebar) .admin-form .form-select:focus{border-color:var(--yellow);box-shadow:0 0 0 .18rem rgba(244,229,0,.16)}body:has(.admin-sidebar) .admin-form .btn-danger,body:has(.admin-sidebar) .admin-form .btn-rex{border-color:var(--purple);background:var(--purple);color:#fff;font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.02em}body:has(.admin-sidebar) .admin-form .btn-danger:hover,body:has(.admin-sidebar) .admin-form .btn-rex:hover{border-color:#8540bf;background:#8540bf}body:has(.admin-sidebar) .admin-form .btn-link{color:var(--text-muted)}body:has(.admin-sidebar) .invalid-feedback,body:has(.admin-sidebar) .validation-message,body:has(.admin-sidebar) .field-error{display:block;margin-top:5px;color:#ff8d9a;font-size:.75rem}body:has(.admin-sidebar) .form-control.is-invalid,body:has(.admin-sidebar) .form-select.is-invalid{border-color:#e85d6a}
body:has(.admin-sidebar) .btn-outline-danger{color:#ff8994;border-color:rgba(232,93,106,.65)}body:has(.admin-sidebar) .btn-outline-danger:hover{background:#b83245;border-color:#b83245;color:#fff}body:has(.admin-sidebar) .btn-outline-warning{color:var(--yellow);border-color:rgba(244,229,0,.55)}body:has(.admin-sidebar) .btn-outline-warning:hover{background:var(--yellow);color:#0f172a}body:has(.admin-sidebar) .btn-outline-light{border-color:rgba(183,191,209,.35);color:var(--text-muted)}body:has(.admin-sidebar) .btn-outline-light:hover{border-color:var(--yellow);color:var(--yellow);background:rgba(244,229,0,.08)}
@media(max-width:767px){body:has(.admin-sidebar) .table-responsive{margin-right:-2px;border-radius:10px}body:has(.admin-sidebar) table thead th,body:has(.admin-sidebar) table tbody td{padding:11px 12px}body:has(.admin-sidebar) .admin-form{padding:17px}body:has(.admin-sidebar) .admin-form .btn{min-height:42px}}
body:has(.admin-sidebar) .badge.text-bg-success{background:#236f58;color:#d9fff0}body:has(.admin-sidebar) .badge.text-bg-warning{background:rgba(244,229,0,.2);color:var(--yellow)}body:has(.admin-sidebar) .badge.text-bg-info{background:rgba(111,45,168,.35);color:#e6d4ff}body:has(.admin-sidebar) .badge.text-bg-secondary,body:has(.admin-sidebar) .badge.text-bg-dark{background:rgba(183,191,209,.14);color:var(--text-muted)}body:has(.admin-sidebar) .badge.text-bg-danger{background:#9f3043;color:#fff}
body:has(.admin-sidebar) .table-responsive>table{min-width:640px}body:has(.admin-sidebar) table tbody td{overflow-wrap:anywhere}body:has(.admin-sidebar) table tbody td:last-child{white-space:nowrap}body:has(.admin-sidebar) table .text-secondary{color:#9aa7bd}body:has(.admin-sidebar) table .small{font-size:.75rem;line-height:1.35}body:has(.admin-sidebar) table td strong{font-weight:700;color:#fff}body:has(.admin-sidebar) table td:nth-last-child(-n+2){font-variant-numeric:tabular-nums}
/* Admin responsive guardrails */
body:has(.admin-sidebar){overflow-x:hidden}body:has(.admin-sidebar) .admin-page-wrap{min-width:0}.admin-page-wrap .row{--bs-gutter-x:1rem}.admin-page-wrap .admin-title h1{max-width:100%;overflow-wrap:anywhere;font-size:clamp(1.65rem,3vw,2.8rem)}.admin-page-wrap .btn{max-width:100%;overflow:hidden;text-overflow:ellipsis}.admin-page-wrap .d-flex{min-width:0;flex-wrap:wrap}.admin-page-wrap .table-responsive{max-width:100%;overscroll-behavior-x:contain}.admin-sidebar-logo{max-width:100%;height:auto;aspect-ratio:auto}.admin-page-wrap .admin-form{min-width:0}.admin-page-wrap .modal-dialog{width:auto;max-width:calc(100vw - 2rem);margin:1rem auto}.admin-page-wrap .modal-content{max-width:100%;overflow:hidden}
@media(max-width:1199px){body:has(.admin-sidebar) .rex-nav .container-xl{max-width:100%;padding-right:14px;padding-left:14px}body:has(.admin-sidebar) .rex-main-nav{gap:2px}body:has(.admin-sidebar) .rex-auth-nav{gap:5px}body:has(.admin-sidebar) .rex-booking-cta{padding:.55rem .7rem;font-size:.9rem}}
@media(min-width:992px) and (max-width:1199px){body:has(.admin-sidebar) .rex-nav .navbar-toggler{display:block}body:has(.admin-sidebar) .rex-nav .navbar-collapse{display:none!important}body:has(.admin-sidebar) .rex-nav .navbar-collapse.show{display:block!important}body:has(.admin-sidebar) .rex-nav .navbar-collapse.show .rex-main-nav{margin-top:12px;margin-bottom:8px}body:has(.admin-sidebar) .rex-nav .navbar-collapse.show .rex-auth-nav{justify-content:flex-start;margin-left:0}.admin-sidebar{width:238px}.admin-page-wrap,body:has(.admin-sidebar)>main{width:calc(100% - 238px);margin-left:238px;padding-right:22px;padding-left:22px}}
@media(max-width:991px){body:has(.admin-sidebar) .rex-nav .container-xl{padding-right:12px;padding-left:12px}body:has(.admin-sidebar) .rex-brand .rex-logo{max-width:150px;height:42px;object-fit:contain}body:has(.admin-sidebar) .rex-auth-nav{white-space:normal}.admin-page-wrap .admin-title{gap:12px}.admin-page-wrap .dashboard-filter{gap:10px}.admin-page-wrap .chart-card{min-width:0}.admin-page-wrap .table-responsive{width:100%;-webkit-overflow-scrolling:touch}.admin-page-wrap .admin-form .row{--bs-gutter-y:.8rem}.admin-page-wrap .btn{white-space:normal;line-height:1.2}.admin-page-wrap .admin-form .btn{width:100%;min-height:42px}}
@media(max-width:767px){body:has(.admin-sidebar) .rex-nav .navbar-brand{max-width:calc(100% - 110px)}body:has(.admin-sidebar) .rex-nav .rex-logo{max-width:132px;height:38px}.admin-page-wrap{padding-top:104px}.admin-page-wrap .admin-title h1{font-size:clamp(1.55rem,7vw,2.15rem)}.admin-page-wrap .dashboard-filter{padding:12px}.admin-page-wrap .dashboard-stat-grid{margin-right:-.35rem;margin-left:-.35rem}.admin-page-wrap .dashboard-stat-grid>[class*="col-"]{padding-right:.35rem;padding-left:.35rem}.admin-page-wrap .table-responsive>table{min-width:620px}.admin-page-wrap .admin-form{padding:16px}.admin-page-wrap .modal-dialog{max-width:calc(100vw - 1rem);margin:.5rem auto}.admin-page-wrap .modal-body{max-height:calc(100vh - 170px);overflow-y:auto}}
@media(max-width:375px){body:has(.admin-sidebar) .rex-nav .rex-logo{max-width:116px}.admin-page-wrap{padding-right:12px;padding-left:12px}.admin-page-wrap .dashboard-stat-card{min-height:104px;padding:14px}.admin-page-wrap .dashboard-stat-card strong{font-size:1.3rem}.admin-page-wrap .section-header-admin>span{max-width:100%;white-space:normal}.admin-page-wrap .table-responsive>table{min-width:600px}}
.dashboard-stat-grid{margin-right:-.5rem;margin-left:-.5rem}.dashboard-stat-grid>[class*="col-"]{padding-right:.5rem;padding-left:.5rem}.dashboard-stat-card{overflow:hidden}.dashboard-stat-card strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:break-word}.dashboard-stat-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-page-wrap .chart-card{min-width:0;overflow:hidden}.admin-page-wrap #revenueChart{display:block;width:100%;max-width:100%;height:clamp(220px,28vw,330px);max-height:330px}.admin-page-wrap .section-header-admin{min-width:0;flex-wrap:wrap;align-items:flex-start}.admin-page-wrap .section-header-admin>div{min-width:0}.admin-page-wrap .section-header-admin h4{overflow-wrap:anywhere}.admin-page-wrap .section-header-admin>span{white-space:nowrap}

/* Unified administration toolbar and page headings */
.admin-list-toolbar{margin:0 0 22px;padding:16px;border:1px solid rgba(183,191,209,.14);border-radius:16px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96));box-shadow:0 12px 30px rgba(2,8,23,.18)}
.admin-list-toolbar__form{display:grid;grid-template-columns:minmax(210px,1.8fr) repeat(3,minmax(122px,1fr)) minmax(112px,.8fr) auto;gap:12px;align-items:end;margin:0}
.admin-list-toolbar__form--cinemas{grid-template-columns:minmax(200px,2fr) minmax(155px,1.1fr) minmax(155px,1.1fr) minmax(112px,.75fr) auto}
.admin-filter-field{min-width:0}.admin-filter-field .form-label{display:block;margin:0 0 6px;color:#aab7cc;font-size:.72rem;font-weight:700;letter-spacing:.045em}
.admin-filter-field .form-control,.admin-filter-field .form-select{width:100%;height:44px;min-height:44px;padding:8px 12px;border:1px solid rgba(170,187,212,.24);border-radius:10px;background-color:#0d172b;color:#f4f6fb;font-family:var(--ui-font);font-size:.86rem;box-shadow:none}
.admin-filter-field .form-control::placeholder{color:#8190a9}.admin-filter-field .form-control:focus,.admin-filter-field .form-select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px rgba(244,229,0,.12)}
.admin-search-input{position:relative}.admin-search-input>.ui-icon{position:absolute;z-index:1;left:12px;top:50%;width:17px;height:17px;color:#8291aa;transform:translateY(-50%);pointer-events:none}.admin-search-input .form-control{padding-left:38px}
.admin-list-toolbar__actions{display:flex;gap:8px;align-items:center}.admin-list-toolbar__actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;white-space:nowrap}.admin-list-toolbar__actions .btn .ui-icon{width:16px;height:16px}
.admin-page-wrap .admin-title,.admin-page-wrap .ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px;min-width:0}.admin-page-wrap .admin-title h1,.admin-page-wrap .ui-page-header h1{margin:0;color:#f7f9fc;font-family:'Anton',sans-serif;font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:400;letter-spacing:.015em;line-height:1.15;text-transform:uppercase}.admin-page-wrap .admin-title p:not(.eyebrow),.admin-page-wrap .ui-page-header p:not(.eyebrow){max-width:700px;margin:9px 0 0;color:#aab7cc;font-size:.92rem;line-height:1.55}.admin-page-wrap .admin-title .eyebrow,.admin-page-wrap .ui-page-header .eyebrow{margin:0 0 7px;color:var(--yellow);font-size:.68rem;font-weight:800;letter-spacing:.16em}.admin-page-wrap .admin-title>.btn,.admin-page-wrap .ui-page-header>.btn,.admin-page-wrap .ui-page-header__actions{flex:0 0 auto}
.admin-page-wrap .dashboard-filter{grid-template-columns:repeat(5,minmax(0,1fr)) auto auto;gap:12px;align-items:end;padding:16px;margin-bottom:22px;border:1px solid rgba(183,191,209,.14);border-radius:16px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96));box-shadow:0 12px 30px rgba(2,8,23,.18)}.admin-page-wrap .dashboard-filter>div{min-width:0}.admin-page-wrap .dashboard-filter label{display:block;margin:0 0 6px;color:#aab7cc;font-size:.72rem;font-weight:700;letter-spacing:.045em}.admin-page-wrap .dashboard-filter .form-control,.admin-page-wrap .dashboard-filter .form-select{height:44px;min-height:44px;padding:8px 12px;border:1px solid rgba(170,187,212,.24);border-radius:10px;background-color:#0d172b;color:#f4f6fb;font-family:var(--ui-font);font-size:.86rem}.admin-page-wrap .dashboard-filter .btn,.admin-page-wrap .dashboard-filter>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;white-space:nowrap}
.admin-page-wrap .table .btn{min-height:34px;padding:6px 11px;border-radius:8px;font-size:.76rem;font-weight:650;line-height:1.15}.admin-page-wrap .table .btn .ui-icon{width:15px;height:15px}.admin-page-wrap .admin-form .btn,.admin-page-wrap form>.btn{min-height:42px;border-radius:10px}
.admin-movies-actions{display:flex;justify-content:flex-end;margin:0 0 12px}.admin-movies-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px}
.admin-cinemas-actions{display:flex;justify-content:flex-end;margin:0 0 12px}.admin-cinemas-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px}
main:has(> .admin-list-toolbar + .admin-title){display:flex;flex-direction:column}main:has(> .admin-list-toolbar + .admin-title)>.admin-title{order:-1;width:100%;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px}main:has(> .admin-list-toolbar + .admin-title)>.admin-list-toolbar{order:0;width:100%}main:has(> .admin-list-toolbar + .admin-title)>:not(.admin-title):not(.admin-list-toolbar){flex:0 0 auto}
main:has(> .admin-list-toolbar + .admin-title)>.admin-title{display:flex}main:has(> .admin-list-toolbar + .admin-title)>.admin-title h1{margin:0;color:#f7f9fc;font-family:'Anton',sans-serif;font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:400;letter-spacing:.015em;line-height:1.15;text-transform:uppercase}main:has(> .admin-list-toolbar + .admin-title)>.admin-title .eyebrow{margin:0 0 7px;color:var(--yellow);font-size:.68rem;font-weight:800;letter-spacing:.16em}
main:has(> .admin-list-toolbar + div + h1){display:flex;flex-direction:column}main:has(> .admin-list-toolbar + div + h1)>div:nth-child(2){order:-2;width:100%}main:has(> .admin-list-toolbar + div + h1)>h1{order:-1;width:100%;margin:0 0 22px;color:#f7f9fc;font-family:'Anton',sans-serif;font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:400;letter-spacing:.015em;text-transform:uppercase}main:has(> .admin-list-toolbar + div + h1)>h1::before{display:block;margin-bottom:7px;color:var(--yellow);content:'AUDITORIUM MANAGEMENT';font-family:var(--ui-font);font-size:.68rem;font-weight:800;letter-spacing:.16em;line-height:1.4}main:has(> .admin-list-toolbar + div + h1)>.admin-list-toolbar{order:0;width:100%}main:has(> .admin-list-toolbar + div + h1)>:not(.admin-list-toolbar):not(div:nth-child(2)):not(h1){flex:0 0 auto}
.admin-page-wrap .payment-transaction-filters{padding:16px;border:1px solid rgba(183,191,209,.14);border-radius:16px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96));box-shadow:0 12px 30px rgba(2,8,23,.18)}.admin-page-wrap .payment-transaction-filters>.row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}.admin-page-wrap .payment-transaction-filters>.row>*{width:auto;max-width:none;padding:0;min-width:0}.admin-page-wrap .payment-transaction-filters>.row>div:nth-child(4){grid-column:span 2}.admin-page-wrap .payment-transaction-filters label{display:block;margin:0;color:#aab7cc;font-size:.72rem;font-weight:700;letter-spacing:.045em}.admin-page-wrap .payment-transaction-filters .form-control,.admin-page-wrap .payment-transaction-filters .form-select{height:44px;min-height:44px;margin-top:6px;padding:8px 12px;border:1px solid rgba(170,187,212,.24);border-radius:10px;background-color:#0d172b;color:#f4f6fb;font-family:var(--ui-font);font-size:.86rem}.admin-page-wrap .payment-transaction-filters .btn{width:100%;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px}
@media(max-width:1399px){.admin-list-toolbar__form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-list-toolbar__form--cinemas{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-filter-field--search{grid-column:span 2}.admin-list-toolbar__actions{justify-content:flex-end}.admin-list-toolbar__form--cinemas .admin-list-toolbar__actions{grid-column:1/-1}.admin-page-wrap .dashboard-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-page-wrap .dashboard-filter>.btn,.admin-page-wrap .dashboard-filter>a{width:100%}}
@media(max-width:767px){.admin-list-toolbar{padding:13px;margin-bottom:18px}.admin-list-toolbar__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-filter-field--search{grid-column:1/-1}.admin-list-toolbar__actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.admin-list-toolbar__actions .btn{width:100%;padding:8px 10px}.admin-page-wrap .admin-title,.admin-page-wrap .ui-page-header{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:18px}.admin-page-wrap .admin-title h1,.admin-page-wrap .ui-page-header h1{font-size:clamp(1.7rem,7vw,2.2rem)}.admin-page-wrap .admin-title>.btn,.admin-page-wrap .ui-page-header>.btn,.admin-page-wrap .ui-page-header__actions{width:100%}.admin-page-wrap .dashboard-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px}.admin-page-wrap .dashboard-filter>div{min-width:0}.admin-page-wrap .dashboard-filter>div:nth-child(1),.admin-page-wrap .dashboard-filter>div:nth-child(2){grid-column:span 1}.admin-page-wrap .dashboard-filter>.btn,.admin-page-wrap .dashboard-filter>a{width:100%;margin:0}}
@media(max-width:767px){.admin-page-wrap .payment-transaction-filters>.row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-page-wrap .payment-transaction-filters>.row>div:nth-child(4){grid-column:1/-1}.admin-page-wrap .payment-transaction-filters>.row>div:last-child{grid-column:1/-1}}
@media(max-width:767px){.admin-movies-actions .btn{width:100%}}
@media(max-width:767px){.admin-cinemas-actions .btn{width:100%}}
@media(max-width:767px){main:has(> .admin-list-toolbar + .admin-title)>.admin-title{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:18px}}
@media(max-width:420px){.admin-list-toolbar__form{grid-template-columns:1fr 1fr}.admin-filter-field--search{grid-column:1/-1}.admin-filter-field--direction,.admin-filter-field--size{grid-column:span 1}.admin-list-toolbar__actions .btn{font-size:.82rem}.admin-page-wrap .dashboard-filter{grid-template-columns:1fr}.admin-page-wrap .dashboard-filter>div,.admin-page-wrap .dashboard-filter>.btn,.admin-page-wrap .dashboard-filter>a{grid-column:1/-1}}
@media(max-width:375px){.dashboard-stat-grid>[class*="col-6"]{width:100%}.dashboard-stat-card{min-height:108px}.dashboard-stat-card strong{font-size:1.45rem}.admin-page-wrap .section-header-admin>span{font-size:.68rem}}

@media(max-width:575px){.booking-stage{padding:20px 16px}.payment-card{padding:17px}.payment-radio-list label{grid-template-columns:auto 36px minmax(0,1fr);gap:9px;padding:11px 10px}.payment-method-icon{width:36px;height:36px;font-size:1.15rem}.payment-method-copy{overflow-wrap:anywhere}.stage-actions{flex-wrap:wrap}.stage-actions .btn{flex:1 1 100%;min-height:44px}}

.bank-qr-page{padding-top:clamp(34px,7vw,82px);padding-bottom:clamp(46px,8vw,90px)}.bank-qr-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:clamp(28px,6vw,76px);align-items:center;max-width:980px;margin:0 auto;padding:clamp(24px,5vw,54px);border:1px solid rgba(183,191,209,.16);border-top:3px solid var(--yellow);border-radius:18px;background:linear-gradient(145deg,#172542,#101a2f);box-shadow:0 24px 70px rgba(2,8,23,.28)}.bank-qr-copy h1{margin:.3rem 0 1rem;font-family:'Anton',sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:400;line-height:1;text-transform:uppercase;color:var(--text)}.bank-qr-lead{max-width:520px;color:var(--text-muted);line-height:1.65}.bank-qr-status{display:flex;align-items:center;gap:9px;margin:22px 0;color:var(--yellow)}.bank-qr-status-dot{width:10px;height:10px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(244,229,0,.12)}.bank-qr-details{display:grid;gap:0;margin:24px 0 0}.bank-qr-details>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(183,191,209,.12)}.bank-qr-details dt{color:var(--text-muted);font-size:.78rem}.bank-qr-details dd{margin:0;text-align:right;color:var(--text);font-weight:700;overflow-wrap:anywhere}.bank-qr-amount{color:var(--yellow)!important;font-size:1.15rem}.bank-qr-reference{color:#d9b8ff!important;letter-spacing:.06em}.bank-qr-copy-btn{border:1px solid rgba(244,229,0,.45);border-radius:7px;padding:4px 8px;background:rgba(244,229,0,.08);color:var(--yellow);font:600 .68rem 'Inter',sans-serif;white-space:nowrap}.bank-qr-copy-btn:hover{background:rgba(244,229,0,.18)}.bank-qr-status-dot.is-terminal{background:var(--purple);box-shadow:0 0 0 5px rgba(111,45,168,.16)}#bankQrPayment[data-state="confirmed"] .bank-qr-status{color:#8df0c7}#bankQrPayment[data-state="refund_pending"] .bank-qr-status{color:#d9b8ff}#bankQrPayment[data-state="expired"] .bank-qr-status,#bankQrPayment[data-state="cancelled"] .bank-qr-status{color:#ffabb4}.bank-qr-hint{margin:20px 0 0;color:#8f9bb2;font-size:.78rem}.bank-qr-image-wrap{display:grid;justify-items:center;gap:13px;padding:20px;border-radius:16px;background:#fff;color:#18233a}.bank-qr-image{display:block;width:min(100%,300px);height:auto;aspect-ratio:1;object-fit:contain}.bank-qr-image-wrap>span{font-family:'Anton',sans-serif;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.bank-qr-page~.rex-footer{margin-top:0}
@media(max-width:767px){.bank-qr-card{grid-template-columns:1fr}.bank-qr-image-wrap{order:-1;max-width:340px;width:100%;margin:0 auto}.bank-qr-details>div{grid-template-columns:1fr auto;align-items:start;gap:5px 8px}.bank-qr-details dt{grid-column:1/-1}.bank-qr-details dd{text-align:left}.bank-qr-copy-btn{grid-column:2;grid-row:2}}

/* Task 2 refinements: denser details and a more legible check-in stub. */
.rex-ticket-address{display:block!important;margin-top:3px;color:var(--rex-ticket-muted);font-size:.72rem!important;line-height:1.35}.rex-ticket-stub>small{font-size:.78rem}.rex-ticket-qr-frame{width:min(100%,260px)}.rex-ticket-qr-notice{max-width:240px;margin:4px 0 0;padding-top:12px;border-top:1px solid var(--rex-ticket-rule);color:var(--rex-ticket-muted);font-size:.75rem;line-height:1.55}
@media(max-width:780px){.rex-ticket-shell{grid-template-columns:1fr}.rex-ticket-stub{padding:30px 24px;border-top:2px dashed rgba(16,32,58,.48);border-left:0;border-radius:0 0 26px 26px}.rex-ticket-stub:before,.rex-ticket-stub:after{top:-17px;bottom:auto;left:auto}.rex-ticket-stub:before{left:-16px}.rex-ticket-stub:after{right:-16px}.rex-ticket-qr-frame{width:min(100%,280px)}}
@media(min-width:781px) and (max-width:900px){.rex-ticket-shell{grid-template-columns:minmax(0,1fr) 300px}.rex-ticket-stub{padding:30px 18px;border-top:0;border-left:2px dashed rgba(16,32,58,.48);border-radius:0 26px 26px 0}.rex-ticket-stub:before,.rex-ticket-stub:after{top:auto;bottom:auto;left:-17px}.rex-ticket-stub:before{top:-16px}.rex-ticket-stub:after{bottom:-16px}}

/* Task 3 QA polish: keep the ticket readable at every supported width. */
.rex-ticket-hero,.rex-ticket-title-block,.rex-ticket-status,.rex-ticket-info-cell,.rex-ticket-payment-cell{min-width:0}.rex-ticket-info-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.rex-ticket-info-cell strong,.rex-ticket-payment-cell strong{line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.rex-ticket-poster img,.rex-ticket-qr-img{display:block}.rex-ticket-qr-img{image-rendering:pixelated}.rex-ticket-stub-code{word-break:break-word}
@media(max-width:1100px) and (min-width:651px){.rex-ticket-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rex-ticket-info-cell:nth-child(3){border-right:0}.rex-ticket-info-cell:nth-child(n+4){border-top:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:nth-child(4){padding-left:0}}
@media(max-width:650px){.rex-ticket-info-grid{grid-template-columns:1fr 1fr}.rex-ticket-info-cell:nth-child(2){border-right:0}.rex-ticket-info-cell:nth-child(n+3){border-top:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:nth-child(3){padding-left:0}.rex-ticket-info-cell:nth-child(4){padding-right:0}.rex-ticket-venue>div{min-width:0}.rex-ticket-address{overflow-wrap:anywhere}}
@media print{.rex-ticket-page{background:#fff!important;color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.rex-ticket-shell{break-inside:avoid;border-color:#cbbd9f!important;box-shadow:none!important}.rex-ticket-main{background:var(--rex-ticket-paper)}.rex-ticket-stub{background:#fffaf0!important}.rex-ticket-qr-img{image-rendering:pixelated}.rex-ticket-page .rex-ticket-individual-section{color:#111;break-before:page}.rex-ticket-page .rex-ticket-individual-section h3{color:#111}.rex-ticket-page .rex-ticket-seat-card{background:#fff;color:#111;border-color:#333}.rex-ticket-page .rex-ticket-seat-card .text-light{color:#111!important}}

/* Premium e-ticket: all selectors are scoped to the ticket page. */
.rex-ticket-page{--rex-ticket-bg:#081426;--rex-ticket-ink:#10203a;--rex-ticket-muted:#637087;--rex-ticket-gold:#b47b1f;--rex-ticket-gold-light:#e5c47f;--rex-ticket-paper:#fbf8f0;--rex-ticket-rule:rgba(180,123,31,.28);max-width:none!important;min-height:calc(100vh - 76px);padding:clamp(24px,5vw,68px) clamp(12px,4vw,56px)!important;background:radial-gradient(circle at 15% 15%,rgba(53,82,125,.32),transparent 35%),radial-gradient(circle at 90% 85%,rgba(31,54,89,.42),transparent 30%),var(--rex-ticket-bg)}
.rex-ticket-alert,.rex-ticket-actions,.rex-ticket-shell,.rex-ticket-individual-section{max-width:1180px}.rex-ticket-alert{color:var(--text);border-color:rgba(255,255,255,.14);background:rgba(9,20,38,.75)}.rex-ticket-actions{color:#e8edf6}.rex-ticket-actions>div:first-child span{color:#9caac1}.rex-ticket-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;position:relative;overflow:visible;border-radius:26px;background:var(--rex-ticket-paper);box-shadow:0 26px 70px rgba(0,0,0,.32);color:var(--rex-ticket-ink)}.rex-ticket-main{min-width:0;padding:clamp(25px,4vw,52px)}.rex-ticket-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,4vw,48px)}.rex-ticket-logo{display:block;width:min(46%,245px);height:auto;object-fit:contain}.rex-ticket-header-copy{display:grid;justify-items:end;color:var(--rex-ticket-gold);text-align:right;letter-spacing:.2em}.rex-ticket-header-copy span{font-size:clamp(.8rem,1.7vw,1.15rem);font-weight:800}.rex-ticket-header-copy small{margin-top:5px;color:var(--rex-ticket-muted);font-size:.65rem;letter-spacing:.15em}.rex-ticket-hero{display:grid;grid-template-columns:145px minmax(0,1fr) minmax(150px,.65fr);gap:clamp(18px,2.5vw,32px);align-items:center}.rex-ticket-poster{height:202px;overflow:hidden;border-radius:15px;background:#d6c39d;box-shadow:0 12px 24px rgba(34,31,24,.14)}.rex-ticket-poster img{width:100%;height:100%;object-fit:cover}.rex-ticket-label{display:block;color:var(--rex-ticket-muted);font-size:.68rem;font-weight:700;letter-spacing:.16em}.rex-ticket-title-block h1{margin:.35rem 0 1.25rem;color:var(--rex-ticket-ink);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.85rem,3.6vw,3.5rem);line-height:1.02;overflow-wrap:anywhere}.rex-ticket-venue{display:flex;align-items:center;gap:10px;margin-top:13px}.rex-ticket-venue small,.rex-ticket-code-meta small{display:block;color:var(--rex-ticket-muted);font-size:.68rem;letter-spacing:.04em}.rex-ticket-venue strong{display:block;margin-top:2px;font-size:.98rem}.rex-ticket-icon{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--rex-ticket-gold);border-radius:50%;color:var(--rex-ticket-gold);font-size:1rem}.rex-ticket-status{align-self:stretch;padding-left:clamp(15px,2vw,26px);border-left:1px solid var(--rex-ticket-rule)}.rex-ticket-status-badge{display:inline-block;margin:9px 0 28px;padding:8px 16px;border-radius:999px;font-size:.72rem;letter-spacing:.06em}.rex-ticket-status-confirmed{background:#16865b;color:#fff}.rex-ticket-status-pending{background:#d39822;color:#fff}.rex-ticket-status-other{background:#6b7280;color:#fff}.rex-ticket-code-meta{margin-top:14px}.rex-ticket-code-meta strong{display:block;margin-top:4px;font-size:1rem;overflow-wrap:anywhere}.rex-ticket-info-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border-top:1px solid var(--rex-ticket-rule);border-bottom:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell,.rex-ticket-payment-cell{min-width:0;padding:18px 16px;border-right:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:first-child,.rex-ticket-payment-cell:first-child{padding-left:0}.rex-ticket-info-cell:last-child,.rex-ticket-payment-cell:last-child{border-right:0;padding-right:0}.rex-ticket-info-cell strong,.rex-ticket-payment-cell strong{display:block;margin-top:7px;font-size:1rem;overflow-wrap:anywhere}.rex-ticket-payment-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;border-bottom:1px solid var(--rex-ticket-rule)}.rex-ticket-payment-cell{padding-top:20px;padding-bottom:20px}.rex-ticket-total strong{color:var(--rex-ticket-gold);font-size:clamp(1.35rem,2.4vw,2rem)}.rex-ticket-breakdown{padding:12px 0;border-bottom:1px solid var(--rex-ticket-rule);color:var(--rex-ticket-muted);font-size:.8rem}.rex-ticket-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:3px 0}.rex-ticket-breakdown b{color:var(--rex-ticket-ink)}.rex-ticket-discount,.rex-ticket-discount b{color:#16865b!important}.rex-ticket-note{margin-top:18px;padding:11px 14px;border-left:3px solid var(--rex-ticket-gold);background:rgba(180,123,31,.08);color:var(--rex-ticket-muted);font-size:.82rem}.rex-ticket-note-neutral{border-left-color:#b8a16f}.rex-ticket-stub{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-width:0;padding:38px 25px;text-align:center;background:linear-gradient(145deg,#f5ecda,#fffaf0);border-left:2px dashed rgba(16,32,58,.48);border-radius:0 26px 26px 0}.rex-ticket-stub:before,.rex-ticket-stub:after{content:"";position:absolute;left:-17px;width:32px;height:32px;border-radius:50%;background:var(--rex-ticket-bg)}.rex-ticket-stub:before{top:-16px}.rex-ticket-stub:after{bottom:-16px}.rex-ticket-stub-logo{display:block;width:min(84%,190px);height:auto;max-height:64px;object-fit:contain}.rex-ticket-stub-tagline{margin:4px 0 11px;color:var(--rex-ticket-gold);font-size:.7rem;font-weight:700;letter-spacing:.17em;line-height:1.65}.rex-ticket-qr-frame{display:grid;place-items:center;width:min(100%,230px);padding:14px;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(44,34,15,.08)}.rex-ticket-qr-img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.rex-ticket-qr-disabled{display:grid;place-items:center;width:210px;aspect-ratio:1;border-radius:16px;background:#e5ddcf;color:#7b6e5a;font-weight:700}.rex-ticket-stub-code{max-width:100%;color:var(--rex-ticket-ink);font-size:1.15rem;letter-spacing:.04em;overflow-wrap:anywhere}.rex-ticket-stub>small{max-width:240px;color:var(--rex-ticket-muted);font-size:.75rem;line-height:1.45}.rex-ticket-individual-section{color:#e9edf5}.rex-ticket-individual-section h3{color:#fff}.rex-ticket-seat-card{display:flex;flex-direction:column;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:#111e35}.rex-ticket-seat-card .text-secondary{color:#a7b0c2!important}
@media(max-width:900px){.rex-ticket-shell{grid-template-columns:1fr}.rex-ticket-stub{padding:30px 24px;border-top:2px dashed rgba(16,32,58,.48);border-left:0;border-radius:0 0 26px 26px}.rex-ticket-stub:before,.rex-ticket-stub:after{top:-17px;bottom:auto;left:auto}.rex-ticket-stub:before{left:-16px}.rex-ticket-stub:after{right:-16px}.rex-ticket-qr-frame{width:min(100%,260px)}}
@media(max-width:650px){.rex-ticket-hero{grid-template-columns:1fr}.rex-ticket-poster{width:122px;height:172px}.rex-ticket-status{padding:18px 0 0;border-top:1px solid var(--rex-ticket-rule);border-left:0}.rex-ticket-info-grid{grid-template-columns:1fr 1fr}.rex-ticket-info-cell:nth-child(2){border-right:0}.rex-ticket-info-cell:nth-child(n+3){border-top:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:nth-child(3){padding-left:0}.rex-ticket-info-cell:nth-child(4){padding-right:0}.rex-ticket-payment-grid{grid-template-columns:1fr 1fr}.rex-ticket-total{grid-column:1/-1;border-top:1px solid var(--rex-ticket-rule);border-right:0!important;padding-left:0!important}.rex-ticket-header{align-items:flex-start}.rex-ticket-logo{width:58%}.rex-ticket-header-copy{font-size:.75rem}.rex-ticket-header-copy small{font-size:.5rem}}
@media print{body:has(.rex-ticket-page){background:#fff}.rex-ticket-page{min-height:0;padding:0!important;background:#fff}.rex-ticket-page .rex-ticket-alert,.rex-ticket-page .rex-ticket-actions,.rex-ticket-page~.rex-footer,body:has(.rex-ticket-page)>header,body:has(.rex-ticket-page)>nav{display:none!important}.rex-ticket-shell{max-width:none;box-shadow:none;border:1px solid #d8c9aa}.rex-ticket-stub:before,.rex-ticket-stub:after{display:none}.rex-ticket-individual-section{break-before:page}.rex-ticket-seat-card{break-inside:avoid}}

/* Compact production refinement: preserve the existing ticket, but remove brochure-like excess. */
.rex-ticket-page{padding-top:clamp(28px,4vw,48px)!important;padding-bottom:clamp(34px,5vw,56px)!important}.rex-ticket-alert,.rex-ticket-actions,.rex-ticket-shell,.rex-ticket-individual-section{max-width:1080px}.rex-ticket-shell{grid-template-columns:minmax(0,1fr) 270px;border-radius:22px;box-shadow:0 18px 46px rgba(0,0,0,.28)}.rex-ticket-main{padding:32px 36px}.rex-ticket-header{margin-bottom:28px;gap:18px}.rex-ticket-logo{width:min(40%,210px)}.rex-ticket-header-copy span{font-size:1rem}.rex-ticket-hero{grid-template-columns:120px minmax(0,1fr) minmax(140px,.58fr);gap:22px}.rex-ticket-poster{height:168px;border-radius:12px}.rex-ticket-title-block h1{margin:.3rem 0 .9rem;font-size:clamp(1.75rem,3vw,2.7rem)}.rex-ticket-venue{margin-top:10px}.rex-ticket-status{padding-left:20px}.rex-ticket-status-badge{margin:7px 0 18px;padding:7px 12px}.rex-ticket-code-meta{margin-top:10px}.rex-ticket-code-meta strong{font-size:.92rem}.rex-ticket-info-grid{margin-top:24px;border:1px solid var(--rex-ticket-rule);border-radius:10px;overflow:hidden}.rex-ticket-info-cell{padding:14px 12px}.rex-ticket-info-cell:first-child{padding-left:14px}.rex-ticket-info-cell:last-child{padding-right:14px}.rex-ticket-info-cell strong,.rex-ticket-payment-cell strong{margin-top:5px;font-size:.92rem}.rex-ticket-payment-grid{margin-top:14px;border:1px solid var(--rex-ticket-rule);border-radius:10px;overflow:hidden}.rex-ticket-payment-cell{padding:15px 14px}.rex-ticket-payment-cell:first-child{padding-left:14px}.rex-ticket-payment-cell:last-child{padding-right:14px}.rex-ticket-breakdown{margin-top:10px;padding:8px 12px;border:1px solid var(--rex-ticket-rule);border-radius:8px}.rex-ticket-note{margin-top:14px;padding:9px 12px;font-size:.78rem}.rex-ticket-stub{gap:8px;padding:26px 20px;border-radius:0 22px 22px 0}.rex-ticket-stub-logo{width:min(78%,155px);max-height:48px}.rex-ticket-stub-tagline{margin:0 0 4px;font-size:.64rem;line-height:1.45}.rex-ticket-qr-frame{width:min(100%,220px);padding:10px;border-radius:12px}.rex-ticket-qr-disabled{width:200px}.rex-ticket-stub-code{font-size:1.05rem}.rex-ticket-stub>small{font-size:.72rem}.rex-ticket-qr-notice{margin-top:2px;padding-top:9px;font-size:.7rem;line-height:1.4}
@media(min-width:781px) and (max-width:1100px){.rex-ticket-shell{grid-template-columns:minmax(0,1fr) 250px}.rex-ticket-main{padding:28px}.rex-ticket-hero{grid-template-columns:110px minmax(0,1fr) 130px;gap:16px}.rex-ticket-stub{padding-left:14px;padding-right:14px}}
@media(max-width:650px){.rex-ticket-main{padding:24px 20px}.rex-ticket-shell{border-radius:18px}.rex-ticket-header{margin-bottom:22px}.rex-ticket-logo{width:55%}.rex-ticket-hero{gap:14px}.rex-ticket-poster{height:160px}.rex-ticket-info-cell{padding:13px 10px}.rex-ticket-info-cell:first-child{padding-left:12px}.rex-ticket-info-cell:last-child{padding-right:12px}.rex-ticket-payment-cell{padding:13px 12px}.rex-ticket-payment-cell:first-child{padding-left:12px}.rex-ticket-payment-cell:last-child{padding-right:12px}.rex-ticket-stub{gap:7px;padding:24px 18px;border-radius:0 0 18px 18px}.rex-ticket-stub-logo{width:150px}.rex-ticket-qr-frame{width:min(100%,240px)}}

/* Divider consistency: one shared section rule, with aligned 1px column rules. */
.rex-ticket-info-grid{grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:0;border-radius:10px 10px 0 0}.rex-ticket-info-cell{border-right:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:last-child{border-right:0}.rex-ticket-payment-method-row{display:block;margin-top:-1px;border:1px solid var(--rex-ticket-rule);border-radius:0 0 10px 10px}.rex-ticket-payment-method-row .rex-ticket-info-cell{padding:13px 14px;border:0}.rex-ticket-payment-method-row .rex-ticket-info-cell strong{margin-top:5px}
@media(max-width:1100px) and (min-width:651px){.rex-ticket-info-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rex-ticket-info-cell:nth-child(3){border-right:0}.rex-ticket-info-cell:nth-child(n+4){border-top:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:nth-child(4){padding-left:14px}}
@media(max-width:650px){.rex-ticket-info-grid{grid-template-columns:1fr 1fr}.rex-ticket-info-cell:nth-child(2){border-right:0}.rex-ticket-info-cell:nth-child(n+3){border-top:1px solid var(--rex-ticket-rule)}.rex-ticket-info-cell:nth-child(3){padding-left:12px}.rex-ticket-info-cell:nth-child(4){padding-right:12px}.rex-ticket-payment-method-row .rex-ticket-info-cell{padding:12px}.rex-ticket-payment-method-row{border-radius:0 0 8px 8px}}

/* Scoped admin cinema-chain card refinement. */
.admin-cinema-page{--admin-cinema-border:rgba(183,191,209,.16);--admin-cinema-muted:#aeb8cb}.admin-cinema-page-header{align-items:center;margin-bottom:20px}.admin-cinema-page-header h1{margin-bottom:0;font-size:clamp(1.75rem,3vw,2.45rem)}.admin-cinema-add{min-height:38px;padding:8px 15px;border-radius:8px;font-size:.82rem;white-space:nowrap}.admin-cinema-grid{--bs-gutter-x:16px;--bs-gutter-y:16px}.admin-cinema-card{display:flex;flex-direction:column;gap:18px;min-height:0;padding:18px 20px;border-color:var(--admin-cinema-border);border-radius:14px;background:linear-gradient(145deg,#172542,#111b32);box-shadow:0 10px 26px rgba(2,8,23,.12)}.admin-cinema-card-content{min-width:0}.admin-cinema-card-title{margin:0;color:var(--text);font-family:'Anton',sans-serif;font-size:1.35rem;font-weight:400;letter-spacing:.02em;line-height:1.15;overflow-wrap:anywhere}.admin-cinema-card-address{min-height:2.7em;margin:8px 0 13px;color:var(--admin-cinema-muted);font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}.admin-cinema-badges{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.admin-cinema-badge{min-height:25px;padding:5px 9px;border:1px solid rgba(183,191,209,.18);border-radius:999px;font-size:.7rem;font-weight:700;line-height:1.1}.admin-cinema-location{background:rgba(183,191,209,.1);color:#d8dfed}.admin-cinema-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;border-top:1px solid var(--admin-cinema-border)}.admin-cinema-actions form{margin:0}.admin-cinema-actions .btn{min-width:74px;min-height:34px;padding:7px 12px;border-radius:7px;font-size:.76rem;font-weight:700;line-height:1.1}.admin-cinema-edit{color:#e4eaf5;border-color:rgba(183,191,209,.38)}.admin-cinema-edit:hover{border-color:var(--yellow);color:var(--yellow)}.admin-cinema-toggle.btn-outline-danger{border-color:rgba(231,112,126,.5);color:#f39aa5}.admin-cinema-toggle.btn-outline-danger:hover{background:rgba(231,112,126,.12);color:#ffc1c8}.admin-cinema-toggle.btn-outline-success{border-color:rgba(94,226,140,.5);color:#8be9aa}.admin-cinema-toggle.btn-outline-success:hover{background:rgba(94,226,140,.12);color:#b6f5c9}
@media(max-width:991px){.admin-cinema-page-header{align-items:flex-start;gap:14px}.admin-cinema-page-header h1{font-size:2rem}}
@media(max-width:576px){.admin-cinema-page-header{gap:12px}.admin-cinema-page-header .admin-cinema-add{width:auto;align-self:flex-start}.admin-cinema-card{padding:16px 17px;gap:16px}.admin-cinema-card-title{font-size:1.22rem}.admin-cinema-card-address{min-height:0;margin-top:7px;margin-bottom:11px;font-size:.84rem}.admin-cinema-actions{padding-top:12px}.admin-cinema-actions .btn{flex:1 1 0}}
/* Showtime date selector refinement */
.schedule-hero{text-align:center;padding-top:34px}.schedule-hero h1{margin-bottom:12px}
.schedule-filter{grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(220px,1fr) minmax(120px,auto);align-items:end;gap:14px}
.schedule-filter>div{min-width:0}
.schedule-filter label{min-height:1em;margin-bottom:8px;line-height:1.2}
.schedule-filter .form-select,.schedule-filter .schedule-date-control{width:100%;height:52px;min-height:52px}
.schedule-filter .schedule-date-control .schedule-date-value{padding:0 15px;line-height:50px}
.schedule-filter>.btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;white-space:nowrap}
.date-tabs{display:flex;justify-content:center;gap:14px;max-width:100%;overflow-x:auto;margin:22px auto 30px;padding:4px 3px 10px;scrollbar-width:thin;overscroll-behavior-inline:contain}
.date-tabs a{box-sizing:border-box;display:flex;min-width:104px;min-height:84px;flex:0 0 104px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:10px 8px;border:1px solid rgba(244,229,0,.58);border-radius:12px;background:rgba(111,45,168,.14);color:#fff;text-align:center;text-decoration:none;scroll-snap-align:center;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.date-tabs a strong{font-family:var(--font-body);font-size:1.2rem;font-weight:700;line-height:1.2;color:var(--yellow)}
.date-tabs a small{font-size:.8rem;font-weight:600;line-height:1.2;color:#d8dce5;text-transform:capitalize}
.date-tabs a.active{border-color:var(--yellow);background:var(--yellow);box-shadow:0 8px 20px rgba(244,229,0,.18);color:#172033}.date-tabs a.active strong,.date-tabs a.active small{color:#172033}
.date-tabs a:hover,.date-tabs a:focus-visible{border-color:var(--accent-2);background:rgba(111,45,168,.34);color:#fff;box-shadow:0 5px 14px rgba(2,8,23,.2)}.date-tabs a.active:hover,.date-tabs a.active:focus-visible{background:var(--accent-2);color:#172033}.date-tabs a:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@media(max-width:767px){.schedule-page>*{min-width:0;max-width:100%}.schedule-hero{padding-top:18px}.date-tabs{justify-content:flex-start;margin-top:18px;margin-bottom:24px;scroll-snap-type:x proximity}.date-tabs a{min-width:88px;min-height:76px;flex-basis:88px}.date-tabs a strong{font-size:1.1rem}.date-tabs a small{font-size:.76rem}.schedule-filter{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr)}.schedule-filter>div,.schedule-filter>.btn{min-width:0}.schedule-filter .form-select,.schedule-filter .form-control{width:100%;min-width:0;max-width:100%}.schedule-filter>.btn{width:100%}.movie-schedule-block .movie-show-row>.movie-show-info{width:auto;min-width:0;max-width:100%}}
.schedule-date-control{position:relative;display:flex;min-height:44px;align-items:center;border:1px solid #49566b;border-radius:var(--radius-sm);background:#0f1b2e;color:#f4f7fb;transition:border-color .18s ease,box-shadow .18s ease}
.schedule-date-control:focus-within{border-color:var(--yellow);box-shadow:0 0 0 .2rem rgba(255,229,0,.12)}
.schedule-date-value{display:block;width:100%;padding:9px 12px;pointer-events:none;font:400 15px/1.4 var(--font-body);font-variant-numeric:tabular-nums;color:#f4f7fb}
.schedule-date-control input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}

/* Compact showtime results grouped by movie. */
.schedule-page{width:100%;max-width:100%;min-width:0}
.movie-schedule-block{margin-bottom:14px;background:#0d0f13;border:1px solid rgba(183,191,209,.14);border-radius:14px;overflow:hidden}
.movie-schedule-block .movie-show-row{grid-template-columns:86px minmax(0,1fr);gap:20px;padding:18px 20px;border-bottom:0}
.movie-schedule-block .movie-show-row>img{width:86px;border-radius:8px;box-shadow:0 8px 18px rgba(2,8,23,.25)}
.movie-show-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.movie-show-heading h3{margin:0 0 6px;font-size:1.35rem;line-height:1.1}
.movie-show-heading h3 a{color:#fff;text-decoration:none}.movie-show-heading h3 a:hover{color:var(--yellow)}
.movie-show-heading p{margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.4}
.cinema-showtime-group{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:16px;align-items:center;padding:12px 0;border-top:1px solid rgba(183,191,209,.12)}.cinema-showtime-group:first-of-type{padding-top:0;border-top:0}.cinema-showtime-label{display:flex;min-width:0;flex-direction:column;gap:3px}.cinema-showtime-label strong{overflow:hidden;color:#fff;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.cinema-showtime-label span{overflow:hidden;color:var(--text-muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.showtime-chip-list{display:flex;flex-wrap:wrap;gap:9px}
.showtime-chip{display:inline-flex;min-width:82px;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 12px;border:1px solid rgba(244,229,0,.65);border-radius:9px;background:rgba(111,45,168,.2);color:#fff;text-align:center;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.showtime-chip strong{font-size:1rem;line-height:1;color:var(--yellow)}.showtime-chip small{max-width:110px;overflow:hidden;color:#c9cfdb;font-size:.65rem;line-height:1;text-overflow:ellipsis;white-space:nowrap}
.showtime-chip:not(.sold-out):hover,.showtime-chip:not(.sold-out):focus-visible{border-color:var(--yellow);background:var(--yellow);color:#172033;transform:translateY(-1px)}.showtime-chip:not(.sold-out):hover strong,.showtime-chip:not(.sold-out):focus-visible strong,.showtime-chip:not(.sold-out):hover small,.showtime-chip:not(.sold-out):focus-visible small{color:#172033}
.showtime-chip.sold-out{border-color:#3a3e47;background:#1a1d24;color:#777e8c;cursor:not-allowed;opacity:.72}.showtime-chip.sold-out strong,.showtime-chip.sold-out small{color:#777e8c}
.showtime-chip:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@media(max-width:767px){.movie-schedule-block .movie-show-row{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:15px}.movie-schedule-block .movie-show-row>img{width:62px}.movie-show-heading{display:block;margin-bottom:12px}.movie-show-heading .btn{margin-top:10px}.movie-show-heading h3{font-size:1.15rem}.cinema-showtime-group{grid-template-columns:1fr;gap:8px}.cinema-showtime-label span{white-space:normal}.showtime-chip{min-width:76px;padding:9px 8px}.showtime-chip small{max-width:92px}}
.movie-poster-placeholder{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 35% 25%,rgba(244,229,0,.25),transparent 20%),linear-gradient(145deg,#6f2da8,#172033 72%);color:var(--yellow);font-family:'Anton',sans-serif;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:.08em}
.movie-show-poster{width:86px;aspect-ratio:2/3;overflow:hidden;border-radius:8px;background:#172033;box-shadow:0 8px 18px rgba(2,8,23,.25)}.movie-show-poster img{display:block;width:100%;height:100%;object-fit:cover}.movie-show-poster>span{display:grid;width:100%;height:100%;place-items:center;color:var(--yellow);font-family:'Anton',sans-serif;font-size:1.4rem;letter-spacing:.08em}
.movie-show-metadata{display:flex;flex-wrap:wrap;gap:0 8px;margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.45}.movie-show-metadata span+span:before{content:'•';margin-right:8px;color:var(--yellow)}
.schedule-empty-state{display:grid;justify-items:center;gap:8px;margin:16px 0 8px;padding:42px 24px;border:1px dashed rgba(244,229,0,.38);border-radius:14px;background:linear-gradient(145deg,rgba(111,45,168,.18),rgba(15,23,42,.45));text-align:center}.schedule-empty-icon{display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--yellow);border-radius:50%;color:var(--yellow);font-size:1.4rem}.schedule-empty-state h2{margin:4px 0 0;font-size:1.3rem}.schedule-empty-state p{margin:0;color:var(--text-muted);font-size:.86rem}
.movie-detail-showtimes .section-heading{margin-bottom:12px}.movie-detail-date-tabs{justify-content:flex-start;margin-top:0}.movie-detail-cinema-list{display:grid;gap:12px}.movie-detail-cinema{padding:18px 20px;border:1px solid rgba(183,191,209,.14);border-radius:14px;background:#0d0f13}.movie-detail-cinema .cinema-mini-head{margin-bottom:14px}.movie-detail-cinema .cinema-mini-head h3{font-size:1.12rem}.movie-detail-cinema .cinema-mini-head p{font-size:.78rem}.movie-detail-cinema .cinema-mini-head>span{border-color:rgba(244,229,0,.35);color:var(--yellow)}
@media(max-width:767px){.movie-show-poster{width:62px}.movie-show-metadata{font-size:.72rem}.schedule-empty-state{padding:32px 18px}.schedule-empty-state h2{font-size:1.1rem}}
@media(max-width:767px){.movie-detail-cinema{padding:15px}.movie-detail-cinema .cinema-mini-head{display:block}.movie-detail-cinema .cinema-mini-head>span{display:inline-block;margin-top:6px}.movie-detail-date-tabs{justify-content:flex-start}}

/* Shared YouTube trailer modal */
body.trailer-modal-open{position:fixed;inset:0;width:100%;overflow:hidden}
.trailer-modal[hidden]{display:none}
.trailer-modal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:24px;isolation:isolate}
.trailer-modal-overlay{position:absolute;z-index:-1;inset:0;background:rgba(0,0,0,.86);animation:trailer-fade-in .18s ease-out both}
.trailer-modal-dialog{width:min(900px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;border:1px solid rgba(244,229,0,.32);border-radius:18px;background:linear-gradient(145deg,#172542,#0b1224);box-shadow:0 28px 90px rgba(0,0,0,.55);animation:trailer-scale-in .2s ease-out both}
.trailer-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.trailer-modal-header .eyebrow{margin:0 0 5px;color:var(--yellow)}
.trailer-modal-header h2{margin:0;color:#fff;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.15;overflow-wrap:anywhere}
.trailer-modal-close{display:grid;flex:0 0 auto;width:40px;height:40px;place-items:center;border:1px solid rgba(244,229,0,.55);border-radius:50%;background:rgba(244,229,0,.08);color:var(--yellow);font:400 2rem/1 Arial,sans-serif;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.trailer-modal-close:hover,.trailer-modal-close:focus-visible{background:var(--yellow);color:#0f172a;transform:rotate(90deg)}
.trailer-modal-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
.trailer-modal-video-wrap{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:11px;background:#05070c;box-shadow:0 12px 32px rgba(0,0,0,.32)}
.trailer-modal-video-wrap iframe{display:block;width:100%;height:100%;border:0}
.trailer-modal-message{display:grid;width:100%;height:100%;place-items:center;align-content:center;gap:10px;padding:24px;color:#d8dfed;text-align:center}
.trailer-modal-message span{display:grid;width:52px;height:52px;place-items:center;border:1px solid var(--yellow);border-radius:50%;color:var(--yellow);font-size:1.25rem}
.trailer-modal-message p{margin:0;color:#c5cede;font-size:.9rem}
.trailer-modal-fallback{display:block;width:max-content;max-width:100%;margin:16px auto 0;padding:9px 14px;border:1px solid rgba(244,229,0,.45);border-radius:8px;color:var(--yellow);font-size:.82rem;font-weight:700;text-decoration:none;text-align:center}
.trailer-modal-fallback:hover,.trailer-modal-fallback:focus-visible{background:rgba(244,229,0,.12);color:#fff}
.movie-card-actions .movie-card-trailer{appearance:none;font-family:'Inter',sans-serif;cursor:pointer}
.media-card{width:100%;padding:0;border:0;font:inherit;text-align:left;cursor:pointer}
.media-card:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
@keyframes trailer-fade-in{from{opacity:0}to{opacity:1}}
@keyframes trailer-scale-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(max-width:767px){.trailer-modal{padding:12px}.trailer-modal-dialog{max-height:calc(100vh - 24px);padding:14px;border-radius:14px}.trailer-modal-header{margin-bottom:12px}.trailer-modal-close{width:36px;height:36px;font-size:1.7rem}.trailer-modal-fallback{width:100%}}
@media(prefers-reduced-motion:reduce){.trailer-modal-overlay,.trailer-modal-dialog{animation:none}}

/* Login and member registration */
.auth-page{min-height:100vh;background:#0b1424;color:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh;padding-top:76px}
.auth-visual{position:relative;display:flex;align-items:flex-end;min-height:620px;padding:clamp(36px,6vw,88px);overflow:hidden;background:linear-gradient(90deg,rgba(4,11,22,.94),rgba(4,11,22,.45)),url('/images/articles/chon-ghe-xem-phim.webp') center/cover no-repeat}
.auth-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(4,10,19,.9));pointer-events:none}
.auth-visual-content{position:relative;z-index:1;max-width:540px}.auth-visual-content .eyebrow,.auth-panel .eyebrow{margin:0 0 10px;color:#ffe500;font-size:.72rem;font-weight:800;letter-spacing:.16em}
.auth-visual h1{margin:0 0 20px;color:#fff;font-family:Anton,Impact,sans-serif;font-size:clamp(2.75rem,5vw,5.35rem);font-weight:400;letter-spacing:.015em;line-height:.98;text-transform:uppercase}.auth-visual p:last-child{max-width:430px;margin:0;color:#d2dae7;font-size:1rem;line-height:1.7}
.auth-panel-wrap{display:grid;place-items:center;padding:clamp(34px,6vw,76px) clamp(20px,5vw,68px);background:#0b1424}.auth-panel{width:min(100%,530px);padding:clamp(28px,4vw,46px);border:1px solid rgba(255,229,0,.2);border-radius:15px;background:#111e33}.auth-panel-register{width:min(100%,680px)}
.auth-panel h2{margin:0;color:#fff;font-family:Anton,Impact,sans-serif;font-size:clamp(2.15rem,4vw,3.2rem);font-weight:400;letter-spacing:.02em;text-transform:uppercase}.auth-lead{margin:10px 0 26px;color:#b9c6d8;line-height:1.6}.auth-panel .alert{margin-bottom:16px;border-radius:9px;font-size:.86rem}.auth-form{display:grid;gap:18px}.auth-form fieldset{min-width:0;margin:0;padding:0;border:0}.auth-form legend{width:100%;margin:4px 0 14px;padding-bottom:9px;border-bottom:1px solid rgba(255,255,255,.13);color:#ffe500;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.auth-field{min-width:0}.auth-field-wide{grid-column:1/-1}.auth-field label{display:block;margin-bottom:7px;color:#eef3fb;font-size:.84rem;font-weight:700}.auth-field label span{color:#ffe500}.auth-field .form-control,.auth-field .form-select{min-height:48px;border:1px solid rgba(185,198,216,.35);border-radius:8px;background:#0b1424;color:#fff;padding:10px 12px}.auth-field .form-control::placeholder{color:#7f8ca0}.auth-field .form-control:focus,.auth-field .form-select:focus{border-color:#ffe500;box-shadow:0 0 0 .2rem rgba(255,229,0,.14);background:#0b1424;color:#fff}.auth-field input[type="date"]{color-scheme:dark}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.auth-label-row a{color:#ffe500;font-size:.78rem;font-weight:700;text-decoration:none}.auth-label-row a:hover{text-decoration:underline}.password-control{position:relative}.password-control .form-control{padding-right:60px}.password-toggle{position:absolute;top:50%;right:7px;min-width:47px;transform:translateY(-50%);border:0;border-radius:6px;background:transparent;color:#ffe500;font-size:.76rem;font-weight:800}.password-toggle:focus-visible{outline:2px solid #ffe500;outline-offset:2px}.auth-remember,.auth-consent{display:flex;align-items:flex-start;gap:10px;margin:0;color:#c2cddd;font-size:.84rem;line-height:1.5;cursor:pointer}.auth-remember .form-check-input,.auth-consent .form-check-input{flex:0 0 auto;margin-top:3px;border-color:#8491a4;background-color:#0b1424}.auth-remember .form-check-input:checked,.auth-consent .form-check-input:checked{background-color:#ffe500;border-color:#ffe500}.auth-submit{min-height:51px;border:0;border-radius:8px;background:#ffe500;color:#0b1424;font-family:Anton,Impact,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.06em}.auth-submit:hover,.auth-submit:focus-visible{background:#fff36a;color:#0b1424}.auth-submit:disabled{opacity:.7;cursor:wait}.auth-switch{margin:22px 0 0;color:#b9c6d8;text-align:center;font-size:.9rem}.auth-switch a{color:#ffe500;font-weight:800;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.field-error{display:block;margin-top:6px;color:#ffabb4;font-size:.75rem;line-height:1.35}.auth-field .is-invalid{border-color:#f67b89}
@media(max-width:991px){.auth-layout{grid-template-columns:1fr}.auth-visual{min-height:310px;padding:40px}.auth-visual h1{font-size:clamp(2.5rem,7vw,4rem)}.auth-panel-wrap{padding:42px 24px 58px}.auth-panel,.auth-panel-register{width:min(680px,100%)}}
@media(max-width:575px){.auth-layout{padding-top:68px}.auth-visual{min-height:245px;padding:30px 22px}.auth-visual h1{margin-bottom:12px;font-size:2.55rem}.auth-visual p:last-child{font-size:.88rem;line-height:1.55}.auth-panel-wrap{padding:20px 12px 36px}.auth-panel{padding:25px 19px;border-radius:11px}.auth-panel h2{font-size:2.35rem}.auth-grid{grid-template-columns:1fr}.auth-field-wide{grid-column:auto}.auth-label-row{align-items:flex-start;flex-direction:column;gap:4px}.auth-form{gap:15px}}

/* Auth pages: centered card over the Rex cinema backdrop shown in the design reference. */
body.auth-page{min-height:100vh;background-color:#071326;background-image:linear-gradient(rgba(4,13,29,.72),rgba(4,13,29,.78)),url('/images/articles/chon-ghe-xem-phim.webp');background-position:center;background-size:cover;background-attachment:fixed;color:#fff;overflow-x:hidden}
body.auth-page .rex-nav{z-index:1040;background:rgba(5,17,36,.92);border-bottom-color:rgba(183,191,209,.22)}
body.auth-page .auth-layout{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:96px 20px 44px;background:transparent}
body.auth-page .auth-panel-wrap{display:grid;place-items:center;width:100%;min-height:0;padding:0;background:transparent}
body.auth-page .auth-panel{width:min(100%,520px);padding:28px 44px 30px;border:1px solid rgba(151,177,211,.42);border-radius:17px;background:rgba(12,27,49,.94);box-shadow:0 22px 60px rgba(0,0,0,.34)}
body.auth-page .auth-panel-register{width:min(100%,380px);padding:19px 28px 20px}
body.auth-page .auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:-2px 0 25px;border-bottom:1px solid rgba(151,177,211,.26)}
body.auth-page .auth-tab{position:relative;padding:0 8px 13px;color:#aeb9ca;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-align:center;text-decoration:none;transition:color .16s ease}
body.auth-page .auth-tab:hover,body.auth-page .auth-tab:focus-visible{color:#fff}
body.auth-page .auth-tab.is-active{color:#ffe500}
body.auth-page .auth-tab.is-active:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:3px;background:#ffe500;border-radius:3px}
body.auth-page .auth-panel-heading h1{margin:0 0 8px;color:#fff;font-family:'Anton',Impact,sans-serif;font-size:clamp(2rem,4vw,2.35rem);font-weight:400;letter-spacing:.02em;line-height:1.1}
body.auth-page .auth-panel-heading p{margin:0 0 24px;color:#9eacc1;font-size:.82rem;line-height:1.65}
body.auth-page .auth-panel .alert{padding:9px 11px;border-radius:7px;font-size:.76rem}
body.auth-page .auth-form{gap:16px}
body.auth-page .auth-field label{margin-bottom:6px;color:#f2f5fa;font-size:.78rem;font-weight:700}
body.auth-page .auth-field label span{color:#ffe500}
body.auth-page .auth-field .form-control,body.auth-page .auth-field .form-select{min-height:37px;border:1px solid rgba(151,177,211,.4);border-radius:6px;background:#13223a;color:#fff;padding:8px 11px;font-size:.78rem}
body.auth-page .auth-field .form-control::placeholder{color:#9aa9bc}
body.auth-page .auth-field .form-control:focus,body.auth-page .auth-field .form-select:focus{border-color:#ffe500;box-shadow:0 0 0 .15rem rgba(255,229,0,.13);background:#152641;color:#fff}
body.auth-page .auth-field input[type=date]{color-scheme:dark}
body.auth-page .auth-label-row{align-items:center}
body.auth-page .auth-label-row a{font-size:.74rem}
body.auth-page .password-control .form-control{padding-right:45px}
body.auth-page .password-toggle{right:5px;min-width:30px;padding:4px;color:#e8eef8;font-size:.9rem;line-height:1}
body.auth-page .password-toggle:hover,body.auth-page .password-toggle:focus-visible{color:#ffe500}
body.auth-page .auth-remember,body.auth-page .auth-consent{gap:8px;color:#d4dce9;font-size:.76rem;line-height:1.45}
body.auth-page .auth-remember .form-check-input,body.auth-page .auth-consent .form-check-input{width:17px;height:17px;margin-top:0}
body.auth-page .auth-consent a{color:#fff;text-decoration:underline}
body.auth-page .auth-submit{min-height:46px;border-radius:6px;background:#ffe500;color:#071326;font-family:'Anton',Impact,sans-serif;font-size:1.08rem;font-weight:400;letter-spacing:.04em}
body.auth-page .auth-submit:hover,body.auth-page .auth-submit:focus-visible{background:#fff36a;color:#071326}
body.auth-page .auth-switch{margin:16px 0 0;color:#9eacc1;font-size:.76rem}
body.auth-page .auth-switch a{color:#fff;text-decoration:underline}
body.auth-page .field-error{margin-top:4px;font-size:.7rem}
body.auth-register-page .auth-layout{align-items:flex-start;padding-top:96px}
body.auth-register-page .auth-panel-heading p{margin-bottom:18px}
body.auth-register-page .auth-form{gap:10px}
body.auth-register-page .auth-field label{margin-bottom:4px;font-size:.72rem}
body.auth-register-page .auth-field .form-control,body.auth-register-page .auth-field .form-select{min-height:35px;font-size:.72rem}
body.auth-register-page .auth-consent{margin-top:2px;font-size:.67rem}
body.auth-register-page .auth-submit{min-height:40px;font-size:1rem}
body.auth-register-page .auth-switch{margin-top:12px}
@media(max-width:767px){body.auth-page{background-attachment:scroll}body.auth-page .auth-layout{align-items:flex-start;padding:88px 12px 28px}body.auth-page .auth-panel,body.auth-page .auth-panel-register{width:min(100%,470px);padding:25px 20px 27px}body.auth-page .auth-panel-register{width:min(100%,400px);padding:20px 18px 22px}body.auth-page .auth-tabs{margin-bottom:21px}body.auth-page .auth-panel-heading h1{font-size:2rem}body.auth-page .auth-panel-heading p{font-size:.78rem}}
body.auth-page .auth-panel,.auth-page .auth-panel *{box-sizing:border-box}
body.auth-page .auth-form,.auth-page .auth-field,.auth-page .password-control{width:100%;min-width:0}
body.auth-page .auth-field .form-control,body.auth-page .auth-field .form-select,body.auth-page .password-control .form-control{display:block;width:100%;min-width:0;box-sizing:border-box}
body.auth-page .auth-submit{display:block;width:100%;box-sizing:border-box}
body.auth-page .auth-panel-register{width:min(100%,580px);padding:32px}
body.auth-page .auth-panel-register .auth-form{gap:16px}
@media(max-width:767px){body.auth-page .auth-panel-register{width:min(100%,580px);padding:25px 20px 27px}}
/* Auth sizing pass: readable controls shared by login and register. */
body.auth-page .auth-panel{padding:36px 40px 38px}
body.auth-page .auth-panel-register{padding:36px 40px 38px}
body.auth-page .auth-tabs{margin-bottom:30px}
body.auth-page .auth-tab{padding-bottom:15px;font-size:15px;letter-spacing:.06em}
body.auth-page .auth-panel-heading h1{margin-bottom:10px;font-size:32px}
body.auth-page .auth-panel-heading p{margin-bottom:30px;font-size:15px;line-height:1.65}
body.auth-page .auth-form{gap:19px}
body.auth-page .auth-field label{margin-bottom:8px;font-size:14px;font-weight:600}
body.auth-page .auth-field .form-control,body.auth-page .auth-field .form-select,body.auth-page .password-control .form-control{min-height:49px;padding:11px 15px;border-radius:7px;font-size:15px;line-height:1.35}
body.auth-page .auth-field .form-control::placeholder{font-size:15px}
body.auth-page .password-control .form-control{padding-right:54px}
body.auth-page .password-toggle{right:8px;min-width:32px;padding:5px;font-size:19px;line-height:1}
body.auth-page .auth-remember,body.auth-page .auth-consent{gap:9px;font-size:14px;line-height:1.5}
body.auth-page .auth-remember .form-check-input,body.auth-page .auth-consent .form-check-input{width:18px;height:18px;margin-top:1px}
body.auth-page .auth-label-row a{font-size:14px}
body.auth-page .auth-submit{min-height:50px;font-size:17px}
body.auth-page .auth-panel .alert{font-size:13px;line-height:1.45}
body.auth-page .auth-switch{margin-top:22px;font-size:14px}
body.auth-page .field-error{font-size:13px}
@media(max-width:767px){body.auth-page .auth-panel,body.auth-page .auth-panel-register{padding:30px 20px 32px}body.auth-page .auth-tabs{margin-bottom:25px}body.auth-page .auth-panel-heading h1{font-size:30px}body.auth-page .auth-panel-heading p{font-size:15px;margin-bottom:26px}body.auth-page .auth-form{gap:18px}}

/* RexCinemas design system: shared tokens and component contracts. */
:root{
  --color-bg:#0b1424;
  --color-surface:#111e32;
  --color-surface-hover:#19283e;
  --color-primary:#ffe500;
  --color-primary-hover:#f2d900;
  --color-on-primary:#101827;
  --color-secondary:#6f2da8;
  --color-text:#f8fafc;
  --color-text-muted:#b7c1d4;
  --color-border:#34445c;
  --color-success:#35c987;
  --color-danger:#ef5965;
  --color-warning:#f8b84e;
  --color-info:#55c7ee;
  --font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:'Anton',sans-serif;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --shadow-card:0 14px 34px rgba(0,0,0,.22);
  --focus-ring:0 0 0 3px rgba(255,229,0,.28);
  --bg:var(--color-bg);
  --bg-soft:var(--color-surface);
  --yellow:var(--color-primary);
  --text:var(--color-text);
  --text-muted:var(--color-text-muted);
  --card:var(--color-surface);
  --card-2:var(--color-surface-hover);
  --accent:var(--color-primary);
  --accent-2:var(--color-primary-hover);
  --muted:var(--color-text-muted);
  --line:var(--color-border)
}

/* Keep Check-in QR active state aligned with the yellow admin navigation. */
.admin-sidebar-menu a.checkin-nav-link.active,.admin-sidebar-menu a.checkin-nav-link:hover{background:rgba(244,229,0,.12);border-left-color:var(--yellow);color:#fff}

/* Admin payment settings */
.payment-admin-header{align-items:flex-end;margin-bottom:24px}.payment-admin-header__actions{padding-bottom:2px}.payment-admin-alert{margin-bottom:18px}
.payment-admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);gap:20px;margin-bottom:20px}.payment-admin-card{padding:26px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:linear-gradient(145deg,rgba(23,34,55,.96),rgba(15,24,42,.98));box-shadow:0 14px 34px rgba(0,0,0,.14)}.payment-admin-card__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.payment-admin-card__heading .eyebrow{margin:0 0 7px;color:#ffe500;font-size:11px;font-weight:800;letter-spacing:.14em}.payment-admin-card__heading h2{margin:0 0 7px;color:#f5f8fc;font-size:20px}.payment-admin-card__heading p:last-child{margin:0;color:#9baac0;font-size:14px;line-height:1.55}
.payment-admin-form{display:grid;gap:20px}.payment-admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.payment-admin-field{display:grid;gap:7px}.payment-admin-field label{color:#e8eef7;font-size:14px;font-weight:650}.required-mark{color:#ffe500}.payment-admin-field .form-control,.payment-admin-field .form-select{min-height:43px;border-color:#33445d;border-radius:8px;background:#0f1b2e;color:#f4f7fb}.payment-admin-field .form-control::placeholder{color:#718199}.payment-admin-field .form-control:focus,.payment-admin-field .form-select:focus{border-color:#ffe500;box-shadow:0 0 0 .2rem rgba(255,229,0,.12)}.payment-admin-hint{color:#8494aa;font-size:12px;line-height:1.45}.payment-admin-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0;border-top:1px solid rgba(148,163,184,.16);border-bottom:1px solid rgba(148,163,184,.16)}.payment-admin-check{display:flex;align-items:flex-start;gap:10px;margin:0;color:#eaf0f8}.payment-admin-check .form-check-input{margin-top:3px;flex:0 0 auto}.payment-admin-check strong,.payment-admin-check small{display:block}.payment-admin-check small{margin-top:4px;color:#8494aa;font-size:12px;font-weight:400}.payment-admin-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.payment-admin-save-note{display:flex;align-items:center;gap:7px;color:#8fa0b6;font-size:12px}.payment-admin-save-note .ui-icon{width:16px;height:16px;color:#77d49a}.payment-admin-form-actions .btn{min-height:43px}
.payment-advanced{border:1px solid rgba(148,163,184,.18);border-radius:9px;background:rgba(7,15,28,.25)}.payment-advanced summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;color:#e6edf7;cursor:pointer;list-style:none;font-size:14px;font-weight:700}.payment-advanced summary::-webkit-details-marker{display:none}.payment-advanced summary span{display:flex;align-items:center;gap:8px}.payment-advanced summary .ui-icon{width:17px;height:17px;color:#ffe500}.payment-advanced summary small{color:#8596ae;font-size:11px;font-weight:500}.payment-advanced__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:0 15px 16px}.payment-admin-info-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-top:22px;border-top:1px solid rgba(148,163,184,.16);color:#9aaac0;font-size:13px}.payment-admin-info-row strong{color:#e7edf6}
.payment-status-card{display:flex;flex-direction:column}.payment-status-item{display:flex;gap:13px;padding:17px 0;border-top:1px solid rgba(148,163,184,.16)}.payment-status-item__icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:rgba(255,229,0,.1);color:#ffe500}.payment-status-item__icon--green{background:rgba(66,211,141,.1);color:#6fe2a5}.payment-status-item__icon .ui-icon{width:20px;height:20px}.payment-status-item__content{min-width:0;flex:1}.payment-status-item__title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.payment-status-item__title strong{color:#f3f7fc;font-size:14px;line-height:1.45}.payment-status-item p{margin:7px 0 8px;color:#95a5ba;font-size:13px;line-height:1.5}.payment-status-link{padding:0;border:0;background:transparent;color:#ffe500;font-size:12px;font-weight:700}.payment-status-detail{color:#74859d;font-size:12px}.payment-status-help{display:flex;gap:8px;margin-top:auto;padding-top:18px;color:#7f90a7;font-size:12px;line-height:1.45}.payment-status-help .ui-icon{width:16px;height:16px;flex:0 0 auto;color:#7e9bc4}
.payment-preview-card{margin-bottom:20px}.payment-preview-content{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(280px,1.2fr);gap:24px;align-items:center}.payment-qr-preview{display:flex;align-items:center;gap:18px;padding:16px;border:1px solid #d8dee8;border-radius:10px;background:#fff;color:#1d283a}.payment-qr-preview img{width:154px;height:154px;object-fit:contain}.payment-qr-preview strong{display:block;margin-bottom:5px;font-size:16px}.payment-qr-preview span{display:block;color:#536276;font-size:13px;line-height:1.5}.payment-preview-details{display:grid;gap:0;margin:0}.payment-preview-details>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid rgba(148,163,184,.16)}.payment-preview-details dt{color:#91a2b8;font-size:13px}.payment-preview-details dd{margin:0;color:#edf3fb;font-size:13px;font-weight:700;text-align:right}.payment-preview-empty{display:flex;align-items:center;gap:15px;padding:25px;border:1px dashed #42536c;border-radius:10px;background:rgba(8,16,29,.28)}.payment-preview-empty__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:rgba(255,229,0,.1);color:#ffe500}.payment-preview-empty__icon .ui-icon{width:25px;height:25px}.payment-preview-empty h3{margin:0 0 5px;color:#f2f6fb;font-size:16px}.payment-preview-empty p{margin:0;color:#8d9db3;font-size:13px}.payment-transactions{overflow:hidden}.payment-transactions .table{margin-bottom:0}.payment-transactions .table td,.payment-transactions .table th{white-space:nowrap}
@media(max-width:900px){.payment-admin-grid,.payment-preview-content{grid-template-columns:1fr}.payment-status-card{min-height:0}.payment-status-help{margin-top:5px}.payment-admin-header{align-items:flex-start;gap:18px;flex-direction:column}.payment-admin-header__actions{padding:0}}
@media(max-width:600px){.payment-admin-card{padding:18px}.payment-admin-form-grid,.payment-admin-options,.payment-advanced__body{grid-template-columns:1fr}.payment-admin-card__heading{gap:10px;flex-direction:column}.payment-admin-form-actions{align-items:stretch;flex-direction:column}.payment-admin-form-actions .btn{width:100%}.payment-qr-preview{align-items:flex-start;flex-direction:column}.payment-qr-preview img{width:170px;height:170px}.payment-status-item__title{flex-direction:column}.payment-preview-empty{align-items:flex-start;flex-direction:column}}
html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}
body{max-width:100%;overflow-x:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.6}
img,svg,video,iframe{max-width:100%}
a{color:var(--color-primary);text-underline-offset:3px}
a:hover{color:var(--color-primary-hover)}
.text-secondary,.text-muted{color:var(--color-text-muted)!important}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:var(--focus-ring)}
h1,h2,h3,h4,h5,h6{color:var(--color-text);line-height:1.2}

/* Buttons */
.btn{min-height:44px;padding:9px 18px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;font-weight:700;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);white-space:normal;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:none}
.btn-sm{min-height:36px;padding:6px 12px;font-size:13px}
.btn-lg{min-height:50px;padding:12px 22px;font-size:16px}
.btn-rex,.btn-primary,body:has(.admin-sidebar) .admin-form .btn-rex{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}
.btn-rex:hover,.btn-rex:focus-visible,.btn-primary:hover,.btn-primary:focus-visible,body:has(.admin-sidebar) .admin-form .btn-rex:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-on-primary)}
.btn-secondary{border-color:var(--color-border);background:var(--color-surface-hover);color:var(--color-text)}
.btn-secondary:hover{border-color:#51627a;background:#22344d;color:var(--color-text)}
.btn-outline-light{border-color:#7d8ba0;color:var(--color-text)}
.btn-outline-light:hover{border-color:var(--color-text);background:var(--color-text);color:var(--color-on-primary)}
.btn-danger,body:has(.admin-sidebar) .admin-form .btn-danger{border-color:var(--color-danger);background:var(--color-danger);color:#111827}
.btn-danger:hover,body:has(.admin-sidebar) .admin-form .btn-danger:hover{border-color:#ff7480;background:#ff7480;color:#111827}
.btn-outline-danger{border-color:var(--color-danger);color:#ff7a84}
.btn-outline-danger:hover{border-color:var(--color-danger);background:var(--color-danger);color:#111827}
.btn-warning{border-color:var(--color-warning);background:var(--color-warning);color:#172033}
.btn-outline-success{border-color:var(--color-success);color:var(--color-success)}
.btn-outline-success:hover{background:var(--color-success);color:#0b1424}
.btn-link{min-height:auto;color:var(--color-primary)}
.btn:disabled,.btn.disabled{transform:none;cursor:not-allowed;opacity:.58}
.btn[aria-busy='true']{pointer-events:none}
.rex-auth-nav .btn,.cinema-nav .btn,.rex-nav .btn{min-height:36px;border-radius:999px;padding:7px 14px}

/* Forms */
label,.form-label{margin-bottom:7px;color:var(--color-text);font-size:14px;font-weight:600}
.form-control,.form-select{width:100%;min-height:48px;padding:10px 15px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#0d192b;color:var(--color-text);font-size:15px;line-height:1.4}
textarea.form-control{min-height:112px;resize:vertical}
.form-control::placeholder{color:#8996aa;opacity:1}
.form-control:focus,.form-select:focus{border-color:var(--color-primary);background-color:#0d192b;color:var(--color-text);box-shadow:var(--focus-ring)}
.form-select{color-scheme:dark}
.form-check-input{width:18px;height:18px;border-color:#718098;background-color:#0d192b}
.form-check-input:checked{border-color:var(--color-primary);background-color:var(--color-primary)}
.form-check-input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}
.invalid-feedback,.field-error{color:#ff8b94;font-size:13px}
.form-text{color:var(--color-text-muted);font-size:13px}
.form-control:disabled,.form-select:disabled{background:#182438;color:#8793a6;opacity:1}

/* Cards, overlays and navigation surfaces */
.card,.admin-form,.profile-card,.booking-panel,.summary-card,.filter-card,.auth-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card)}
.card-header,.card-footer{border-color:var(--color-border);background:rgba(255,255,255,.025)}
.modal-content{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:0 24px 80px rgba(0,0,0,.48)}
.modal-header,.modal-footer{border-color:var(--color-border)}
.modal-backdrop.show{opacity:.85}
.btn-close{filter:invert(1) grayscale(1);opacity:.82}
.dropdown-menu{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-card)}
.dropdown-item{color:var(--color-text)}
.dropdown-item:hover,.dropdown-item:focus{background:var(--color-surface-hover);color:var(--color-primary)}
.nav-tabs{border-color:var(--color-border)}
.nav-tabs .nav-link{min-height:44px;border-color:transparent;color:var(--color-text-muted);font-weight:700}
.nav-tabs .nav-link:hover{border-color:transparent;color:var(--color-text)}
.nav-tabs .nav-link.active{border-color:transparent transparent var(--color-primary);background:transparent;color:var(--color-primary)}

/* Data, statuses and feedback */
.table-responsive{overflow-x:auto;border-radius:var(--radius-md);-webkit-overflow-scrolling:touch}
.table{--bs-table-bg:transparent;--bs-table-color:var(--color-text);--bs-table-border-color:var(--color-border);margin-bottom:0;color:var(--color-text)}
.table>:not(caption)>*>*{padding:13px 15px;background:transparent;color:inherit;vertical-align:middle}
.table thead th{color:#dbe3ef;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.table-hover>tbody>tr:hover>*{--bs-table-bg-state:rgba(255,255,255,.045);color:var(--color-text)}
.badge{padding:.45em .7em;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}
.alert{border-width:1px;border-radius:var(--radius-sm);font-size:14px}
.alert-success{border-color:rgba(53,201,135,.5);background:rgba(53,201,135,.15);color:#a9f2ce}
.alert-danger{border-color:rgba(239,89,101,.55);background:rgba(239,89,101,.15);color:#ffc0c5}
.alert-warning{border-color:rgba(248,184,78,.55);background:rgba(248,184,78,.15);color:#ffe0a8}
.alert-info{border-color:rgba(85,199,238,.5);background:rgba(85,199,238,.14);color:#bdefff}
.bg-warning,.text-bg-warning{color:#172033!important}

/* Explicit light surfaces keep dark, readable content. */
.quick-schedule-box,.ticket,.rex-ticket-shell,.bank-qr-image-wrap,.qr-frame{color:#182033}
.quick-schedule-box h1,.quick-schedule-box h2,.quick-schedule-box h3,.quick-schedule-box h4,.ticket h1,.ticket h2,.ticket h3,.ticket h4,.rex-ticket-shell h1,.rex-ticket-shell h2,.rex-ticket-shell h3,.rex-ticket-shell h4{color:#111827}

@media(max-width:767px){
  .btn:not(.btn-sm){min-height:46px}
  .table-responsive>.table{min-width:680px}
  .modal-dialog{margin:var(--space-4)}
  .card,.admin-form,.profile-card,.booking-panel,.summary-card,.filter-card{border-radius:var(--radius-sm)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* UI component system v2: product-oriented surfaces and controls. */
:root{--ui-font:var(--font-body);--ui-display:var(--font-display);--ui-radius:8px;--ui-card-radius:12px;--ui-control-height:42px;--ui-control-height-sm:36px;--ui-transition:160ms ease;--ui-surface-raised:#142238;--ui-surface-subtle:#0d192b;--ui-border:rgba(183,193,212,.18)}
h1,h2,h3,h4,h5,h6,.admin-title h1,body:has(.admin-sidebar)>main>h1,body:has(.admin-sidebar)>main>.d-flex h1,body:has(.admin-sidebar) .admin-form h4,body:has(.admin-sidebar) main>h1,body:has(.admin-sidebar) .admin-form h4,.admin-page-wrap .section-header-admin h4,.admin-page-wrap .chart-card>h4{font-family:var(--ui-font);font-weight:700;letter-spacing:-.025em;text-transform:none}
.hero h1,.hero-copy h1,.movie-detail-hero h1,.rex-hero-home h1{font-family:var(--ui-display);font-weight:400;letter-spacing:.01em}
.ui-icon{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ui-icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:transparent;color:var(--color-text);transition:background var(--ui-transition),border-color var(--ui-transition),color var(--ui-transition)}
.ui-icon-btn:hover{border-color:var(--color-primary);background:rgba(255,229,0,.1);color:var(--color-primary)}
.ui-btn,.btn{min-height:var(--ui-control-height);border-radius:var(--ui-radius);padding:9px 16px;font-family:var(--ui-font);font-size:14px;font-weight:600;letter-spacing:0;text-transform:none}
.ui-btn .ui-icon,.btn .ui-icon{width:17px;height:17px}
.ui-btn--primary,.btn-rex,.btn-primary{box-shadow:0 5px 14px rgba(255,229,0,.14)}
.ui-btn--secondary,.btn-outline-light{background:transparent;border-color:#617089;color:#edf2fb}
.ui-btn--secondary:hover,.btn-outline-light:hover{border-color:#aebbd0;background:rgba(255,255,255,.07);color:#fff}
.ui-btn--danger.btn-outline-danger{border-color:rgba(239,89,101,.68);color:#ff9fa7}
.ui-btn--success.btn-outline-success{border-color:rgba(53,201,135,.65);color:#8ff0bf}
.btn-sm{min-height:var(--ui-control-height-sm);padding:6px 11px;font-size:13px}
.ui-card{border:1px solid var(--ui-border);border-radius:var(--ui-card-radius);background:var(--ui-surface-raised);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.ui-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px}
.ui-page-header h1{margin:0;color:#f7f9fc;font-size:clamp(1.8rem,2.5vw,2.45rem);line-height:1.15}
.ui-page-header p{max-width:680px;margin:9px 0 0;color:var(--color-text-muted);font-size:15px}
.ui-breadcrumb{display:flex;gap:8px;margin-bottom:8px;color:#94a3ba;font-size:13px}.ui-breadcrumb strong{color:#dce4f0;font-weight:600}
.ui-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid var(--ui-border);border-radius:999px;background:rgba(255,255,255,.06);color:#d9e2ef;font-size:12px;font-weight:650;line-height:1.2}
.ui-badge--success{background:rgba(53,201,135,.13);border-color:rgba(53,201,135,.3);color:#a9f2ce}.ui-badge--muted{background:rgba(183,193,212,.1);color:#b7c1d4}
.ui-empty-state{display:grid;justify-items:center;max-width:540px;margin:34px auto;padding:42px 24px;border:1px dashed #52627b;border-radius:var(--ui-card-radius);background:rgba(20,34,56,.55);text-align:center}.ui-empty-state__icon{width:38px;height:38px;margin-bottom:14px;color:var(--color-primary)}.ui-empty-state h2{margin:0 0 7px;font-size:20px}.ui-empty-state p{max-width:390px;margin:0 0 20px;color:var(--color-text-muted)}

/* Admin navigation and cards use UI font and consistent icon alignment. */
.admin-sidebar-menu a,.admin-sidebar-footer a,.admin-sidebar-footer button,.admin-sidebar-toggle{font-family:var(--ui-font)!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important}
.rex-search-link{display:inline-flex!important;align-items:center;gap:6px}.rex-search-link .ui-icon{width:15px;height:15px}
.admin-sidebar-menu a{display:flex;align-items:center;gap:11px}.admin-sidebar-menu a .ui-icon{width:17px;height:17px;color:#9fb0c8}.admin-sidebar-menu a:hover .ui-icon,.admin-sidebar-menu a.active .ui-icon{color:var(--color-primary)}
.admin-sidebar-footer a,.admin-sidebar-footer button{display:flex!important;align-items:center;gap:10px}.admin-sidebar-footer .ui-icon{width:16px;height:16px}.admin-sidebar-close{font-size:inherit!important}
.admin-cinema-page-header{align-items:flex-end;margin-bottom:28px}.admin-cinema-add{min-height:42px;padding:10px 17px;font-size:14px;white-space:nowrap}
.admin-cinema-grid{--bs-gutter-x:20px;--bs-gutter-y:20px}.admin-cinema-card{display:flex;flex-direction:column;min-height:255px;padding:22px;border-color:var(--ui-border);border-radius:var(--ui-card-radius);background:linear-gradient(145deg,#172741,#111d31);box-shadow:0 14px 30px rgba(0,0,0,.17);transition:transform var(--ui-transition),border-color var(--ui-transition),box-shadow var(--ui-transition)}
.admin-cinema-card:hover{border-color:rgba(255,229,0,.42);box-shadow:0 18px 36px rgba(0,0,0,.24);transform:translateY(-2px)}
.admin-cinema-card__heading{display:flex;align-items:flex-start;gap:13px}.admin-cinema-card__icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,229,0,.3);border-radius:10px;background:rgba(255,229,0,.09);color:var(--color-primary)}
.admin-cinema-card-title{margin:0 0 8px;color:#f6f8fb;font-family:var(--ui-font);font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.3}.admin-cinema-card__details{display:grid;gap:14px;margin:22px 0}.admin-cinema-card-address{display:flex;align-items:flex-start;gap:9px;min-height:44px;margin:0;color:#c0cad9;font-size:14px;line-height:1.55}.admin-cinema-card-address .ui-icon{margin-top:2px;color:#9ab0cb}.admin-cinema-card-city{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding-top:13px;border-top:1px solid var(--ui-border);color:#9eabc0;font-size:13px}.admin-cinema-card-city strong{color:#ebf0f8;font-size:14px;font-weight:650}
.admin-cinema-actions{display:flex;gap:9px;margin-top:auto;padding-top:17px;border-top:1px solid var(--ui-border)}.admin-cinema-actions form{margin:0}.admin-cinema-actions .btn{min-width:84px;min-height:38px;padding:7px 12px;font-size:13px}.admin-cinema-actions .btn:hover{transform:none}
body:has(.admin-sidebar) .admin-form h4,body:has(.admin-sidebar) main>h1{font-family:var(--ui-font);font-weight:700;text-transform:none}.admin-page-wrap .section-header-admin h4,.admin-page-wrap .chart-card>h4{font-family:var(--ui-font);font-weight:700;letter-spacing:-.015em}
body:has(.admin-sidebar) .admin-form .btn-rex{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--ui-font);font-weight:600;letter-spacing:0}body:has(.admin-sidebar) .admin-form .btn-rex:hover{border-color:var(--color-primary-hover);background:var(--color-primary-hover)}
body:has(.admin-sidebar) table .btn{min-height:var(--ui-control-height-sm);padding:6px 11px;border-radius:7px;font-family:var(--ui-font);font-size:13px;font-weight:600}
@media(max-width:991px){.ui-page-header{align-items:flex-start;flex-direction:column;gap:16px}.admin-cinema-card{min-height:0}.admin-cinema-page-header .admin-cinema-add{align-self:flex-start}}
@media(max-width:575px){.ui-page-header h1{font-size:29px}.ui-page-header p{font-size:14px}.admin-cinema-page-header{margin-bottom:22px}.admin-cinema-grid{--bs-gutter-x:12px;--bs-gutter-y:14px}.admin-cinema-card{padding:18px}.admin-cinema-actions .btn{flex:1;min-width:0}.ui-empty-state{padding:34px 18px}.admin-sidebar-menu a{gap:10px}}

/* Payment administration and SVG navigation controls. */
.rex-carousel-control{display:grid;place-items:center;width:44px;height:44px;top:50%;bottom:auto;margin:0 20px;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-primary);opacity:1;transform:translateY(-50%);transition:background var(--ui-transition),color var(--ui-transition),opacity var(--ui-transition)}
.rex-carousel-control .ui-icon{width:25px;height:25px;stroke-width:3}.rex-carousel-control:hover,.rex-carousel-control:focus-visible{background:rgba(255,229,0,.1);color:var(--color-primary-hover)}.rex-carousel-control:disabled{opacity:.4}.rex-carousel-control .carousel-control-prev-icon,.rex-carousel-control .carousel-control-next-icon{display:none}
.ui-chevron{width:17px;height:17px;flex:0 0 auto;color:var(--color-primary);stroke-width:2.8;vertical-align:middle}.profile-links a,.section-heading>a,.event-overlay a{display:inline-flex;align-items:center;gap:7px}.stage-actions .ui-chevron{width:18px;height:18px;stroke-width:2.8}.stage-actions .btn-outline-light .ui-chevron{color:var(--color-primary)}.stage-actions .btn-rex .ui-chevron{color:var(--color-on-primary)}
.hero-copy .js-trailer-trigger{border-color:rgba(183,193,212,.48);border-radius:8px;background:rgba(11,20,36,.72);color:#edf2fb;font-family:var(--font-body);font-size:16px;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:none}.hero-copy .js-trailer-trigger:hover,.hero-copy .js-trailer-trigger:focus-visible{border-color:var(--color-primary);background:rgba(255,229,0,.1);color:#fff}.hero-copy .js-trailer-trigger .ui-icon{width:18px;height:18px;color:var(--color-primary);stroke-width:2.2}
.rex-hero-home .hero-copy>.d-flex{align-items:center;gap:12px!important}
.rex-hero-home .hero-copy>.d-flex>.btn{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:9px;padding:0 20px;border-radius:9px;font-size:16px;line-height:1.15}
.rex-hero-home .hero-copy>.d-flex>.btn-rex{font-family:var(--ui-font);font-size:16px;font-weight:700;letter-spacing:.02em;box-shadow:0 8px 20px rgba(255,229,0,.16)}
.rex-hero-home .hero-copy>.d-flex>.js-trailer-trigger{font-weight:600}
.rex-hero-home .hero-copy>.d-flex>.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.rex-hero-home .hero-copy h1{line-height:1.06;margin-top:12px;margin-bottom:22px;overflow-wrap:anywhere;text-wrap:balance}
.rex-hero-home .hero-meta{margin-bottom:12px;line-height:1.45}
@media(max-width:767px){.rex-hero-home .hero-copy{padding-right:18px;padding-left:52px}.rex-hero-home .hero-copy h1{font-size:clamp(2.85rem,11vw,3.5rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:18px}.rex-hero-home .hero-meta{font-size:.92rem}.rex-hero-home .hero-desc{font-size:.94rem;line-height:1.55}}
.payment-settings-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:22px}.payment-settings-notice .ui-icon{margin-top:2px;color:var(--color-info)}
.payment-settings-form-panel{margin-bottom:20px}.payment-settings-form-panel .payment-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.payment-settings-form{display:grid;gap:20px}.payment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.payment-form-grid label{display:grid;gap:7px;margin:0;color:#e8eef7;font-size:14px}.payment-form-wide{grid-column:1/-1}.payment-form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding-top:17px;border-top:1px solid var(--ui-border)}.payment-enabled-check{display:flex;align-items:center;gap:8px;margin:0;color:var(--color-text-muted);font-size:14px}.payment-enabled-check .form-check-input{margin:0}.payment-form-actions .btn{margin-left:auto}
.payment-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:20px}.payment-method-card{display:flex;flex-direction:column;min-height:250px;padding:22px}.payment-method-card__head{display:flex;gap:12px;align-items:flex-start}.payment-method-card__head h2,.payment-panel-heading h2{margin:0 0 7px;font-size:18px}.payment-method-card__icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,229,0,.3);border-radius:10px;background:rgba(255,229,0,.09);color:var(--color-primary)}.payment-method-card__icon .ui-icon{width:21px;height:21px}.payment-method-card>p{margin:17px 0;color:var(--color-text-muted);font-size:14px;line-height:1.6}.payment-config-list{display:grid;gap:9px;margin:auto 0 0}.payment-config-list>div{display:flex;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid var(--ui-border);font-size:13px}.payment-config-list dt{color:#98a8bf;font-weight:500}.payment-config-list dd{margin:0;color:#edf3fb;font-weight:650;text-align:right;overflow-wrap:anywhere}.payment-code,code{color:#ffe878}.payment-method-card__footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--ui-border);color:#bfcadd;font-size:13px}
.payment-settings-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.payment-settings-panel{padding:24px}.payment-panel-heading{margin-bottom:18px}.payment-panel-heading .eyebrow{margin:0 0 6px}.payment-panel-heading p:last-child{max-width:680px;margin:0;color:var(--color-text-muted);font-size:14px}.payment-qr-preview{display:flex;align-items:center;gap:20px;padding:16px;border:1px solid var(--ui-border);border-radius:10px;background:#fff;color:#182033}.payment-qr-preview img{width:154px;height:154px;object-fit:contain}.payment-qr-preview strong{display:block;margin-bottom:5px;font-size:16px}.payment-qr-preview span{display:block;color:#536276;font-size:14px;line-height:1.5}.payment-qr-empty{max-width:none;margin:0;padding:26px}.payment-qr-empty h3{font-size:17px}.payment-env-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.payment-env-list li{display:grid;grid-template-columns:minmax(175px,.75fr) 1.25fr;gap:14px;padding:12px 0;border-top:1px solid var(--ui-border);color:var(--color-text-muted);font-size:14px}.payment-env-list li:first-child{border-top:0}.payment-env-list code{font-size:13px;font-weight:700}.payment-transactions{padding:24px}.payment-transactions .table td,.payment-transactions .table th{white-space:nowrap}
@media(max-width:1100px){.payment-method-grid{grid-template-columns:1fr 1fr}.payment-method-card--sandbox{grid-column:1/-1;min-height:0}}@media(max-width:767px){.rex-carousel-control{width:40px;height:40px;margin:0 10px}.payment-method-grid,.payment-settings-layout{grid-template-columns:1fr}.payment-method-card--sandbox{grid-column:auto}.payment-method-card,.payment-settings-panel,.payment-transactions{padding:18px}.payment-env-list li{grid-template-columns:1fr;gap:5px}.payment-qr-preview{align-items:flex-start;flex-direction:column}.payment-qr-preview img{width:170px;height:170px}.payment-form-grid{grid-template-columns:1fr}.payment-form-wide{grid-column:auto}.payment-form-actions{align-items:stretch;flex-direction:column;gap:12px}.payment-form-actions .btn{margin-left:0;width:100%}}
.payment-transaction-filters{padding:20px;margin-bottom:20px}.payment-transaction-detail{padding:28px}.payment-transaction-detail dt{color:var(--color-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.payment-transaction-detail dd{margin:4px 0 0;font-size:16px}.payment-transaction-content{white-space:pre-wrap;overflow-wrap:anywhere}

/* Search already contains its SVG icon; do not render a second pseudo-icon. */
.rex-main-nav .nav-item:last-child .nav-link:before{content:none}

/* Keep the authenticated admin entry visually consistent with the booking CTA. */
.rex-auth-nav .admin-entry{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:.62rem 1rem;border:1px solid var(--yellow);border-radius:999px;background:var(--yellow);color:#172033;font-family:'Anton',sans-serif;font-size:inherit;font-weight:400;letter-spacing:.02em;line-height:1;text-decoration:none;white-space:nowrap;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.rex-auth-nav .admin-entry:hover,.rex-auth-nav .admin-entry:focus-visible{background:#fff36a;border-color:#fff36a;color:#172033;transform:translateY(-1px)}
@media(max-width:1199px){.rex-auth-nav .admin-entry{font-size:.9rem}}
@media(max-width:991px){.rex-auth-nav .admin-entry{min-height:42px}}


/* Keep the original Inter UI and Anton display tokens for Vietnamese pages as well. */
html[lang="vi"] body,
html[lang="vi"] :is(input, textarea, select, button) {
    font-family: var(--font-body);
}
html[lang="vi"] :is(.eyebrow, .hero-age, .movie-card-meta) {
    letter-spacing: .06em;
}
.hero-backdrop, .movie-detail-bg {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.image-fallback-used { object-fit: cover; }
.avatar-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Legacy Anton declarations compressed Vietnamese labels in the booking widgets. */
html[lang="vi"] .quick-schedule-box span {
    font-family: var(--ui-font);
    font-size: clamp(.95rem, 1.35vw, 1.1rem);
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -.02em;
    white-space: nowrap;
}
html[lang="vi"] .quick-schedule-box > div > span { flex: 0 0 auto; }
html[lang="vi"] .quick-schedule-box .form-select { flex: 1 1 0; width: auto; }
html[lang="vi"] .quick-schedule-box > .btn,
html[lang="vi"] .quick-showtime-item > a {
    font-family: var(--ui-font);
    font-size: .83rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: nowrap;
}
html[lang="vi"] .quick-showtime-title span {
    font-family: var(--ui-font);
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.025em;
}
.quick-showtime-item {
    min-width: 350px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}
.quick-showtime-copy b {
    font-family: var(--ui-font);
    font-size: .84rem;
}
.quick-showtime-item > a::after { content: none; }
/* Authentication and navigation also need a Vietnamese-capable display font. */
html[lang="vi"] :is(.rex-auth-nav .admin-entry, .auth-submit, .event-overlay h3,
    .movie-card-body > div > a, .rex-footer h6, .payment-card h4,
    .payment-method-icon, .admin-role-badge, .bank-qr-image-wrap > span) {
    font-family: var(--ui-font);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3;
}
html[lang="vi"] .rex-auth-nav .rex-booking-cta {
    font-family: var(--ui-font);
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3;
}
html[lang="vi"] :is(.auth-visual h1, .auth-panel h2, body.auth-page .auth-panel-heading h1) {
    font-family: var(--ui-display);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: -.03em;
}
@media (max-width: 767px) {
    html[lang="vi"] :is(.hero-copy h1, .section-heading h2, .movie-detail-inner h1) {
        line-height: 1.25;
    }
    .quick-schedule-box {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 18px;
    }
    .quick-schedule-box > div { min-width: 0; max-width: none; width: 100%; }
    html[lang="vi"] .quick-schedule-box span { white-space: normal; }
    .quick-schedule-box .form-select { min-width: 0; width: 100%; }
    .quick-schedule-box > .btn { width: 100%; }
    .quick-showtime-item { min-width: 310px; }
}

/* Account header, location and member profile. */
.rex-auth-nav{gap:8px!important}.rex-location,.rex-notifications,.rex-account{position:relative}.header-icon-button,.account-trigger{border:0;background:transparent;color:#edf2fb;display:inline-flex;align-items:center;gap:7px;border-radius:10px;min-height:40px;padding:7px 8px;font:inherit}.header-icon-button:hover,.header-icon-button[aria-expanded=true],.account-trigger:hover,.account-trigger[aria-expanded=true]{background:rgba(255,229,0,.1);color:#fff}.header-icon-button .ui-icon{width:18px;height:18px;color:var(--yellow)}.header-location-button>span{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:700}.header-icon-button .chevron,.account-trigger .chevron{width:14px;height:14px;color:#9eadc2}.notification-button{position:relative;width:40px;justify-content:center}.notification-badge{position:absolute;top:2px;right:1px;min-width:16px;padding:1px 4px;border:2px solid #0f172a;border-radius:99px;background:var(--yellow);color:#182033;font-size:10px;font-weight:900;line-height:12px}.account-trigger{max-width:220px;text-align:left}.account-trigger>img{width:30px;height:30px;border:1px solid rgba(255,229,0,.7);border-radius:50%;object-fit:cover}.account-trigger-copy{display:grid;min-width:0}.account-trigger-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.account-trigger-copy small{color:#aab8cc;font-size:.62rem;font-weight:800;letter-spacing:.08em}.header-popover{position:absolute;z-index:1080;top:calc(100% + 9px);right:0;width:min(340px,calc(100vw - 24px));padding:10px;border:1px solid rgba(169,190,220,.23);border-radius:14px;background:#0d182b;box-shadow:0 18px 42px rgba(0,0,0,.38)}.header-popover[hidden]{display:none}.header-popover-title{margin:4px 8px 9px;color:#fff;font-size:.9rem;font-weight:800}.header-popover-empty{margin:8px;color:#9dadc4;font-size:.82rem}.location-option{display:grid;width:100%;grid-template-columns:1fr auto;gap:8px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#dce7f5;text-align:left;font:inherit}.location-option:hover,.location-option.is-selected{background:rgba(255,229,0,.1)}.location-option.is-selected{color:var(--yellow)}.location-option strong{font-size:.82rem}.location-option small{font-size:.72rem;color:#93a4bb}.header-popover-heading{display:flex;align-items:center;justify-content:space-between;padding-right:8px}.header-popover-heading>span{color:var(--yellow);font-size:.7rem;font-weight:700}.notification-list{max-height:360px;overflow:auto}.notification-item{display:grid;gap:3px;padding:10px 9px;border-radius:8px;color:#dce7f5;text-decoration:none}.notification-item:hover{background:rgba(255,255,255,.06)}.notification-item.is-unread{background:rgba(255,229,0,.08)}.notification-item strong{font-size:.8rem}.notification-item span{color:#9eacc1;font-size:.74rem;line-height:1.35}.account-popover{width:285px}.account-summary{display:flex;gap:10px;padding:7px 7px 12px;border-bottom:1px solid rgba(169,190,220,.18)}.account-summary img{width:42px;height:42px;border-radius:50%;object-fit:cover}.account-summary div{display:grid;min-width:0}.account-summary strong,.account-summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary strong{font-size:.85rem}.account-summary span{color:#9eacc1;font-size:.71rem}.account-summary em{color:var(--yellow);font-size:.67rem;font-style:normal;font-weight:800}.account-popover>a,.account-popover form button{display:flex;width:100%;align-items:center;gap:9px;margin-top:4px;padding:9px 8px;border:0;border-radius:8px;background:transparent;color:#e4edf9;text-align:left;text-decoration:none;font:inherit;font-size:.82rem}.account-popover>a:hover,.account-popover form button:hover{background:rgba(255,255,255,.07)}.account-popover .ui-icon{width:17px;height:17px;color:var(--yellow)}
.profile-page{min-height:100vh;background:radial-gradient(circle at 78% 5%,rgba(205,151,25,.18),transparent 24%),linear-gradient(115deg,rgba(3,12,26,.82),rgba(3,12,26,.9)),url('/images/rex-chain-cinemas-logo.webp') right 100px/430px auto no-repeat,#07101e}.profile-layout{display:grid;grid-template-columns:325px minmax(0,1fr);overflow:hidden;border:1px solid rgba(98,142,191,.3);border-radius:13px;background:rgba(4,15,31,.78);box-shadow:0 20px 50px rgba(0,0,0,.3)}.profile-sidebar{padding:34px 22px;background:linear-gradient(180deg,rgba(11,31,58,.98),rgba(4,16,31,.98));border-right:1px solid rgba(98,142,191,.24)}.profile-avatar-shell{position:relative;width:126px;height:126px;margin:0 auto 14px}.profile-avatar-shell>img{width:100%;height:100%;border:2px solid #eac13e;border-radius:50%;object-fit:cover}.profile-avatar-edit{position:absolute;right:0;bottom:3px;display:grid;place-items:center;width:34px;height:34px;border:2px solid #eac13e;border-radius:50%;background:#14243a;color:#fff}.profile-avatar-edit .ui-icon{width:17px;height:17px}.profile-sidebar h2{margin:0;text-align:center;color:#fff;font-size:1.18rem;font-weight:800}.profile-email{margin:4px 0 23px;color:#a7b8cf;text-align:center;font-size:.78rem}.profile-tier-card{display:grid;min-height:135px;padding:18px;border:1px solid rgba(232,190,58,.55);border-radius:14px;background:linear-gradient(135deg,rgba(194,136,25,.36),rgba(18,23,27,.94));box-shadow:inset 0 1px rgba(255,255,255,.1)}.profile-tier-card>span{color:#f8e9bb;font-size:.63rem;font-weight:800;letter-spacing:.25em}.profile-tier-card strong{align-self:end;color:#fff;font-size:1.7rem;font-weight:900}.profile-tier-card small{color:#f5f5f5;font-size:.76rem}.profile-tier-card.tier-silver{background:linear-gradient(135deg,#a8b4c1,#485568)}.profile-tier-card.tier-diamond{background:linear-gradient(135deg,#79b5cd,#354470)}.profile-progress{margin-top:21px;color:#aebdd1;font-size:.74rem}.profile-progress>div:first-child{display:flex;justify-content:space-between}.profile-progress strong{color:#e4edf9}.profile-progress .progress{height:7px;margin:10px 0;background:#2a3e59}.profile-progress .progress-bar{background:var(--yellow)}.profile-progress p{margin:0;line-height:1.55}.profile-nav{display:grid;gap:4px;margin:30px -22px -34px;padding:18px 14px;border-top:1px solid rgba(98,142,191,.2)}.profile-nav a{display:flex;align-items:center;gap:12px;padding:12px 10px;border-radius:8px;color:#d7e1ef;text-decoration:none;font-size:.84rem;font-weight:700}.profile-nav a:hover{background:rgba(255,229,0,.1);color:var(--yellow)}.profile-nav .ui-icon{width:19px;height:19px;color:var(--yellow)}.profile-nav .profile-chevron{width:15px;height:15px;margin-left:auto;color:#9eafc5}.profile-content{padding:36px}.profile-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;margin-bottom:28px}.profile-page-heading .eyebrow{margin:0 0 6px;color:var(--yellow);font-weight:900}.profile-page-heading h1{margin:0;color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:900}.profile-page-heading>div>p:last-child{margin:8px 0 0;color:#b2c0d2}.profile-points{display:flex;align-items:center;gap:14px;min-width:220px;padding:16px 20px;border:1px solid rgba(98,142,191,.36);border-radius:10px;background:rgba(5,20,39,.8)}.profile-points .ui-icon{width:31px;height:31px;color:var(--yellow)}.profile-points span{display:block;color:#acbbcf;font-size:.74rem}.profile-points strong{color:var(--yellow);font-size:1.7rem;line-height:1}.profile-card{margin-top:16px;padding:25px;border:1px solid rgba(98,142,191,.3);border-radius:12px;background:rgba(7,22,43,.86)}.profile-card-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.profile-card-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:9px;background:rgba(255,229,0,.12);color:var(--yellow)}.profile-card-icon .ui-icon{width:23px;height:23px}.profile-card-heading h2{margin:0;color:#fff;font-size:1.1rem;font-weight:800}.profile-card-heading p{margin:2px 0 0;color:#a7b7cd;font-size:.8rem}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}.profile-fields label{display:grid;gap:7px;color:#edf2fa;font-size:.8rem;font-weight:700}.profile-card .form-control{min-height:44px;border-color:#334a6a;background:#10233e;color:#eaf1fb}.profile-card .form-control:focus{border-color:var(--yellow);box-shadow:0 0 0 .18rem rgba(255,229,0,.13)}.profile-card .form-control[readonly]{opacity:.7}.profile-fields small{color:#91a5be;font-size:.7rem;font-weight:500}.profile-actions{display:flex;gap:12px;margin-top:22px}.profile-actions .btn{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:9px 18px;text-transform:uppercase;font-size:.78rem;font-weight:800}.profile-actions .ui-icon{width:17px;height:17px}.avatar-form{display:none}.avatar-config-note{margin:14px 0 0;color:#f2cd62;font-size:.78rem}
@media(max-width:991px){.header-location-button>span,.account-trigger-copy{display:none}.profile-layout{grid-template-columns:1fr}.profile-sidebar{border-right:0;border-bottom:1px solid rgba(98,142,191,.24)}.profile-sidebar{display:grid;grid-template-columns:130px 1fr;gap:0 20px;align-items:center}.profile-avatar-shell{margin:auto}.profile-sidebar h2,.profile-email{text-align:left}.profile-email{margin:3px 0}.profile-tier-card,.profile-progress,.profile-nav{grid-column:1/-1}.profile-nav{margin-bottom:-22px}.profile-content{padding:26px}}
@media(max-width:575px){.rex-auth-nav{gap:5px!important}.header-popover{position:fixed;top:70px;right:12px;left:12px;width:auto}.account-trigger{padding-right:3px}.profile-page-heading{display:block}.profile-points{margin-top:18px}.profile-sidebar{display:block}.profile-sidebar h2,.profile-email{text-align:center}.profile-email{margin-bottom:18px}.profile-fields{grid-template-columns:1fr}.profile-content{padding:18px}.profile-card{padding:18px}.profile-page-heading h1{font-size:2rem}.profile-actions .btn{flex:1;justify-content:center}.profile-nav{margin-bottom:-22px}}
.header-view-all{display:block;margin:8px 4px 2px;color:var(--yellow);font-size:.75rem;font-weight:800;text-align:center;text-decoration:none}.notification-page h1{color:#fff;font-weight:900}.notification-page-list .notification-item{padding:15px;border:1px solid rgba(98,142,191,.2);margin-top:9px}.notification-page-list .notification-item small{color:#8396b0;font-size:.68rem}.notification-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:22px;color:#b8c7db;font-size:.82rem}

/* Stable seat rows: each row owns its grid and keeps real seat columns. */
.seat-map-rows{display:grid;gap:12px;max-width:900px;margin:auto;overflow-x:auto;padding:4px 0 10px}
.seat-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;min-width:max(560px,calc(var(--seat-columns)*44px + 36px))}
.seat-row-label{color:#a9aebb;font-weight:800;text-align:center}
.seat-row-grid{display:grid;grid-template-columns:repeat(var(--seat-columns),minmax(34px,1fr));gap:8px;min-width:0}

/* Password form has an explicit field structure so legacy profile rules cannot affect it. */
.profile-password-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;align-items:start}
.profile-password-field{display:grid;grid-template-rows:auto auto minmax(1.05rem,auto);gap:7px;min-width:0}
.profile-password-field-current{grid-column:1/-1}
.profile-password-field>label{display:block;min-width:0;color:#edf2fa;font-size:.8rem;font-weight:700;line-height:1.25}
.profile-password-layout .form-control{display:block;width:100%;min-width:0;box-sizing:border-box}
.profile-password-help{display:block;min-height:1.05rem;margin:0;color:#91a5be;font-size:.7rem;font-weight:500;line-height:1.35}
.password-input-wrap{position:relative}
.password-input-wrap .form-control{padding-right:46px}
.password-toggle{position:absolute;top:50%;right:10px;display:grid;place-items:center;width:30px;height:30px;transform:translateY(-50%);border:0;background:transparent;color:#a9b8cc}
.password-toggle:hover{color:var(--yellow)}
.password-toggle .ui-icon{width:18px;height:18px}
.profile-form-alert{margin-bottom:18px}
.auth-reset-note{margin:0 0 18px;color:#b9c6d8;line-height:1.55;font-size:.86rem}
@media(max-width:991px){.seat-row{min-width:max(520px,calc(var(--seat-columns)*40px + 36px))}}
@media(max-width:767px){.profile-password-layout{grid-template-columns:1fr}.profile-password-field-current{grid-column:auto}}
@media(max-width:575px){.seat-row{min-width:max(450px,calc(var(--seat-columns)*38px + 36px))}}
/* Rex Rewards */
.rewards-page{max-width:1240px}.rewards-hero,.rewards-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.rewards-hero{padding:1.5rem 0 1rem}.rewards-hero h1{margin:.15rem 0}.rewards-hero p{color:#9cabc1;margin:0;max-width:700px}.rewards-tier-card{display:grid;grid-template-columns:1.2fr 1.5fr 1.1fr;gap:1.25rem;align-items:center;border:1px solid #314868;border-radius:18px;padding:1.5rem;background:linear-gradient(120deg,#07182d,#102b4e);box-shadow:0 15px 35px #0004}.rewards-tier-card>div:first-child>span,.reward-card>div>span{color:#ffd73d;font-size:.78rem;font-weight:800;letter-spacing:.12em}.rewards-tier-card>div:first-child>strong{display:block;font-size:2rem;color:#fff}.rewards-tier-card p{margin:0;color:#c5d1e5}.rewards-tier-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.rewards-tier-stats div{padding:.8rem;border-left:1px solid #3d526f}.rewards-tier-stats small{display:block;color:#9cabc1}.rewards-tier-stats b{font-size:1.3rem;color:#ffd73d}.rewards-progress>div:first-child{display:flex;justify-content:space-between;font-size:.85rem;color:#c6d1df;margin-bottom:.45rem}.rewards-progress .progress{height:.6rem;background:#132842}.rewards-progress .progress-bar{background:#ffda28}.rewards-tier-silver{border-color:#aeb7c3}.rewards-tier-gold{border-color:#d9ad36}.rewards-tier-diamond{border-color:#6cc8ff}.rewards-section{margin-top:2rem}.rewards-section-heading{margin-bottom:1rem}.rewards-section-heading h2{font-size:1.45rem;margin:0}.rewards-section-heading>span{color:#ffd73d;font-weight:700}.rewards-catalog,.tier-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.reward-card,.tier-comparison article{display:flex;flex-direction:column;justify-content:space-between;gap:.8rem;background:#0c1d33;border:1px solid #29415f;border-radius:14px;padding:1.15rem}.reward-card h3{font-size:1.1rem;margin:.3rem 0}.reward-card p,.reward-card small{color:#aebbd0;margin:0}.tier-comparison article{min-height:145px}.tier-comparison article.active{border-color:#ffda28;box-shadow:0 0 0 1px #ffda2840}.tier-comparison span{color:#ffd73d;font-weight:800}.tier-comparison strong{font-size:1.5rem}.tier-comparison p{margin:0;color:#c8d4e5}.tier-comparison small{color:#93a7c4}.rewards-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.rewards-tabs a{padding:.4rem .7rem;border:1px solid #40546d;border-radius:999px;color:#b9c7d8;text-decoration:none}.rewards-tabs a.active{background:#ffdb27;color:#101b2d;border-color:#ffdb27}.rewards-history{border:1px solid #263e5a;border-radius:14px;overflow:hidden}.rewards-history article{display:grid;grid-template-columns:140px minmax(0,1fr) auto 110px;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid #203752}.rewards-history article:last-child{border:0}.rewards-history time,.rewards-history small,.rewards-history p{color:#95a8c0;font-size:.84rem;margin:0}.rewards-history b.plus{color:#58d28d}.rewards-history b.minus{color:#ff8f8f}.rewards-history>p{padding:1rem;margin:0;color:#aebbd0}.rewards-admin-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1rem 0}.rewards-admin-metrics article{padding:1rem;background:#0b1b30;border:1px solid #29415f;border-radius:12px}.rewards-admin-metrics span{display:block;color:#aebbd0;font-size:.85rem}.rewards-admin-metrics strong{font-size:1.5rem;color:#ffda28}.rewards-admin-card{margin-top:1.25rem}.rewards-admin-card h2{font-size:1.2rem;margin-bottom:1rem}
@media(max-width:991px){.rewards-tier-card{grid-template-columns:1fr}.rewards-catalog,.tier-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.rewards-history article{grid-template-columns:120px minmax(0,1fr) auto}}
@media(max-width:575px){.rewards-hero,.rewards-section-heading{align-items:start;flex-direction:column}.rewards-tier-stats{grid-template-columns:1fr}.rewards-tier-stats div{border-left:0;border-top:1px solid #3d526f}.rewards-catalog,.tier-comparison,.rewards-admin-metrics{grid-template-columns:1fr}.rewards-history article{grid-template-columns:1fr;gap:.35rem}.rewards-history article>span{display:none}}
.bank-qr-page[data-payment-unavailable="true"] [data-payment-details]>div:not(:last-child),.bank-qr-page[data-payment-unavailable="true"] [data-payment-qr]{display:none}.bank-qr-page[data-payment-unavailable="true"] .bank-qr-details{margin-top:12px}
.bank-qr-expired{margin-top:22px;padding:18px;border:1px solid rgba(255,171,180,.35);border-radius:12px;background:rgba(255,171,180,.08)}.bank-qr-expired[hidden]{display:none}.bank-qr-expired h2{font-size:1.2rem;color:#fff}.bank-qr-expired p{color:#d9e0eb}.bank-qr-page[data-payment-unavailable="true"] .bank-qr-card{grid-template-columns:1fr}
.notification-popover{max-width:calc(100vw - 24px);overflow:hidden}.notification-popover .notification-list{overflow-x:hidden;overflow-y:auto}.notification-popover .notification-item{min-width:0;max-width:100%}.notification-popover .notification-item strong,.notification-popover .notification-item span{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.notification-popover-actions{display:grid;gap:5px;margin-top:8px}.notification-mark-all{justify-self:center;padding:4px 8px;border:0;background:transparent;color:var(--yellow);font:700 .72rem/1.3 Inter,sans-serif;text-decoration:underline;cursor:pointer}.notification-mark-all:hover,.notification-mark-all:focus-visible{color:#fff}.notification-read-failed{outline:1px solid rgba(255,143,143,.75);outline-offset:-1px}

/* Admin room management */
.admin-rooms-page{max-width:1640px;margin-inline:auto}
.admin-rooms-page .ui-page-header{margin-bottom:24px}
.admin-rooms-page .admin-list-toolbar__form{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(125px,.8fr)) auto;gap:12px;align-items:end}
.admin-rooms-page .admin-filter-field{min-width:0}
.admin-rooms-page .admin-list-toolbar__actions{display:flex;align-items:end;gap:9px}
.admin-rooms-page .admin-list-toolbar__actions .btn{min-height:44px;white-space:nowrap}
.admin-room-alert{margin:0 0 16px;border-radius:10px}
.admin-room-create,.admin-room-list{margin-top:22px}
.admin-room-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}
.admin-room-section-heading h2{margin:0;color:#f2f5fa;font-size:1.08rem;font-weight:650;letter-spacing:0}
.admin-room-section-heading p{margin:4px 0 0;color:#9eacc1;font-size:.82rem;line-height:1.45}
.admin-room-form{padding:18px;border:1px solid rgba(183,191,209,.14);border-radius:14px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96));box-shadow:0 10px 26px rgba(2,8,23,.12)}
.admin-room-form-grid{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(180px,1.2fr) minmax(120px,.7fr) minmax(135px,.8fr) minmax(145px,.7fr);gap:14px;align-items:end}
.admin-room-field{display:grid;grid-template-rows:auto 44px minmax(1em,auto);min-width:0;gap:6px}
.admin-room-field label{margin:0;color:#d4deed;font-size:.78rem;font-weight:600}
.admin-room-field .form-control,.admin-room-field .form-select{width:100%;height:44px;min-height:44px;padding:8px 12px;border:1px solid rgba(170,187,212,.24);border-radius:9px;background-color:#0d172b;color:#f4f6fb;font-family:var(--ui-font);font-size:.86rem}
.admin-room-field .form-control:focus,.admin-room-field .form-select:focus{border-color:var(--yellow);box-shadow:0 0 0 .18rem rgba(244,229,0,.12)}
.admin-room-field small{min-height:1em;color:#8798b0;font-size:.69rem;line-height:1.3}
.admin-room-form-actions{display:flex;align-self:start;align-items:flex-start;padding-top:25px}
.admin-room-form-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;height:44px;min-height:44px;border-radius:9px;white-space:nowrap}
.admin-room-form-actions .ui-icon{width:17px;height:17px}
.admin-room-table-wrap{width:100%;overflow-x:auto;border:1px solid rgba(183,191,209,.14);border-radius:12px;background:rgba(13,23,43,.55);overscroll-behavior-x:contain}
.admin-room-table{min-width:720px;margin:0;--bs-table-bg:transparent;--bs-table-color:#eaf0f8;--bs-table-border-color:rgba(183,191,209,.12);--bs-table-hover-bg:rgba(255,255,255,.035);--bs-table-hover-color:#fff}
.admin-room-table thead th{padding:13px 16px;border-bottom-color:rgba(244,229,0,.25);color:#aebbd0;font-size:.72rem;font-weight:650;letter-spacing:.035em;white-space:nowrap}
.admin-room-table tbody td{padding:14px 16px;vertical-align:middle}
.admin-room-table tbody td:first-child{min-width:170px}
.admin-room-capacity{color:#f4e500;font-weight:600;white-space:nowrap}
.admin-room-empty{padding:28px!important;color:#aebbd0;text-align:center}
@media(max-width:1199px){.admin-rooms-page .admin-list-toolbar__form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-rooms-page .admin-filter-field--search{grid-column:span 2}.admin-rooms-page .admin-list-toolbar__actions{grid-column:1/-1;justify-content:flex-end}.admin-room-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-room-field--cinema,.admin-room-field--name{grid-column:span 2}.admin-room-form-actions{grid-column:span 4;align-self:stretch;padding-top:0}}
@media(max-width:767px){.admin-rooms-page .admin-list-toolbar__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-rooms-page .admin-filter-field--search{grid-column:1/-1}.admin-rooms-page .admin-list-toolbar__actions{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1}.admin-room-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-room-field--cinema,.admin-room-field--name{grid-column:span 1}.admin-room-form-actions{grid-column:1/-1;align-self:stretch;padding-top:0}.admin-room-form-actions .btn{width:100%}}
@media(max-width:420px){.admin-rooms-page .admin-list-toolbar__form{grid-template-columns:1fr}.admin-rooms-page .admin-filter-field--search,.admin-rooms-page .admin-list-toolbar__actions{grid-column:1}.admin-rooms-page .admin-list-toolbar__actions{grid-template-columns:1fr 1fr}.admin-room-form{padding:14px}.admin-room-form-grid{grid-template-columns:1fr}.admin-room-field--cinema,.admin-room-field--name,.admin-room-form-actions{grid-column:1}}

/* Admin refinement: aligned labels, fixed control heights, helper slots */
.admin-form label{display:block;margin:0 0 6px;color:#aab7cc;font-size:.78rem;font-weight:650}
.admin-form .row>[class*=col-]{display:flex;flex-direction:column;min-width:0}
.admin-form .row>[class*=col-]>.form-control,.admin-form .row>[class*=col-]>.form-select{flex:0 0 auto;width:100%;min-height:44px}
.admin-form>.form-control,.admin-form>.form-select,.admin-form .form-control,.admin-form .form-select{min-height:44px}
.admin-form h4{margin:0 0 14px;color:#f2f5fa;font-size:1.05rem;font-weight:700}
.admin-form .btn-rex{min-height:44px}
.admin-form>input.form-control,.admin-form>select.form-select,.admin-form>textarea.form-control{margin-bottom:12px}
.admin-form>input.form-control:last-of-type{margin-bottom:0}
.admin-page-wrap .table thead th{color:#aebbd0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.admin-page-wrap .table tbody td{vertical-align:middle}
.admin-page-wrap .table td .d-flex{gap:.5rem}
.admin-page-wrap .table .form-select-sm{min-height:34px}
.admin-form-inline{display:flex;gap:8px;align-items:center}
.admin-thumb{width:64px;height:42px;object-fit:cover;border-radius:8px;background:#0b0d12}
.scanner-card{padding:20px;border:1px solid rgba(183,191,209,.14);border-radius:16px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96))}
.scanner-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;color:#e8eef7}
.scanner-head small{color:#8fa0b6}.qr-reader{overflow:hidden;border-radius:12px;background:#0b0d12;min-height:280px}
.scanner-manual .form-label{display:block;margin:0 0 6px;color:#aab7cc;font-size:.72rem;font-weight:700}
.scanner-manual .input-group{align-items:stretch}
.scanner-manual .input-group .form-control{min-height:52px}
.scanner-manual .input-group .btn{min-height:52px;white-space:nowrap}
.scan-result{padding:26px;border:1px solid rgba(183,191,209,.14);border-radius:16px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96));min-height:100%}
.latepay-detail-card{padding:22px}
.latepay-detail-card h2{margin:0 0 12px;color:#f2f5fa;font-size:1rem;font-weight:700}
.latepay-detail-card .form-label{display:block;margin:12px 0 6px;color:#aab7cc;font-size:.78rem;font-weight:650}
.latepay-detail-card .form-label:first-of-type{margin-top:0}
.latepay-detail-card .form-control{margin-bottom:2px;min-height:42px}
.latepay-detail-card .btn{margin-top:12px;min-height:42px}
.latepay-confirm{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0}
.rewards-tier-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.rewards-tier-form .rewards-tier-input{display:flex;flex-direction:column;gap:4px;min-width:110px;flex:1}
.rewards-tier-form .rewards-tier-input>span{color:#aab7cc;font-size:.68rem;font-weight:700;letter-spacing:.04em}
.rewards-tier-form .form-control{min-height:40px}
.rewards-tier-form .btn{min-height:40px}
.rewards-tier-check{gap:4px!important;justify-content:flex-end;min-width:80px;flex:0 0 auto}
.rewards-tier-check .form-check-input{margin:0}
.rewards-check{align-items:end!important}.rewards-check .form-check{margin:0 0 8px}
@media(max-width:767px){.admin-form .row>[class*=col-]{min-width:0}.scanner-card{padding:14px}.admin-thumb{width:52px;height:36px}}

/* Rex Rewards admin: consistent form grids and one policy per table row. */
.rewards-admin-page{max-width:1640px;margin-inline:auto;min-width:0}
.rewards-admin-page .rewards-admin-header{margin-bottom:20px}
.rewards-admin-alert{margin:0 0 14px;border-radius:10px}
.rewards-admin-page .rewards-admin-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}
.rewards-admin-page .rewards-admin-metrics article{display:flex;min-width:0;min-height:106px;flex-direction:column;justify-content:space-between;gap:12px;padding:16px;border:1px solid rgba(183,191,209,.14);border-radius:13px;background:linear-gradient(145deg,rgba(25,40,68,.92),rgba(15,26,47,.96))}
.rewards-admin-page .rewards-admin-metrics article span{color:#aebbd0;font-size:.76rem;line-height:1.35}
.rewards-admin-page .rewards-admin-metrics article strong{color:#ffda28;font-size:clamp(1.2rem,1.7vw,1.65rem);font-variant-numeric:tabular-nums;line-height:1.1;overflow-wrap:anywhere}
.rewards-admin-page .rewards-admin-card{min-width:0;margin-top:16px;padding:20px;border:1px solid rgba(183,191,209,.14);border-radius:14px;background:linear-gradient(145deg,rgba(20,35,59,.96),rgba(13,25,45,.98));box-shadow:0 10px 26px rgba(2,8,23,.12)}
.rewards-admin-page .rewards-admin-card h2{margin:0 0 16px;color:#f2f5fa;font-size:1.05rem;font-weight:650;letter-spacing:0}
.rewards-settings-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}
.rewards-setting-field{display:grid;min-width:0;grid-template-rows:auto 44px;gap:7px;margin:0;color:#d4deed;font-size:.78rem;font-weight:600}
.rewards-setting-field>.form-control,.rewards-setting-field .input-group{width:100%;height:44px;min-width:0}
.rewards-setting-field .form-control{min-height:44px;border-color:rgba(170,187,212,.24);border-radius:9px;background:#0d172b;color:#f4f6fb;font-family:var(--ui-font);font-size:.86rem}
.rewards-setting-field .input-group .form-control{border-radius:9px 0 0 9px}
.rewards-setting-field .input-group-text{border-color:rgba(170,187,212,.24);background:#172642;color:#aebbd0}
.rewards-setting-toggle{display:flex;min-width:0;min-height:68px;align-items:center;gap:11px;margin:0;padding:12px;border:1px solid rgba(170,187,212,.18);border-radius:10px;background:rgba(9,21,39,.5);cursor:pointer}
.rewards-setting-toggle .form-check-input{width:18px;height:18px;flex:0 0 auto;margin:0;border-color:#70819b;background-color:#0d172b}
.rewards-setting-toggle .form-check-input:checked{border-color:var(--yellow);background-color:var(--yellow)}
.rewards-setting-toggle>span{display:grid;gap:3px;min-width:0}
.rewards-setting-toggle strong{color:#e6edf7;font-size:.78rem;font-weight:600;line-height:1.3}
.rewards-setting-toggle small{color:#8fa0b6;font-size:.69rem;font-weight:400;line-height:1.35}
.rewards-settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end}
.rewards-settings-actions .btn{min-height:42px;padding-inline:18px}
.rewards-admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rewards-admin-section-heading h2{margin:0!important}
.rewards-policy-table-wrap,.rewards-table-wrap{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.rewards-policy-table{min-width:890px;margin:0;--bs-table-bg:transparent;--bs-table-color:#eaf0f8;--bs-table-border-color:rgba(183,191,209,.12);--bs-table-hover-bg:rgba(255,255,255,.025);--bs-table-hover-color:#fff}
.rewards-policy-table thead th{padding:11px 12px;border-bottom-color:rgba(244,229,0,.28);color:#aebbd0;font-size:.69rem;font-weight:650;letter-spacing:.035em;white-space:nowrap}
.rewards-policy-table tbody td{padding:12px;vertical-align:middle}
.rewards-policy-table tbody tr{height:70px}
.rewards-policy-table th:nth-child(1){width:165px}.rewards-policy-table th:nth-child(2){width:170px}.rewards-policy-table th:nth-child(3),.rewards-policy-table th:nth-child(4){width:155px}.rewards-policy-table th:nth-child(5){width:145px}.rewards-policy-table th:nth-child(6){width:100px}
.rewards-tier-name{display:block;color:#f4f6fb;font-size:.86rem;font-weight:650;white-space:nowrap}
.rewards-policy-number{height:40px;min-height:40px;padding:7px 9px;border-color:rgba(170,187,212,.24);background:#0d172b;color:#f4f6fb;font-size:.83rem;font-variant-numeric:tabular-nums}
.rewards-policy-number:focus,.rewards-setting-field .form-control:focus,.rewards-editor-field .form-control:focus{border-color:var(--yellow);box-shadow:0 0 0 .16rem rgba(244,229,0,.12)}
.rewards-policy-suffix{flex-wrap:nowrap}
.rewards-policy-suffix .form-control{min-width:74px;border-radius:9px 0 0 9px}
.rewards-policy-suffix .input-group-text{min-width:38px;justify-content:center;border-color:rgba(170,187,212,.24);background:#172642;color:#d7e1ef}
.rewards-policy-status{display:inline-flex;align-items:center;gap:8px;margin:0;color:#aebbd0;font-size:.74rem;white-space:nowrap;cursor:pointer}
.rewards-policy-status .form-check-input,.rewards-editor-toggle .form-check-input{width:17px;height:17px;margin:0;border-color:#70819b;background-color:#0d172b}
.rewards-policy-status .form-check-input:checked,.rewards-editor-toggle .form-check-input:checked{border-color:var(--yellow);background-color:var(--yellow)}
.rewards-policy-save{min-width:66px;min-height:38px;border-radius:8px}
.rewards-admin-two-column{min-width:0;margin-top:0}
.rewards-admin-two-column>[class*=col-]{display:flex;min-width:0}
.rewards-admin-two-column .rewards-admin-card{width:100%;height:auto;flex:1 1 auto}
.rewards-editor-form,.rewards-adjust-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.rewards-editor-field{display:grid;align-content:start;gap:6px;min-width:0;margin:0;color:#cbd6e6;font-size:.76rem;font-weight:600}
.rewards-editor-field:first-of-type,.rewards-editor-field:nth-of-type(2),.rewards-adjust-form .rewards-editor-field{grid-column:1/-1}
.rewards-editor-field .form-control{width:100%;min-height:42px;border-color:rgba(170,187,212,.24);border-radius:9px;background:#0d172b;color:#f4f6fb;font-size:.84rem}
.rewards-editor-field textarea.form-control{min-height:86px;resize:vertical}
.rewards-editor-field small{color:#8fa0b6;font-size:.69rem;font-weight:400}
.rewards-editor-field a{justify-self:start}
.rewards-editor-toggle{display:flex;align-items:center;gap:8px;margin:0;color:#d4deed;font-size:.78rem}
.rewards-editor-form>button,.rewards-adjust-form>button{grid-column:1/-1;justify-self:start;min-height:42px}
.rewards-catalog-filter,.rewards-audit-filter{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(3,minmax(110px,.8fr)) auto;gap:9px;align-items:center;margin-bottom:14px}
.rewards-catalog-filter .form-control,.rewards-catalog-filter .form-select,.rewards-audit-filter .form-control,.rewards-audit-filter .form-select{height:41px;min-width:0;border-color:rgba(170,187,212,.24);background-color:#0d172b;color:#f4f6fb;font-size:.78rem}
.rewards-catalog-filter .btn,.rewards-audit-filter .btn{min-height:41px;white-space:nowrap}
.rewards-data-table{min-width:620px;margin:0;--bs-table-bg:transparent;--bs-table-color:#eaf0f8;--bs-table-border-color:rgba(183,191,209,.12);--bs-table-hover-bg:rgba(255,255,255,.025);--bs-table-hover-color:#fff}
.rewards-data-table th{padding:10px 11px;border-bottom-color:rgba(244,229,0,.24);color:#aebbd0;font-size:.67rem;font-weight:650;letter-spacing:.03em;white-space:nowrap}
.rewards-data-table td{padding:11px;vertical-align:middle;font-size:.8rem}
.rewards-data-table td strong{color:#f4f6fb;font-weight:600}
.rewards-data-table td small{max-width:280px;color:#8fa0b6;line-height:1.4}
.rewards-data-table .btn{min-width:54px}
.rewards-ledger-table{min-width:760px}
.rewards-audit-table{min-width:680px}
.rewards-audit-value{max-width:250px;overflow-wrap:anywhere}
.rewards-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;color:#9eacc1;font-size:.76rem}
.rewards-pagination span{margin-right:auto}
.rewards-audit-filter{grid-template-columns:minmax(180px,1fr) minmax(130px,.5fr) minmax(130px,.5fr) auto}
@media(max-width:1199px){.rewards-admin-page .rewards-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.rewards-admin-page .rewards-admin-metrics article:nth-child(4),.rewards-admin-page .rewards-admin-metrics article:nth-child(5){min-height:96px}.rewards-settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-catalog-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-catalog-filter .btn{grid-column:1/-1}.rewards-audit-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-audit-filter .btn{grid-column:1/-1}}
@media(max-width:767px){.rewards-admin-page .rewards-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rewards-admin-page .rewards-admin-metrics article{min-height:92px;padding:13px}.rewards-admin-page .rewards-admin-metrics article strong{font-size:1.28rem}.rewards-admin-page .rewards-admin-card{padding:16px}.rewards-settings-form{gap:11px}.rewards-setting-toggle{min-height:74px;padding:10px}.rewards-admin-two-column .rewards-admin-card{height:auto}.rewards-editor-form,.rewards-adjust-form{gap:11px}.rewards-ledger-card .admin-list-toolbar{margin-bottom:12px}}
@media(max-width:575px){.rewards-admin-page .rewards-admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-admin-page .rewards-admin-metrics article:last-child{grid-column:1/-1;min-height:76px}.rewards-settings-form{grid-template-columns:1fr}.rewards-setting-toggle{min-height:62px}.rewards-settings-actions{grid-column:1}.rewards-settings-actions .btn{width:100%}.rewards-catalog-filter,.rewards-audit-filter{grid-template-columns:1fr 1fr}.rewards-catalog-filter input,.rewards-audit-filter input{grid-column:1/-1}.rewards-catalog-filter .btn,.rewards-audit-filter .btn{grid-column:1/-1}.rewards-editor-form,.rewards-adjust-form{grid-template-columns:1fr}.rewards-editor-field:first-of-type,.rewards-editor-field:nth-of-type(2),.rewards-adjust-form .rewards-editor-field,.rewards-editor-form>button,.rewards-adjust-form>button{grid-column:1}.rewards-pagination span{width:100%;margin:0 0 3px}}

/* Rewards points adjustment and ledger */
.rewards-adjust-ledger-layout{align-items:flex-start}
.rewards-adjust-ledger-layout>[class*=col-]{align-self:flex-start}
.rewards-adjust-ledger-layout .rewards-admin-card{align-self:flex-start;height:auto;flex:none}
.rewards-adjust-form .rewards-editor-field:first-of-type{grid-column:1}
.rewards-adjust-form .rewards-editor-field:nth-of-type(2){grid-column:2}
.rewards-adjust-form .rewards-editor-field:nth-of-type(3){grid-column:1/-1}
.rewards-field-label-row{display:flex;min-height:1.15rem;align-items:center;justify-content:space-between;gap:8px}
.rewards-field-label-row a{color:#f0d900;font-size:.7rem;font-weight:500;white-space:nowrap}
.rewards-adjust-form .form-control{height:42px;min-height:42px;padding:8px 11px}
.rewards-adjust-form textarea.form-control{height:auto;min-height:84px;line-height:1.45}
.rewards-adjust-form>button{min-height:42px;padding:9px 14px}
.rewards-ledger-card{overflow:hidden}
.rewards-ledger-card .admin-list-toolbar{min-width:0;margin:0 0 14px;padding:13px;border-radius:12px}
.rewards-ledger-card .admin-list-toolbar__form{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:end}
.rewards-ledger-card .admin-filter-field{min-width:0}
.rewards-ledger-card .admin-filter-field--search{grid-column:auto}
.rewards-ledger-card .admin-filter-field .form-label{font-size:.68rem}
.rewards-ledger-card .admin-filter-field .form-control,.rewards-ledger-card .admin-filter-field .form-select{height:40px;min-height:40px;padding:7px 9px;font-size:.78rem}
.rewards-ledger-card .admin-search-input .form-control{padding-left:34px}
.rewards-ledger-card .admin-search-input>.ui-icon{left:10px;width:15px;height:15px}
.rewards-ledger-card .admin-list-toolbar__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}
.rewards-ledger-card .admin-list-toolbar__actions .btn{min-width:0;min-height:40px;gap:5px;padding:7px 6px;font-size:.73rem}
.rewards-ledger-card .admin-list-toolbar__actions .btn .ui-icon{width:14px;height:14px;flex:0 0 auto}
.rewards-ledger-table{min-width:900px;table-layout:fixed}
.rewards-ledger-table th:nth-child(1){width:125px}.rewards-ledger-table th:nth-child(2){width:150px}.rewards-ledger-table th:nth-child(3){width:160px}.rewards-ledger-table th:nth-child(4){width:105px}.rewards-ledger-table th:nth-child(5){width:115px}.rewards-ledger-table th:nth-child(6){width:245px}
.rewards-ledger-table td:nth-child(2),.rewards-ledger-table td:nth-child(3){overflow-wrap:anywhere}
.rewards-ledger-reference{max-width:245px}
.rewards-reference-text{display:block;max-width:100%;overflow:hidden;color:#dce6f4;font-family:var(--ui-font);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap;cursor:help}
.rewards-audit-table{min-width:1000px}
.rewards-audit-table th:nth-child(1){width:140px}.rewards-audit-table th:nth-child(2){width:180px}.rewards-audit-table th:nth-child(3),.rewards-audit-table th:nth-child(4){width:255px}.rewards-audit-table th:nth-child(5){width:190px}
.rewards-audit-kind strong,.rewards-audit-kind small{display:block}
.rewards-audit-kind strong{color:#eef3fb;font-size:.8rem;font-weight:600}
.rewards-audit-kind small{margin-top:4px;color:#9eacc1;font-size:.72rem}
.rewards-audit-value{min-width:240px;max-width:none!important;overflow-wrap:normal}
.rewards-audit-details{display:grid;gap:5px;margin:0}
.rewards-audit-item{display:grid;grid-template-columns:minmax(118px,1fr) minmax(74px,auto);align-items:start;gap:8px;color:#9eacc1;font-size:.72rem;line-height:1.35}
.rewards-audit-item strong{color:#e6edf7;font-size:.73rem;font-weight:550;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:1199px){.rewards-adjust-ledger-layout>[class*=col-]{flex:0 0 100%;width:100%}.rewards-adjust-ledger-layout .rewards-admin-card{width:100%}}
@media(max-width:767px){.rewards-adjust-form{grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-adjust-form .rewards-editor-field:first-of-type{grid-column:1}.rewards-adjust-form .rewards-editor-field:nth-of-type(2){grid-column:2}.rewards-adjust-form .rewards-editor-field:nth-of-type(3),.rewards-adjust-form>button{grid-column:1/-1}.rewards-ledger-card .admin-list-toolbar{padding:11px}.rewards-ledger-card .admin-list-toolbar__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rewards-ledger-card .admin-filter-field--search{grid-column:1/-1}.rewards-ledger-card .admin-list-toolbar__actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.rewards-ledger-card .admin-list-toolbar__actions .btn{font-size:.78rem;padding-inline:10px}}
@media(max-width:420px){.rewards-adjust-form{grid-template-columns:1fr}.rewards-adjust-form .rewards-editor-field:first-of-type,.rewards-adjust-form .rewards-editor-field:nth-of-type(2),.rewards-adjust-form .rewards-editor-field:nth-of-type(3),.rewards-adjust-form>button{grid-column:1}.rewards-ledger-card .admin-list-toolbar__form{grid-template-columns:1fr}.rewards-ledger-card .admin-filter-field--search,.rewards-ledger-card .admin-list-toolbar__actions{grid-column:1}.rewards-ledger-card .admin-list-toolbar__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== COMPACT RED CINEMA TOAST (AUTO-DISMISS) ===== */
.cinema-toast {
  position: fixed;
  top: 92px;
  left: 50%;
  transform: translateX(-50%) translateY(-24px);
  z-index: 10050;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #e11d48, #be123c);
  border: 1px solid rgba(255, 255, 255, 0.28);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(225, 29, 72, 0.45);
  color: #ffffff;
  padding: 10px 20px;
  border-radius: 50px;
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.015em;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: all 0.32s cubic-bezier(0.16, 1, 0.3, 1);
  max-width: 92vw;
  box-sizing: border-box;
}
.cinema-toast.show {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.cinema-toast-icon {
  font-size: 1.15rem;
  line-height: 1;
}
.cinema-toast-close {
  background: transparent;
  border: 0;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  padding: 0 0 0 6px;
  display: inline-flex;
  align-items: center;
  transition: color 0.15s ease, transform 0.15s ease;
}
.cinema-toast-close:hover {
  color: #fff;
  transform: scale(1.15);
}
.btn-shake {
  animation: cinemaShake 0.45s ease;
}
@keyframes cinemaShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-6px); }
  40%, 80% { transform: translateX(6px); }
}

/* Keep the member summary columns and values aligned across the rewards card. */
.rewards-tier-card {
  grid-template-columns: minmax(220px, 1fr) minmax(450px, 1.5fr) minmax(220px, 1fr);
  align-items: stretch;
  gap: 1.25rem;
}
.rewards-tier-card > div:first-child,
.rewards-progress {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.rewards-tier-stats {
  min-width: 0;
  align-items: stretch;
  gap: 0;
}
.rewards-tier-stats > div {
  min-width: 0;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: .75rem 1rem;
}
.rewards-tier-stats small {
  min-height: 2.5em;
  line-height: 1.25;
}
.rewards-tier-stats b {
  margin-top: .25rem;
  line-height: 1.2;
}
.rewards-progress > div:first-child {
  min-height: 2.5em;
  align-items: flex-start;
  gap: .75rem;
}
.rewards-progress > div:first-child span:last-child {
  text-align: right;
}
@media (max-width: 991px) {
  .rewards-tier-card {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 575px) {
  .rewards-tier-stats > div {
    min-height: 0;
    padding: .8rem .25rem;
    border-left: 0;
    border-top: 1px solid #3d526f;
  }
  .rewards-tier-stats small {
    min-height: 0;
  }
}

