:root{--blue:#123b72;--blue2:#0d2d57;--gold:#ffb300;--bg:#f5f7fb;--text:#172033;--muted:#65728a;--line:#e2e7ef;--ok:#138a5b;--danger:#b42318;--card:#fff;--radius:16px;--shadow:0 10px 35px rgba(20,40,80,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav{height:68px;display:flex;align-items:center;gap:18px}.brand{font-size:23px;font-weight:850;color:var(--blue);letter-spacing:-.6px}.brand span{color:var(--gold)}.navlinks{margin-left:auto;display:flex;align-items:center;gap:14px}.navlinks a{color:#344054;font-weight:600}.hero{background:linear-gradient(135deg,var(--blue2),var(--blue));color:#fff;padding:48px 0 42px}.hero h1{font-size:clamp(30px,5vw,54px);line-height:1.05;margin:0 0 12px;letter-spacing:-1.7px}.hero p{max-width:760px;color:#dbe8f7;font-size:18px}.searchbox{display:grid;grid-template-columns:1.6fr 1fr 1fr .7fr .7fr auto;gap:8px;background:#fff;padding:9px;border-radius:18px;box-shadow:0 14px 35px rgba(0,0,0,.22);margin-top:28px}.searchbox input,.searchbox select{border:1px solid var(--line);border-radius:11px;padding:13px 12px;min-width:0;font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;padding:12px 18px;background:var(--blue);color:#fff;font-weight:750;cursor:pointer;font:inherit}.btn:hover{text-decoration:none;filter:brightness(.96)}.btn.gold{background:var(--gold);color:#2b2100}.btn.light{background:#edf3fb;color:var(--blue)}.btn.danger{background:#b42318}.btn.small{padding:8px 11px;font-size:13px}.section{padding:34px 0}.section h2{font-size:28px;letter-spacing:-.5px;margin:0 0 18px}.grid{display:grid;gap:18px}.grid.hotels{grid-template-columns:repeat(4,1fr)}.grid.cities{grid-template-columns:repeat(4,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-body{padding:17px}.hotel-img{height:180px;background:linear-gradient(135deg,#dce8f5,#b7cbe3);position:relative;overflow:hidden}.hotel-img img{width:100%;height:100%;object-fit:cover}.hotel-img .placeholder{height:100%;display:grid;place-items:center;color:#4f6b8d;font-size:42px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eaf2ff;color:var(--blue);font-size:12px;font-weight:800}.badge.ok{background:#e6f6ef;color:#08734a}.badge.warn{background:#fff3d6;color:#805d00}.badge.danger{background:#feeceb;color:#a31b12}.rating{background:var(--blue);color:#fff;border-radius:8px 8px 8px 2px;padding:5px 8px;font-weight:800;font-size:13px}.muted{color:var(--muted)}.price{font-size:22px;font-weight:850}.hotel-row{display:grid;grid-template-columns:240px 1fr auto;gap:18px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px}.hotel-row .hotel-img{height:170px;border-radius:12px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin:16px 0;flex-wrap:wrap}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-size:13px;color:#475467;font-weight:750;margin:0 0 5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7e4;border-radius:10px;padding:11px;font:inherit;background:#fff}.field textarea{min-height:110px;resize:vertical}.alert{padding:12px 15px;border-radius:11px;margin:12px 0;border:1px solid}.alert.error{background:#fff1f0;color:#912018;border-color:#f6c5c0}.alert.success{background:#ecfdf3;color:#08734a;border-color:#b8ebcf}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.kpi .value{font-size:28px;font-weight:900}.kpi .label{font-size:13px;color:var(--muted)}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#f8fafc}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.sidebar-layout{display:grid;grid-template-columns:225px 1fr;gap:20px;padding:22px 0}.sidebar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;height:max-content;position:sticky;top:88px}.sidebar a{display:block;padding:10px 12px;border-radius:9px;color:#344054;font-weight:650}.sidebar a:hover{background:#f0f5fb;text-decoration:none}.content h1{margin-top:0;letter-spacing:-.6px}.footer{padding:30px 0;background:#0d213a;color:#c8d6e8;margin-top:40px}.footer a{color:#fff}.room-card{display:grid;grid-template-columns:1fr auto;gap:20px;padding:18px;border:1px solid var(--line);border-radius:14px;margin:12px 0;background:#fff}.summary{background:#f8fafc;border:1px solid var(--line);border-radius:13px;padding:15px}.summary .line{display:flex;justify-content:space-between;gap:20px;padding:6px 0}.summary .total{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:20px;font-weight:850}.admin-header{background:#0c2442;color:#fff}.admin-header .navlinks a,.admin-header .brand{color:#fff}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f5f9;padding:2px 5px;border-radius:5px}.empty{text-align:center;padding:34px;color:var(--muted)}.pagination-note{font-size:13px;color:var(--muted)}
@media(max-width:950px){.searchbox{grid-template-columns:1fr 1fr 1fr}.grid.hotels,.grid.cities{grid-template-columns:repeat(2,1fr)}.sidebar-layout{grid-template-columns:1fr}.sidebar{position:static;display:flex;overflow:auto;gap:4px}.sidebar a{white-space:nowrap}.kpis{grid-template-columns:repeat(2,1fr)}.hotel-row{grid-template-columns:190px 1fr}.hotel-row>div:last-child{grid-column:2}.navlinks .hide-mobile{display:none}}
@media(max-width:620px){.container{width:min(100% - 20px,1180px)}.nav{height:60px}.brand{font-size:20px}.navlinks{gap:8px}.hero{padding:30px 0}.hero p{font-size:15px}.searchbox{grid-template-columns:1fr;margin-top:18px}.grid.hotels,.grid.cities,.kpis,.form-grid{grid-template-columns:1fr}.hotel-row{grid-template-columns:1fr}.hotel-row .hotel-img{height:190px}.hotel-row>div:last-child{grid-column:auto}.section{padding:24px 0}.panel{padding:15px}.room-card{grid-template-columns:1fr}.table-wrap{margin-left:-2px;margin-right:-2px}th,td{padding:9px 8px;font-size:13px}}

/* Bokotel accessibility / contrast hardening */
.btn,.btn:visited,.navlinks a.btn,.navlinks a.btn:visited,.admin-header .navlinks a.btn,.admin-header .navlinks a.btn:visited{color:#fff!important}
.btn.light,.btn.light:visited,.navlinks a.btn.light,.admin-header .navlinks a.btn.light{color:var(--blue)!important}
.btn.gold,.btn.gold:visited{color:#2b2100!important}
.nav-register{background:var(--blue)!important;color:#fff!important;box-shadow:0 4px 12px rgba(18,59,114,.18)}
.admin-header .nav-register{background:#fff!important;color:#0c2442!important}
.preferences-menu{position:relative}.preferences-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:800;color:#344054;background:#fff}.preferences-menu>summary::-webkit-details-marker{display:none}.preferences-menu.dark>summary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.25)}.preferences-form{position:absolute;right:0;top:calc(100% + 8px);z-index:100;width:250px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 38px rgba(0,0,0,.18);border-radius:14px;padding:14px;color:#344054}.preferences-form label{display:block;font-size:12px;font-weight:750;margin-bottom:9px}.preferences-form select{display:block;width:100%;margin-top:4px;border:1px solid #cfd7e4;border-radius:9px;padding:8px;background:#fff}.hotel-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:180px 180px;gap:8px;border-radius:16px;overflow:hidden}.hotel-gallery .gallery-main{grid-row:1/3}.hotel-gallery img{width:100%;height:100%;object-fit:cover}.demo-photo{position:relative}.demo-photo:after{content:"DEMO";position:absolute;left:10px;top:10px;background:rgba(0,0,0,.62);color:#fff;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.08em}.currency-note{font-size:11px;color:var(--muted);margin-top:3px}[dir="rtl"] body{text-align:right}[dir="rtl"] .navlinks{margin-left:0;margin-right:auto}[dir="rtl"] .preferences-form{right:auto;left:0}[dir="rtl"] th,[dir="rtl"] td{text-align:right}
@media(max-width:820px){.preferences-menu{margin-left:auto}.preferences-form{position:fixed;left:16px!important;right:16px!important;top:76px;width:auto}.hotel-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 120px}.hotel-gallery .gallery-main{grid-column:1/3;grid-row:auto}.nav{height:auto;min-height:68px;padding:10px 0;flex-wrap:wrap}.navlinks{width:100%;gap:8px;flex-wrap:wrap}.navlinks .hide-mobile{display:none}.nav-register{order:1}}

/* Mobile-first hardening for public, admin and hotel extranet */
html,body{max-width:100%;overflow-x:hidden}.mobile-nav-toggle{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;color:var(--blue);border-radius:10px;width:42px;height:42px;font-size:22px;align-items:center;justify-content:center;cursor:pointer}.admin-header .mobile-nav-toggle{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:#fff}.settings-stack{display:grid;gap:16px}.compact-panel{padding:12px}.channel-options,.notification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choice-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.choice-card input{margin-top:4px}.choice-card span{display:flex;flex-direction:column}.choice-card small{color:var(--muted)}.notification-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fafc}.save-settings{min-width:180px}.auth-shell{max-width:680px}.auth-panel{margin:auto}.mfa-channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mfa-channel-card{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#f8fafc}.mfa-channel-card span{font-size:13px;color:var(--muted)}.otp-input{font-size:28px!important;letter-spacing:.35em;text-align:center;font-weight:800}.secure-card-page{max-width:720px;margin:30px auto}.payment-card-panel{background:linear-gradient(135deg,#12233d,#294d7b);color:#fff;border-radius:22px;padding:24px;box-shadow:0 18px 45px rgba(13,33,58,.25);max-width:520px}.card-brand{font-weight:900;letter-spacing:.12em}.card-pan{font:700 clamp(22px,4vw,32px)/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;margin:34px 0 28px;word-break:break-word}.card-meta{display:flex;justify-content:space-between;gap:20px}.card-meta span{display:flex;flex-direction:column}.card-meta small{color:#d9e4f3;text-transform:uppercase;font-size:10px;letter-spacing:.08em}
@media(max-width:760px){
  .mobile-nav-toggle{display:inline-flex}.nav{align-items:flex-start}.navlinks[data-mobile-nav]{display:none;width:100%;margin:0;padding-top:8px;flex-direction:column;align-items:stretch;gap:6px}.navlinks[data-mobile-nav].is-open{display:flex}.navlinks[data-mobile-nav] a,.navlinks[data-mobile-nav] form,.navlinks[data-mobile-nav] details{width:100%}.navlinks[data-mobile-nav] a{padding:10px 12px;border-radius:9px}.navlinks[data-mobile-nav] .btn{width:100%}.preferences-menu>summary{width:100%;padding:10px 12px}.sidebar-layout{padding:12px 0}.sidebar{border-radius:12px;padding:7px;gap:2px}.sidebar a{padding:9px 10px}.toolbar{align-items:stretch}.toolbar>.btn,.toolbar>form>.btn{width:100%}.kpi .value{font-size:23px}.room-money{display:grid!important;grid-template-columns:1fr 1fr}.channel-options,.notification-grid,.mfa-channel-grid{grid-template-columns:1fr}.save-settings{width:100%}.payment-card-panel{padding:18px;border-radius:16px}.card-meta{flex-direction:column;gap:10px}.table-wrap{-webkit-overflow-scrolling:touch}.table-wrap table{min-width:700px}.booking-room-row{padding-right:48px!important}.summary{position:static!important}.footer{margin-top:24px}.hero h1{font-size:32px}.section h2{font-size:23px}.btn{min-height:44px}.field input,.field select,.field textarea{min-height:44px;font-size:16px}
}
.multi-room-picker{display:grid;gap:12px;padding-bottom:78px}.room-pick-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:7px}.quantity-picker{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800}.quantity-picker select{min-width:72px;border:1px solid #cfd7e4;border-radius:10px;padding:9px;background:#fff;font:inherit}.mobile-book-bar{position:sticky;bottom:10px;z-index:35;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px rgba(12,36,66,.18);border-radius:16px;padding:12px 14px}.mobile-book-bar>div{display:flex;flex-direction:column}.mobile-book-bar .btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:620px){.room-pick-side{align-items:stretch;text-align:left}.quantity-picker{justify-content:space-between}.mobile-book-bar{bottom:6px;border-radius:14px}.mobile-book-bar .btn{width:auto;min-width:150px}.multi-room-picker{padding-bottom:92px}}

/* ==========================================================
   Bokotel 2026 premium UX layer
   ========================================================== */
:root{--surface:#ffffff;--surface-soft:#f8fbff;--ink:#101828;--brand:#123b72;--brand-deep:#0a2448;--accent:#ffb300;--focus:0 0 0 4px rgba(18,59,114,.14);--shadow-sm:0 4px 18px rgba(16,24,40,.06);--shadow-lg:0 20px 60px rgba(16,24,40,.12)}
body{background:radial-gradient(circle at top right,rgba(68,119,181,.08),transparent 34%),var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.topbar,.admin-header{backdrop-filter:saturate(150%) blur(14px)}.topbar{background:rgba(255,255,255,.94)}.admin-header{background:linear-gradient(135deg,#081d37,#0c315f)}
a,.btn,input,select,textarea,summary{transition:box-shadow .18s ease,border-color .18s ease,background .18s ease,transform .18s ease,filter .18s ease}a:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus)}.btn{min-height:42px;box-shadow:0 5px 15px rgba(18,59,114,.16)}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(18,59,114,.2)}.btn:active{transform:translateY(0)}.btn.light{box-shadow:none;border:1px solid #d9e3f1}.panel,.card,.kpi,.hotel-row,.room-card{box-shadow:var(--shadow-sm)}.panel:hover,.card:hover{border-color:#d4dfed}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 20px}.page-head h1{margin:.1rem 0 .3rem;font-size:clamp(28px,4vw,42px);line-height:1.08;letter-spacing:-1.1px}.page-actions{display:flex;gap:8px;flex-wrap:wrap}.eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:850;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.eyebrow:before{content:"";width:20px;height:2px;background:var(--gold);border-radius:10px}.soft-card{background:var(--surface-soft);border:1px solid #e5edf7;border-radius:14px;padding:14px}.soft-card textarea{width:100%;min-height:110px;border:1px solid #ccd8e6;border-radius:10px;padding:10px;margin:8px 0;font:inherit;background:#fff}.badge.sponsored{background:#eef4ff;color:#194f91;border:1px solid #c9dcf5}.badge.preferred{background:linear-gradient(135deg,#fff8d9,#ffe7a3);color:#654900;border:1px solid #f3d164;box-shadow:0 3px 10px rgba(158,115,0,.12)}.hotel-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow-sm)}.hotel-response{margin-top:12px;padding:12px 14px;border-left:4px solid var(--blue);background:#f2f7fd;border-radius:10px}.review-admin-list{display:grid;gap:14px}.review-actions-grid,.review-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.moderation-card{margin-bottom:14px}.preferred-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.preferred-admin-card h3{margin:0}.criteria-row{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.criteria-row span{font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px}.criteria-row .ok{background:#e8f8ef;color:#08734a}.criteria-row .bad{background:#fff0ef;color:#a1261c}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.permission-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.permission-item small{display:block;color:var(--muted);font-weight:400}.permission-item label{font-size:12px;font-weight:700}.sticky-action{position:sticky;bottom:12px;display:flex;justify-content:flex-end;padding-top:14px;z-index:10}.sticky-action .btn{box-shadow:0 12px 30px rgba(18,59,114,.3)}.filter-bar{padding:16px}.filter-grid{display:grid;grid-template-columns:2fr repeat(5,minmax(120px,1fr));gap:10px}.column-picker{margin:14px 0}.column-picker summary{cursor:pointer;font-weight:800}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.check-grid label{padding:8px 10px;background:#f8fafc;border:1px solid var(--line);border-radius:9px;font-size:13px}.booking-table table{min-width:980px}.reconciliation-panel{border-left:4px solid var(--gold)}.choice-card{display:flex!important;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.choice-card span{display:grid;gap:2px}.choice-card small{color:var(--muted)}.table-wrap{background:#fff}.table-wrap tbody tr:hover{background:#f8fbff}.sidebar{box-shadow:var(--shadow-sm)}.sidebar a{position:relative}.sidebar a:hover{background:linear-gradient(90deg,#edf4fd,#f7fbff)}
@media(max-width:1100px){.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.check-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preferred-admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.page-head{flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.review-grid,.review-actions-grid,.review-split,.permission-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:1fr 1fr}.permission-item{grid-template-columns:1fr auto auto}.panel,.card-body{border-radius:14px}.hotel-reviews{margin-top:24px}.sidebar-layout{padding-top:12px}.content h1{font-size:30px}}
@media(max-width:520px){.filter-grid,.check-grid{grid-template-columns:1fr}.permission-item{grid-template-columns:1fr}.permission-item label{display:inline-flex;gap:5px}.btn{width:auto}.page-actions{display:grid;grid-template-columns:1fr 1fr}.review-card{padding:14px}.kpi .value{font-size:24px}.hotel-title-line{align-items:flex-start}.hotel-title-line .badge{margin-top:3px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.hotel-switcher{display:grid;gap:4px;margin:4px 6px 10px;padding:9px;border-radius:10px;background:#f7faff;border:1px solid #e1eaf5}.hotel-switcher span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.hotel-switcher select{width:100%;border:1px solid #cedbea;border-radius:8px;background:#fff;padding:8px;font:inherit;font-size:12px;color:var(--text)}

/* Bokotel monthly billing & reconciliation */
.billing-cycle-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#eef5ff,#fff);border:1px solid #dce9fb}.billing-cycle-banner h2{margin:7px 0 3px}.billing-stats{margin:16px 0}.billing-item-list{display:grid;gap:14px}.billing-item{overflow:hidden}.billing-item.is-disputed{border-color:#f0b64d;box-shadow:0 0 0 2px rgba(240,182,77,.12)}.billing-money-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:14px 0}.billing-money-grid>div{padding:11px;border-radius:12px;background:#f7f9fc;border:1px solid #edf0f5}.billing-money-grid span{display:block;font-size:.78rem;color:#64748b;margin-bottom:4px}.billing-admin-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:16px;margin:16px 0}.dispute-box{margin-top:10px}.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:minmax(160px,.3fr) minmax(180px,.3fr) 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f5}.timeline-item code{white-space:pre-wrap;word-break:break-word;font-size:.78rem}.mini-form{display:grid;gap:8px;min-width:220px}.toolbar.compact{margin-top:8px}.alert.info{background:#eaf4ff;border-color:#b8d8ff;color:#164e82}
@media(max-width:980px){.billing-admin-grid{grid-template-columns:1fr}.billing-money-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-cycle-banner{align-items:flex-start;flex-direction:column}.timeline-item{grid-template-columns:1fr}}
@media(max-width:560px){.billing-money-grid{grid-template-columns:1fr}.billing-item .toolbar{align-items:flex-start;flex-direction:column}.billing-cycle-banner .toolbar{width:100%;align-items:stretch;flex-direction:column}.billing-cycle-banner .toolbar form,.billing-cycle-banner .toolbar .btn{width:100%}}

/* Hotel photo gallery - manual lightbox slider */
.gallery-tile{appearance:none;-webkit-appearance:none;border:0;padding:0;margin:0;background:#e9eef5;cursor:pointer;position:relative;overflow:hidden;min-width:0}.gallery-tile img{transition:transform .25s ease,filter .25s ease}.gallery-tile:hover img{transform:scale(1.025);filter:brightness(.96)}.gallery-count-btn{position:absolute;right:14px;bottom:14px;z-index:3;border:1px solid rgba(255,255,255,.7);background:rgba(15,23,42,.84);color:#fff;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}.hotel-gallery{position:relative}.hotel-gallery-modal[hidden]{display:none!important}.hotel-gallery-modal{position:fixed;inset:0;z-index:1000;background:rgba(3,10,20,.96);display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff;padding:14px}.gallery-modal-toolbar{display:flex;justify-content:space-between;align-items:center;min-height:46px;font-weight:800}.gallery-close{border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:50%;width:42px;height:42px;font-size:28px;line-height:1;cursor:pointer}.gallery-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden}.gallery-stage>img{max-width:min(1180px,calc(100vw - 100px));max-height:calc(100vh - 190px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.38)}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:0;background:rgba(255,255,255,.13);color:#fff;width:48px;height:58px;border-radius:12px;font-size:42px;line-height:1;cursor:pointer}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:12px 4px 2px;justify-content:center}.gallery-thumbnails button{border:2px solid transparent;background:transparent;padding:0;border-radius:9px;overflow:hidden;opacity:.58;flex:0 0 78px;height:54px;cursor:pointer}.gallery-thumbnails button.is-active{border-color:#fff;opacity:1}.gallery-thumbnails img{width:100%;height:100%;object-fit:cover}.gallery-open{overflow:hidden}.selected-total{display:block;color:var(--blue);font-size:18px;margin-top:3px}.selection-totals{display:grid;gap:1px}.mobile-book-bar{align-items:center}
@media(max-width:820px){.hotel-gallery-modal{padding:8px}.gallery-stage>img{max-width:100%;max-height:calc(100vh - 175px);border-radius:4px}.gallery-nav{width:42px;height:52px;background:rgba(0,0,0,.38)}.gallery-prev{left:0}.gallery-next{right:0}.gallery-thumbnails{justify-content:flex-start}.gallery-thumbnails button{flex-basis:64px;height:46px}.gallery-count-btn{right:9px;bottom:9px;padding:7px 10px}.mobile-book-bar{gap:10px}.mobile-book-bar .btn{white-space:nowrap}}
