:root{
  --primary:#146c94;
  --secondary:#0f2435;
  --bg:#f3f6f9;
  --card:#ffffff;
  --text:#17212b;
  --muted:#687885;
  --line:#e2e9ef;
  --danger:#c0392b;
  --warning:#c68600;
  --success:#21824a;
  --shadow:0 8px 28px rgba(24,50,75,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%}
[hidden]{display:none!important}
.container{max-width:1440px;margin:auto;padding:30px}
.narrow{max-width:760px}
.grow{flex:1;min-width:0}
.center{text-align:center}
.muted-text{color:var(--muted)}
.label-note,.help-text{font-weight:500;color:var(--muted);font-size:12px}
.span-2{grid-column:span 2}

/* Admin shell */
.admin-body{background:#f2f5f8}
.topbar{min-height:74px;background:var(--secondary);color:#fff;display:flex;align-items:center;padding:10px 28px;gap:28px;position:sticky;top:0;z-index:50;box-shadow:0 5px 22px rgba(10,25,38,.18)}
.brand{display:flex;align-items:center;gap:11px;font-weight:900;font-size:20px;text-decoration:none;white-space:nowrap}
.brand small{font-size:10px;opacity:.65;margin-left:4px}
.brand-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#5cc4e8);display:grid;place-items:center;font-size:13px;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.admin-nav{display:flex;align-items:center;gap:4px;flex:1;overflow:auto;padding:4px}
.admin-nav a{text-decoration:none;color:#cbd9e3;font-size:13px;font-weight:700;padding:10px 11px;border-radius:10px;white-space:nowrap;transition:.15s ease}
.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.11);color:#fff}
.topbar-user{display:grid;grid-template-columns:auto auto;column-gap:9px;align-items:center;font-size:12px;white-space:nowrap}
.topbar-user span{grid-column:1/3;color:#9fb4c2;font-size:10px;text-align:right}
.topbar-user strong{font-size:12px}
.topbar-user a{color:#bcd9e8}
.nav-toggle{display:none;border:0;background:rgba(255,255,255,.1);color:#fff;width:42px;height:42px;border-radius:10px}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 24px}
.page-head h1{margin:3px 0 0;font-size:30px;letter-spacing:-.025em}
.page-kicker,.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#617582;font-weight:900}
.live-indicator{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;color:#788894}
.live-indicator span{width:8px;height:8px;border-radius:50%;background:#a5adb3}
.live-indicator.online span{background:#29aa59;box-shadow:0 0 0 5px rgba(41,170,89,.12)}

/* Common components */
.card,.note-card,.pin-card{background:var(--card);border:1px solid rgba(224,233,239,.8);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:22px}
.card h2,.note-card h2{margin:4px 0 16px}
.card-head,.room-title,.actions,.request-meta,.section-heading{display:flex;align-items:center;gap:12px}
.card-head,.room-title,.section-heading{justify-content:space-between}
.card-head h2,.section-heading h2{margin:3px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:var(--primary);color:#fff;padding:12px 18px;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;box-shadow:0 5px 14px rgba(20,108,148,.2)}
.btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.btn-small{padding:8px 12px;font-size:12px;border-radius:9px}
.btn-block{width:100%}
.btn-secondary{background:#e8f0f4;color:#16445d;box-shadow:none}
.btn-danger{background:var(--danger);box-shadow:none}
.btn-link{border:0;background:none;text-decoration:underline;cursor:pointer;color:#52616b;padding:3px;font-size:12px}
.danger-text{color:#b42318!important}
.copy-button{border:0;background:#edf4f7;color:#17648a;padding:8px 10px;border-radius:8px;font-size:11px;font-weight:800}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.form-grid .btn{align-self:end}
.form-stack{display:grid;gap:15px}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.language-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.language-columns fieldset{border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;gap:13px;margin:0;min-width:0}
.language-columns legend{font-weight:900;padding:0 7px}
label{display:grid;gap:7px;font-weight:750;font-size:13px;color:#2d3c47}
input,select,textarea{width:100%;border:1px solid #cbd6df;border-radius:10px;padding:11px 12px;background:#fff;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(20,108,148,.1)}
textarea{resize:vertical;line-height:1.5}
.check{display:flex;align-items:center;gap:8px}
.check input{width:auto}
.alert{border-radius:12px;padding:13px 16px;margin:0 0 18px;font-weight:650}
.alert-success{background:#e6f7ec;color:#176c32;border:1px solid #c9ecd6}
.alert-danger{background:#fdebea;color:#9f231b;border:1px solid #f4d3d0}
.alert-warning{background:#fff4d6;color:#7b5600;border:1px solid #f4e3af}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;white-space:nowrap}
.status-new{background:#ffe4e1;color:#9c2a20}
.status-in_progress{background:#fff0c2;color:#795b00}
.status-completed{background:#def3e5;color:#196b35}
.status-cancelled,.status-ended,.status-expired{background:#e8ebee;color:#56616b}
.featured-badge{background:#e7e2ff;color:#5842a9}
.empty{text-align:center;color:#71808c;padding:32px}
.small-empty{padding:12px 0;margin:0}
.info-strip{display:flex;align-items:center;gap:14px;background:#eaf4f8;border:1px solid #d4e8f0;padding:15px 18px;border-radius:14px;margin-bottom:20px}
.info-strip>span{font-size:25px}.info-strip strong,.info-strip small{display:block}.info-strip small{color:#627783;margin-top:3px}
.note-card{background:linear-gradient(145deg,#eaf5f9,#f7fbfd)}
.note-icon{font-size:32px;display:block;margin-bottom:12px}
.security-note{display:flex;flex-direction:column;justify-content:center}

/* Dashboard */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}
.stats-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;text-decoration:none;box-shadow:var(--shadow);position:relative;overflow:hidden;min-height:130px}
.stat:after{content:"";position:absolute;right:-25px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:rgba(20,108,148,.06)}
.stat span,.stat small{display:block;color:#607080;font-size:12px}.stat small{margin-top:5px;font-size:10px}.stat strong{display:block;font-size:34px;line-height:1.15;margin-top:8px;letter-spacing:-.04em}.stat.danger strong{color:#c0392b}.stat.warning strong{color:#a36f00}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr);gap:20px}
.dashboard-main-card{min-height:440px}
.dashboard-side{display:grid;align-content:start;gap:0}
.compact-request-list{display:grid;margin-top:10px}
.compact-request{display:flex;align-items:center;gap:12px;padding:14px 4px;text-decoration:none;border-bottom:1px solid var(--line);border-left:4px solid transparent;padding-left:12px}
.compact-request:last-child{border-bottom:0}
.status-border-new{border-left-color:#df5044}.status-border-in_progress{border-left-color:#dba316}.status-border-completed{border-left-color:#45a867}
.compact-request strong,.compact-request small{display:block}.compact-request small{color:var(--muted);margin-top:4px;font-size:11px}
.request-icon{width:38px;height:38px;border-radius:12px;background:#eef4f7;display:grid;place-items:center;font-size:20px;flex:0 0 auto}.small-icon{width:34px;height:34px;font-size:17px}
.department-list{display:grid}.department-list a{display:flex;justify-content:space-between;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line)}.department-list a:last-child{border-bottom:0}.department-list strong{background:#edf3f6;border-radius:999px;min-width:28px;height:28px;display:grid;place-items:center}
.mini-list{display:grid}.mini-list>div{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}.mini-list span{font-size:11px;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:2px 0 24px}.quick-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.quick-card{background:linear-gradient(145deg,#163c55,#102b3d);color:#fff;border-radius:17px;padding:22px;text-decoration:none;display:grid;gap:5px;min-height:125px;box-shadow:0 10px 27px rgba(16,43,61,.16)}
.quick-card>span{font-size:26px}.quick-card strong{font-size:16px}.quick-card small{color:#bdd0dc}

/* Tables */
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid #e6edf2;padding:13px 10px;vertical-align:top}th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6f7d88;white-space:nowrap}td{font-size:13px}.table-subtitle{display:block;margin-top:4px;color:var(--muted);max-width:250px}.active-stay-row{background:#fbfdfd}.inline-expiry-form{display:flex;align-items:center;gap:5px;min-width:190px}.inline-expiry-form input{padding:7px;font-size:11px}.inline-expiry-form button{border:0;background:#e0f2e6;color:#176c32;border-radius:8px;width:30px;height:30px;font-weight:900}.wrap-actions{flex-wrap:wrap}

/* Rooms & stays */
.split{display:grid;grid-template-columns:2fr 1fr;gap:20px}.split-wide{display:grid;grid-template-columns:minmax(420px,.9fr) 1.4fr;gap:22px}.room-tools{grid-template-columns:1fr 1fr}
.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.room-card{background:#fff;padding:20px;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.room-title strong{display:block;font-size:30px;line-height:1.1}.room-title>div>span{color:#6a7883;font-size:10px;text-transform:uppercase;font-weight:900}.room-title small{display:block;color:var(--muted);margin-top:5px}.room-stay{background:#f5f9fb;border-radius:10px;padding:10px;margin:13px 0}.room-stay strong,.room-stay span{display:block}.room-stay span{font-size:11px;color:var(--muted);margin-top:3px}.url-box{background:#f0f4f7;border-radius:9px;padding:9px;font-size:10px;word-break:break-all;margin:13px 0 7px}.muted-card{opacity:.58}.room-edit{margin:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.room-edit summary{font-size:12px;font-weight:800;cursor:pointer}.compact-form{margin-top:12px}.room-actions{flex-wrap:wrap}.room-actions form{display:inline-flex}
.pin-created{background:linear-gradient(135deg,#173f57,var(--primary));color:#fff;border-radius:18px;padding:20px 24px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 10px 30px rgba(20,61,87,.2)}.pin-created span,.pin-created small{display:block}.pin-created strong{display:block;font-size:42px;letter-spacing:.15em;margin:4px 0}.pin-created .btn{background:#fff;color:#16445d;box-shadow:none}.pin-created .btn-secondary{background:rgba(255,255,255,.15);color:#fff}.pin-actions{display:flex;gap:10px}.stays-top{grid-template-columns:1.6fr .7fr}

/* Requests */
.request-summary-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.request-summary-tabs a{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-decoration:none;display:flex;align-items:center;gap:10px}.request-summary-tabs strong{font-size:25px}.request-summary-tabs span{font-size:12px;color:var(--muted)}.request-summary-tabs a.active{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,108,148,.08)}.status-new-tab strong{color:#ba3328}.status-progress-tab strong{color:#a67600}
.filter-bar{display:grid;grid-template-columns:180px 180px minmax(220px,1fr) auto auto;align-items:end;gap:12px;padding:16px}.filter-search{min-width:220px}
.request-board{display:grid;gap:15px}.request-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.7fr);gap:22px;box-shadow:0 4px 17px rgba(24,50,75,.06);border-left:5px solid #dce4e9}.request-card.priority-high{border-left-color:#e5a91b}.request-card.priority-urgent{border-left-color:#cf3c31}.request-meta{font-size:11px;color:#70808b;flex-wrap:wrap}.room-pill{background:#143f58;color:#fff;padding:5px 8px;border-radius:999px}.language-pill{background:#e9e6ff;color:#6049aa;padding:4px 7px;border-radius:999px;font-weight:900}.request-main h3{font-size:20px;margin:12px 0 7px}.request-details{white-space:normal;line-height:1.5;color:#43535e}.request-context{display:flex;gap:14px;flex-wrap:wrap;color:#72818c;font-size:11px;margin-top:15px}.request-control-panel{border-left:1px solid var(--line);padding-left:20px;display:grid;gap:10px}.quick-status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.quick-status-actions button{border:1px solid var(--line);background:#f4f7f9;border-radius:9px;padding:8px;font-size:11px;font-weight:800}.quick-status-actions button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.request-save-row{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center}

/* Content admin */
.content-admin-layout{align-items:start}.content-editor{position:sticky;top:95px;max-height:calc(100vh - 115px);overflow:auto}.editor-section{border-top:1px solid var(--line);padding-top:13px}.editor-section h3{font-size:14px;margin:0 0 12px}.editor-preview-image{width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:10px}.icon-picker{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.icon-picker>span{font-size:12px;font-weight:800;margin-right:5px}.icon-picker label{display:block}.icon-picker input{position:absolute;opacity:0}.icon-picker label span{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;background:#fff;font-size:18px}.icon-picker input:checked+span{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,108,148,.12)}.checkbox-grid{display:flex;gap:12px;flex-wrap:wrap;background:#f5f8fa;padding:12px;border-radius:12px}.content-list-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.content-list-head h2{margin:3px 0}.content-preview-links{display:flex;gap:12px;font-size:12px;font-weight:800;color:var(--primary)}.content-list{display:grid;gap:14px}.content-row{display:flex;gap:15px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 4px 15px rgba(24,50,75,.05)}.content-thumb{width:120px;min-width:120px;height:95px;border-radius:12px;overflow:hidden;background:#edf4f7;display:grid;place-items:center}.content-thumb img{width:100%;height:100%;object-fit:cover}.content-thumb span{font-size:36px}.content-row h3{margin:6px 0}.content-row p{color:#61717c;font-size:12px}.content-badges{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.english-title{color:#6e7d87}.visibility-tags{display:flex;gap:6px;flex-wrap:wrap}.visibility-tags span{background:#f0f2f4;color:#9aa3aa;padding:4px 7px;border-radius:6px;font-size:9px;font-weight:900}.visibility-tags span.on{background:#e3f3e8;color:#287447}.content-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;min-width:105px}

/* Settings */
.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.settings-section{margin:0}.settings-section:nth-child(2),.settings-section:nth-child(5){grid-column:span 2}.color-input{display:flex;align-items:center;border:1px solid #cbd6df;border-radius:10px;overflow:hidden;background:#fff}.color-input input{width:55px;height:43px;border:0;padding:5px}.color-input span{font-family:monospace;font-size:12px}.service-toggle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.service-toggle-grid label{position:relative;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;place-items:center;text-align:center;gap:7px}.service-toggle-grid input{position:absolute;top:10px;right:10px;width:auto}.service-toggle-grid span{font-size:28px}.notice-toggle{margin-bottom:14px}.settings-links{display:grid;align-content:center;gap:8px}.settings-links a{color:var(--primary);font-weight:800}.sticky-save{position:sticky;bottom:15px;grid-column:1/-1;display:flex;justify-content:flex-end;pointer-events:none}.sticky-save .btn{pointer-events:auto;min-width:270px;box-shadow:0 12px 30px rgba(20,108,148,.28)}

/* Screens */
.screen-setup-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:20px}.screen-url-builder{display:grid;gap:12px}.screen-help{display:flex;flex-direction:column;justify-content:center}.screen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.screen-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:19px;box-shadow:var(--shadow);position:relative;overflow:hidden}.screen-card:after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:#aeb8be}.screen-online:after{background:#2bad5c}.screen-status{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:center}.screen-dot{width:11px;height:11px;border-radius:50%;background:#aeb8be;grid-row:1/3}.screen-online .screen-dot{background:#2bad5c;box-shadow:0 0 0 6px rgba(43,173,92,.12)}.screen-status strong{font-size:11px}.screen-status small{color:var(--muted);font-size:10px}.screen-visual{height:120px;background:linear-gradient(145deg,#163c55,#102737);border:7px solid #26343d;border-radius:9px;margin:18px 0 12px;display:grid;place-items:center;position:relative}.screen-visual:after{content:"";position:absolute;width:45px;height:7px;background:#344750;bottom:-15px;border-radius:5px}.screen-visual span{color:#fff;font-size:42px}.screen-card h2{margin:20px 0 4px}.screen-card>p{color:var(--muted);margin:0 0 12px}.screen-meta{display:grid;gap:5px;background:#f5f8fa;border-radius:10px;padding:10px;font-size:10px;color:#687984}.screen-card details{margin:12px 0}.screen-card summary{font-size:12px;font-weight:800}.screen-card>.actions{flex-wrap:wrap}

/* Feedback admin */
.feedback-summary{display:grid;grid-template-columns:.55fr 1fr .8fr;gap:18px}.feedback-score-card{background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;border-radius:18px;padding:25px;display:grid;place-items:center;text-align:center;box-shadow:var(--shadow)}.feedback-score-card>span{font-size:12px}.feedback-score-card>strong{font-size:60px;line-height:1}.feedback-score-card small{color:#d0e2ec}.stars-display{color:#ffd45b;letter-spacing:3px;margin:7px}.stars-display span,.feedback-stars span{color:#dfe5e8}.rating-bars{display:grid;gap:9px}.rating-bars>div{display:grid;grid-template-columns:35px 1fr 28px;gap:10px;align-items:center;font-size:11px}.bar{height:8px;border-radius:999px;background:#edf1f3;overflow:hidden}.bar i{height:100%;display:block;background:#f4bd37;border-radius:999px}.feedback-list{display:grid;gap:13px;margin-top:20px}.feedback-card{display:flex;gap:17px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(24,50,75,.05)}.feedback-stars{color:#f4bd37;letter-spacing:2px;font-size:20px}.feedback-card p{margin:10px 0 0;line-height:1.5}

/* Upgrade/login/setup */
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#0d2636,#176c94);padding:20px}.login-card{width:min(430px,94vw);background:#fff;border-radius:25px;padding:35px;box-shadow:0 25px 65px rgba(0,0,0,.25)}.logo-mark{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:var(--primary);color:#fff;font-weight:900}.login-card h1{margin-bottom:6px}.login-card>p{color:var(--muted);margin-top:0}.upgrade-success-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#def3e5;color:#196b35;font-size:35px;font-weight:900}.upgrade-list{display:grid;gap:9px;background:#f4f8fa;padding:15px;border-radius:12px;margin:18px 0}.upgrade-list span{font-size:13px}
.admin-toast{position:fixed;right:24px;bottom:24px;background:#112f43;color:#fff;border-radius:13px;padding:15px 20px;box-shadow:0 15px 40px rgba(0,0,0,.25);transform:translateY(25px);opacity:0;transition:.25s;z-index:100}.admin-toast.show{opacity:1;transform:translateY(0)}

/* Guest shell */
.guest-body{background:#f1f4f6;--primary:#146c94;--secondary:#0f2435;padding-bottom:78px}.guest-top{height:68px;background:#fff;color:#173044;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,env(safe-area-inset-left));position:sticky;top:0;z-index:35;border-bottom:1px solid #e4eaee}.guest-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.guest-brand img{width:42px;height:42px;object-fit:contain}.guest-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-logo-fallback{width:40px;height:40px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:900}.lang-switch{border:1px solid #dce5ea;border-radius:999px;padding:8px 11px;text-decoration:none;font-size:12px;font-weight:900;color:var(--primary)}.guest-container{max-width:820px;margin:auto;padding:17px}.guest-footer{text-align:center;padding:14px 24px 95px;color:#81909b;font-size:11px}.guest-bottom-nav{position:fixed;z-index:40;left:50%;bottom:12px;transform:translateX(-50%);width:min(520px,calc(100% - 24px));height:64px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border:1px solid rgba(210,220,227,.9);box-shadow:0 12px 35px rgba(25,48,65,.18);border-radius:19px;padding:6px;display:grid;grid-template-columns:repeat(3,1fr)}.guest-bottom-nav a{display:grid;place-items:center;align-content:center;gap:1px;text-decoration:none;color:#7a8994;font-size:10px;font-weight:800;border-radius:14px}.guest-bottom-nav a span{font-size:20px;line-height:1}.guest-bottom-nav a.active{background:var(--primary);color:#fff}.guest-notice{background:#fff2c8;border:1px solid #f0df9f;color:#644d00;border-radius:13px;padding:13px 15px;margin-bottom:13px;display:flex;gap:10px;align-items:center;font-weight:750;font-size:13px}.guest-notice span{font-size:21px}.guest-hero{border-radius:23px;min-height:230px;margin-bottom:17px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(145deg,var(--primary),var(--secondary));box-shadow:0 12px 32px rgba(18,51,71,.18)}.guest-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(100deg,rgba(9,28,41,.88),rgba(9,28,41,.35)),var(--hero-image,none);background-size:cover;background-position:center}.hero-overlay-content{position:relative;z-index:1;padding:31px;max-width:620px}.hero-overlay-content .eyebrow{color:#d3ebf4}.hero-overlay-content h1{font-size:34px;line-height:1.08;margin:8px 0 12px;letter-spacing:-.025em}.hero-overlay-content p{font-size:15px;line-height:1.55;margin:0;color:#e6f0f5}.service-hero{min-height:205px}.hotel-guide-hero{min-height:270px}.enhanced-pin-card{display:grid;grid-template-columns:auto 1fr auto;gap:17px;align-items:center}.pin-card-icon{width:52px;height:52px;display:grid;place-items:center;background:#e8f3f7;border-radius:16px;font-size:25px}.enhanced-pin-card h2{margin:4px 0 6px}.enhanced-pin-card p{margin:0;color:var(--muted);font-size:13px}.pin-form{display:flex;gap:8px}.pin-form input{font-size:21px;letter-spacing:.12em;width:145px;text-align:center}.guest-room-note{display:flex;gap:16px;align-items:center}.guest-room-note .note-icon{margin:0}.guest-room-note p{margin:5px 0 0;color:#586c78}
.guest-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 22px}.guest-quick-action{border:1px solid #e0e8ed;background:#fff;border-radius:15px;padding:14px 10px;display:grid;text-align:center;place-items:center;text-decoration:none;color:var(--text);box-shadow:0 4px 15px rgba(24,50,75,.05)}button.guest-quick-action{width:100%}.guest-quick-action>span{font-size:25px}.guest-quick-action strong{font-size:13px;margin-top:5px}.guest-quick-action small{font-size:10px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-heading{margin:24px 2px 12px}.section-heading a{font-size:12px;font-weight:800;color:var(--primary);text-decoration:none}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 19px}.service-card{background:#fff;border:1px solid #e0e7ec;border-radius:17px;padding:19px;text-decoration:none;box-shadow:0 6px 20px rgba(24,50,75,.06);position:relative;min-height:150px}.service-card>span{font-size:31px}.service-card strong,.service-card small{display:block}.service-card strong{font-size:16px;margin:9px 0 5px}.service-card small{color:#667681;font-size:11px;line-height:1.4;padding-right:15px}.service-card i{position:absolute;right:15px;bottom:14px;font-style:normal;color:var(--primary);font-weight:900}.guest-requests-card{padding-bottom:10px}.request-refresh-indicator{color:#36a862;font-size:13px}.pulse-once{animation:pulseOnce .6s}@keyframes pulseOnce{50%{transform:scale(1.5);opacity:.35}}.guest-request-list{display:grid}.guest-request{display:flex;align-items:center;gap:10px;border-bottom:1px solid #edf0f2;padding:12px 0}.guest-request:last-child{border-bottom:0}.guest-request strong,.guest-request small{display:block}.guest-request small{color:#71808b;margin-top:4px;font-size:10px}.guest-information-section{scroll-margin-top:80px}.mobile-category-tabs{display:flex;gap:7px;overflow:auto;margin:0 -2px 12px;padding:2px}.mobile-category-tabs button{border:1px solid #dce5ea;background:#fff;border-radius:999px;padding:8px 12px;white-space:nowrap;font-size:11px;font-weight:800}.mobile-category-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}.mobile-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.compact-content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-content-card{background:#fff;border:1px solid #e0e8ed;border-radius:17px;overflow:hidden;box-shadow:0 5px 18px rgba(24,50,75,.06)}.mobile-content-card.featured-content{grid-column:span 2}.mobile-content-card img{width:100%;height:180px;object-fit:cover}.mobile-content-card.featured-content img{height:250px}.content-icon-hero{height:150px;display:grid;place-items:center;font-size:54px;background:linear-gradient(145deg,#e9f3f7,#f8fbfc)}.mobile-content-card>div:not(.content-icon-hero){padding:17px}.mobile-content-card h3{margin:6px 0;font-size:17px}.mobile-content-card p{font-size:12px;color:#5f707b;line-height:1.55;white-space:normal}.guest-logout{margin:25px 0}.text-link,.back-link{color:var(--primary);font-weight:800}.back-link{display:inline-block;margin:3px 0 14px;text-decoration:none}.error-room-card{text-align:center;margin-top:40px}.error-room-card>span{font-size:50px}
.request-form-card{padding:20px}.request-form-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.request-form-title>span{width:57px;height:57px;display:grid;place-items:center;background:#edf4f7;border-radius:17px;font-size:29px}.request-form-title h1{margin:4px 0}.request-form-title p{margin:0;color:var(--muted)}.preset-grid{display:grid;gap:9px}.preset-option{display:block}.preset-option input{position:absolute;opacity:0}.preset-option span{display:flex;align-items:center;gap:11px;border:1px solid #dce5eb;border-radius:13px;padding:12px;background:#fff;font-weight:750}.preset-option i{width:29px;height:29px;border-radius:9px;background:#edf3f6;display:grid;place-items:center;font-style:normal;font-size:11px}.preset-option input:checked+span{border-color:var(--primary);background:#edf7fb;box-shadow:0 0 0 3px rgba(20,108,148,.08)}.preset-option input:checked+span i{background:var(--primary);color:#fff}.large-submit{padding:15px}
.guest-feedback-form{text-align:center;padding:27px}.feedback-hero-icon{width:65px;height:65px;border-radius:21px;background:#fff1bf;color:#d59b00;display:grid;place-items:center;font-size:34px;margin:0 auto 15px}.guest-feedback-form>p{color:var(--muted);line-height:1.5}.star-rating{display:flex;flex-direction:row-reverse;justify-content:center;gap:6px}.star-rating input{display:none}.star-rating label{font-size:45px;color:#dfe4e7;cursor:pointer}.star-rating input:checked~label,.star-rating label:hover,.star-rating label:hover~label{color:#f4bd37}.large-stars{font-size:31px;margin:15px}.guest-feedback-form blockquote{background:#f5f8fa;border-radius:13px;padding:15px;margin:15px 0;color:#52636e}

/* Modals */
.simple-modal,.kiosk-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.simple-modal-backdrop,.kiosk-modal-backdrop{position:absolute;inset:0;background:rgba(7,20,29,.65);backdrop-filter:blur(5px)}.simple-modal-card{position:relative;background:#fff;border-radius:22px;padding:28px;width:min(390px,92vw);text-align:center;box-shadow:0 25px 70px rgba(0,0,0,.3)}.simple-modal-card>button{position:absolute;right:12px;top:10px;border:0;background:#edf1f3;width:35px;height:35px;border-radius:50%;font-size:22px}.modal-big-icon{font-size:43px}.simple-modal-card p{background:#f4f7f9;border-radius:12px;padding:11px}.simple-modal-card p small,.simple-modal-card p strong{display:block}.simple-modal-card p small{color:var(--muted)}

/* Kiosk */
.kiosk-body{margin:0;background:#edf2f5;min-height:100vh;--primary:#146c94;--secondary:#0f2435;overflow-x:hidden}.modal-open{overflow:hidden}.kiosk-header{height:104px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:18px 3.2vw;box-shadow:0 5px 20px rgba(22,55,75,.08);position:relative;z-index:10}.kiosk-hotel-brand{display:flex;align-items:center;gap:17px}.kiosk-hotel-brand img{height:68px;max-width:175px;object-fit:contain}.kiosk-logo-fallback{width:62px;height:62px;border-radius:18px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.kiosk-hotel-brand h1{margin:2px 0;font-size:28px}.kiosk-hotel-brand span{color:#6c7b86}.kiosk-header-actions{display:flex;align-items:center;gap:25px}.kiosk-lang{border:1px solid #d8e2e8;border-radius:999px;padding:11px 17px;text-decoration:none;font-size:12px;font-weight:900;color:var(--primary)}.kiosk-header #clock{font-size:18px;text-transform:capitalize;font-weight:750}.kiosk-notice{height:48px;background:#fff0b5;color:#584300;display:flex;align-items:center;gap:12px;padding:0 3.2vw;font-size:16px;font-weight:800;overflow:hidden}.kiosk-notice span{font-size:23px}.kiosk-main{padding:25px 3.2vw 45px}.kiosk-hero{min-height:340px;color:#fff;border-radius:28px;padding:34px;display:flex;justify-content:space-between;align-items:center;gap:28px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 13px 35px rgba(18,52,73,.2)}.kiosk-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(10,31,45,.94),rgba(10,31,45,.4)),var(--kiosk-hero,none);background-size:cover;background-position:center}.kiosk-hero-copy,.kiosk-qr{position:relative;z-index:1}.kiosk-hero-copy{max-width:65%}.kiosk-hero h2{font-size:46px;line-height:1.08;margin:8px 0 13px}.kiosk-hero p{font-size:17px;line-height:1.55;color:#e6f0f5}.kiosk-hero .eyebrow{color:#d5edf7}.kiosk-qr{background:#fff;color:#183040;padding:16px;border-radius:19px;text-align:center;display:grid;place-items:center;min-width:225px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.kiosk-qr strong,.kiosk-qr small{display:block;margin-top:8px;max-width:220px}.kiosk-qr small{font-size:10px;color:#667985;line-height:1.4}.kiosk-quick-info{display:flex;gap:12px;margin-top:22px}.kiosk-quick-info>div,.kiosk-quick-info>button{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.13);color:#fff;border-radius:14px;padding:11px 15px;display:flex;align-items:center;gap:10px;text-align:left}.kiosk-quick-info>button{cursor:pointer}.kiosk-quick-info span{font-size:24px}.kiosk-quick-info small,.kiosk-quick-info strong{display:block}.kiosk-quick-info small{color:#cbe0ea}.kiosk-section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 2px 3px}.kiosk-section-head h2{font-size:29px;margin:4px 0}.kiosk-device-label{font-size:10px;color:#85939c}.category-tabs{display:flex;gap:10px;overflow:auto;padding:14px 0 20px}.category-tabs button{border:1px solid #dce4e9;border-radius:999px;padding:12px 18px;background:#fff;font-weight:850;white-space:nowrap;font-size:13px}.category-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 6px 17px rgba(20,108,148,.2)}.kiosk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.kiosk-card{background:#fff;border:1px solid #dfe7ec;border-radius:21px;overflow:hidden;box-shadow:0 8px 25px rgba(22,55,75,.08);transition:transform .15s,box-shadow .15s;cursor:pointer}.kiosk-card:hover,.kiosk-card:focus{transform:translateY(-4px);box-shadow:0 15px 35px rgba(22,55,75,.14);outline:none}.kiosk-card.kiosk-featured{grid-column:span 2}.kiosk-card img{width:100%;height:210px;object-fit:cover}.kiosk-featured img{height:260px}.kiosk-card-icon{height:210px;display:grid;place-items:center;font-size:72px;background:linear-gradient(145deg,#e9f3f7,#f9fbfc)}.kiosk-card>div:not(.kiosk-card-icon){padding:20px}.kiosk-card h3{font-size:22px;margin:7px 0}.kiosk-card p{font-size:14px;line-height:1.5;color:#52636f;min-height:42px}.kiosk-open-card{border:0;background:none;color:var(--primary);font-weight:900;padding:3px 0}.kiosk-empty{grid-column:1/-1;background:#fff;border-radius:20px;padding:45px;text-align:center;color:#74838e}.kiosk-modal-card{position:relative;z-index:1;width:min(1000px,92vw);max-height:88vh;background:#fff;border-radius:27px;overflow:hidden;display:grid;grid-template-columns:1fr 1.1fr;box-shadow:0 30px 100px rgba(0,0,0,.4)}.kiosk-modal-close{position:absolute;right:15px;top:15px;z-index:3;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:29px}.kiosk-modal-media{min-height:500px;background:linear-gradient(145deg,#e8f2f6,#f8fbfc);display:grid;place-items:center}.kiosk-modal-media img{width:100%;height:100%;object-fit:cover}.kiosk-modal-media span{font-size:100px}.kiosk-modal-content{padding:48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.kiosk-modal-content h2{font-size:40px;margin:9px 0 15px}.kiosk-modal-content p{font-size:18px;line-height:1.65;color:#4f616d;white-space:pre-line}.kiosk-attract{position:fixed;inset:0;z-index:80;background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;display:grid;place-items:center}.attract-content{text-align:center;display:grid;place-items:center}.attract-content img{max-height:100px;max-width:260px;margin-bottom:25px}.attract-content span{font-size:22px;color:#d5e8f1}.attract-content h2{font-size:64px;margin:7px}.attract-content p{font-size:21px}.attract-content #attractQr{background:#fff;padding:15px;border-radius:18px;margin-top:16px}.attract-content small{margin-top:12px;font-size:16px}

@media(max-width:1250px){
  .stats-six{grid-template-columns:repeat(3,1fr)}
  .kiosk-grid{grid-template-columns:repeat(3,1fr)}
  .screen-grid{grid-template-columns:repeat(2,1fr)}
  .settings-layout{grid-template-columns:1fr}.settings-section:nth-child(2),.settings-section:nth-child(5){grid-column:auto}
}
@media(max-width:1000px){
  .topbar{flex-wrap:wrap;gap:12px}.nav-toggle{display:block;margin-left:auto}.admin-nav{display:none;order:4;width:100%;flex-basis:100%;flex-wrap:wrap}.admin-nav.open{display:flex}.topbar-user{display:none}
  .dashboard-grid,.split,.split-wide,.screen-setup-grid,.stays-top{grid-template-columns:1fr}
  .stats,.quick-grid,.room-grid{grid-template-columns:repeat(2,1fr)}
  .content-editor{position:static;max-height:none}
  .request-card{grid-template-columns:1fr}.request-control-panel{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}
  .filter-bar{grid-template-columns:1fr 1fr}.filter-search{min-width:0}
  .feedback-summary{grid-template-columns:1fr 1fr}.feedback-summary .note-card{grid-column:span 2}
  .kiosk-grid{grid-template-columns:repeat(2,1fr)}.kiosk-hero-copy{max-width:60%}
}
@media(max-width:700px){
  .container{padding:18px}.page-head h1{font-size:25px}.live-indicator{display:none}
  .stats,.stats-six,.quick-grid,.room-grid,.screen-grid{grid-template-columns:1fr 1fr}
  .stat{min-height:110px;padding:15px}.stat strong{font-size:29px}
  .quick-grid-four{grid-template-columns:1fr 1fr}.quick-card{min-height:110px;padding:17px}
  .form-grid,.two-cols,.language-columns{grid-template-columns:1fr}.span-2{grid-column:auto}
  .request-summary-tabs{grid-template-columns:1fr 1fr}.filter-bar{grid-template-columns:1fr}
  .content-row{display:grid;grid-template-columns:85px 1fr}.content-thumb{width:85px;min-width:85px;height:80px}.content-actions{grid-column:1/-1;flex-direction:row;align-items:center}
  .service-toggle-grid{grid-template-columns:1fr 1fr}.feedback-summary{grid-template-columns:1fr}.feedback-summary .note-card{grid-column:auto}
  .pin-created{display:block}.pin-actions{margin-top:15px;flex-wrap:wrap}.pin-created .btn{flex:1}
  .enhanced-pin-card{grid-template-columns:auto 1fr}.enhanced-pin-card .pin-form{grid-column:1/-1;width:100%}.pin-form input{flex:1;width:auto}
  .guest-container{padding:13px}.hero-overlay-content{padding:24px}.hero-overlay-content h1{font-size:29px}.guest-hero{min-height:210px}
  .mobile-content-grid{grid-template-columns:1fr}.mobile-content-card.featured-content{grid-column:auto}.mobile-content-card.featured-content img{height:200px}.compact-content-grid{grid-template-columns:1fr 1fr}.compact-content-grid .featured-content{grid-column:span 2}
  .kiosk-header{height:85px;padding:12px 18px}.kiosk-hotel-brand img{height:55px}.kiosk-hotel-brand h1{font-size:20px}.kiosk-header #clock{display:none}.kiosk-lang{padding:9px 12px}.kiosk-main{padding:18px}.kiosk-hero{display:block;padding:24px}.kiosk-hero-copy{max-width:none}.kiosk-hero h2{font-size:32px}.kiosk-qr{margin-top:20px}.kiosk-grid{grid-template-columns:1fr}.kiosk-card.kiosk-featured{grid-column:auto}.kiosk-modal-card{grid-template-columns:1fr;overflow:auto}.kiosk-modal-media{min-height:250px}.kiosk-modal-content{padding:25px}.attract-content h2{font-size:40px}
}
@media(max-width:460px){
  .stats,.stats-six,.quick-grid,.room-grid,.screen-grid{grid-template-columns:1fr}
  .request-summary-tabs{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:15px;min-height:145px}.service-card strong{font-size:14px}.service-card small{font-size:10px}
  .guest-quick-actions{grid-template-columns:repeat(3,1fr);gap:7px}.guest-quick-action{padding:11px 6px}.guest-quick-action small{max-width:85px}
  .compact-content-grid{grid-template-columns:1fr}.compact-content-grid .featured-content{grid-column:auto}
  .guest-bottom-nav{bottom:8px;width:calc(100% - 16px)}
  .pin-form{display:grid;grid-template-columns:1fr}.pin-form input{width:100%}
  .feedback-card{display:block}.feedback-stars{margin-bottom:10px}
}
.guest-bottom-nav.two-items{grid-template-columns:repeat(2,1fr)}
.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.user-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr;gap:14px}.user-avatar{width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;display:grid;place-items:center;font-size:21px;font-weight:900}.user-card h2{font-size:18px;margin:8px 0 2px}.user-card p{font-size:12px;color:var(--muted);margin:0}.user-card small{color:#89959e;font-size:10px}.user-card details,.user-card>form{grid-column:1/-1}.user-card summary{font-size:12px;font-weight:800;cursor:pointer}@media(max-width:1000px){.user-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.user-grid{grid-template-columns:1fr}}
.page-action-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.page-action-bar .info-strip{margin:0;flex:1}@media(max-width:800px){.page-action-bar{display:block}.page-action-bar .actions{margin-top:10px;flex-wrap:wrap}}

/* GuestScreen 0.4 — Room Service, Bookings & Analytics */
.stats-eight{grid-template-columns:repeat(4,minmax(0,1fr))}
.btn:disabled,.btn[disabled]{opacity:.48;cursor:not-allowed;transform:none;filter:none}
.guest-bottom-nav.five-items{grid-template-columns:repeat(5,1fr);width:min(650px,calc(100% - 24px))}
.guest-bottom-nav.five-items a{font-size:9px}
.guest-bottom-nav.five-items a span{font-size:18px}
.settings-module-toggles{grid-template-columns:repeat(2,minmax(0,240px));margin-bottom:18px}

/* Menu admin */
.menu-admin-layout,.service-admin-layout{align-items:start}
.compact-form{padding:12px;background:#f6f9fb;border-radius:14px;margin-bottom:15px}
.category-admin-list{display:grid;gap:8px}
.category-admin-row{border:1px solid var(--line);border-radius:13px;padding:11px 13px;background:#fff}
.category-admin-row summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.category-admin-row summary strong,.category-admin-row summary small{display:block}.category-admin-row summary small{font-size:10px;color:var(--muted);margin-top:3px}
.category-admin-row form{margin-top:12px}
.menu-admin-items,.service-admin-list{display:grid;gap:12px}
.menu-admin-item,.service-admin-card{display:flex;align-items:center;gap:15px;border:1px solid var(--line);border-radius:15px;padding:13px;background:#fff}
.menu-admin-item.is-unavailable,.service-admin-card.is-unavailable{opacity:.58}
.menu-admin-thumb,.service-admin-image{width:92px;height:82px;border-radius:12px;overflow:hidden;background:#edf4f7;display:grid;place-items:center;flex:0 0 auto}
.menu-admin-thumb img,.service-admin-image img{width:100%;height:100%;object-fit:cover}.menu-admin-thumb span,.service-admin-image span{font-size:32px}
.menu-admin-item h3,.service-admin-card h3{margin:4px 0}.menu-admin-item p,.service-admin-card p{margin:4px 0;color:var(--muted);font-size:11px;line-height:1.4}
.menu-admin-actions{display:grid;justify-items:end;gap:6px;min-width:105px}.menu-admin-actions form{margin:0}
.service-admin-image{width:125px;height:100px}.service-meta{display:flex;gap:10px;flex-wrap:wrap;color:#687a86;font-size:11px;margin:8px 0}.service-meta strong{color:var(--primary)}

/* Orders admin */
.order-tabs{grid-template-columns:repeat(5,1fr)}
.order-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.order-card{background:#fff;border:1px solid var(--line);border-left:5px solid transparent;border-radius:17px;padding:19px;box-shadow:var(--shadow)}
.order-card-head,.guest-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.order-card-head h2,.guest-order-head h2{font-size:16px;margin:5px 0}.order-card-head small{color:var(--muted)}
.order-total{text-align:right;display:grid;gap:10px;justify-items:end}.order-total strong{font-size:23px}
.order-lines{display:grid;margin:15px 0;border-top:1px solid var(--line)}.order-lines>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}.order-lines small{display:block;color:var(--muted);margin-top:3px}
.order-note{background:#fff7db;border:1px solid #f0e0a9;border-radius:10px;padding:10px 12px;font-size:12px;margin:10px 0}
.order-status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:13px}.order-status-actions button{border:1px solid var(--line);background:#f4f7f9;border-radius:8px;padding:8px 5px;font-size:10px;font-weight:800}.order-status-actions button.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.order-status-new{background:#ffe4e1;color:#9c2a20}.order-status-accepted{background:#e5eaff;color:#334fb0}.order-status-preparing{background:#fff0c2;color:#795b00}.order-status-on_the_way{background:#dff2ff;color:#17638f}.order-status-completed{background:#def3e5;color:#196b35}.order-status-cancelled{background:#e8ebee;color:#56616b}

/* Booking admin */
.booking-stats{grid-template-columns:repeat(4,1fr)}.booking-date-card{margin:0;display:grid;align-content:center;min-height:130px}.booking-date-card label{margin:0}
.booking-timeline{display:grid;gap:13px}.booking-admin-card{display:grid;grid-template-columns:85px 1fr 300px;gap:18px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:var(--shadow)}
.booking-time{background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;border-radius:14px;padding:15px;text-align:center}.booking-time strong,.booking-time small{display:block}.booking-time strong{font-size:24px}.booking-time small{color:#d6e6ef;margin-top:4px}
.booking-admin-card h2{margin:8px 0 5px}.booking-admin-card p{margin:0;color:var(--muted);font-size:12px}.booking-admin-controls{display:grid;gap:8px}
.booking-status-new{background:#fff0c2;color:#795b00}.booking-status-confirmed{background:#dff2ff;color:#17638f}.booking-status-completed{background:#def3e5;color:#196b35}.booking-status-cancelled{background:#e8ebee;color:#56616b}

/* Guest menu & cart */
.menu-hero{min-height:220px}.menu-tabs{position:sticky;top:74px;z-index:20;background:#f1f4f6;padding:9px 1px}.menu-tabs a{border:1px solid #dce5ea;background:#fff;border-radius:999px;padding:9px 13px;white-space:nowrap;font-size:11px;font-weight:800;text-decoration:none}
.menu-category-section{scroll-margin-top:125px}.guest-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.guest-menu-item{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 5px 18px rgba(24,50,75,.06)}.guest-menu-item>img,.menu-item-placeholder{width:100%;height:170px;object-fit:cover}.menu-item-placeholder{display:grid;place-items:center;font-size:50px;background:linear-gradient(145deg,#eaf3f7,#fafcfd)}
.guest-menu-copy{padding:16px}.guest-menu-copy h3{margin:0 0 6px;font-size:17px}.guest-menu-copy p{color:var(--muted);font-size:12px;line-height:1.5;min-height:36px}.guest-menu-copy>small{display:block;color:#936c00;font-size:10px;margin-bottom:10px}.menu-item-buy{display:flex;align-items:center;justify-content:space-between;gap:10px}.menu-item-buy strong{font-size:17px;color:var(--primary)}
.guest-cart-card{scroll-margin-top:85px}.cart-lines{display:grid}.cart-line{display:grid;grid-template-columns:1fr 70px auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line input:not(.cart-qty){margin-top:7px;padding:7px;font-size:11px}.cart-qty{text-align:center;padding:8px}.cart-totals{display:grid;gap:7px;background:#f5f8fa;border-radius:13px;padding:14px;margin:14px 0}.cart-totals>div{display:flex;justify-content:space-between}.cart-grand-total{font-size:18px;border-top:1px solid var(--line);padding-top:9px}.checkout-form{margin-top:15px}
.guest-order-list,.guest-booking-list{display:grid;gap:13px}.guest-order-card,.guest-booking-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:0 5px 18px rgba(24,50,75,.06)}.guest-order-total{display:flex;justify-content:space-between;font-size:17px;border-top:1px solid var(--line);padding-top:12px}

/* Guest bookings */
.guest-services-catalog{display:grid;gap:14px}.guest-bookable-card{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.guest-bookable-card.selected-service{border-color:var(--primary);box-shadow:0 0 0 3px rgba(20,108,148,.1)}.guest-bookable-card>img,.booking-service-placeholder{width:100%;height:100%;min-height:180px;object-fit:cover}.booking-service-placeholder{display:grid;place-items:center;font-size:55px;background:linear-gradient(145deg,#eaf3f7,#fafcfd)}.guest-bookable-card>div{padding:19px}.guest-bookable-card h2{margin:5px 0}.guest-bookable-card p{font-size:12px;color:var(--muted);line-height:1.5}.guest-booking-form{scroll-margin-top:80px;margin-top:20px}
.guest-booking-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.booking-date-tile{width:62px;height:62px;border-radius:15px;background:var(--secondary);color:#fff;display:grid;place-items:center;align-content:center}.booking-date-tile strong{font-size:22px}.booking-date-tile span{font-size:9px;color:#c9d8e1}.guest-booking-card h2{margin:4px 0}.guest-booking-card p{margin:0 0 8px;color:var(--muted);font-size:11px}.booking-price{text-align:right;display:grid;gap:7px}

/* Analytics */
.analytics-period{display:flex;justify-content:flex-end;align-items:center;gap:7px;margin-bottom:15px;font-size:12px}.analytics-period a{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:800}.analytics-period a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.stats-seven{grid-template-columns:repeat(7,1fr)}.stats-seven .stat strong{font-size:27px}
.chart-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:10px}.chart-legend span:before{content:"";width:9px;height:9px;border-radius:3px;display:inline-block;margin-right:5px}.legend-sessions:before,.bar-sessions{background:#5b8ff9}.legend-requests:before,.bar-requests{background:#e85d5d}.legend-orders:before,.bar-orders{background:#f6bd16}.legend-bookings:before,.bar-bookings{background:#5ad8a6}
.activity-chart{height:235px;display:flex;align-items:flex-end;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);padding:10px 0}.activity-day{min-width:18px;flex:1;display:grid;justify-items:center;align-content:end;gap:6px;height:210px}.activity-stack{width:min(18px,90%);min-height:4px;border-radius:6px 6px 0 0;overflow:hidden;display:flex;flex-direction:column-reverse;background:#e7edf1}.activity-stack span{min-height:1px}.activity-day small{font-size:8px;color:var(--muted);transform:rotate(-45deg);white-space:nowrap;margin-bottom:-5px}.analytics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rank-list{display:grid}.rank-list>div{display:grid;grid-template-columns:minmax(100px,1fr) 1.3fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.rank-bar{height:8px;border-radius:999px;background:#edf1f4;overflow:hidden}.rank-bar i{display:block;height:100%;background:var(--primary);border-radius:inherit}.simple-rank>div{grid-template-columns:1fr auto}.simple-rank strong{font-size:11px;color:var(--primary)}

@media(max-width:1200px){.order-board{grid-template-columns:1fr}.stats-seven{grid-template-columns:repeat(4,1fr)}.analytics-grid{grid-template-columns:1fr 1fr}.booking-admin-card{grid-template-columns:75px 1fr}.booking-admin-controls{grid-column:1/-1;grid-template-columns:1fr 2fr auto;align-items:end}}
@media(max-width:800px){.stats-eight,.stats-seven,.booking-stats{grid-template-columns:repeat(2,1fr)}.analytics-grid{grid-template-columns:1fr}.guest-bookable-card{grid-template-columns:120px 1fr}.order-tabs{grid-template-columns:repeat(2,1fr)}.settings-module-toggles{grid-template-columns:1fr 1fr}.menu-admin-item,.service-admin-card{align-items:flex-start}.menu-admin-actions{min-width:85px}}
@media(max-width:560px){.guest-bottom-nav.five-items{height:62px;padding:5px}.guest-bottom-nav.five-items a{font-size:8px}.guest-bottom-nav.five-items a span{font-size:16px}.guest-menu-grid{grid-template-columns:1fr}.guest-menu-item{display:grid;grid-template-columns:105px 1fr}.guest-menu-item>img,.menu-item-placeholder{height:100%;min-height:150px}.guest-menu-copy{padding:13px}.cart-line{grid-template-columns:1fr 58px}.cart-line>strong{grid-column:1/-1;text-align:right}.guest-bookable-card{grid-template-columns:1fr}.guest-bookable-card>img,.booking-service-placeholder{height:180px}.guest-booking-card{grid-template-columns:auto 1fr}.booking-price{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.booking-admin-card{grid-template-columns:1fr}.booking-time{display:flex;justify-content:center;gap:8px}.booking-admin-controls{grid-template-columns:1fr}.menu-admin-item,.service-admin-card{display:grid;grid-template-columns:80px 1fr}.menu-admin-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}.service-admin-image{width:80px;height:80px}.stats-seven .stat strong{font-size:23px}}

/* GuestScreen 0.5 — Operations, custom guest services, offers, PWA & emergency */
.admin-split-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.45fr);gap:20px;align-items:start}.sticky-form{position:sticky;top:82px}.grow{min-width:0;flex:1}.muted-card{opacity:.58;filter:grayscale(.12)}.btn-danger{background:#b92727!important;color:#fff!important;border-color:#b92727!important}.danger-stat{border-color:#ed8b8b!important;background:linear-gradient(150deg,#fff,#fff1f0)!important}.danger-stat strong{color:#ad2020!important}

/* Configurable service builder */
.service-builder-list{display:grid;gap:13px}.service-builder-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px;box-shadow:var(--shadow)}.service-builder-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#e7f3f8,#f7fbfd);font-size:29px}.service-builder-card h3{margin:3px 0 5px}.service-builder-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.service-builder-card small{display:block;margin-top:6px;color:#75828b}.vertical-actions{display:grid;justify-items:end;gap:8px}.priority-urgent{border-left:4px solid #c42a2a}.priority-high{border-left:4px solid #e69b20}.priority-normal{border-left:4px solid #4d8eb2}

/* Offers */
.offer-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.offer-admin-card{overflow:hidden;padding:0}.offer-admin-card>img{width:100%;height:180px;object-fit:cover}.offer-admin-card>div{padding:18px}.offer-admin-card h3{font-size:20px;margin:5px 0 8px}.offer-admin-card p{color:var(--muted);font-size:12px;line-height:1.55}.promo-code,.guest-offer-mini code{display:inline-block;border:1px dashed color-mix(in srgb,var(--primary) 55%,#bcc8cf);background:#f1f8fb;color:var(--primary);border-radius:9px;padding:7px 10px;font:800 12px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;margin:5px 0 10px}.guest-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guest-offer-card{overflow:hidden;padding:0}.guest-offer-card>img,.offer-placeholder{width:100%;height:220px;object-fit:cover}.offer-placeholder{display:grid;place-items:center;font-size:72px;font-weight:900;background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff}.guest-offer-card>div{padding:20px}.guest-offer-card h2{font-size:23px;margin:4px 0 9px}.guest-offer-card p{color:var(--muted);line-height:1.6}.featured-offer{grid-column:span 2;display:grid;grid-template-columns:1.05fr 1fr}.featured-offer>img,.featured-offer>.offer-placeholder{height:100%;min-height:320px}.promo-copy{width:100%;border:1px dashed var(--primary);background:#f0f8fb;border-radius:12px;padding:11px 13px;display:flex;align-items:center;gap:9px;color:var(--primary);cursor:pointer;margin:12px 0}.promo-copy small{margin-right:auto}.promo-copy strong{font:900 16px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.offer-expiry{display:block;margin-top:10px;color:var(--muted)}.guest-offers-preview{margin:22px 0}.guest-offer-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.guest-offer-mini{display:grid;grid-template-columns:90px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 7px 22px rgba(22,54,75,.06)}.guest-offer-mini img{width:90px;height:100%;min-height:105px;object-fit:cover;border-radius:11px}.guest-offer-mini h3{font-size:15px;margin:3px 0}.guest-offer-mini p{font-size:11px;color:var(--muted);line-height:1.4;margin:0 0 4px}

/* Operations Center */
.operations-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px}.operations-toolbar h2{margin:4px 0}.operations-toolbar p{margin:0;color:var(--muted)}.operations-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.operations-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.operation-lane{padding:0;overflow:hidden}.operation-lane .card-head{padding:18px 18px 12px;margin:0}.operation-item{display:flex;align-items:center;gap:11px;padding:12px 16px;border-top:1px solid var(--line);text-decoration:none;color:inherit;transition:.15s background,.15s transform}.operation-item:hover{background:#f5f9fb;transform:translateX(2px)}.operation-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#edf5f8;font-size:19px;flex:0 0 auto}.operation-item strong,.operation-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-item strong{font-size:12px}.operation-item small{font-size:10px;color:var(--muted);margin-top:4px}.sla-chip{border-radius:999px;background:#e9f3f7;color:#236481;padding:6px 8px;font-size:9px;font-weight:900;white-space:nowrap}.sla-overdue{background:#fff3f2!important}.sla-overdue .sla-chip{background:#bd2525;color:#fff}.notifications-panel{margin-top:18px}.notification-list{display:grid}.notification-item{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.notification-item:first-child{border-top:0}.notification-item.is-read{opacity:.52}.notification-dot{width:10px;height:10px;border-radius:50%;background:#4b97bd;box-shadow:0 0 0 5px #e8f3f7}.notification-item.priority-urgent .notification-dot{background:#c22b2b;box-shadow:0 0 0 5px #ffe8e6}.notification-item.priority-high .notification-dot{background:#e39822;box-shadow:0 0 0 5px #fff1d8}.notification-item p{margin:3px 0;color:var(--muted);font-size:11px}.notification-item small{font-size:9px;color:#8b979f}

/* Emergency controls and guest banner */
.emergency-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.75fr);gap:20px;align-items:start}.emergency-admin-live{display:flex;align-items:center;gap:16px;border-radius:17px;padding:16px 20px;margin-bottom:18px;color:#fff;box-shadow:0 12px 30px rgba(122,24,24,.22)}.emergency-admin-live>span{width:48px;height:48px;border:3px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:900}.emergency-admin-live div{flex:1}.emergency-admin-live p{margin:3px 0 0}.emergency-info{background:#216e9b}.emergency-warning{background:#c27b12}.emergency-critical{background:#a51e1e}.emergency-master-toggle{display:flex;gap:12px;align-items:flex-start;border:2px solid #e9b9b7;background:#fff6f5;border-radius:14px;padding:14px}.emergency-master-toggle input{width:23px;height:23px;margin-top:1px}.emergency-master-toggle strong,.emergency-master-toggle small{display:block}.emergency-master-toggle small{color:var(--muted);margin-top:3px}.emergency-preview{position:sticky;top:82px;min-height:390px;display:grid;place-items:center;align-content:center;text-align:center;color:#fff;border:0}.emergency-preview h2{font-size:28px}.emergency-preview p{line-height:1.7}.emergency-preview small{margin-top:22px;color:rgba(255,255,255,.7)}.emergency-preview-icon{width:76px;height:76px;border-radius:50%;border:4px solid rgba(255,255,255,.8);display:grid;place-items:center;font-size:48px;font-weight:900;margin:18px}.guest-emergency{margin:-2px 0 14px;border-radius:15px;padding:14px 15px;display:flex;gap:12px;align-items:center;color:#fff;box-shadow:0 9px 25px rgba(100,25,25,.2)}.guest-emergency-icon{width:38px;height:38px;border:2px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:900;flex:0 0 auto}.guest-emergency h2{font-size:16px;margin:0 0 3px}.guest-emergency p{margin:0;font-size:11px;line-height:1.4}.guest-emergency a{margin-left:auto;white-space:nowrap;background:#fff;color:#252525}.pwa-install-button{position:fixed;right:18px;bottom:90px;z-index:110;border:0;border-radius:999px;padding:11px 15px;background:#142f42;color:#fff;box-shadow:0 10px 28px rgba(15,38,55,.25);font-weight:800;cursor:pointer}.offline-page{min-height:100vh;display:grid;place-items:center}.offline-page .card{text-align:center;max-width:430px}.offline-icon{font-size:68px;margin-bottom:10px}

/* Exports & audit */
.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.export-card{display:grid;align-content:start;gap:10px}.export-card h2{margin:0}.export-card p{color:var(--muted);font-size:12px;min-height:52px}.export-card .btn{margin-top:auto}.audit-action{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}

/* Signage zones, modes and emergency takeover */
.kiosk-zone,.kiosk-device-label{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 11px;font-size:10px;color:#d5e4ec}.layout-slideshow .category-tabs{display:none}.layout-slideshow .kiosk-grid{display:block;position:relative;min-height:440px}.layout-slideshow .kiosk-card{display:none;max-width:1080px;margin:0 auto;grid-template-columns:1.1fr 1fr;min-height:420px}.layout-slideshow .kiosk-card.slideshow-active{display:grid;animation:kioskSlideIn .55s ease both}.layout-slideshow .kiosk-card>img{height:100%;min-height:420px}.layout-slideshow .kiosk-card>div{padding:34px}.layout-slideshow .kiosk-card h3{font-size:34px}.orientation-portrait .kiosk-main{max-width:1050px;margin:auto}.orientation-portrait .kiosk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orientation-portrait .kiosk-hero{grid-template-columns:1fr}.orientation-portrait .kiosk-qr{justify-self:start}.kiosk-emergency{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:6vh 6vw;color:#fff;text-align:center;animation:emergencyFade .35s ease both}.kiosk-emergency.emergency-info{background:radial-gradient(circle at center,#2b8abd,#0c4161 70%)}.kiosk-emergency.emergency-warning{background:radial-gradient(circle at center,#e5a12d,#7e4205 72%)}.kiosk-emergency.emergency-critical{background:radial-gradient(circle at center,#d43838,#650707 72%)}.kiosk-emergency-inner{max-width:1100px;display:grid;justify-items:center}.kiosk-emergency-symbol{width:120px;height:120px;border:7px solid rgba(255,255,255,.9);border-radius:50%;display:grid;place-items:center;font-size:80px;font-weight:900;animation:emergencyPulse 1.4s infinite}.kiosk-emergency h1{font-size:clamp(46px,7vw,100px);line-height:1.02;margin:22px 0}.kiosk-emergency p{font-size:clamp(22px,2.4vw,38px);line-height:1.45;max-width:1000px}.kiosk-emergency .btn{background:#fff;color:#1d2730;font-size:22px;padding:17px 27px}.kiosk-emergency-qr{margin-top:20px;background:#fff;border-radius:15px;padding:10px;min-height:0}.kiosk-offer-card{border-color:color-mix(in srgb,var(--primary) 35%,#d9e2e7)}
@keyframes emergencyPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.28)}50%{transform:scale(1.06);box-shadow:0 0 0 25px rgba(255,255,255,0)}}@keyframes emergencyFade{from{opacity:0}to{opacity:1}}@keyframes kioskSlideIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}

@media(max-width:1250px){.operations-columns{grid-template-columns:1fr 1fr}.operations-columns .operation-lane:last-child{grid-column:1/-1}.export-grid{grid-template-columns:repeat(2,1fr)}.guest-offer-strip{grid-template-columns:1fr 1fr}.admin-split-layout{grid-template-columns:1fr}.sticky-form{position:static}}
@media(max-width:900px){.operations-toolbar{display:block}.operations-toolbar .actions{margin-top:14px}.operations-kpis{grid-template-columns:1fr 1fr}.emergency-layout{grid-template-columns:1fr}.emergency-preview{position:static;min-height:300px}.offer-admin-grid,.guest-offer-grid{grid-template-columns:1fr}.featured-offer{grid-column:auto;display:block}.featured-offer>img,.featured-offer>.offer-placeholder{height:240px;min-height:0}.guest-offer-strip{grid-template-columns:1fr}.export-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.operations-columns{grid-template-columns:1fr}.operations-columns .operation-lane:last-child{grid-column:auto}.operations-kpis{grid-template-columns:1fr 1fr}.service-builder-card{grid-template-columns:50px 1fr}.service-builder-icon{width:48px;height:48px}.vertical-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.guest-emergency{align-items:flex-start}.guest-emergency a{display:none}.export-grid{grid-template-columns:1fr}.guest-offer-mini{grid-template-columns:74px 1fr}.guest-offer-mini img{width:74px}.pwa-install-button{right:10px;bottom:78px}.kiosk-zone{display:none}.orientation-portrait .kiosk-grid{grid-template-columns:1fr}}
.home-offers-section{margin:24px 0}.home-offer-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-offer-card{min-height:145px;border-radius:17px;overflow:hidden;position:relative;display:flex;align-items:flex-end;padding:16px;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--secondary),var(--primary));box-shadow:0 9px 25px rgba(20,53,72,.13)}.home-offer-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,22,33,.9),rgba(5,22,33,.1)),var(--offer-image,none) center/cover no-repeat}.home-offer-card>span{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--primary);font-weight:900;z-index:1}.home-offer-card>div{position:relative;z-index:1}.home-offer-card strong,.home-offer-card small{display:block}.home-offer-card strong{font-size:16px;line-height:1.2}.home-offer-card small{margin-top:6px;border:1px dashed rgba(255,255,255,.6);border-radius:7px;padding:4px 7px;width:max-content;font:800 10px ui-monospace,SFMono-Regular,Consolas,monospace}.smart-service-grid .service-card small{line-height:1.35}.smart-service-grid .service-card-featured{background:linear-gradient(145deg,var(--secondary),var(--primary));color:#fff;border-color:transparent}.smart-service-grid .service-card-featured small{color:rgba(255,255,255,.75)}
@media(max-width:520px){.home-offer-strip{grid-template-columns:1fr}.home-offer-card{min-height:125px}}

/* GuestScreen v0.6 themes, printers, push and backup center */
.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.theme-option{display:flex;flex-direction:column;gap:8px;padding:14px;border:2px solid transparent;border-radius:20px;background:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(15,36,53,.08)}.theme-option.selected,.theme-option:has(input:checked){border-color:var(--theme-accent)}.theme-option input{position:absolute;opacity:0}.theme-preview{height:120px;border-radius:15px;background:var(--theme-bg);padding:15px;display:grid;grid-template-columns:1fr .7fr;gap:10px;overflow:hidden}.theme-preview i{grid-row:1/3;border-radius:12px;background:var(--theme-accent);opacity:.9}.theme-preview b,.theme-preview em{display:block;border-radius:9px;background:color-mix(in srgb,var(--theme-accent) 35%,white)}.theme-option small{color:#64748b;line-height:1.45}.layout-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.layout-choice-grid label{padding:18px;border:1px solid #dbe4ec;border-radius:16px;display:flex;gap:12px;cursor:pointer}.layout-choice-grid label:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 18%,transparent)}.layout-choice-grid span{display:flex;flex-direction:column;gap:4px}.layout-choice-grid small{color:#64748b}.printer-page-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px;margin-bottom:20px}.printer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin:20px 0}.printer-card.is-disabled{opacity:.65}.printer-address{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0}.printer-address code{font-size:1.05rem}.compact-alert{margin:12px 0}.compact-alert small{display:block}.print-status-printed{background:#dcfce7;color:#166534}.print-status-pending,.print-status-processing{background:#fef3c7;color:#92400e}.print-status-failed{background:#fee2e2;color:#991b1b}.error-cell{max-width:320px;white-space:normal}.push-hero{display:flex;justify-content:space-between;gap:30px;align-items:center}.push-hero>div:first-child{max-width:750px}.push-state{min-width:290px;padding:18px;border-radius:18px;background:#f1f5f9;display:grid;grid-template-columns:auto 1fr;column-gap:10px}.push-state span{grid-row:1/3;color:#94a3b8}.push-state small{grid-column:2;color:#64748b}.push-state.is-ready{background:#ecfdf5}.push-state.is-ready span{color:#10b981}.push-actions{margin:18px 0}.truncate-cell{display:block;max-width:440px}.theme-luxury{--guest-surface:#171717;--guest-text:#f5efe3;--guest-muted:#b9ad98;background:#0c0c0c;color:var(--guest-text)}.theme-luxury .guest-top,.theme-luxury .guest-bottom-nav,.theme-luxury .card,.theme-luxury .guest-service-card{background:#171717;color:#f5efe3;border-color:#332d24}.theme-luxury .guest-container p,.theme-luxury small{color:#b9ad98}.theme-dark{--guest-surface:#101c29;--guest-text:#edf6ff;--guest-muted:#a9bed1;background:#09111b;color:var(--guest-text)}.theme-dark .guest-top,.theme-dark .guest-bottom-nav,.theme-dark .card,.theme-dark .guest-service-card{background:#101c29;color:#edf6ff;border-color:#26394b}.theme-beach{background:linear-gradient(180deg,#e7f9ff,#fff)}.theme-family{background:linear-gradient(180deg,#fff4dc,#fff)}.theme-minimal .guest-service-card,.theme-minimal .card{box-shadow:none;border:1px solid #e5e7eb}.theme-corporate .guest-service-card,.theme-corporate .card{border-radius:10px}.guest-layout-immersive .guest-hero{min-height:420px}.guest-layout-immersive .guest-service-grid{margin-top:-50px;position:relative;z-index:2}.guest-layout-classic .guest-service-grid{grid-template-columns:1fr}.guest-layout-classic .guest-service-card{display:grid;grid-template-columns:auto 1fr;align-items:center}.kiosk-body.kiosk-theme-luxury{background:#090909;color:#f7f0df}.kiosk-body.kiosk-theme-luxury .kiosk-header,.kiosk-body.kiosk-theme-luxury .kiosk-card{background:#171717;color:#f7f0df;border-color:#3a3022}.kiosk-body.kiosk-theme-dark{background:#07111d;color:#eef7ff}.kiosk-body.kiosk-theme-dark .kiosk-header,.kiosk-body.kiosk-theme-dark .kiosk-card{background:#102031;color:#eef7ff}.kiosk-body.kiosk-theme-beach{background:linear-gradient(145deg,#dff8ff,#f7fdff)}.kiosk-body.kiosk-theme-family{background:linear-gradient(145deg,#fff2cf,#fff)}
@media(max-width:800px){.layout-choice-grid,.printer-page-grid{grid-template-columns:1fr}.push-hero{align-items:flex-start;flex-direction:column}.push-state{min-width:0;width:100%}}
.playlist-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.playlist-sidebar{align-self:start;position:sticky;top:90px}.playlist-link{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;color:inherit;text-decoration:none}.playlist-link.active{background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary)}.playlist-link small{color:#64748b}.playlist-main{display:grid;gap:20px}.weekday-picker{display:flex;gap:8px;flex-wrap:wrap;border:0;padding:0}.weekday-picker label input{position:absolute;opacity:0}.weekday-picker label span{display:block;padding:8px 12px;border:1px solid #dbe4ec;border-radius:10px}.weekday-picker label:has(input:checked) span{background:var(--primary);color:#fff}.playlist-items{display:grid;gap:10px}.playlist-item{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;padding:14px;border:1px solid #e2e8f0;border-radius:14px}.playlist-item.is-disabled{opacity:.55}.playlist-order{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#f1f5f9;font-weight:800}.playlist-item-actions{display:flex;gap:4px}.playlist-item-actions button{border:0;background:#f1f5f9;border-radius:8px;padding:8px;cursor:pointer}@media(max-width:900px){.playlist-layout{grid-template-columns:1fr}.playlist-sidebar{position:static}}
.offline-ready{padding:7px 10px;border-radius:999px;background:#dcfce7;color:#166534;font-size:.78rem;font-weight:800}.kiosk-body.is-offline .offline-ready{background:#fef3c7;color:#92400e}.kiosk-body.is-offline .offline-ready::after{content:' · OFFLINE'}
.backup-hero{display:flex;justify-content:space-between;align-items:center;gap:24px}.backup-actions form{display:flex;gap:10px;flex-wrap:wrap}.backup-list{display:grid;gap:10px}.backup-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px;border:1px solid #e2e8f0;border-radius:14px}.backup-icon{display:grid;place-items:center;width:52px;height:52px;background:#0f2435;color:#fff;border-radius:13px;font-weight:900}.backup-row>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.backup-row small{color:#64748b}.backup-row code{font-size:.72rem;word-break:break-all}.backup-row-actions{display:flex;gap:8px;align-items:center}.backup-row-actions details{position:relative}.restore-form{position:absolute;right:0;top:44px;z-index:10;width:280px;padding:16px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 18px 50px rgba(15,23,42,.18)}@media(max-width:900px){.backup-hero{align-items:flex-start;flex-direction:column}.backup-row{grid-template-columns:52px 1fr}.backup-row>.badge,.backup-row-actions{grid-column:2}.backup-row-actions{flex-wrap:wrap}}
.agent-token-box code{display:block;margin:10px 0;padding:12px;background:#0f172a;color:#fff;border-radius:10px;word-break:break-all}.agent-token-box small{display:block}

/* GuestScreen v0.6.1 — complete, visibly distinct themes */
.guest-body.theme-boutique{--theme-page:#f7efe9;--theme-surface:#fffaf6;--theme-text:#392a25;--theme-muted:#806c62;--theme-border:#ead8cc;--theme-radius:24px;--theme-shadow:0 14px 34px rgba(98,65,48,.12);background:linear-gradient(180deg,#f4e8df 0,#fbf7f3 52%,#f7efe9 100%);color:var(--theme-text)}
.guest-body.theme-resort{--theme-page:#eaf8f7;--theme-surface:#ffffff;--theme-text:#153d42;--theme-muted:#5d7f82;--theme-border:#cce8e7;--theme-radius:22px;--theme-shadow:0 15px 34px rgba(26,111,119,.12);background:linear-gradient(180deg,#dff5f4 0,#f5fcfb 48%,#eaf8f7 100%);color:var(--theme-text)}
.guest-body.theme-minimal{--theme-page:#ffffff;--theme-surface:#ffffff;--theme-text:#121820;--theme-muted:#68717d;--theme-border:#e4e7eb;--theme-radius:8px;--theme-shadow:none;background:#fff;color:var(--theme-text)}
.guest-body.theme-beach{--theme-page:#e7f9ff;--theme-surface:#ffffff;--theme-text:#123b50;--theme-muted:#5e8293;--theme-border:#caeaf4;--theme-radius:26px;--theme-shadow:0 14px 34px rgba(0,117,154,.12);background:linear-gradient(180deg,#dff7ff 0,#fffdf7 64%,#eafaff 100%);color:var(--theme-text)}
.guest-body.theme-family{--theme-page:#fff4dc;--theme-surface:#fffdfa;--theme-text:#543627;--theme-muted:#8a6a55;--theme-border:#f2ddae;--theme-radius:28px;--theme-shadow:0 14px 30px rgba(176,111,46,.13);background:linear-gradient(180deg,#ffedc8 0,#fffaf0 55%,#fff4dc 100%);color:var(--theme-text)}
.guest-body.theme-corporate{--theme-page:#edf2f6;--theme-surface:#ffffff;--theme-text:#203444;--theme-muted:#647887;--theme-border:#d6e0e7;--theme-radius:10px;--theme-shadow:0 9px 22px rgba(32,57,76,.09);background:#edf2f6;color:var(--theme-text)}
.guest-body.theme-luxury{--theme-page:#0c0c0c;--theme-surface:#171717;--theme-text:#f5efe3;--theme-muted:#b9ad98;--theme-border:#3c3328;--theme-radius:18px;--theme-shadow:0 18px 42px rgba(0,0,0,.36);background:radial-gradient(circle at top,#242018 0,#0c0c0c 47%);color:var(--theme-text)}
.guest-body.theme-dark{--theme-page:#09111b;--theme-surface:#101c29;--theme-text:#edf6ff;--theme-muted:#a9bed1;--theme-border:#2b4052;--theme-radius:18px;--theme-shadow:0 16px 38px rgba(0,0,0,.3);background:linear-gradient(180deg,#0c1825,#09111b);color:var(--theme-text)}

.guest-body.theme-boutique .guest-top,.guest-body.theme-resort .guest-top,.guest-body.theme-minimal .guest-top,.guest-body.theme-beach .guest-top,.guest-body.theme-family .guest-top,.guest-body.theme-corporate .guest-top,.guest-body.theme-luxury .guest-top,.guest-body.theme-dark .guest-top,
.guest-body.theme-boutique .guest-bottom-nav,.guest-body.theme-resort .guest-bottom-nav,.guest-body.theme-minimal .guest-bottom-nav,.guest-body.theme-beach .guest-bottom-nav,.guest-body.theme-family .guest-bottom-nav,.guest-body.theme-corporate .guest-bottom-nav,.guest-body.theme-luxury .guest-bottom-nav,.guest-body.theme-dark .guest-bottom-nav,
.guest-body.theme-boutique .card,.guest-body.theme-resort .card,.guest-body.theme-minimal .card,.guest-body.theme-beach .card,.guest-body.theme-family .card,.guest-body.theme-corporate .card,.guest-body.theme-luxury .card,.guest-body.theme-dark .card,
.guest-body.theme-boutique .note-card,.guest-body.theme-resort .note-card,.guest-body.theme-minimal .note-card,.guest-body.theme-beach .note-card,.guest-body.theme-family .note-card,.guest-body.theme-corporate .note-card,.guest-body.theme-luxury .note-card,.guest-body.theme-dark .note-card,
.guest-body.theme-boutique .pin-card,.guest-body.theme-resort .pin-card,.guest-body.theme-minimal .pin-card,.guest-body.theme-beach .pin-card,.guest-body.theme-family .pin-card,.guest-body.theme-corporate .pin-card,.guest-body.theme-luxury .pin-card,.guest-body.theme-dark .pin-card,
.guest-body.theme-boutique .guest-service-card,.guest-body.theme-resort .guest-service-card,.guest-body.theme-minimal .guest-service-card,.guest-body.theme-beach .guest-service-card,.guest-body.theme-family .guest-service-card,.guest-body.theme-corporate .guest-service-card,.guest-body.theme-luxury .guest-service-card,.guest-body.theme-dark .guest-service-card,
.guest-body.theme-boutique .service-card,.guest-body.theme-resort .service-card,.guest-body.theme-minimal .service-card,.guest-body.theme-beach .service-card,.guest-body.theme-family .service-card,.guest-body.theme-corporate .service-card,.guest-body.theme-luxury .service-card,.guest-body.theme-dark .service-card{
 background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border);border-radius:var(--theme-radius);box-shadow:var(--theme-shadow)
}
.guest-body.theme-boutique .guest-container p,.guest-body.theme-resort .guest-container p,.guest-body.theme-minimal .guest-container p,.guest-body.theme-beach .guest-container p,.guest-body.theme-family .guest-container p,.guest-body.theme-corporate .guest-container p,.guest-body.theme-luxury .guest-container p,.guest-body.theme-dark .guest-container p,
.guest-body.theme-boutique .guest-container small,.guest-body.theme-resort .guest-container small,.guest-body.theme-minimal .guest-container small,.guest-body.theme-beach .guest-container small,.guest-body.theme-family .guest-container small,.guest-body.theme-corporate .guest-container small,.guest-body.theme-luxury .guest-container small,.guest-body.theme-dark .guest-container small{color:var(--theme-muted)}
.guest-body.theme-boutique .guest-brand strong,.guest-body.theme-resort .guest-brand strong,.guest-body.theme-minimal .guest-brand strong,.guest-body.theme-beach .guest-brand strong,.guest-body.theme-family .guest-brand strong,.guest-body.theme-corporate .guest-brand strong,.guest-body.theme-luxury .guest-brand strong,.guest-body.theme-dark .guest-brand strong{color:var(--theme-text)}
.guest-body.theme-luxury input,.guest-body.theme-luxury select,.guest-body.theme-luxury textarea,.guest-body.theme-dark input,.guest-body.theme-dark select,.guest-body.theme-dark textarea{background:#0c1520;color:var(--theme-text);border-color:var(--theme-border)}
.guest-body.theme-luxury .lang-switch,.guest-body.theme-dark .lang-switch{border-color:var(--theme-border);color:var(--theme-text)}
.guest-body.theme-minimal .guest-hero{border-radius:0;box-shadow:none}.guest-body.theme-minimal .guest-container{max-width:900px}.guest-body.theme-minimal .guest-bottom-nav{border-radius:8px}
.guest-body.theme-family .guest-service-card,.guest-body.theme-family .service-card{transform:rotate(-.15deg)}
.guest-body.theme-corporate .guest-hero,.guest-body.theme-corporate .guest-bottom-nav{border-radius:10px}
.guest-body.theme-luxury .guest-hero{box-shadow:0 20px 60px rgba(0,0,0,.5)}
.guest-body.theme-resort .guest-hero,.guest-body.theme-beach .guest-hero{box-shadow:0 18px 44px rgba(0,121,150,.17)}

.kiosk-body.kiosk-theme-boutique{--k-theme-bg:#f4ebe4;--k-theme-surface:#fffaf6;--k-theme-text:#382923;--k-theme-muted:#826e63;--k-theme-border:#ead7ca;background:linear-gradient(145deg,#f0e2d8,#fbf8f5);color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-resort{--k-theme-bg:#e4f6f5;--k-theme-surface:#fff;--k-theme-text:#153f43;--k-theme-muted:#628184;--k-theme-border:#c8e6e4;background:linear-gradient(145deg,#d9f2f0,#f6fcfb);color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-minimal{--k-theme-bg:#fff;--k-theme-surface:#fff;--k-theme-text:#121820;--k-theme-muted:#65707c;--k-theme-border:#e1e5e9;background:#fff;color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-beach{--k-theme-bg:#dff8ff;--k-theme-surface:#fff;--k-theme-text:#123d52;--k-theme-muted:#608596;--k-theme-border:#c6e9f3;background:linear-gradient(145deg,#d9f6ff,#fffdf4);color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-family{--k-theme-bg:#fff2cf;--k-theme-surface:#fffdfa;--k-theme-text:#543727;--k-theme-muted:#8b6c56;--k-theme-border:#f0dba9;background:linear-gradient(145deg,#ffe9ba,#fff9ea);color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-corporate{--k-theme-bg:#eaf0f4;--k-theme-surface:#fff;--k-theme-text:#203646;--k-theme-muted:#647988;--k-theme-border:#d3dee6;background:#eaf0f4;color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-luxury{--k-theme-bg:#090909;--k-theme-surface:#171717;--k-theme-text:#f7f0df;--k-theme-muted:#b9ad96;--k-theme-border:#3d3325;background:radial-gradient(circle at top,#272116,#090909 55%);color:var(--k-theme-text)}
.kiosk-body.kiosk-theme-dark{--k-theme-bg:#07111d;--k-theme-surface:#102031;--k-theme-text:#eef7ff;--k-theme-muted:#a8bfd3;--k-theme-border:#2b4258;background:linear-gradient(145deg,#0c1a29,#07111d);color:var(--k-theme-text)}

.kiosk-body.kiosk-theme-boutique .kiosk-header,.kiosk-body.kiosk-theme-resort .kiosk-header,.kiosk-body.kiosk-theme-minimal .kiosk-header,.kiosk-body.kiosk-theme-beach .kiosk-header,.kiosk-body.kiosk-theme-family .kiosk-header,.kiosk-body.kiosk-theme-corporate .kiosk-header,.kiosk-body.kiosk-theme-luxury .kiosk-header,.kiosk-body.kiosk-theme-dark .kiosk-header,
.kiosk-body.kiosk-theme-boutique .kiosk-card,.kiosk-body.kiosk-theme-resort .kiosk-card,.kiosk-body.kiosk-theme-minimal .kiosk-card,.kiosk-body.kiosk-theme-beach .kiosk-card,.kiosk-body.kiosk-theme-family .kiosk-card,.kiosk-body.kiosk-theme-corporate .kiosk-card,.kiosk-body.kiosk-theme-luxury .kiosk-card,.kiosk-body.kiosk-theme-dark .kiosk-card,
.kiosk-body.kiosk-theme-boutique .category-tabs button,.kiosk-body.kiosk-theme-resort .category-tabs button,.kiosk-body.kiosk-theme-minimal .category-tabs button,.kiosk-body.kiosk-theme-beach .category-tabs button,.kiosk-body.kiosk-theme-family .category-tabs button,.kiosk-body.kiosk-theme-corporate .category-tabs button,.kiosk-body.kiosk-theme-luxury .category-tabs button,.kiosk-body.kiosk-theme-dark .category-tabs button{
 background:var(--k-theme-surface);color:var(--k-theme-text);border-color:var(--k-theme-border)
}
.kiosk-body.kiosk-theme-boutique .kiosk-card p,.kiosk-body.kiosk-theme-resort .kiosk-card p,.kiosk-body.kiosk-theme-minimal .kiosk-card p,.kiosk-body.kiosk-theme-beach .kiosk-card p,.kiosk-body.kiosk-theme-family .kiosk-card p,.kiosk-body.kiosk-theme-corporate .kiosk-card p,.kiosk-body.kiosk-theme-luxury .kiosk-card p,.kiosk-body.kiosk-theme-dark .kiosk-card p,
.kiosk-body.kiosk-theme-boutique .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-resort .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-minimal .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-beach .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-family .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-corporate .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-luxury .kiosk-hotel-brand span,.kiosk-body.kiosk-theme-dark .kiosk-hotel-brand span{color:var(--k-theme-muted)}
.kiosk-body.kiosk-theme-minimal .kiosk-card,.kiosk-body.kiosk-theme-minimal .kiosk-hero{border-radius:0;box-shadow:none}.kiosk-body.kiosk-theme-corporate .kiosk-card,.kiosk-body.kiosk-theme-corporate .kiosk-hero{border-radius:10px}.kiosk-body.kiosk-theme-family .kiosk-card{border-radius:30px}.kiosk-body.kiosk-theme-beach .kiosk-card,.kiosk-body.kiosk-theme-resort .kiosk-card{box-shadow:0 15px 35px rgba(0,118,145,.12)}
.push-diagnostics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 18px}.push-diagnostics>div{display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.push-diagnostics .badge{width:max-content}.push-diagnostics small{color:var(--muted);line-height:1.4}.badge-success{background:#dcfce7;color:#166534}.badge-muted{background:#e8edf1;color:#53616b}.compact-alert code{display:block;margin-top:9px;padding:10px 12px;border-radius:9px;background:#0f172a;color:#e2e8f0;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:900px){.push-diagnostics{grid-template-columns:1fr 1fr}}@media(max-width:560px){.push-diagnostics{grid-template-columns:1fr}}

/* v0.6.3 print routing */
.print-routing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.inline-fields input{min-width:0}
@media(max-width:760px){.print-routing-grid{grid-template-columns:1fr}}

/* GuestScreen v0.7 — Guest Conversations & Confirmations */
.conversation-page{display:grid;gap:16px}.conversation-subject{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}.conversation-subject h1,.conversation-subject h2{margin:4px 0 6px}.conversation-subject p{margin:4px 0;color:var(--muted)}.conversation-subject .subject-description{max-width:820px;color:var(--text);line-height:1.55}.conversation-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:18px;align-items:start}.conversation-panel{padding:0;overflow:hidden}.conversation-timeline{display:grid;gap:12px;padding:20px;min-height:360px;max-height:66vh;overflow:auto;background:linear-gradient(180deg,#f6fafc,#eef5f8)}.conversation-message{max-width:82%;padding:12px 14px;border-radius:16px;background:#fff;border:1px solid #dce8ee;box-shadow:0 5px 14px rgba(31,64,82,.06)}.conversation-message.sender-staff{margin-left:auto;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 75%,#0b3148));color:#fff;border-color:transparent}.conversation-message.sender-system{margin-inline:auto;max-width:92%;background:#edf2f5;color:#556570;text-align:center;box-shadow:none}.conversation-message.is-offer{width:min(640px,92%);max-width:92%;background:#fff;color:var(--text);border:2px solid color-mix(in srgb,var(--primary) 40%,#dbe6eb)}.message-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px;font-size:10px}.message-meta span{opacity:.7}.conversation-message p{margin:0;line-height:1.55;white-space:normal}.conversation-attachment{display:grid;gap:6px;margin-top:10px;text-decoration:none;color:inherit}.conversation-attachment img{display:block;width:min(320px,100%);max-height:300px;object-fit:cover;border-radius:12px;border:1px solid rgba(0,0,0,.08)}.conversation-attachment span{font-size:10px;font-weight:800}.conversation-composer{padding:16px;border-top:1px solid var(--line);background:#fff;display:grid;gap:11px}.conversation-composer textarea{resize:vertical}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.file-button{position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px dashed #9fb7c3;border-radius:10px;background:#f5fafc;font-weight:800;cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.conversation-side{display:grid;gap:15px}.conversation-side>.card{padding:18px}.conversation-offer{display:grid;gap:9px}.conversation-offer h3{margin:0;font-size:18px}.conversation-offer p{color:inherit}.offer-facts{display:flex;flex-wrap:wrap;gap:8px}.offer-facts span{padding:7px 9px;border-radius:10px;background:#edf5f8;font-size:11px;font-weight:800;color:#1d5068}.offer-status-accepted{background:#dcfce7;color:#166534}.offer-status-rejected,.offer-status-cancelled{background:#fee2e2;color:#991b1b}.offer-status-pending{background:#fef3c7;color:#92400e}.offer-status-expired{background:#e5e7eb;color:#4b5563}.offer-response-actions form{display:flex;gap:8px;flex-wrap:wrap}.offer-response-actions .btn{flex:1}.guest-chat-card{overflow:hidden}.guest-conversation-page{display:grid;gap:13px}.guest-subject{align-items:flex-start}.guest-composer{position:sticky;bottom:68px;z-index:5;box-shadow:0 -10px 25px rgba(28,57,73,.08)}.guest-body .conversation-timeline{max-height:none;min-height:280px;padding:14px;background:linear-gradient(180deg,#f4f8fa,#edf4f7)}.guest-body .conversation-message{max-width:88%}.guest-body .conversation-message.sender-guest{margin-left:auto;background:var(--primary);color:#fff;border-color:transparent}.guest-body .conversation-message.sender-staff{margin-left:0;background:#fff;color:var(--text);border-color:#d9e6ec}.conversation-entry{display:inline-flex;align-items:center;justify-content:center;gap:5px}.conversation-entry b,.conversation-button b,.conversation-unread{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:999px;background:#d92b2b;color:#fff;font-size:10px;padding:0 6px}.conversation-button{position:relative}.conversation-button.has-unread{background:#d92b2b;color:#fff;border-color:#d92b2b}.conversation-inbox{display:grid;gap:10px}.conversation-inbox-item{display:flex;align-items:center;gap:13px;padding:14px 16px;text-decoration:none;color:inherit;transition:.15s transform,.15s box-shadow}.conversation-inbox-item:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,64,82,.11)}.conversation-inbox-item.has-unread{border-left:5px solid #d92b2b;background:#fffafa}.inbox-avatar{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#eaf3f7;font-size:21px;flex:0 0 auto}.conversation-inbox-item h3{margin:5px 0 3px}.conversation-inbox-item p{margin:0;color:var(--muted);font-size:11px}.inbox-state{display:grid;justify-items:end;gap:7px}.inbox-state>strong{min-width:25px;height:25px;border-radius:999px;display:grid;place-items:center;background:#d92b2b;color:#fff}.quick-reply-list{display:grid}.quick-reply-list article{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.quick-reply-list article:first-child{border-top:0}.quick-reply-list p{margin:5px 0;color:var(--muted);line-height:1.45}.quick-reply-list small{color:#89959c}.two-column-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:18px;align-items:start}.guest-request{position:relative;text-decoration:none;color:inherit}.guest-request:hover{background:#f6fafc}.guest-request .conversation-unread{margin-left:5px;flex:0 0 auto}.operations-kpis.has-five{grid-template-columns:repeat(5,1fr)}
@media(max-width:1100px){.conversation-layout{grid-template-columns:1fr}.conversation-side{grid-template-columns:1fr 1fr}.two-column-layout{grid-template-columns:1fr}.operations-kpis.has-five{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.conversation-subject{display:grid}.conversation-subject .actions{display:flex;flex-wrap:wrap}.conversation-side{grid-template-columns:1fr}.conversation-timeline{padding:12px;max-height:none}.conversation-message,.conversation-message.is-offer{max-width:94%;width:auto}.composer-actions{align-items:stretch;flex-direction:column}.composer-actions .btn,.file-button{width:100%;justify-content:center}.guest-composer{bottom:64px}.conversation-inbox-item{align-items:flex-start}.inbox-state{margin-left:auto}.operations-kpis.has-five{grid-template-columns:1fr 1fr}}
.message-meta-actions{display:flex;align-items:center;gap:8px}.inline-form{display:inline-flex;margin:0}.mini-icon-button{border:0;background:transparent;cursor:pointer;padding:2px 4px;border-radius:6px;font-size:15px}.mini-icon-button:hover{background:rgba(15,23,42,.08)}
.admin-nav a{position:relative}.nav-unread-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin-left:5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;line-height:1}
.guest-top-actions{display:flex;align-items:center;gap:8px}.guest-push-button{width:38px;height:38px;border:1px solid rgba(15,35,52,.12);border-radius:999px;background:rgba(255,255,255,.92);cursor:pointer;font-size:17px;box-shadow:0 5px 16px rgba(15,35,52,.08)}.guest-push-button.is-active{background:#dcfce7;border-color:#86efac}.guest-push-button:disabled{opacity:.55;cursor:wait}

/* GuestScreen v0.8 — Unified responsive UX/UI */
:root{
  --admin-sidebar:#102b3d;
  --admin-sidebar-soft:#173c54;
  --admin-accent:#28a6d6;
  --admin-content-max:1540px;
  --touch-size:44px;
}
body{overflow-x:hidden}

/* Admin workspace */
.admin-body{background:#f4f7fa;padding:0;color:#172431}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:272px minmax(0,1fr)}
.admin-sidebar{height:100vh;position:sticky;top:0;z-index:80;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--admin-sidebar),#0b2130);color:#fff;padding:18px 14px 14px;box-shadow:12px 0 36px rgba(15,36,53,.12);overflow:hidden}
.sidebar-brand-row{display:flex;align-items:center;gap:8px;padding:0 5px 14px}
.sidebar-brand{display:flex;align-items:center;gap:11px;min-width:0;text-decoration:none;flex:1}
.sidebar-brand>span:last-child{display:grid;min-width:0}
.sidebar-brand strong{font-size:18px;letter-spacing:-.025em}
.sidebar-brand small{font-size:10px;color:#9fb8c8;margin-top:2px;white-space:nowrap}
.sidebar-close{display:none;width:40px;height:40px;border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font-size:24px}
.sidebar-hotel-card{display:flex;align-items:center;gap:10px;margin:2px 3px 12px;padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.055);min-width:0}
.sidebar-hotel-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:rgba(40,166,214,.16);color:#75d6fb;font-size:19px}
.sidebar-hotel-card div{display:grid;min-width:0}.sidebar-hotel-card small{color:#93adbd;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.sidebar-hotel-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}
.sidebar-search{display:flex;align-items:center;gap:8px;margin:0 3px 10px;padding:0 11px;height:42px;border-radius:12px;background:rgba(255,255,255,.075);color:#8fb1c3}
.sidebar-search input{border:0!important;box-shadow:none!important;background:transparent!important;color:#fff;padding:0;font-size:12px}
.sidebar-search input::placeholder{color:#86a2b3}
.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 2px 20px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}
.sidebar-nav-group{margin:0 0 14px}
.sidebar-nav-group h2{margin:0;padding:8px 10px 6px;color:#7896a8;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.sidebar-nav-group a{display:flex;align-items:center;min-height:42px;gap:10px;padding:8px 10px;border-radius:11px;color:#bcd0dc;text-decoration:none;font-size:12px;font-weight:750;transition:.16s ease;position:relative}
.sidebar-nav-group a:hover{background:rgba(255,255,255,.065);color:#fff;transform:translateX(2px)}
.sidebar-nav-group a.active{background:linear-gradient(135deg,rgba(40,166,214,.25),rgba(40,166,214,.11));color:#fff;box-shadow:inset 3px 0 0 #4bc7f4}
.nav-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;color:#86a9bc;font-size:16px}.sidebar-nav-group a.active .nav-icon{color:#72d8ff}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-unread-count{margin-left:auto!important;flex:0 0 auto}
.sidebar-user-card{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.08);padding:14px 5px 0}
.user-avatar,.toolbar-profile>span{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#2aa6d5,#6ad5f3);color:#fff;font-weight:900;flex:0 0 auto}
.sidebar-user-card div{display:grid;min-width:0}.sidebar-user-card strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-card small{font-size:9px;color:#87a5b6;margin-top:2px}.sidebar-user-card>a{font-size:20px;color:#a9bfcc;text-decoration:none;padding:8px}
.admin-nav-backdrop{display:none}
.admin-workspace{min-width:0;display:flex;flex-direction:column}
.admin-toolbar{height:68px;position:sticky;top:0;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 24px;border-bottom:1px solid #e0e7ed;background:rgba(255,255,255,.91);backdrop-filter:blur(18px)}
.toolbar-title{display:flex;align-items:center;gap:12px;min-width:0}.toolbar-title>div{display:grid;min-width:0}.toolbar-title span{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#83929d;font-weight:900}.toolbar-title strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid #dce5eb;background:#fff;color:#17374b;border-radius:12px;font-size:19px;box-shadow:0 5px 14px rgba(22,55,75,.07)}
.toolbar-actions{display:flex;align-items:center;gap:10px}.toolbar-action{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;text-decoration:none;background:#f2f6f8;border:1px solid #e2e9ee}.toolbar-action b{position:absolute;right:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:9px;display:grid;place-items:center}
.toolbar-profile{display:flex;align-items:center;gap:9px;text-decoration:none;padding-left:4px}.toolbar-profile>span{width:38px;height:38px}.toolbar-profile>div{display:grid;max-width:180px}.toolbar-profile strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar-profile small{font-size:9px;color:#788994;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-content{width:100%;max-width:var(--admin-content-max);padding:26px 30px 80px;margin:0 auto}
.admin-content>.page-head{margin:0 0 20px;align-items:center}.admin-content>.page-head h1{font-size:28px;margin-top:2px}.admin-content>.page-head .page-kicker{color:#80909b}
.admin-mobile-dock{display:none}

/* Cleaner admin components */
.admin-body .card,.admin-body .note-card,.admin-body .pin-card{border-color:#e3e9ee;border-radius:16px;box-shadow:0 7px 22px rgba(24,50,75,.055);padding:20px;margin-bottom:18px}
.admin-body .card-head{align-items:flex-start}.admin-body .card-head h2{font-size:18px}.admin-body .btn{min-height:42px;border-radius:11px}.admin-body .btn-small{min-height:34px}
.admin-body .stats{gap:12px;margin-bottom:18px}.admin-body .stat{min-height:112px;padding:16px;border-radius:15px;box-shadow:0 5px 16px rgba(24,50,75,.05)}.admin-body .stat strong{font-size:29px}.admin-body .stat:after{opacity:.7}
.admin-body .quick-grid{gap:12px}.admin-body .quick-card{min-height:104px;padding:17px;border-radius:15px}.admin-body .quick-card>span{font-size:23px}.admin-body .quick-card strong{font-size:14px}
.table-wrap{border:1px solid #e3e9ee;border-radius:14px;background:#fff;overflow:auto}.table-wrap table{min-width:760px}.table-wrap th{position:sticky;top:0;background:#f7f9fb;z-index:1}.table-wrap th:first-child,.table-wrap td:first-child{padding-left:15px}.table-wrap th:last-child,.table-wrap td:last-child{padding-right:15px}
.admin-body input,.admin-body select,.admin-body textarea{min-height:43px;border-radius:11px;border-color:#ccd8e0}.admin-body textarea{min-height:auto}.admin-body label{font-size:12px}
.actions{flex-wrap:wrap}.actions .btn{white-space:nowrap}

/* Guest navigation and shell */
.guest-body{padding-bottom:92px;background:#f3f6f8}
.guest-top{height:64px;padding:0 max(14px,env(safe-area-inset-left));box-shadow:0 4px 18px rgba(20,43,59,.045)}
.guest-brand{max-width:calc(100% - 100px)}.guest-brand img{width:40px;height:40px}.guest-brand-copy{display:grid;min-width:0}.guest-brand-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-brand-copy small{font-size:9px;color:#7b8992;margin-top:2px}.guest-logo-fallback{width:39px;height:39px}
.guest-container{max-width:920px;padding:14px 16px 24px}
.guest-bottom-nav.guest-primary-nav{grid-template-columns:repeat(5,1fr);width:min(610px,calc(100% - 18px));height:68px;bottom:max(8px,env(safe-area-inset-bottom));padding:5px;border-radius:20px}
.guest-bottom-nav a,.guest-bottom-nav button{border:0;background:transparent;display:grid;place-items:center;align-content:center;gap:2px;text-decoration:none;color:#71818c;font-size:9px;font-weight:800;border-radius:15px;min-width:0;padding:4px 2px}
.guest-bottom-nav a.active,.guest-bottom-nav button.active{background:var(--primary);color:#fff}
.guest-bottom-nav small{font-size:9px;font-weight:850;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-nav-icon{font-size:18px;line-height:1;position:relative;min-height:21px;display:grid;place-items:center}.guest-nav-icon b{position:absolute;right:-12px;top:-8px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;border:2px solid #fff;font-size:8px;display:grid;place-items:center}
.guest-more-backdrop{position:fixed;inset:0;background:rgba(8,22,31,.42);backdrop-filter:blur(3px);z-index:75}
.guest-more-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:76;width:min(580px,100%);padding:8px 18px calc(22px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0;background:#fff;box-shadow:0 -20px 60px rgba(15,36,53,.25);animation:guestSheetIn .22s ease}
@keyframes guestSheetIn{from{transform:translate(-50%,24px);opacity:.2}to{transform:translate(-50%,0);opacity:1}}
.guest-sheet-handle{width:42px;height:4px;background:#d7e0e5;border-radius:999px;margin:2px auto 13px}.guest-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.guest-sheet-head h2{margin:3px 0 0}.guest-sheet-head>button{width:40px;height:40px;border:0;border-radius:12px;background:#eef3f6;font-size:23px}.guest-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.guest-more-grid a{display:grid;grid-template-columns:42px 1fr;column-gap:10px;padding:13px;border:1px solid #e1e8ed;border-radius:15px;text-decoration:none;background:#fbfcfd}.guest-more-grid a>span{grid-row:1/3;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary);display:grid;place-items:center;font-size:21px}.guest-more-grid strong{font-size:12px;align-self:end}.guest-more-grid small{font-size:9px;color:#73838d}.guest-sheet-actions{display:grid;gap:11px;margin-top:14px}.guest-sheet-logout{text-align:center;color:#a32d25;font-size:12px;font-weight:850;text-decoration:none;padding:10px}

/* Guest cards and content hierarchy */
.guest-hero{min-height:210px;border-radius:20px;margin-bottom:13px}.hero-overlay-content{padding:25px}.hero-overlay-content h1{font-size:29px}.hero-overlay-content p{font-size:13px}
.guest-quick-actions{gap:8px;margin:11px 0 18px}.guest-quick-action{min-height:92px;border-radius:14px;padding:12px 7px;box-shadow:none}.guest-quick-action>span{font-size:23px}.guest-quick-action strong{font-size:11px}.guest-quick-action small{font-size:9px}
.section-heading{margin:20px 2px 10px}.section-heading h2{font-size:20px}.section-heading>small{font-size:10px;color:#7a8992}
.service-grid{gap:10px}.service-card{min-height:132px;padding:16px;border-radius:16px;box-shadow:0 5px 16px rgba(24,50,75,.045)}.service-card>span{font-size:27px}.service-card strong{font-size:14px;margin:7px 0 4px}.service-card small{font-size:10px}.service-card-featured{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 95%,#fff),color-mix(in srgb,var(--secondary) 92%,#fff));color:#fff;border-color:transparent}.service-card-featured small{color:rgba(255,255,255,.78)}.service-card-featured i{color:#fff}
.guest-body .card{border-radius:17px;box-shadow:0 5px 18px rgba(24,50,75,.045);padding:17px;margin-bottom:16px}.guest-request{padding:11px 0}.mobile-content-card{box-shadow:0 4px 14px rgba(24,50,75,.045)}
.guest-footer{padding-bottom:92px}

/* Unified guest message center */
.guest-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:17px 3px 13px}.guest-page-intro h1{font-size:28px;margin:4px 0 7px}.guest-page-intro p{margin:0;color:#687986;line-height:1.5;max-width:650px;font-size:12px}.guest-message-center{display:grid;gap:9px}.guest-message-item{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e0e8ed;border-radius:16px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 4px 15px rgba(24,50,75,.045)}.guest-message-item.has-unread{border-color:color-mix(in srgb,var(--primary) 38%,#dce6eb);box-shadow:0 7px 22px color-mix(in srgb,var(--primary) 10%,transparent)}.guest-message-icon{width:45px;height:45px;border-radius:14px;background:color-mix(in srgb,var(--primary) 11%,#fff);display:grid;place-items:center;font-size:21px;flex:0 0 auto}.guest-message-title{display:flex;align-items:center;justify-content:space-between;gap:9px}.guest-message-title strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-message-title small{font-size:8px;color:#8a979f;white-space:nowrap}.guest-message-item .grow>span{display:block;color:var(--primary);font-size:9px;font-weight:850;margin:3px 0}.guest-message-item p{font-size:10px;color:#657681;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guest-message-state{display:grid;justify-items:center;gap:5px;color:#97a4ac}.guest-message-state b{min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;display:grid;place-items:center;font-size:9px}.guest-message-state span{font-size:24px}.guest-empty-state{text-align:center;padding:40px 20px!important}.guest-empty-state>span{font-size:44px}.guest-empty-state h2{margin:10px 0 6px}.guest-empty-state p{color:#6f808b;margin:0 auto 18px;max-width:380px;font-size:12px}

/* Chat refinements */
.guest-body .conversation-subject{padding:15px}.guest-body .conversation-subject h1{font-size:20px}.guest-body .conversation-timeline{border-radius:0;gap:9px}.guest-body .conversation-message{border-radius:15px;padding:11px 13px}.guest-body .guest-composer{bottom:77px;border-radius:0 0 17px 17px}.guest-body .conversation-panel{border-radius:17px}.guest-body .back-link{margin-top:2px}

/* Responsive admin */
@media(max-width:1180px){
  .admin-shell{grid-template-columns:236px minmax(0,1fr)}
  .admin-sidebar{padding-inline:10px}.sidebar-nav-group a{padding-inline:9px}.admin-content{padding-inline:22px}
  .stats-six,.stats-eight{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid-four{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .admin-body{padding-bottom:74px}
  .admin-shell{display:block}
  .admin-sidebar{position:fixed;left:0;top:0;width:min(310px,88vw);height:100dvh;transform:translateX(-105%);transition:transform .2s ease;box-shadow:20px 0 55px rgba(5,20,29,.35)}
  .admin-sidebar.open{transform:translateX(0)}.sidebar-close{display:grid;place-items:center}
  .admin-nav-backdrop{display:block;position:fixed;inset:0;z-index:70;border:0;background:rgba(7,22,31,.48);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.2s opacity}.admin-nav-backdrop.open{opacity:1;pointer-events:auto}
  .nav-toggle{display:grid;place-items:center}.admin-toolbar{height:62px;padding:0 14px}.toolbar-title>div>span{display:none}.toolbar-title strong{font-size:14px}.toolbar-profile>div{display:none}.live-indicator{padding:7px 9px;font-size:10px}.toolbar-action{width:38px;height:38px}
  .admin-content{padding:18px 14px 30px}.admin-content>.page-head{display:none}
  .admin-mobile-dock{position:fixed;z-index:60;left:50%;bottom:max(7px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 14px));height:63px;padding:5px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.96);border:1px solid #dce5eb;border-radius:19px;box-shadow:0 13px 40px rgba(20,43,59,.2);backdrop-filter:blur(18px)}
  .admin-mobile-dock a,.admin-mobile-dock button{border:0;background:transparent;color:#6e7e89;text-decoration:none;display:grid;place-items:center;align-content:center;gap:1px;font-size:8px;font-weight:850;border-radius:14px}.admin-mobile-dock span{font-size:19px;line-height:1}
  .dashboard-grid,.split,.split-wide,.printer-page-grid{grid-template-columns:1fr}.dashboard-main-card{min-height:auto}
}
@media(max-width:720px){
  .admin-body .stats,.admin-body .stats-six,.admin-body .stats-eight,.operations-kpis,.operations-kpis.has-five{grid-template-columns:1fr 1fr}.admin-body .stat{min-height:100px}.admin-body .stat strong{font-size:26px}
  .quick-grid,.quick-grid-four{grid-template-columns:1fr 1fr}.admin-body .quick-card{min-height:96px}
  .form-grid,.language-columns,.two-cols,.room-tools,.print-routing-grid{grid-template-columns:1fr}.span-2{grid-column:auto}
  .admin-body .card{padding:15px;border-radius:14px}.card-head{align-items:flex-start;flex-wrap:wrap}.card-head .actions{width:100%}.card-head .actions .btn{flex:1}
  .table-wrap{margin-inline:-2px;border-radius:12px}.table-wrap table{min-width:680px}th,td{padding-block:11px}
  .toolbar-profile{display:none}
}
@media(max-width:520px){
  .toolbar-title strong{max-width:180px}.toolbar-actions{gap:6px}.live-indicator{display:none}
  .admin-body .stats,.admin-body .stats-six,.admin-body .stats-eight{gap:8px}.admin-body .stat{padding:13px;min-height:92px}.admin-body .stat span{font-size:10px}.admin-body .stat strong{font-size:24px}.admin-body .stat small{font-size:8px}
  .quick-grid,.quick-grid-four{gap:8px}.admin-body .quick-card{padding:14px}.admin-body .quick-card small{font-size:9px}
  .guest-container{padding-inline:12px}.guest-top{padding-inline:12px}.guest-brand{gap:8px}.guest-brand img,.guest-logo-fallback{width:36px;height:36px}.guest-brand-copy strong{max-width:180px}
  .guest-hero{min-height:180px;border-radius:18px}.hero-overlay-content{padding:20px}.hero-overlay-content h1{font-size:25px}.hero-overlay-content p{font-size:11px}
  .guest-quick-actions{grid-template-columns:repeat(3,1fr)}.guest-quick-action{min-height:84px}.guest-quick-action small{display:none}
  .service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:125px;padding:14px}.service-card strong{font-size:13px}.service-card small{line-height:1.3}
  .guest-bottom-nav.guest-primary-nav{width:calc(100% - 12px);height:64px;bottom:max(6px,env(safe-area-inset-bottom));border-radius:18px}.guest-bottom-nav small{font-size:8px}.guest-nav-icon{font-size:17px}
  .guest-more-sheet{padding-inline:13px}.guest-more-grid{gap:8px}.guest-more-grid a{padding:11px}.guest-page-intro{display:grid;padding-top:11px}.guest-page-intro h1{font-size:24px}.guest-page-intro .btn{width:max-content}
  .guest-message-item{padding:12px;gap:9px}.guest-message-icon{width:40px;height:40px}.guest-message-title small{display:none}
}
.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px;padding:2px}.dashboard-welcome h2{font-size:22px;margin:4px 0}.dashboard-welcome p{margin:0;color:#73838e;font-size:12px}.dashboard-priority-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.priority-stat{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;min-height:124px;padding:17px;border:1px solid #e0e8ed;border-radius:17px;background:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(24,50,75,.05);position:relative;overflow:hidden}.priority-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--priority-color,#28a6d6)}.priority-stat-icon{width:47px;height:47px;border-radius:14px;background:color-mix(in srgb,var(--priority-color,#28a6d6) 11%,#fff);display:grid;place-items:center;font-size:23px}.priority-stat div{display:grid}.priority-stat small{font-size:10px;color:#657681;font-weight:850}.priority-stat strong{font-size:29px;line-height:1;margin:5px 0;letter-spacing:-.04em}.priority-stat p{font-size:9px;color:#8a969e;margin:0}.priority-stat i{font-style:normal;color:#9aabb5}.priority-stat:hover{transform:translateY(-2px);box-shadow:0 12px 27px rgba(24,50,75,.09)}.priority-requests{--priority-color:#dc554a}.priority-orders{--priority-color:#d38a25}.priority-bookings{--priority-color:#7658c8}.priority-messages{--priority-color:#1686b8}.dashboard-status-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:15px;border:1px solid #e0e8ed;border-radius:15px;background:#e0e8ed;overflow:hidden}.dashboard-status-strip a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#fff;text-decoration:none}.dashboard-status-strip span{font-size:10px;color:#74848f;font-weight:750}.dashboard-status-strip strong{font-size:15px}.dashboard-status-strip .is-danger strong{color:#c2382d}.dashboard-welcome+.dashboard-priority-grid{}
@media(max-width:1180px){.dashboard-priority-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.dashboard-welcome{align-items:flex-start}.dashboard-welcome .btn{display:none}.dashboard-priority-grid{grid-template-columns:1fr 1fr;gap:8px}.priority-stat{grid-template-columns:auto 1fr;min-height:105px;padding:13px}.priority-stat i{display:none}.priority-stat-icon{width:40px;height:40px;font-size:19px}.priority-stat strong{font-size:25px}.dashboard-status-strip{grid-template-columns:1fr 1fr}.dashboard-status-strip a{padding:11px}}
@media(max-width:420px){.priority-stat{display:block}.priority-stat-icon{margin-bottom:9px}.priority-stat p{display:none}}
.admin-nav-open,.guest-sheet-open{overflow:hidden}
.guest-body.theme-luxury .guest-more-sheet,.guest-body.theme-dark .guest-more-sheet,.guest-body.theme-luxury .guest-message-item,.guest-body.theme-dark .guest-message-item{background:var(--guest-surface);color:var(--guest-text);border-color:rgba(255,255,255,.12)}
.guest-body.theme-luxury .guest-more-grid a,.guest-body.theme-dark .guest-more-grid a{background:rgba(255,255,255,.045);color:var(--guest-text);border-color:rgba(255,255,255,.1)}
.guest-body.theme-luxury .guest-sheet-head>button,.guest-body.theme-dark .guest-sheet-head>button{background:rgba(255,255,255,.08);color:var(--guest-text)}
.guest-body.theme-luxury .guest-message-item p,.guest-body.theme-dark .guest-message-item p,.guest-body.theme-luxury .guest-message-title small,.guest-body.theme-dark .guest-message-title small{color:var(--guest-muted)}
.admin-mobile-dock a.active,.admin-mobile-dock button.active{background:#102b3d;color:#fff}.dock-icon{position:relative}.dock-icon b{position:absolute;right:-14px;top:-8px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;border:2px solid #fff;font-size:7px;display:grid;place-items:center}

/* GuestScreen v0.9 — Smart Signage Experience */
.signage-builder-layout,.wayfinding-admin-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.signage-profile-sidebar,.map-sidebar{position:sticky;top:86px}.signage-builder-main,.wayfinding-main{display:grid;gap:20px}.signage-menu-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.signage-menu-admin-card{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-left:6px solid var(--menu-accent);border-radius:17px;padding:15px;background:#fff;min-width:0}.signage-menu-admin-card.is-featured{grid-column:span 2;background:linear-gradient(135deg,color-mix(in srgb,var(--menu-accent) 8%,#fff),#fff)}.signage-menu-admin-card.is-disabled{opacity:.55}.signage-menu-admin-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--menu-accent) 13%,#fff);font-size:27px;flex:0 0 auto}.signage-menu-admin-card h3{margin:4px 0}.signage-menu-admin-card p{margin:0 0 6px;color:var(--muted)}.signage-menu-admin-card small{color:#7c8b96}.smart-order-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px;border-radius:15px;background:#f5f8fa}.event-admin-layout{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}.event-admin-list{display:grid;gap:12px}.event-admin-card{display:flex;align-items:center;gap:15px;padding:14px;border:1px solid var(--line);border-radius:17px;background:#fff}.event-admin-card.is-featured{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:0 10px 25px rgba(17,64,91,.08)}.event-admin-card.is-disabled{opacity:.55}.event-admin-card>img,.event-icon-block{width:92px;height:78px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:#eef4f7;font-size:34px}.event-date-block{width:58px;display:grid;text-align:center;line-height:1}.event-date-block strong{font-size:25px}.event-date-block span{font-size:10px;color:var(--primary);font-weight:900;margin:4px 0}.event-date-block small{font-size:12px;color:var(--muted)}.event-admin-card h3{margin:6px 0}.event-admin-card p,.event-admin-card .grow>small{margin:0;color:var(--muted)}.event-badges{display:flex;flex-wrap:wrap;gap:5px}.admin-map-canvas{position:relative;border-radius:18px;overflow:hidden;background:#e9eef2;min-height:380px;cursor:crosshair}.admin-map-canvas>img{width:100%;display:block;max-height:680px;object-fit:contain}.admin-map-pin{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;text-decoration:none;color:#172431;z-index:2}.admin-map-pin>span{width:42px;height:42px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);display:grid;place-items:center;background:#fff;border:3px solid var(--primary);box-shadow:0 8px 20px rgba(0,0,0,.2);font-size:19px}.admin-map-pin>span::first-letter{transform:rotate(45deg)}.admin-map-pin small{margin-top:8px;padding:4px 7px;border-radius:7px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.13);font-weight:800;white-space:nowrap}.admin-map-pin.is-disabled{opacity:.45}.preview-control-card{padding:14px 18px}.preview-controls{display:grid;grid-template-columns:1.1fr .65fr 1fr 1fr .85fr auto;gap:10px;align-items:end}.signage-preview-stage{display:grid;place-items:center;padding:24px;min-height:660px;border-radius:25px;background:radial-gradient(circle at top,#d9e6ee,#aebdc7);overflow:auto;margin:18px 0}.preview-device-frame{position:relative;background:#111;padding:24px 13px 14px;border-radius:28px;box-shadow:0 30px 70px rgba(10,28,40,.32)}.signage-preview-stage.landscape .preview-device-frame{width:min(100%,1180px);aspect-ratio:16/9}.signage-preview-stage.portrait .preview-device-frame{height:min(76vh,850px);aspect-ratio:9/16}.preview-device-frame iframe{width:100%;height:100%;border:0;border-radius:10px;background:#fff}.preview-camera{position:absolute;width:8px;height:8px;border-radius:50%;background:#34434d;left:50%;top:8px;transform:translateX(-50%)}.dietary-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fafcfd}.dietary-badges,.menu-dietary-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.dietary-badges span,.menu-dietary-tags span{font-size:10px;font-weight:850;padding:4px 7px;border-radius:999px;background:#edf5ef;color:#296140}

/* v0.9 premium kiosk shell */
.kiosk-v09{--kiosk-header-height:92px;--kiosk-surface:#fff;--kiosk-text:#172431;--kiosk-muted:#637783;--kiosk-line:rgba(24,55,73,.12);background:var(--k-theme-bg,#edf2f5);color:var(--k-theme-text,var(--kiosk-text));height:100vh;overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.smart-kiosk-header{height:var(--kiosk-header-height);display:flex;align-items:center;justify-content:space-between;padding:13px 2.2vw;background:var(--k-theme-surface,#fff);border-bottom:1px solid var(--k-theme-border,var(--kiosk-line));box-shadow:0 6px 25px rgba(17,48,66,.08);position:relative;z-index:40}.smart-kiosk-header .kiosk-hotel-brand img{height:62px}.smart-kiosk-header .kiosk-hotel-brand h1{font-size:25px;margin:1px 0}.smart-kiosk-nav{display:flex;align-items:center;gap:9px}.kiosk-nav-button{min-height:50px;border:1px solid var(--k-theme-border,#dbe4e9);border-radius:16px;background:var(--k-theme-surface,#fff);color:var(--k-theme-text,#172431);padding:0 14px;display:flex;align-items:center;gap:7px;font-weight:850;text-decoration:none;font-size:14px;cursor:pointer}.kiosk-nav-button:hover,.kiosk-nav-button:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent);outline:0}.smart-clock{min-width:124px;display:grid;text-align:right;line-height:1.1}.smart-clock strong{font-size:23px}.smart-clock small{font-size:11px;color:var(--k-theme-muted,var(--kiosk-muted));text-transform:capitalize}.smart-kiosk-main{height:calc(100vh - var(--kiosk-header-height));overflow:auto;scroll-behavior:smooth}.kiosk-v09:has(.kiosk-notice) .smart-kiosk-main{height:calc(100vh - var(--kiosk-header-height) - 48px)}.kiosk-view{padding:22px 2.5vw 45px;min-height:100%}.smart-home-view{display:grid;gap:19px}.smart-home-hero{min-height:270px;border-radius:27px;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 32px;color:#fff;position:relative;background:linear-gradient(125deg,var(--primary),var(--secondary));box-shadow:0 18px 42px rgba(16,50,70,.18)}.smart-home-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,28,42,.94),rgba(8,28,42,.45),rgba(8,28,42,.18)),var(--kiosk-hero,none);background-size:cover;background-position:center}.smart-home-copy,.smart-home-qr{position:relative;z-index:1}.smart-home-copy{max-width:68%}.smart-home-copy h2{font-size:clamp(34px,3.5vw,58px);line-height:1.04;margin:7px 0 10px}.smart-home-copy>p{font-size:16px;line-height:1.5;color:#e6f1f6;max-width:780px;margin:0}.smart-home-actions{display:flex;gap:10px;margin-top:19px}.smart-home-actions button{border:1px solid rgba(255,255,255,.3);border-radius:14px;background:rgba(255,255,255,.14);color:#fff;padding:10px 13px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer}.smart-home-actions button>span{display:grid}.smart-home-actions small{color:#d0e4ee}.smart-home-qr{width:190px;min-width:190px;background:#fff;color:#203642;border-radius:19px;padding:12px;text-align:center;display:grid;place-items:center;box-shadow:0 10px 32px rgba(0,0,0,.23)}.smart-home-qr strong{font-size:12px;margin-top:6px}.smart-home-qr small{font-size:9px;line-height:1.35;color:#657984;margin-top:4px}.today-ribbon{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:10px;background:var(--k-theme-surface,#fff);border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:20px;padding:10px;box-shadow:0 8px 24px rgba(22,55,75,.06)}.today-ribbon-title{display:flex;align-items:center;gap:9px;padding:6px 13px;border-right:1px solid var(--k-theme-border,var(--kiosk-line))}.today-ribbon-title>span{font-size:28px}.today-ribbon-title div{display:grid}.today-ribbon-title small{font-weight:900;color:var(--primary)}.today-ribbon-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.today-ribbon-event{border:0;border-radius:13px;background:color-mix(in srgb,var(--primary) 6%,var(--k-theme-surface,#fff));padding:8px 11px;display:grid;grid-template-columns:auto 1fr;column-gap:8px;text-align:left;color:inherit;cursor:pointer}.today-ribbon-event>span{grid-row:1/3;color:var(--primary);font-weight:900;font-size:17px}.today-ribbon-event strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-ribbon-event small{font-size:9px;color:var(--k-theme-muted,var(--kiosk-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.today-ribbon-more{border:0;border-radius:13px;background:var(--primary);color:#fff;font-weight:900;padding:0 18px}.smart-menu-heading,.view-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.smart-menu-heading h2,.view-title h2{font-size:31px;margin:4px 0}.view-title p{margin:2px 0;color:var(--k-theme-muted,var(--kiosk-muted));font-size:15px}.daypart-badge{padding:9px 13px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--k-theme-surface,#fff));color:var(--primary);font-size:11px;font-weight:900}.smart-touch-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:14px}.smart-menu-tile{min-height:150px;border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:22px;padding:19px;background:linear-gradient(145deg,color-mix(in srgb,var(--tile-accent) 8%,var(--k-theme-surface,#fff)),var(--k-theme-surface,#fff));color:var(--k-theme-text,var(--kiosk-text));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;position:relative;overflow:hidden;box-shadow:0 9px 25px rgba(20,52,70,.07);cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.smart-menu-tile::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,var(--k-theme-surface,#fff) 25%,transparent),var(--tile-image,none);background-size:cover;background-position:center;opacity:.15}.smart-menu-tile>*{position:relative;z-index:1}.smart-menu-tile:hover,.smart-menu-tile:focus{transform:translateY(-4px);border-color:var(--tile-accent);box-shadow:0 16px 36px color-mix(in srgb,var(--tile-accent) 18%,transparent);outline:0}.smart-menu-tile.featured{grid-column:span 2;min-height:170px}.smart-menu-icon{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;font-size:31px;background:color-mix(in srgb,var(--tile-accent) 14%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tile-accent) 18%,transparent)}.smart-menu-copy{display:grid;gap:5px;min-width:0}.smart-menu-copy strong{font-size:20px}.smart-menu-copy small{font-size:12px;line-height:1.45;color:var(--k-theme-muted,var(--kiosk-muted))}.smart-menu-tile>i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--tile-accent);color:#fff;font-style:normal;font-weight:900}.view-title{margin-bottom:18px}.view-title>div:first-child{max-width:850px}.kiosk-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kiosk-event-card{display:grid;grid-template-columns:110px 70px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;background:var(--k-theme-surface,#fff);border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:20px;color:inherit;cursor:pointer;box-shadow:0 8px 24px rgba(20,52,70,.06)}.kiosk-event-card.featured{grid-column:span 2}.kiosk-event-card>img,.event-card-icon{width:110px;height:95px;border-radius:14px;object-fit:cover;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 9%,#fff);font-size:39px}.event-time-column{display:grid;text-align:center}.event-time-column strong{font-size:22px;color:var(--primary)}.event-time-column small{color:var(--k-theme-muted,var(--kiosk-muted))}.kiosk-event-card h3{font-size:20px;margin:5px 0}.kiosk-event-card p{margin:0;color:var(--primary);font-weight:800}.kiosk-event-card .grow>small{display:block;margin-top:5px;color:var(--k-theme-muted,var(--kiosk-muted));line-height:1.4}.kiosk-event-card>button{border:0;background:var(--primary);color:#fff;width:40px;height:40px;border-radius:50%}.live-now-badge{display:inline-flex;background:#e33f3f;color:#fff;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:900}.touch-filter-chips,.dietary-filter-bar{display:flex;gap:8px;overflow:auto;padding:3px 0 15px}.touch-filter-chips button,.dietary-filter-bar button{min-height:45px;border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:999px;background:var(--k-theme-surface,#fff);color:inherit;padding:0 16px;font-weight:850;white-space:nowrap}.touch-filter-chips button.active,.dietary-filter-bar button.active{background:var(--primary);border-color:var(--primary);color:#fff}.smart-content-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.smart-content-card{background:var(--k-theme-surface,#fff);border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:20px;overflow:hidden;color:inherit;box-shadow:0 8px 24px rgba(20,52,70,.07);cursor:pointer}.smart-content-card.featured{grid-column:span 2}.smart-content-card>img,.smart-content-icon{width:100%;height:190px;object-fit:cover;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 8%,#fff);font-size:66px}.smart-content-card.featured>img,.smart-content-card.featured>.smart-content-icon{height:230px}.smart-content-card>div:not(.smart-content-icon){padding:17px}.smart-content-card h3{font-size:20px;margin:5px 0}.smart-content-card p{font-size:12px;line-height:1.5;color:var(--k-theme-muted,var(--kiosk-muted));min-height:37px}.smart-content-card button{border:0;background:transparent;color:var(--primary);font-weight:900;padding:0}.offer-card{border-color:color-mix(in srgb,#b6842c 35%,var(--k-theme-border,var(--kiosk-line)))}.promo-code{display:inline-block;border:1px dashed #b6842c;border-radius:9px;padding:6px 9px;margin-right:10px;letter-spacing:.08em}.menu-view-title{align-items:center}.view-qr-card{display:flex;align-items:center;gap:10px;padding:7px 11px;border-radius:14px;background:var(--k-theme-surface,#fff);border:1px solid var(--k-theme-border,var(--kiosk-line));font-size:10px;font-weight:850}.view-qr-card img{display:block}.kiosk-restaurant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kiosk-menu-item{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px;background:var(--k-theme-surface,#fff);border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:18px}.kiosk-menu-item>img,.menu-item-placeholder{width:105px;height:96px;border-radius:13px;object-fit:cover;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 8%,#fff);font-size:36px}.kiosk-menu-item h3{font-size:19px;margin:4px 0}.kiosk-menu-item p{font-size:11px;line-height:1.4;color:var(--k-theme-muted,var(--kiosk-muted));margin:0}.allergen-line{display:block;color:#966321;margin-top:6px}.menu-item-price{font-size:18px;color:var(--primary);white-space:nowrap}.kiosk-order-note{margin-top:15px;padding:13px 16px;border-radius:14px;background:#fff4d8;color:#6b4d00;font-weight:800}.map-view-title>div:last-child{display:grid;text-align:right}.map-view-title>div:last-child small{color:var(--k-theme-muted,var(--kiosk-muted))}.kiosk-map-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.45fr);gap:16px;min-height:620px}.kiosk-map-canvas{position:relative;border-radius:22px;overflow:hidden;background:#dde6eb;border:1px solid var(--k-theme-border,var(--kiosk-line));display:grid;place-items:center}.kiosk-map-canvas>img{width:100%;height:100%;max-height:720px;object-fit:contain}.kiosk-map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent;display:grid;justify-items:center;cursor:pointer;color:#172431}.kiosk-map-pin>span{width:52px;height:52px;border-radius:50% 50% 50% 10px;transform:rotate(-45deg);display:grid;place-items:center;background:#fff;border:4px solid var(--primary);box-shadow:0 8px 24px rgba(0,0,0,.23);font-size:23px;transition:.18s}.kiosk-map-pin>small{margin-top:8px;background:#fff;border-radius:8px;padding:5px 8px;font-weight:900;white-space:nowrap;box-shadow:0 5px 15px rgba(0,0,0,.17)}.kiosk-map-pin.active>span,.kiosk-map-pin:hover>span{transform:rotate(-45deg) scale(1.18);background:var(--primary);color:#fff}.kiosk-map-panel{background:var(--k-theme-surface,#fff);border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:22px;padding:22px;display:grid;align-content:start;overflow:auto}.map-detail-placeholder{text-align:center;margin:auto;color:var(--k-theme-muted,var(--kiosk-muted))}.map-detail-placeholder>span{font-size:65px}.map-detail-content{display:grid;gap:9px}.map-detail-icon{font-size:45px}.map-detail-content h3{font-size:28px;margin:3px 0}.map-detail-content>p{color:var(--k-theme-muted,var(--kiosk-muted));line-height:1.5}.route-steps ol{display:grid;gap:9px;padding-left:24px}.route-steps li{padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--primary) 6%,var(--k-theme-surface,#fff));line-height:1.4}.accessible-route{padding:12px;border-radius:13px;background:#eaf7ef;color:#245d3a}.accessible-route p{white-space:pre-line}.map-detail-qr{display:grid;justify-items:center;margin-top:7px;padding-top:13px;border-top:1px solid var(--k-theme-border,var(--kiosk-line));font-size:10px}.contact-kiosk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.contact-kiosk-grid article,.contact-kiosk-grid button{min-height:260px;border:1px solid var(--k-theme-border,var(--kiosk-line));border-radius:23px;background:var(--k-theme-surface,#fff);color:inherit;display:grid;place-items:center;align-content:center;gap:9px;text-align:center}.contact-kiosk-grid>*>span{font-size:50px}.contact-kiosk-grid small{color:var(--k-theme-muted,var(--kiosk-muted))}.contact-kiosk-grid strong{font-size:20px}.contact-mobile-qr img{display:block}.kiosk-empty{padding:45px;border-radius:20px;background:var(--k-theme-surface,#fff);border:1px dashed var(--k-theme-border,var(--kiosk-line));text-align:center;color:var(--k-theme-muted,var(--kiosk-muted));grid-column:1/-1}

/* Detail / accessibility / attract overlays */
.kiosk-detail-modal,.accessibility-panel{position:fixed;inset:0;z-index:110;display:grid;place-items:center;padding:25px}.kiosk-detail-modal[hidden],.accessibility-panel[hidden],.premium-attract[hidden]{display:none!important}.smart-detail-card{position:relative;z-index:2;width:min(1180px,94vw);max-height:90vh;display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.15fr) 230px;background:var(--k-theme-surface,#fff);color:var(--k-theme-text,#172431);border-radius:27px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.38)}.smart-detail-media{min-height:480px;display:grid;place-items:center;background:color-mix(in srgb,var(--primary) 9%,#fff);font-size:100px}.smart-detail-media img{width:100%;height:100%;max-height:90vh;object-fit:cover}.smart-detail-copy{padding:35px;overflow:auto}.smart-detail-copy h2{font-size:36px;line-height:1.1;margin:8px 0 16px}.smart-detail-copy p{font-size:16px;line-height:1.7;white-space:pre-line;color:var(--k-theme-muted,var(--kiosk-muted))}.smart-detail-qr{padding:28px 22px;border-left:1px solid var(--k-theme-border,var(--kiosk-line));display:grid;place-items:center;align-content:center;text-align:center}.smart-detail-qr strong{font-size:13px;margin-top:10px}.smart-detail-qr small{font-size:10px;color:var(--k-theme-muted,var(--kiosk-muted));line-height:1.45}.kiosk-modal-close{position:absolute;right:13px;top:13px;width:43px;height:43px;border:0;border-radius:50%;background:#fff;color:#172431;box-shadow:0 5px 18px rgba(0,0,0,.15);font-size:25px;z-index:4}.wifi-premium-modal{width:min(430px,92vw)}.wifi-premium-modal #wifiQr{display:grid;place-items:center;margin:12px auto}.accessibility-backdrop{position:absolute;inset:0;background:rgba(5,17,25,.7);backdrop-filter:blur(7px)}.accessibility-panel>section{position:relative;z-index:2;width:min(470px,90vw);padding:32px;border-radius:27px;background:#fff;color:#172431;display:grid;gap:10px;text-align:center}.accessibility-symbol{font-size:55px}.accessibility-panel section>button:not(.kiosk-modal-close){min-height:58px;border:1px solid #dbe4e9;border-radius:14px;background:#f7fafb;font-weight:850;font-size:16px}.accessibility-panel section>button.active{background:#172431;color:#fff}.premium-attract{position:fixed;inset:0;z-index:100;background:#081823;color:#fff}.attract-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;padding:5vh 6vw;opacity:0;visibility:hidden;transition:opacity .9s;overflow:hidden}.attract-slide::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(4,16,24,.96),rgba(4,16,24,.45),rgba(4,16,24,.15)),var(--attract-image,none);background-size:cover;background-position:center;transform:scale(1.04);animation:attractZoom 12s linear infinite}.attract-slide.active{opacity:1;visibility:visible}.attract-slide>*{position:relative;z-index:1}.attract-brand{grid-column:1/-1;display:flex;align-items:center;gap:15px;font-size:23px;font-weight:850}.attract-brand img{height:70px;max-width:200px;object-fit:contain}.attract-message{max-width:860px}.attract-icon{font-size:58px}.attract-message h2{font-size:clamp(55px,7vw,110px);line-height:.98;margin:18px 0}.attract-message p{font-size:clamp(18px,2vw,30px);line-height:1.45;color:#dce9ef}.attract-message button{margin-top:18px;border:2px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.12);color:#fff;padding:15px 25px;font-size:18px;font-weight:900}.attract-qr{justify-self:end;background:#fff;color:#172431;border-radius:20px;padding:14px;display:grid;place-items:center}.attract-qr small{margin-top:7px;font-weight:850}.attract-progress{position:absolute;z-index:3;left:6vw;bottom:4vh;display:flex;gap:8px}.attract-progress i{width:45px;height:5px;border-radius:999px;background:rgba(255,255,255,.3)}.attract-progress i.active{background:#fff}.kiosk-v09.is-offline::after{content:'OFFLINE';position:fixed;right:12px;bottom:12px;z-index:150;background:#f4b32c;color:#432e00;padding:7px 12px;border-radius:999px;font-size:10px;font-weight:900}@keyframes attractZoom{from{transform:scale(1.03)}to{transform:scale(1.12)}}

/* Accessibility states */
.a11y-large-text{font-size:120%}.a11y-large-text .smart-menu-copy strong{font-size:24px}.a11y-large-text .smart-menu-copy small,.a11y-large-text .smart-content-card p,.a11y-large-text .kiosk-menu-item p{font-size:15px}.a11y-high-contrast{--k-theme-bg:#000!important;--k-theme-surface:#000!important;--k-theme-text:#fff!important;--k-theme-muted:#fff!important;--k-theme-border:#fff!important;background:#000!important;color:#fff!important}.a11y-high-contrast .smart-menu-tile,.a11y-high-contrast .smart-content-card,.a11y-high-contrast .kiosk-menu-item,.a11y-high-contrast .kiosk-event-card{border-width:3px;box-shadow:none}.a11y-high-contrast .smart-menu-tile>i,.a11y-high-contrast .touch-filter-chips button.active{background:#ffeb00;color:#000}.a11y-lower-controls .smart-kiosk-header{position:fixed;top:auto;bottom:0;left:0;right:0;border-top:2px solid var(--k-theme-border);border-bottom:0}.a11y-lower-controls .smart-kiosk-main{height:calc(100vh - var(--kiosk-header-height));padding-bottom:var(--kiosk-header-height)}.a11y-lower-controls .kiosk-notice{position:fixed;bottom:var(--kiosk-header-height);left:0;right:0;z-index:35}

/* Screen templates */
.template-lobby-welcome .smart-home-hero{min-height:330px}.template-lobby-welcome .smart-touch-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.template-lobby-welcome .smart-menu-tile.featured{grid-column:span 1}.template-restaurant-menu .smart-kiosk-header{border-bottom-color:color-mix(in srgb,#c56a3d 45%,transparent)}.template-restaurant-menu .kiosk-restaurant-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.template-restaurant-menu .kiosk-menu-item{grid-template-columns:90px minmax(0,1fr);align-content:start}.template-restaurant-menu .menu-item-price{grid-column:2}.template-events-board .kiosk-event-grid,.template-conference-schedule .kiosk-event-grid{grid-template-columns:1fr}.template-events-board .kiosk-event-card.featured,.template-conference-schedule .kiosk-event-card.featured{grid-column:auto}.template-spa-wellness{--primary:#82648d}.template-excursions{--primary:#2b7c72}.template-portrait-advertising .smart-kiosk-header{height:78px}.template-portrait-advertising .smart-home-hero{min-height:45vh}.template-conference-schedule{--primary:#315c87}

/* Public deep-link mobile pages */
.public-detail-page{padding:0;overflow:hidden}.public-detail-hero{width:100%;max-height:430px;object-fit:cover}.public-detail-icon{height:250px;display:grid;place-items:center;font-size:90px;background:linear-gradient(145deg,#eaf3f7,#fafcfd)}.public-detail-copy{padding:23px}.public-detail-copy h1{font-size:29px;margin:7px 0 15px}.public-detail-copy>p{font-size:15px;line-height:1.7;white-space:normal}.public-offer-detail{border-top:5px solid #b6842c}.event-mobile-facts{display:grid;gap:7px;padding:12px;border-radius:13px;background:#f2f7f9;margin-bottom:15px}.public-menu-hero{display:flex;align-items:center;gap:17px;padding:23px;border-radius:22px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;margin-bottom:15px}.public-menu-hero>span{font-size:50px}.public-menu-hero h1{margin:4px 0}.public-menu-hero p{margin:0;color:#e6f1f5}.public-menu-categories,.public-dietary-filters{display:flex;gap:7px;overflow:auto;margin-bottom:11px}.public-dietary-filters button{border:1px solid #dce5ea;border-radius:999px;background:#fff;padding:8px 11px;white-space:nowrap;font-weight:800}.public-dietary-filters button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.public-menu-grid{display:grid;gap:12px}.public-menu-card{display:grid;grid-template-columns:105px 1fr;background:#fff;border:1px solid #e0e8ed;border-radius:17px;overflow:hidden}.public-menu-card>img,.public-menu-card>.menu-item-placeholder{width:105px;height:100%;min-height:130px;object-fit:cover}.public-menu-card>div:last-child{padding:14px}.public-menu-card h2{font-size:18px;margin:4px 0}.public-menu-card p{font-size:12px;color:var(--muted);line-height:1.5}.public-menu-card strong{display:block;margin-top:8px;color:var(--primary)}.public-map-layout{display:grid;gap:13px}.public-map-canvas{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#e7eef2}.public-map-canvas>img{width:100%;display:block}.public-map-pin{position:absolute;transform:translate(-50%,-50%);border:0;background:transparent}.public-map-pin>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.2)}.public-map-pin.active>span{background:var(--primary);color:#fff;transform:scale(1.25)}.public-map-list{display:grid;gap:8px}.public-map-point{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.public-map-point-head{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:10px;padding:13px;text-align:left}.public-map-point-head>span{font-size:26px}.public-map-point-head div{display:grid;flex:1}.public-map-point-head small{color:var(--muted)}.public-map-point-body{display:none;padding:0 15px 15px}.public-map-point.active{border-color:var(--primary)}.public-map-point.active .public-map-point-body{display:block}.public-map-point-body ol{padding-left:20px;display:grid;gap:8px}.accessible-mobile-route{padding:11px;border-radius:12px;background:#eaf7ef;color:#245d3a}.accessible-mobile-route p{white-space:pre-line}

@media(max-width:1180px){.signage-menu-admin-grid{grid-template-columns:1fr}.signage-menu-admin-card.is-featured{grid-column:auto}.preview-controls{grid-template-columns:repeat(3,1fr)}.smart-touch-menu{grid-template-columns:repeat(3,minmax(0,1fr))}.smart-content-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kiosk-map-layout{grid-template-columns:1fr minmax(280px,.45fr)}.smart-detail-card{grid-template-columns:minmax(280px,.8fr) minmax(350px,1.2fr)}.smart-detail-qr{grid-column:1/-1;border-left:0;border-top:1px solid var(--k-theme-border);display:flex;justify-content:center;gap:18px}.template-restaurant-menu .kiosk-restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.signage-builder-layout,.wayfinding-admin-layout,.event-admin-layout{grid-template-columns:1fr}.signage-profile-sidebar,.map-sidebar{position:static}.smart-order-grid,.dietary-admin-grid{grid-template-columns:1fr 1fr}.preview-controls{grid-template-columns:1fr 1fr}.smart-kiosk-header{padding:10px 12px}.kiosk-nav-button span{display:none}.smart-clock{min-width:90px}.smart-home-hero{padding:22px}.smart-home-copy{max-width:100%}.smart-home-qr{display:none}.today-ribbon{grid-template-columns:1fr}.today-ribbon-title{border-right:0;border-bottom:1px solid var(--k-theme-border)}.today-ribbon-events{grid-template-columns:1fr}.smart-touch-menu{grid-template-columns:1fr 1fr}.smart-menu-tile.featured{grid-column:span 1}.smart-content-grid{grid-template-columns:1fr 1fr}.smart-content-card.featured{grid-column:span 1}.kiosk-event-grid{grid-template-columns:1fr}.kiosk-event-card.featured{grid-column:auto}.kiosk-restaurant-grid{grid-template-columns:1fr}.kiosk-map-layout{grid-template-columns:1fr}.kiosk-map-canvas{min-height:55vh}.contact-kiosk-grid{grid-template-columns:1fr 1fr}.smart-detail-card{grid-template-columns:1fr;overflow:auto}.smart-detail-media{min-height:260px}.smart-detail-qr{display:grid}.attract-slide{grid-template-columns:1fr}.attract-qr{display:none}}
@media(max-width:620px){.smart-order-grid,.dietary-admin-grid,.preview-controls{grid-template-columns:1fr}.event-admin-card{align-items:flex-start;flex-wrap:wrap}.event-admin-card>img,.event-icon-block{width:75px;height:65px}.signage-preview-stage{padding:8px;min-height:500px}.smart-touch-menu,.smart-content-grid,.contact-kiosk-grid{grid-template-columns:1fr}.smart-home-hero{min-height:330px}.smart-home-actions{display:grid}.kiosk-event-card{grid-template-columns:70px 1fr}.kiosk-event-card>img,.event-card-icon{width:70px;height:70px}.event-time-column{grid-column:1}.kiosk-event-card .grow{grid-column:2;grid-row:1/3}.kiosk-event-card>button{display:none}.kiosk-menu-item{grid-template-columns:80px 1fr}.kiosk-menu-item>img,.menu-item-placeholder{width:80px;height:80px}.menu-item-price{grid-column:2}.smart-kiosk-nav{gap:4px}.kiosk-nav-button{min-width:43px;padding:0 9px}.smart-clock{display:none}}

/* Portrait kiosk optimisation */
.orientation-portrait .smart-kiosk-header{height:86px}.orientation-portrait .smart-kiosk-main{height:calc(100vh - 86px)}.orientation-portrait .smart-home-hero{min-height:36vh;align-items:end}.orientation-portrait .smart-home-copy{max-width:100%}.orientation-portrait .smart-home-qr{display:none}.orientation-portrait .today-ribbon{grid-template-columns:1fr}.orientation-portrait .today-ribbon-title{border-right:0;border-bottom:1px solid var(--k-theme-border)}.orientation-portrait .today-ribbon-events{grid-template-columns:1fr}.orientation-portrait .smart-touch-menu{grid-template-columns:1fr 1fr}.orientation-portrait .smart-menu-tile.featured{grid-column:span 2}.orientation-portrait .smart-content-grid{grid-template-columns:1fr 1fr}.orientation-portrait .kiosk-event-grid,.orientation-portrait .kiosk-restaurant-grid{grid-template-columns:1fr}.orientation-portrait .kiosk-map-layout{grid-template-columns:1fr}.orientation-portrait .kiosk-map-canvas{min-height:55vh}.orientation-portrait .contact-kiosk-grid{grid-template-columns:1fr 1fr}.orientation-portrait .attract-slide{grid-template-columns:1fr;align-content:center}.orientation-portrait .attract-qr{justify-self:start;margin-top:25px}
.attract-video-slide::before{background:linear-gradient(90deg,rgba(4,16,24,.9),rgba(4,16,24,.38),rgba(4,16,24,.12));z-index:1}.attract-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.attract-video-slide>*:not(.attract-background-video){z-index:2}.screen-video-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#f6f9fb}.screen-video-settings .check{align-self:end}@media(max-width:620px){.screen-video-settings{grid-template-columns:1fr}}
.public-menu-card.is-selected{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent),0 14px 35px rgba(20,60,90,.16);animation:selectedMenuPulse 1.2s ease}@keyframes selectedMenuPulse{0%{transform:scale(.97)}60%{transform:scale(1.015)}100%{transform:scale(1)}}.kiosk-menu-item{cursor:pointer}

/* GuestScreen v1.0 — Weather & Local Conditions */
.weather-admin-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px;align-items:start}.weather-master-toggle{padding:15px 17px;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--primary) 7%,#fff);font-weight:900}.weather-location-search{position:sticky;top:22px}.inline-search-form{display:grid;grid-template-columns:1fr auto;gap:9px}.location-result-list{display:grid;gap:8px;margin-top:13px}.location-result{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:3px 12px;cursor:pointer}.location-result strong,.location-result small{grid-column:1}.location-result span{grid-column:2;grid-row:1/3;align-self:center;color:var(--primary);font-weight:900}.location-result:hover{border-color:var(--primary);box-shadow:0 10px 25px rgba(23,64,86,.1)}.weather-search-placeholder{min-height:220px;display:grid;place-content:center;text-align:center;color:var(--muted);padding:20px}.weather-search-placeholder span{font-size:54px}.weather-admin-preview{margin-top:18px}.weather-admin-live{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:16px}.weather-admin-current{padding:23px;border-radius:20px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;gap:18px}.weather-admin-current>span{font-size:64px}.weather-admin-current strong{display:block;font-size:52px;line-height:1}.weather-admin-current p{margin:5px 0;color:rgba(255,255,255,.82)}.weather-admin-current small{color:rgba(255,255,255,.76)}.weather-admin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weather-admin-facts article{padding:15px;border:1px solid var(--line);border-radius:15px;background:#f8fbfc}.weather-admin-facts span{font-size:24px}.weather-admin-facts strong{display:block;margin-top:4px}.weather-admin-cache{display:flex;justify-content:space-between;gap:10px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}

.home-weather-ribbon{width:100%;display:grid;grid-template-columns:auto minmax(170px,.55fr) minmax(240px,.85fr) minmax(280px,1.1fr) auto;align-items:center;gap:18px;border:1px solid var(--k-theme-border);border-radius:22px;background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 13%,var(--k-theme-card)),var(--k-theme-card));color:var(--k-theme-text);padding:14px 18px;text-align:left;box-shadow:var(--k-theme-shadow);cursor:pointer}.home-weather-ribbon:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 45%,var(--k-theme-border))}.home-weather-icon{font-size:52px;filter:drop-shadow(0 8px 15px rgba(0,0,0,.13))}.home-weather-now{display:grid}.home-weather-now small{color:var(--k-theme-muted);font-weight:800}.home-weather-now strong{font-size:38px;line-height:1}.home-weather-now em{font-style:normal;font-weight:900;color:var(--primary)}.home-weather-facts{display:grid;gap:4px;font-size:14px;font-weight:800;color:var(--k-theme-muted)}.home-weather-advice{padding:11px 13px;border-radius:15px;display:grid;gap:3px}.home-weather-advice b{font-size:14px}.home-weather-advice small{line-height:1.35}.home-weather-ribbon>i{font-style:normal;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:21px}.weather-level-good{background:#e9f7ef;color:#21613d}.weather-level-warning{background:#fff4dd;color:#84530d}.weather-level-neutral{background:#eef5f8;color:#365f72}

.weather-view-title{align-items:center}.weather-current-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:16px}.weather-current-hero{position:relative;border-radius:25px;padding:26px;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--secondary) 86%,#1b526d));color:#fff;display:grid;gap:18px;overflow:hidden}.weather-current-hero::after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-90px;top:-110px;background:rgba(255,255,255,.09)}.weather-current-main{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.weather-current-main>span{font-size:82px}.weather-current-main small{font-weight:900;color:rgba(255,255,255,.75)}.weather-current-main strong{display:block;font-size:66px;line-height:.95}.weather-current-main p{margin:8px 0 0;color:rgba(255,255,255,.82);font-size:17px}.weather-current-highlow{display:flex;gap:13px;position:relative;z-index:1}.weather-current-highlow span{padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.14);font-weight:900}.weather-stale-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:6px 10px;border-radius:999px;background:#fff0cf;color:#71470b;font-size:11px;font-weight:900}.weather-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.weather-stat-grid article{border:1px solid var(--k-theme-border);border-radius:18px;background:var(--k-theme-card);padding:15px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;gap:0 10px;align-items:center;box-shadow:var(--k-theme-shadow)}.weather-stat-grid article>span{grid-row:1/4;font-size:31px}.weather-stat-grid small{color:var(--k-theme-muted);font-weight:800}.weather-stat-grid strong{font-size:20px}.weather-stat-grid em{font-style:normal;color:var(--primary);font-size:12px;font-weight:900}.uv-level-high,.uv-level-very-high,.uv-level-extreme{border-color:#e29c32!important}.weather-advice-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:15px;margin-top:16px}.weather-advice-card,.weather-essentials-card{border-radius:20px;padding:18px;border:1px solid var(--k-theme-border)}.weather-advice-card{display:flex;align-items:center;gap:16px}.weather-advice-card>span{font-size:48px}.weather-advice-card small,.weather-essentials-card>small{font-weight:900;letter-spacing:.09em}.weather-advice-card h3{margin:3px 0;font-size:21px}.weather-advice-card p,.weather-essentials-card p{margin:0;line-height:1.5}.weather-essentials-card{background:var(--k-theme-card)}.weather-essentials-card>div{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.weather-essentials-card>div span{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 10%,var(--k-theme-card));font-weight:900}.weather-essentials-card b{font-size:20px}.weather-section{margin-top:22px}.weather-section-head h3{margin:2px 0 10px;font-size:24px}.weather-hourly-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(105px,1fr);gap:9px;overflow-x:auto;padding-bottom:7px}.weather-hourly-strip article{border:1px solid var(--k-theme-border);border-radius:17px;background:var(--k-theme-card);padding:13px 8px;text-align:center;display:grid;gap:4px;min-width:102px}.weather-hourly-strip time{font-weight:900;color:var(--k-theme-muted)}.weather-hourly-strip article>span{font-size:33px}.weather-hourly-strip strong{font-size:20px}.weather-hourly-strip small{font-size:11px;color:var(--k-theme-muted)}.weather-daily-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.weather-daily-grid article{border:1px solid var(--k-theme-border);border-radius:18px;background:var(--k-theme-card);padding:14px;text-align:center;display:grid;gap:7px;box-shadow:var(--k-theme-shadow)}.weather-daily-grid article.today{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,var(--k-theme-card))}.weather-daily-grid article>div:first-child{display:flex;justify-content:space-between;gap:5px}.weather-daily-grid article>span{font-size:38px}.weather-daily-grid article>strong{font-size:21px}.weather-daily-grid article>strong em{font-style:normal;color:var(--k-theme-muted)}.weather-daily-grid article>small{color:var(--k-theme-muted);min-height:28px}.weather-daily-grid article>div:last-child{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;font-size:11px;color:var(--k-theme-muted);font-weight:800}.weather-air-card{display:flex;align-items:center;gap:16px;margin-top:20px;padding:17px;border-radius:18px;background:#eaf7ef;color:#285f3e}.weather-air-card>span{font-size:42px}.weather-air-card small{font-weight:900}.weather-air-card h3{margin:2px 0}.weather-air-card p{margin:0}.air-level-moderate,.air-level-poor,.air-level-very-poor,.air-level-extreme{background:#fff2df;color:#774b0e}.weather-attribution{text-align:right;color:var(--k-theme-muted);font-size:10px;margin:12px 2px 0}

.mobile-weather-hero{padding:22px;border-radius:22px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;margin-bottom:12px}.mobile-weather-hero h1{margin:4px 0}.mobile-weather-hero p{margin:0;color:rgba(255,255,255,.82)}.mobile-weather-hero .weather-stale-badge{margin-top:12px}.mobile-weather-current{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(25,61,82,.08)}.mobile-weather-main{display:flex;align-items:center;gap:14px}.mobile-weather-main>span{font-size:55px}.mobile-weather-main small{color:var(--muted);font-weight:800}.mobile-weather-main strong{display:block;font-size:44px;line-height:1}.mobile-weather-main p{margin:5px 0 0;color:var(--muted)}.mobile-weather-highlow{display:grid;gap:5px;text-align:right;font-weight:900}.mobile-weather-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:11px 0}.mobile-weather-stats article{padding:12px 7px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center;display:grid;gap:3px}.mobile-weather-stats article>span{font-size:25px}.mobile-weather-stats small{font-size:10px;color:var(--muted)}.mobile-weather-stats strong{font-size:15px}.mobile-weather-advice,.mobile-air-quality{display:flex;align-items:center;gap:14px;padding:16px;border-radius:17px;margin:12px 0}.mobile-weather-advice>span,.mobile-air-quality>span{font-size:39px}.mobile-weather-advice small,.mobile-air-quality small{font-weight:900}.mobile-weather-advice h2,.mobile-air-quality h2{font-size:19px;margin:2px 0}.mobile-weather-advice p,.mobile-air-quality p{margin:0;font-size:13px;line-height:1.45}.mobile-weather-essentials{padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff;margin:12px 0}.mobile-weather-essentials>div:not(.section-heading){display:flex;flex-wrap:wrap;gap:7px}.mobile-weather-essentials>div span{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#f1f6f8;border-radius:999px;font-weight:800;font-size:12px}.mobile-weather-essentials p{font-size:12px;color:var(--muted);margin-bottom:0}.mobile-weather-section{margin-top:18px}.mobile-weather-hourly{display:grid;grid-auto-flow:column;grid-auto-columns:86px;gap:8px;overflow-x:auto;padding-bottom:6px}.mobile-weather-hourly article{padding:11px 6px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center;display:grid;gap:4px}.mobile-weather-hourly article>span{font-size:28px}.mobile-weather-hourly small{font-size:10px;color:var(--muted)}.mobile-weather-days{display:grid;gap:8px}.mobile-weather-days article{display:grid;grid-template-columns:70px 40px 1fr auto;align-items:center;gap:8px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}.mobile-weather-days article>div{display:grid}.mobile-weather-days article>div small{color:var(--muted)}.mobile-weather-days article>span{font-size:29px}.mobile-weather-days article>p{font-size:12px;color:var(--muted);margin:0}.mobile-weather-days article>strong em{font-style:normal;color:var(--muted)}.mobile-weather-days article>small{grid-column:3/5;font-size:10px;color:var(--muted)}.mobile-weather-attribution{text-align:center;color:var(--muted)}.hotel-guide-weather-card{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;padding:15px 17px;margin:13px 0;border-radius:18px;background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 12%,#fff),#fff);border:1px solid color-mix(in srgb,var(--primary) 25%,var(--line));color:var(--text);text-decoration:none}.hotel-guide-weather-card>span{font-size:42px}.hotel-guide-weather-card small{font-weight:900;color:var(--primary)}.hotel-guide-weather-card strong{display:block;font-size:18px}.hotel-guide-weather-card p{margin:3px 0 0;font-size:12px;color:var(--muted)}.hotel-guide-weather-card i{font-style:normal;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff}

@media(max-width:1180px){.weather-current-layout{grid-template-columns:1fr}.weather-daily-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-weather-ribbon{grid-template-columns:auto minmax(150px,.45fr) 1fr auto}.home-weather-advice{display:none}}
@media(max-width:900px){.weather-admin-layout,.weather-admin-live{grid-template-columns:1fr}.weather-location-search{position:static}.home-weather-ribbon{grid-template-columns:auto 1fr auto}.home-weather-facts,.home-weather-advice{display:none}.weather-advice-row{grid-template-columns:1fr}.weather-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.inline-search-form{grid-template-columns:1fr}.weather-admin-facts{grid-template-columns:1fr}.mobile-weather-stats{grid-template-columns:repeat(3,1fr)}.weather-daily-grid{grid-template-columns:1fr}.weather-current-main>span{font-size:58px}.weather-current-main strong{font-size:52px}}
.orientation-portrait .home-weather-ribbon{grid-template-columns:auto 1fr auto}.orientation-portrait .home-weather-facts,.orientation-portrait .home-weather-advice{display:none}.orientation-portrait .weather-current-layout,.orientation-portrait .weather-advice-row{grid-template-columns:1fr}.orientation-portrait .weather-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.orientation-portrait .weather-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.weather-cache-status{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#e9f7ef;color:#23623e;font-size:11px;font-weight:900}.weather-cache-status span{width:8px;height:8px;border-radius:50%;background:#31a163}.weather-cache-status.is-stale{background:#fff3d9;color:#76500e}.weather-cache-status.is-stale span{background:#d99220}.weather-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.weather-preview-grid>article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8fbfc}.weather-preview-grid>article>span{font-size:29px}.weather-preview-grid small{display:block;color:var(--muted);font-weight:800}.weather-preview-grid strong{display:block;margin:4px 0;font-size:18px}.weather-preview-grid p{margin:0;color:var(--muted);font-size:12px}.weather-preview-grid .weather-current-preview{grid-column:span 2;display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.weather-current-preview .weather-hero-icon{font-size:58px}.weather-current-preview strong{font-size:45px;line-height:1}.weather-current-preview h3{margin:2px 0}.weather-current-preview p,.weather-current-preview small{color:rgba(255,255,255,.78)}.weather-advice-preview{grid-column:span 2}.weather-advice-preview.good{background:#e9f7ef;color:#23623e}.weather-advice-preview.warning{background:#fff3d9;color:#76500e}.weather-cache-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
@media(max-width:900px){.weather-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.weather-preview-grid{grid-template-columns:1fr}.weather-preview-grid .weather-current-preview,.weather-advice-preview{grid-column:auto}}

/* v1.0.2 PIN thermal welcome card */
.pin-print-actions{align-items:center;flex-wrap:wrap}.pin-thermal-form{display:flex;gap:8px;align-items:center}.pin-thermal-form select{min-width:180px;border:1px solid rgba(255,255,255,.35);background:#fff;color:#173f57;border-radius:10px;padding:10px}.pin-printer-hint{padding:10px 12px;border-radius:12px;background:#eef6fa;color:#365262;font-size:13px}.pin-created .pin-thermal-form .btn{white-space:nowrap}@media(max-width:760px){.pin-thermal-form{width:100%;flex-wrap:wrap}.pin-thermal-form select{flex:1;min-width:0}.pin-print-actions>a,.pin-print-actions>button{flex:1}.pin-created .pin-thermal-form .btn{flex:0 0 auto}}

/* GuestScreen 1.1 — Guest Journey & Smart Services */
.smart-fields-builder{margin-top:22px}.smart-fields-builder .compact-card{display:flex;align-items:center;gap:12px;padding:12px}.smart-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin-top:8px}.smart-choice-grid label,.smart-checkbox{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--line,#dce5eb);border-radius:14px;background:#fff}.scheduled-request-box,.room-entry-box{padding:16px;border:1px solid #cfe1ec;border-radius:18px;background:linear-gradient(135deg,#f4fbff,#fff)}.scheduled-request-box>div:first-child{display:flex;gap:12px;align-items:center;margin-bottom:12px}.scheduled-request-box>div:first-child>span{font-size:28px}.scheduled-request-box small{display:block;color:#617482}.room-entry-box{display:grid;gap:10px}.room-entry-box label{display:flex;gap:9px;align-items:center}.scheduled-chip{background:#eef1ff;color:#4f46a5;border-radius:999px;padding:5px 9px;font-weight:700}.entry-permission{padding:10px 12px;border-radius:12px;margin:8px 0;font-weight:700}.entry-permission.allowed{background:#e8f8ef;color:#187448}.entry-permission.denied{background:#fff0f0;color:#a93838}
.precheckout-banner,.marketplace-home-banner{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;padding:16px 18px;border-radius:20px;margin:14px 0;box-shadow:0 12px 30px rgba(20,50,70,.10)}.precheckout-banner{background:linear-gradient(135deg,#173f55,#286f91);color:#fff}.marketplace-home-banner{background:linear-gradient(135deg,#fff7df,#fff);border:1px solid #f1d994}.precheckout-banner>span,.marketplace-home-banner>span{font-size:32px}.precheckout-banner div,.marketplace-home-banner div{flex:1}.precheckout-banner small,.marketplace-home-banner small{display:block;opacity:.85;margin-top:3px}.precheckout-banner i,.marketplace-home-banner i{font-size:25px}
.journey-hero{display:flex;gap:20px;align-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.journey-hero-icon{font-size:54px}.departure-countdown{display:flex;align-items:end;gap:9px;margin:14px 0}.departure-countdown strong{font-size:46px;line-height:1}.journey-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.journey-action-card{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid #dce7ed;border-radius:20px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(20,50,70,.07)}.journey-action-card>span{font-size:34px}.journey-action-card small{color:#657884}.departure-checklist label{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #edf1f3}.journey-day-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:18px}.journey-day-tabs a{min-width:72px;text-align:center;padding:12px;border-radius:14px;background:#fff;border:1px solid #dce5ea;text-decoration:none;color:inherit}.journey-day-tabs a.active{background:var(--primary);color:#fff}.journey-day-tabs small{display:block}.journey-list article{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #edf1f3}.journey-time{font-weight:800;background:#edf7fb;color:#176485;border-radius:10px;padding:7px 9px;min-width:56px;text-align:center}.journey-list p{font-size:13px;margin:7px 0 0;color:#5d717d}
.lost-found-form{max-width:760px;margin-inline:auto}.lost-found-list article,.partner-list article{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f3}.lost-found-admin-list{display:grid;gap:14px}.lost-found-case-head{display:flex;gap:14px}.lost-found-big-icon{font-size:36px}.lost-found-thumb{width:110px;height:90px;object-fit:cover;border-radius:14px}.contact-summary{padding:10px;background:#f4f7f9;border-radius:10px}.status-reported{background:#fff3da;color:#8a5b00}.status-searching{background:#e9f3ff;color:#1c6092}.status-found{background:#e8f8ef;color:#1f7148}.status-returned,.status-redeemed{background:#e8f8ef;color:#1f7148}
.marketplace-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.marketplace-hero{display:flex;gap:18px;align-items:center}.marketplace-hero>span{font-size:48px}.marketplace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.marketplace-card{overflow:hidden;padding:0}.marketplace-card>img{width:100%;height:180px;object-fit:cover}.marketplace-card>div{padding:18px}.discount-badge{display:inline-block;padding:7px 11px;border-radius:999px;background:#fff1c9;color:#7c5700;margin:4px 0 10px}.digital-voucher{border:2px dashed var(--primary);border-radius:16px;padding:14px;text-align:center;margin:14px 0;background:#f8fcff}.digital-voucher small,.digital-voucher span{display:block}.digital-voucher strong{display:block;font-size:27px;letter-spacing:3px;margin:5px}.translation-count-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.translation-count-grid article{padding:16px;background:#f6f9fb;border-radius:16px}.translation-count-grid strong{display:block;font-size:30px;margin:5px 0 10px}.feedback-case-form{display:flex;align-items:end;gap:10px;margin-top:12px}.feedback-case-form label{min-width:150px}.feedback-case-form label.grow{flex:1}.case-new{border-left:4px solid #d8871c}.case-contacted{border-left:4px solid #2b78b3}.case-resolved{border-left:4px solid #2f8d5b}.urgent-card{background:linear-gradient(135deg,#fff1f1,#fff)}.recovery-message,.public-review-prompt{padding:16px;border-radius:17px;margin-top:18px}.recovery-message{display:flex;gap:12px;background:#fff5e9}.public-review-prompt{background:#f0fbf5;text-align:center}.public-review-prompt>span{font-size:36px;color:#d04b65}
@media(max-width:900px){.marketplace-admin-grid{grid-template-columns:1fr}.feedback-case-form{flex-direction:column;align-items:stretch}.journey-action-grid{grid-template-columns:1fr}.journey-hero{align-items:flex-start}.lost-found-case-head{flex-wrap:wrap}.translation-count-grid{grid-template-columns:1fr}}

/* v1.1 smart request photos & transparent public-review access */
.request-photo-box{display:flex;align-items:center;gap:14px;padding:16px;border:1px dashed var(--border);border-radius:18px;background:color-mix(in srgb,var(--primary) 5%,var(--surface));}
.request-photo-box>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;flex:1}.request-photo-box>div>span{grid-row:1/3;font-size:1.7rem}.request-photo-box small{color:var(--muted)}.request-photo-box input[type=file]{max-width:46%}
.public-review-links-secondary{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:grid;gap:10px}.public-review-links-secondary small{color:var(--muted);line-height:1.5}
@media(max-width:700px){.request-photo-box{align-items:stretch;flex-direction:column}.request-photo-box input[type=file]{max-width:100%;width:100%}}
.translation-original{margin-top:8px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--border) 80%,transparent);font-size:.88rem}.translation-original summary{cursor:pointer;color:var(--muted);font-weight:700}.translation-original p{margin:8px 0 0}.translation-error{display:block;margin-top:7px;color:var(--danger)}.compact-check{font-size:.84rem;margin-right:auto}

/* GuestScreen v1.2 Production Ready */
.health-hero,.security-score,.setup-progress{display:flex;align-items:center;gap:24px;justify-content:space-between}.health-score{width:110px;height:110px;border-radius:50%;display:grid;place-content:center;background:conic-gradient(var(--primary) 0 75%,#e7edf0 75%);border:8px solid #fff;box-shadow:0 8px 28px #1232}.health-score strong{font-size:34px;line-height:1}.health-score span{font-size:13px;text-align:center;color:#61717d}.health-healthy{border-left:5px solid #1f9d68}.health-warning{border-left:5px solid #e4a11b}.health-critical{border-left:5px solid #d94343}.health-dot{width:12px;height:12px;border-radius:50%;display:inline-block;background:#a7b2ba;flex:0 0 12px}.health-dot.ok{background:#1f9d68;box-shadow:0 0 0 5px #1f9d6817}.health-dot.warn{background:#e4a11b}.health-dot.bad{background:#d94343}.diagnostic-list,.worker-list,.queue-list,.log-list,.timeline-list{display:grid;gap:10px}.diagnostic-row,.worker-list article,.queue-row,.log-row{display:flex;align-items:flex-start;gap:12px;padding:13px 0;border-bottom:1px solid #e8edf0}.diagnostic-row:last-child,.worker-list article:last-child,.queue-row:last-child,.log-row:last-child{border-bottom:0}.diagnostic-row>div,.worker-list article>div,.queue-row>div{flex:1;min-width:0}.diagnostic-row small,.worker-list small,.queue-row small,.log-row small{display:block;color:#6b7b87;margin-top:4px}.worker-list details{max-width:180px}.worker-list pre,.log-row pre{white-space:pre-wrap;word-break:break-word;background:#0f2435;color:#d9eef8;padding:14px;border-radius:12px;max-height:320px;overflow:auto}.log-row{padding:14px;border:1px solid #e6ecef;border-left-width:5px;border-radius:14px}.log-critical,.log-error{border-left-color:#d94343}.log-warning{border-left-color:#e4a11b}.log-info,.log-notice{border-left-color:#2c82b5}.log-level{font-size:11px;font-weight:800;min-width:64px}.log-title{display:flex;gap:10px;justify-content:space-between;align-items:start}.log-title code{font-size:11px}.pagination{display:flex;gap:6px;justify-content:center;margin-top:20px}.pagination a{padding:8px 11px;border-radius:9px;background:#edf2f5}.pagination a.active{background:var(--primary);color:#fff}.security-ring,.progress-circle{--score:50;--progress:50;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) calc(var(--score, var(--progress))*1%),#e5ecef 0);position:relative;flex:0 0 120px}.security-ring:after,.progress-circle:after{content:"";position:absolute;inset:10px;background:#fff;border-radius:50%}.security-ring strong,.progress-circle strong{position:relative;z-index:1;font-size:25px}.input-suffix{display:flex;align-items:center;gap:8px}.input-suffix input{flex:1}.input-suffix span{color:#61717d;font-size:13px}.wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.wizard-step{display:flex;align-items:center;gap:16px;text-decoration:none;color:inherit;transition:.2s}.wizard-step:hover{transform:translateY(-2px)}.wizard-step.done{border-color:#83d4b3;background:#f3fcf8}.wizard-icon{width:46px;height:46px;border-radius:14px;background:#edf4f7;display:grid;place-items:center;font-size:22px}.wizard-step div{flex:1}.wizard-step p{margin:5px 0 0;color:#657680}.kiosk-command-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kiosk-command-grid form,.kiosk-command-grid button{width:100%}.screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.deployment-passed{border-left:5px solid #1f9d68}.deployment-warning{border-left:5px solid #e4a11b}.deployment-failed{border-left:5px solid #d94343}.badge-warning{background:#fff3d6;color:#9a6300}.queue-row .actions{margin-left:auto}.filter-bar{display:grid;grid-template-columns:160px 190px 1fr auto;gap:8px;margin-bottom:16px}.danger-text{color:#bc3030}.health-summary .stat-card strong{font-size:23px}
@media(max-width:900px){.health-hero,.security-score,.setup-progress{align-items:flex-start;flex-wrap:wrap}.wizard-grid,.screen-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:1fr}.health-score,.security-ring,.progress-circle{width:92px;height:92px;flex-basis:92px}.log-title{display:block}.log-title code{display:block;margin-top:5px}.diagnostic-row,.worker-list article,.queue-row{flex-wrap:wrap}}
.health-dashboard-alert{display:flex;align-items:center;gap:14px;background:#fff8e7;border:1px solid #f2cc75;color:#6f4d00;padding:14px 18px;border-radius:16px;margin-bottom:14px;text-decoration:none}.health-dashboard-alert>span{font-size:25px}.health-dashboard-alert>div{flex:1}.health-dashboard-alert small{display:block;margin-top:3px}.health-dashboard-alert b{white-space:nowrap}
