:root{
  --ink:#1b1d21;--muted:#696b73;--soft:#f4f1ec;--panel:#ffffff;--panel2:#faf8f5;--line:#e8e2da;
  --brand:#7d1835;--brand2:#99213f;--coral:#d94b3d;--amber:#e9a62a;--teal:#17796f;--blue:#3566c8;--violet:#655a82;
  --success:#17796f;--warning:#a96805;--danger:#b83243;--info:#3566c8;--shadow:0 18px 50px rgba(31,35,48,.10);
  --radius:18px;--radius-sm:12px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);
  --max:1320px;
}
@media(prefers-color-scheme:dark){:root{--ink:#f5f1ee;--muted:#a8acb5;--soft:#101217;--panel:#171a20;--panel2:#1c2027;--line:#2b3038;--shadow:0 18px 50px rgba(0,0,0,.28)}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--soft)}body{margin:0;color:var(--ink);background:var(--soft);font-family:"Avenir Next",Avenir,"Segoe UI Variable","Segoe UI",system-ui,sans-serif;min-height:100%;overscroll-behavior-y:none}button,input,select,textarea{font:inherit}button{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}
/* splash */
.splash{position:fixed;inset:0;z-index:9999;background:var(--ink);display:grid;place-content:center;text-align:center;color:white;transition:.45s ease;overflow:hidden}.splash.hide{opacity:0;pointer-events:none}.splash-orbit{position:absolute;width:330px;height:330px;border:1px solid rgba(255,255,255,.18);border-radius:44% 56% 49% 51%;left:50%;top:50%;transform:translate(-50%,-52%) rotate(18deg)}.splash-logo{width:104px;height:104px;border-radius:32px;margin:auto;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(10px);display:grid;place-items:center;box-shadow:0 24px 70px rgba(0,0,0,.25)}.splash-logo span{font-size:42px;font-weight:900;letter-spacing:-3px}.splash-title{font-size:28px;font-weight:850;letter-spacing:.04em;margin-top:22px}.splash-sub{opacity:.8;margin-top:6px;font-size:13px}
/* shell */
.app-shell{min-height:100%;display:flex}.desktop-rail{display:none}.mobile-frame{width:100%;min-width:0;min-height:100%;padding-bottom:calc(82px + var(--safe-bottom))}.app-header{position:sticky;top:0;z-index:40;height:calc(66px + var(--safe-top));padding:calc(10px + var(--safe-top)) 16px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:color-mix(in srgb,var(--soft) 86%,transparent);backdrop-filter:saturate(1.5) blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.header-left,.header-actions,.header-title-wrap{display:flex;align-items:center;min-width:0}.header-left{gap:11px}.header-title-wrap{display:block}.header-title-wrap small{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.12em}.header-title-wrap h1{font-size:19px;line-height:1.1;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}.mobile-brand{border:0;background:var(--brand);color:white;width:38px;height:38px;border-radius:13px;font-weight:900;box-shadow:0 9px 24px rgba(143,33,65,.25)}.header-actions{gap:7px}.icon-btn,.avatar-btn{border:1px solid var(--line);background:var(--panel);width:40px;height:40px;border-radius:13px;display:grid;place-items:center;cursor:pointer}.icon-btn svg{width:19px;height:19px}.avatar-btn{border:0;background:#23262c;color:white;font-size:12px;font-weight:800}.status-icon{position:relative}.sync-dot{width:11px;height:11px;border-radius:50%;display:block;background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 13%,transparent)}.sync-dot.offline{background:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 13%,transparent)}.sync-dot.pending{background:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 20%,transparent)}
.app-view{width:min(100%,var(--max));margin:0 auto;padding:16px 14px 28px;outline:none}.offline-banner{position:sticky;top:calc(66px + var(--safe-top));z-index:35;background:#fff1d8;color:#6c4700;padding:9px 15px;border-bottom:1px solid #efd6a7;font-size:12px;font-weight:700}
/* bottom nav */
.bottom-nav{position:fixed;z-index:50;left:10px;right:10px;bottom:calc(8px + var(--safe-bottom));height:68px;padding:6px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(22px);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:23px;box-shadow:0 16px 40px rgba(31,35,48,.16)}.bottom-nav button{border:0;background:none;min-width:0;border-radius:18px;color:var(--muted);display:grid;place-items:center;align-content:center;gap:2px;font-size:9px;font-weight:800;padding:5px 3px;cursor:pointer}.bottom-nav button svg{width:21px;height:21px}.bottom-nav button.active{background:color-mix(in srgb,var(--brand) 9%,var(--panel));color:var(--brand)}
/* common typography/layout */
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:3px 2px 16px}.page-head h2{font-size:26px;line-height:1.08;margin:0;letter-spacing:-.035em}.page-head p{font-size:13px;color:var(--muted);margin:7px 0 0;max-width:680px}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:22px 2px 10px}.section-title h3{font-size:16px;margin:0}.section-title p{font-size:12px;color:var(--muted);margin:3px 0 0}.section-title a,.text-link{border:0;background:none;color:var(--brand);font-weight:750;cursor:pointer;text-decoration:none}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.stack{display:grid;gap:10px}.row{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.wrap{flex-wrap:wrap}.divider{height:1px;background:var(--line);margin:14px 0}
/* cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 1px 0 rgba(255,255,255,.2)}.card.flat{box-shadow:none}.card.soft{background:var(--panel2)}.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;border:0;box-shadow:0 22px 52px rgba(131,29,58,.24)}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.15);width:260px;height:260px;border-radius:40% 60% 55% 45%;right:-100px;top:-120px;transform:rotate(28deg)}.hero:after{right:40px;top:auto;bottom:-230px;width:330px;height:330px}.hero>*{position:relative;z-index:1}.hero-kicker{font-size:10px;font-weight:850;letter-spacing:.14em;opacity:.76}.hero h2{font-size:28px;margin:8px 0 7px;letter-spacing:-.04em;max-width:700px}.hero p{margin:0;opacity:.83;font-size:13px;max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.hero .btn-glass{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);color:#fff}.metric{min-height:108px;display:flex;flex-direction:column;justify-content:space-between}.metric-top{display:flex;justify-content:space-between;align-items:center}.metric-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 10%,var(--panel));color:var(--brand)}.metric-icon svg{width:19px;height:19px}.metric-value{font-size:28px;font-weight:860;letter-spacing:-.04em;margin-top:14px}.metric-label{font-size:11px;color:var(--muted);font-weight:700}.metric-note{font-size:10px;color:var(--muted);margin-top:3px}.accent-coral .metric-icon{background:color-mix(in srgb,var(--coral) 13%,var(--panel));color:var(--coral)}.accent-teal .metric-icon{background:color-mix(in srgb,var(--teal) 12%,var(--panel));color:var(--teal)}.accent-blue .metric-icon{background:color-mix(in srgb,var(--blue) 11%,var(--panel));color:var(--blue)}.accent-amber .metric-icon{background:color-mix(in srgb,var(--amber) 18%,var(--panel));color:#9b6600}
/* buttons */
.btn{border:0;border-radius:13px;min-height:42px;padding:10px 14px;font-weight:760;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none}.btn svg{width:17px;height:17px}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 25px rgba(143,33,65,.18)}.btn-secondary{background:var(--panel2);border:1px solid var(--line);color:var(--ink)}.btn-success{background:var(--success);color:white}.btn-danger{background:var(--danger);color:#fff}.btn-warning{background:#fff0cc;color:#704600;border:1px solid #f0d18a}.btn-ghost{background:transparent;border:1px solid var(--line)}.btn-light{background:white;color:#1f2632}.btn-ghost-light{background:transparent;color:white;border:1px solid rgba(255,255,255,.35)}.btn-sm{min-height:34px;border-radius:11px;padding:7px 10px;font-size:11px}.btn-block{width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
/* chips / status */
.chip{display:inline-flex;align-items:center;gap:6px;min-height:25px;border-radius:999px;padding:4px 9px;background:var(--panel2);border:1px solid var(--line);font-size:10px;font-weight:800;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.72}.chip.ok{background:#e8f7f1;color:#11725e;border-color:#cbeadf}.chip.warn{background:#fff4da;color:#956300;border-color:#f2dca6}.chip.danger{background:#fce9eb;color:#a12839;border-color:#f2cdd2}.chip.info{background:#edf1ff;color:#3158be;border-color:#d7dffc}.chip.brand{background:#f8e9ef;color:var(--brand);border-color:#ecd0db}.chip.neutral{color:var(--muted)}
/* list */
.list{display:grid;gap:8px}.list-item{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:13px;display:flex;align-items:center;gap:12px;min-width:0}.list-item.clickable{cursor:pointer}.list-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto;background:var(--panel2);color:var(--brand)}.list-icon svg{width:20px;height:20px}.list-copy{min-width:0;flex:1}.list-copy b{font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-copy small{font-size:11px;color:var(--muted);display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-meta{text-align:right;display:grid;justify-items:end;gap:4px}.chev{font-size:20px;color:var(--muted)}
/* tables */
.table-wrap{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th,.table td{padding:11px 13px;text-align:left;border-bottom:1px solid var(--line);font-size:11px;vertical-align:middle}.table th{font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:850;background:var(--panel2);position:sticky;top:0}.table tr:last-child td{border-bottom:0}.table .name-cell b{font-size:12px}.table .name-cell small{display:block;color:var(--muted);margin-top:2px}.table-actions{display:flex;gap:5px;justify-content:flex-end}.table-actions .icon-btn{width:32px;height:32px;border-radius:10px}.empty{padding:34px 20px;text-align:center;color:var(--muted)}
/* forms */
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.field{display:grid;gap:6px}.field label{font-size:10px;font-weight:800;color:var(--muted);letter-spacing:.02em}.field input,.field select,.field textarea,.search-input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;color:var(--ink);background:var(--panel2);outline:none;font-size:14px}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent)}.field-hint{font-size:10px;color:var(--muted)}.form-section{border-top:1px solid var(--line);padding-top:14px;margin-top:5px}.form-section-title{font-size:12px;font-weight:850;margin-bottom:9px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}.switch{position:relative;width:46px;height:28px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;border-radius:99px;background:#c9ccd2;transition:.2s}.slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s}.switch input:checked+.slider{background:var(--brand)}.switch input:checked+.slider:before{transform:translateX(18px)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:3px;border-radius:13px;background:var(--panel2);border:1px solid var(--line)}.segmented button{border:0;background:none;border-radius:10px;padding:8px 6px;font-size:10px;font-weight:800;color:var(--muted);cursor:pointer}.segmented button.active{background:var(--panel);color:var(--brand);box-shadow:0 2px 7px rgba(20,30,40,.08)}.searchbar{position:relative}.searchbar svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}.searchbar .search-input{padding-left:40px}
/* native quick grid */
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quick-action{border:0;background:transparent;text-align:center;display:grid;justify-items:center;gap:6px;color:var(--ink);cursor:pointer;min-width:0}.quick-action span:first-child{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);box-shadow:0 6px 18px rgba(23,33,47,.06);color:var(--brand)}.quick-action svg{width:21px;height:21px}.quick-action b{font-size:9px;line-height:1.1}.quick-action:nth-child(2) span:first-child{color:var(--teal)}.quick-action:nth-child(3) span:first-child{color:var(--blue)}.quick-action:nth-child(4) span:first-child{color:var(--coral)}
/* progress */
.progress{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--brand);width:0}.progress.teal>span{background:var(--teal)}.progress.blue>span{background:var(--blue)}.progress.amber>span{background:var(--amber)}
/* charts simple */
.bar-row{display:grid;grid-template-columns:110px 1fr 38px;gap:9px;align-items:center;font-size:10px;margin:8px 0}.bar-track{height:8px;background:var(--line);border-radius:99px;overflow:hidden}.bar-track span{height:100%;display:block;border-radius:99px;background:var(--brand)}
/* map */
.map-card{position:relative;min-height:420px;overflow:hidden;background:radial-gradient(circle at 25% 25%,rgba(21,143,130,.10),transparent 32%),radial-gradient(circle at 80% 70%,rgba(60,99,214,.10),transparent 34%),var(--panel);border:1px solid var(--line);border-radius:24px}.map-canvas{position:absolute;inset:0}.map-path{position:absolute;height:12px;border-radius:99px;background:#ddd8d2;transform-origin:left center}.map-path.p1{width:72%;left:8%;top:45%;transform:rotate(-9deg)}.map-path.p2{width:50%;left:28%;top:52%;transform:rotate(50deg)}.map-path.p3{width:42%;left:12%;top:69%;transform:rotate(10deg)}.map-point{position:absolute;border:0;background:var(--panel);border:2px solid var(--brand);box-shadow:0 8px 18px rgba(20,30,40,.12);width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:9px;font-weight:900;cursor:pointer}.map-point.parking{border-color:var(--blue)}.map-point.medical{border-color:var(--danger)}.map-point.food{border-color:var(--amber)}.map-point.help{border-color:var(--teal)}.map-legend{position:absolute;left:12px;right:12px;bottom:12px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:15px;padding:10px;display:flex;gap:10px;flex-wrap:wrap;font-size:9px}.map-note{position:absolute;top:12px;left:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:7px 9px;font-size:9px;color:var(--muted)}
/* badge/pass */
.pass-card{position:relative;overflow:hidden;border-radius:28px;background:var(--panel);color:#19202b;border:1px solid #eadfdd;box-shadow:0 24px 55px rgba(70,35,44,.16);padding:20px;max-width:420px;margin:auto}.pass-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:10px;background:var(--brand)}.pass-header{display:flex;justify-content:space-between;gap:12px;margin-top:4px}.pass-mark{width:48px;height:48px;border-radius:16px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900}.pass-event{font-size:9px;letter-spacing:.12em;font-weight:800;color:#6e7480}.pass-name{font-size:23px;font-weight:900;letter-spacing:-.04em;margin-top:20px}.pass-unit{font-size:12px;color:#6e7480;margin-top:4px}.pass-body{display:grid;grid-template-columns:1fr 116px;gap:14px;align-items:end;margin-top:18px}.qr-box{background:white;border:1px solid #dedede;padding:7px;border-radius:14px}.qr-box svg{width:100%;display:block}.pass-meta{display:grid;gap:10px}.pass-meta small{display:block;color:#7b8089;font-size:8px;text-transform:uppercase;font-weight:850;letter-spacing:.06em}.pass-meta b{font-size:11px}.category-band{margin:18px -20px -20px;padding:11px 20px;background:#f2e3e8;color:var(--brand);font-weight:900;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
/* accommodation */
.house-card .house-top{display:flex;justify-content:space-between;gap:10px}.house-no{font-size:23px;font-weight:900;letter-spacing:-.04em}.house-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.mini-stat{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:9px}.mini-stat small{display:block;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.mini-stat b{font-size:13px;margin-top:3px;display:block}.cluster-board{display:grid;gap:10px}.cluster-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:14px}.cluster-head{display:flex;justify-content:space-between;gap:10px}.house-pill-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.house-pill{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:6px 8px;font-size:9px;font-weight:750}.allocation-preview{border:1px solid color-mix(in srgb,var(--teal) 30%,var(--line));background:color-mix(in srgb,var(--teal) 5%,var(--panel));border-radius:20px;padding:16px}.score-badge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e8f7f1;color:#0d705c;font-weight:900;font-size:12px;border:6px solid #c9ece0}
/* timeline */
.timeline{display:grid;gap:0}.timeline-item{display:grid;grid-template-columns:34px 1fr;gap:10px;min-height:62px}.timeline-dot{position:relative;display:grid;place-items:start center}.timeline-dot:before{content:"";width:11px;height:11px;border-radius:50%;background:var(--brand);margin-top:5px;z-index:2}.timeline-dot:after{content:"";position:absolute;top:16px;bottom:-5px;width:2px;background:var(--line)}.timeline-item:last-child .timeline-dot:after{display:none}.timeline-copy b{font-size:12px}.timeline-copy small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.timeline-copy p{font-size:11px;margin:6px 0 0}
/* dialogs */
dialog{padding:0;border:0;background:transparent;color:var(--ink)}dialog::backdrop{background:rgba(16,20,28,.48);backdrop-filter:blur(4px)}.sheet-dialog{width:100%;max-width:680px;margin:auto 0 0 0;border-radius:26px 26px 0 0;background:var(--panel);max-height:88%;overflow:auto}.sheet-grabber{width:40px;height:4px;border-radius:10px;background:var(--line);margin:9px auto}.sheet-content{padding:5px 17px calc(24px + var(--safe-bottom))}.modal-dialog{width:min(94%,720px);margin:auto;border-radius:26px;background:var(--panel);max-height:90%;overflow:auto;box-shadow:var(--shadow)}.modal-content{padding:20px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.dialog-head h2{font-size:20px;margin:0}.dialog-head p{font-size:11px;color:var(--muted);margin:5px 0 0}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px}.scanner-dialog{width:100%;height:100%;max-width:none;max-height:none;background:#0f1115}.scanner-shell{min-height:100%;color:white;display:flex;flex-direction:column}.scanner-head{padding:calc(16px + var(--safe-top)) 18px 14px;display:flex;justify-content:space-between;align-items:center}.scanner-head small{font-size:9px;letter-spacing:.14em;opacity:.6}.scanner-head h2{margin:3px 0 0;font-size:24px}.inverse{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.18)}.camera-stage{position:relative;margin:0 14px;min-height:470px;border-radius:28px;overflow:hidden;background:#181a1e;display:grid;place-items:center}.camera-stage video{position:absolute;width:100%;height:100%;object-fit:cover}.scan-frame{width:240px;height:240px;position:relative;border:1px solid rgba(255,255,255,.18);border-radius:28px;z-index:2}.scan-frame i{position:absolute;width:48px;height:48px;border-color:#fff;border-style:solid}.scan-frame i:nth-child(1){left:-2px;top:-2px;border-width:4px 0 0 4px;border-radius:22px 0 0}.scan-frame i:nth-child(2){right:-2px;top:-2px;border-width:4px 4px 0 0;border-radius:0 22px 0 0}.scan-frame i:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 22px}.scan-frame i:nth-child(4){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 22px}.camera-message{position:absolute;bottom:18px;z-index:2;background:rgba(0,0,0,.46);padding:8px 12px;border-radius:12px;font-size:11px}.scanner-actions{display:flex;gap:9px;padding:16px 18px calc(18px + var(--safe-bottom));margin-top:auto}.scanner-actions .btn{flex:1}
/* toast/install */
.toast{position:fixed;z-index:999;left:50%;bottom:calc(90px + var(--safe-bottom));transform:translate(-50%,18px);min-width:180px;max-width:88%;background:#171b22;color:white;border-radius:14px;padding:11px 14px;font-size:11px;font-weight:650;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.install-bar{position:fixed;z-index:70;left:10px;right:10px;bottom:calc(88px + var(--safe-bottom));background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:10px;display:grid;grid-template-columns:40px 1fr auto auto;gap:9px;align-items:center;box-shadow:var(--shadow)}.install-icon{width:40px;height:40px;border-radius:13px;background:var(--brand);color:white;display:grid;place-items:center;font-weight:900}.install-bar b{font-size:11px;display:block}.install-bar small{display:block;font-size:9px;color:var(--muted);margin-top:2px}
/* special blocks */
.notice{border-radius:16px;padding:12px 13px;background:#fff8e9;border:1px solid #f2dfb5;color:#6a4a0d;font-size:11px}.notice.info{background:#eef3ff;border-color:#d5e0ff;color:#284ea6}.notice.success{background:#eaf8f3;border-color:#ceeadf;color:#126b59}.notice.danger{background:#fcebed;border-color:#efcfd4;color:#972b3b}.callout{border-left:4px solid var(--brand);background:color-mix(in srgb,var(--brand) 5%,var(--panel));padding:12px 13px;border-radius:0 14px 14px 0;font-size:11px}.mock-label{font-size:9px;font-weight:850;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.code-token{border:1px dashed var(--line);border-radius:12px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:10px;word-break:break-all;background:var(--panel2)}
/* desktop */
@media(min-width:900px){
  .app-shell{display:grid;grid-template-columns:248px 1fr}.desktop-rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#171a21;color:#eef0f3;padding:18px 13px;border-right:1px solid #282d36}.rail-brand{display:flex;align-items:center;gap:11px;border:0;background:none;color:white;text-align:left;padding:4px 6px 14px;cursor:pointer}.brand-mark{width:43px;height:43px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:var(--brand);box-shadow:0 10px 26px rgba(219,73,82,.24)}.rail-brand b{display:block;font-size:16px}.rail-brand small{display:block;color:#8f96a3;font-size:10px;margin-top:2px}.workspace-chip{margin:2px 5px 13px;border:1px solid #2d333d;border-radius:13px;padding:9px 10px;font-size:9px;color:#b7bdc8;background:#1d2129}.workspace-chip b{color:white;display:block;font-size:10px;margin-bottom:2px}.rail-nav{display:grid;gap:4px;overflow:auto}.rail-nav button{width:100%;border:0;background:none;color:#9ba3af;min-height:42px;padding:9px 11px;border-radius:12px;display:flex;align-items:center;gap:10px;text-align:left;font-size:11px;font-weight:730;cursor:pointer}.rail-nav svg{width:18px;height:18px}.rail-nav button.active{background:rgba(125,24,53,.18);color:white}.rail-nav .nav-section{padding:14px 10px 4px;font-size:8px;color:#666f7d;text-transform:uppercase;letter-spacing:.14em;font-weight:900}.rail-footer{margin-top:auto;display:grid;gap:8px}.rail-status{border:1px solid #2d333d;background:#1d2129;color:#aab1bc;border-radius:12px;padding:9px 10px;text-align:left;font-size:9px;cursor:pointer}.profile-card{border:1px solid #2d333d;background:#20242d;color:white;border-radius:15px;padding:9px;display:flex;gap:9px;align-items:center;text-align:left;cursor:pointer}.avatar{width:34px;height:34px;border-radius:11px;background:#30333a;display:grid;place-items:center;font-size:10px;font-weight:900}.profile-copy{min-width:0;flex:1}.profile-copy b,.profile-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-copy b{font-size:10px}.profile-copy small{font-size:8px;color:#8f96a3;margin-top:2px}.mobile-frame{padding-bottom:0;min-height:100vh}.bottom-nav{display:none}.app-header{height:74px;padding:12px 24px}.mobile-brand{display:none}.header-title-wrap h1{max-width:42vw;font-size:20px}.app-view{padding:24px 26px 50px}.page-head h2{font-size:32px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(8,1fr)}.sheet-dialog{margin:auto;border-radius:26px;max-height:88%}.sheet-grabber{display:none}.toast{bottom:28px}.install-bar{left:auto;right:24px;bottom:24px;width:460px}.offline-banner{top:74px}.hero{padding:24px}.hero h2{font-size:34px}.map-card{min-height:520px}
}
@media(min-width:1200px){.app-shell{grid-template-columns:270px 1fr}.desktop-rail{padding:20px 15px}.app-view{padding-left:32px;padding-right:32px}.content-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px}.sticky-side{position:sticky;top:98px;align-self:start}}
@media(max-width:390px){.app-view{padding-left:10px;padding-right:10px}.bottom-nav{left:6px;right:6px}.grid-4{gap:8px}.card{padding:13px}.metric-value{font-size:24px}.quick-action span:first-child{width:44px;height:44px}.header-title-wrap h1{max-width:45vw;font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* notification + polish */
.notify-btn{position:relative}.notify-badge{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--coral);color:#fff;border:2px solid var(--soft);font-size:9px;font-weight:900;display:grid;place-items:center;line-height:1}.push-status{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.push-status b{display:block;font-size:12px}.push-status small{display:block;color:var(--muted);font-size:10px;margin-top:3px;line-height:1.4}.notification-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}.notification-item:last-child{border-bottom:0}.notification-symbol{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 9%,var(--panel));color:var(--brand)}.notification-symbol svg{width:19px;height:19px}.notification-copy b{font-size:11px;display:block}.notification-copy p{font-size:10px;color:var(--muted);margin:4px 0;line-height:1.45}.notification-copy small{font-size:9px;color:var(--muted)}.app-view:before{content:"";position:fixed;pointer-events:none;z-index:-1;width:320px;height:320px;border-radius:50%;right:-180px;top:160px;background:radial-gradient(circle,color-mix(in srgb,var(--amber) 9%,transparent),transparent 68%)}
@media(max-width:520px){#quickSearchBtn{display:none}.header-title-wrap h1{max-width:39vw}.header-actions{gap:5px}.icon-btn,.avatar-btn{width:38px;height:38px}}
@media(max-width:350px){#syncBtn{display:none}.header-title-wrap h1{max-width:48vw}}
:root{color-scheme:light;--ink:#101828;--muted:#667085;--soft:#f4f7fb;--panel:#fff;--panel2:#f8fafc;--line:#e4eaf2;--brand:#2563eb;--brand2:#1d4ed8;--coral:#f43f5e;--amber:#f59e0b;--teal:#0ea5a4;--blue:#2563eb;--violet:#7c3aed;--success:#12b76a;--warning:#f59e0b;--danger:#e11d48;--info:#2563eb;--navy:#0b1220;--cyan:#06b6d4;--shadow:0 14px 40px rgba(16,24,40,.10);--shadow-lg:0 24px 70px rgba(15,23,42,.18);--radius:20px;--radius-sm:13px;--ease:cubic-bezier(.2,.8,.2,1)}
@media(prefers-color-scheme:dark){:root{color-scheme:light;--ink:#101828;--muted:#667085;--soft:#f4f7fb;--panel:#fff;--panel2:#f8fafc;--line:#e4eaf2;--brand:#2563eb;--brand2:#1d4ed8;--coral:#f43f5e;--amber:#f59e0b;--teal:#0ea5a4;--blue:#2563eb;--violet:#7c3aed;--success:#12b76a;--warning:#f59e0b;--danger:#e11d48;--info:#2563eb}}
html,body{background:var(--soft);color:var(--ink)}body,button,input,select,textarea{font-family:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;letter-spacing:-.01em}body{font-size:15px;line-height:1.5}.mono,.code-token{font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}
.splash{background:linear-gradient(145deg,#07111f 0%,#0c1d3f 60%,#12356c 100%);color:white}.splash:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 20%,rgba(6,182,212,.30),transparent 28%),radial-gradient(circle at 18% 76%,rgba(37,99,235,.28),transparent 32%)}.splash-orbit{border-color:rgba(255,255,255,.20)}.splash-logo{background:#2563eb;border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 60px rgba(0,0,0,.28)}.splash-logo:after{background:#22d3ee}.splash-title{font-weight:850;letter-spacing:-.035em}.splash-sub{opacity:.78}
.mobile-frame{background:var(--soft)}.app-header{height:calc(72px + var(--safe-top));padding:calc(11px + var(--safe-top)) 14px 9px;background:rgba(244,247,251,.90);border-bottom:1px solid rgba(228,234,242,.92);backdrop-filter:blur(18px) saturate(1.3)}.mobile-brand,.brand-mark{background:linear-gradient(145deg,#2563eb,#1745b8);color:#fff;box-shadow:0 10px 22px rgba(37,99,235,.22)}.mobile-brand:after,.brand-mark:after{background:#22d3ee!important}.header-title-wrap small{color:#7c8aa0;font-size:10px;letter-spacing:.10em}.header-title-wrap h1{font-size:20px;font-weight:780;letter-spacing:-.03em;color:var(--ink)}.icon-btn{background:#fff;border-color:var(--line);box-shadow:0 4px 12px rgba(15,23,42,.04)}.avatar-btn{background:#111827;color:#fff}.app-view{padding:18px 13px 34px}.offline-banner{background:#fff7e6;border-color:#fde1a8;color:#7a4b00}
.bottom-nav{background:rgba(255,255,255,.96);border-color:rgba(218,226,238,.95);box-shadow:0 16px 40px rgba(15,23,42,.16);border-radius:22px}.bottom-nav button{color:#7b879b;font-size:10px;font-weight:720}.bottom-nav button.active{background:#eaf2ff;color:#1d4ed8;box-shadow:none}
.page-head{margin:5px 1px 18px}.page-head h2{font-size:29px;line-height:1.08;font-weight:800;letter-spacing:-.045em;color:#101828}.page-head p{font-size:14px;line-height:1.55;color:#667085;margin-top:8px}.section-title h3{font-size:18px;font-weight:780;letter-spacing:-.025em}.section-title p{font-size:12px;color:#7b879b}.mock-label,.hero-kicker{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:16px;box-shadow:0 4px 14px rgba(15,23,42,.035)}.card.soft{background:#f9fbfd}.card.clickable:hover,.list-item.clickable:hover{border-color:#bfd2f7;background:#fbfdff}
.hero{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#0b1730 0%,#102a56 55%,#17489a 100%)!important;color:#fff!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 18px 44px rgba(13,35,77,.20)!important;padding:21px;border-radius:24px}.hero:before{content:"";position:absolute;z-index:-1;inset:auto -80px -120px auto;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.42),rgba(6,182,212,0) 68%);border:0;transform:none}.hero:after{content:"";position:absolute;z-index:-1;right:18px;top:17px;width:88px;height:7px;border-radius:99px;background:linear-gradient(90deg,#22d3ee,#60a5fa);border:0;opacity:1;transform:none}.hero h2{color:#fff!important;font-size:30px;line-height:1.08;letter-spacing:-.045em;font-weight:820;margin:11px 0 10px;max-width:760px}.hero p{color:#d9e6ff!important;font-size:14px;line-height:1.55;opacity:1;max-width:680px}.hero-kicker{color:#8ed8ff!important;opacity:1}.hero .btn-light{background:#fff!important;color:#10254a!important;border:1px solid #fff!important}.hero .btn-glass,.hero .btn-ghost-light{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.30)!important;color:#fff!important;backdrop-filter:blur(8px)}.hero .btn-glass:hover,.hero .btn-ghost-light:hover{background:rgba(255,255,255,.18)!important}.hero .progress{background:rgba(255,255,255,.20)!important}.hero .progress i,.hero .progress>span{background:#fff!important}
.grid{gap:11px}.grid-4{gap:11px}.metric{min-height:116px;padding:15px;border:1px solid #e2e8f0;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#2563eb}.metric.accent-teal:after{background:#0ea5a4}.metric.accent-blue:after{background:#3b82f6}.metric.accent-coral:after{background:#f43f5e}.metric.accent-amber:after{background:#f59e0b}.metric-icon{width:34px;height:34px;border-radius:10px!important;display:grid!important;place-items:center!important;background:#eef4ff!important;color:#2563eb!important}.metric.accent-teal .metric-icon{background:#e9fbf8!important;color:#0f8c86!important}.metric.accent-coral .metric-icon{background:#fff0f3!important;color:#e11d48!important}.metric.accent-amber .metric-icon{background:#fff7e7!important;color:#b66b00!important}.metric-value{font-size:31px;font-weight:830;color:#101828;letter-spacing:-.045em;margin-top:12px}.metric-label{font-size:12px;color:#4b5870}.metric-note{font-size:11px;color:#8490a2}
.btn{min-height:44px;border-radius:13px;padding:10px 15px;font-size:13px;font-weight:750}.btn-primary{background:linear-gradient(180deg,#2f6ff0,#2257ce);color:white;box-shadow:0 8px 18px rgba(37,99,235,.20)}.btn-primary:hover{background:linear-gradient(180deg,#245fd9,#1e4db8)}.btn-secondary{background:#fff;border-color:#dfe6ef;color:#25324a}.btn-secondary:hover{background:#f8fbff;border-color:#bcd0ee}.btn-success{background:#12a96a}.btn-danger{background:#e11d48}.btn-warning{background:#fff3d7;color:#805000;border-color:#f5d48b}.text-link,.section-title a{color:#1d4ed8}
.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quick-action{min-height:66px;border:1px solid #e0e7f0;background:#fff;border-radius:16px;padding:11px 12px;gap:10px;box-shadow:0 4px 12px rgba(15,23,42,.03)}.quick-action span:first-child{width:36px;height:36px;border-radius:11px;background:#edf4ff;color:#2563eb;flex:0 0 auto}.quick-action b{font-size:12px;color:#26334b;line-height:1.25}.quick-action:hover{border-color:#bfd2f7;background:#fbfdff;transform:translateY(-1px)}
.list-item{border:0;border-bottom:1px solid #e8edf4;border-radius:0;background:transparent;padding:13px 2px;gap:11px}.list-item:last-child{border-bottom:0}.list-icon{width:40px;height:40px;border-radius:12px;background:#eef4ff;color:#2563eb}.list-copy b{font-size:13px;color:#1d2939}.list-copy small{font-size:11px;color:#7a8799}.table-wrap{border:1px solid #e1e8f0;border-radius:17px;overflow:auto;background:#fff;box-shadow:0 5px 16px rgba(15,23,42,.04)}.table th{background:#f8fafc;color:#64748b;font-size:10px;letter-spacing:.06em}.table td{font-size:12px;color:#263248}.table tr:hover td{background:#fbfdff}
.field>span,.field label{font-size:12px;font-weight:720;color:#344054}.field-hint{color:#7b879b}.field input,.field select,.field textarea,.search-input{min-height:49px;border-radius:13px;background:#fff;border:1px solid #d8e0ea;font-size:16px;color:#182230;padding:11px 12px}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:#6ea0ff;box-shadow:0 0 0 4px rgba(37,99,235,.10)}.segmented{background:#edf1f6}.segmented button.active{background:#fff;color:#1d4ed8;box-shadow:0 2px 8px rgba(15,23,42,.08)}
.chip{border-radius:999px;font-size:10px;font-weight:760}.chip.ok{background:#eaf9f2;color:#067647;border-color:#ccebdc}.chip.warn{background:#fff6e2;color:#9a6700;border-color:#f6dda5}.chip.danger{background:#fff0f2;color:#c01048;border-color:#f7cbd6}.chip.info,.chip.brand{background:#edf4ff;color:#1d4ed8;border-color:#d7e5ff}.progress{background:#edf1f6}.progress>span,.progress>i{background:linear-gradient(90deg,#2563eb,#06b6d4)}.notice.info{background:#eef5ff;border-color:#d6e6ff;color:#1f4f9f}.notice.success{background:#ecfaf4;border-color:#cdeedd;color:#0c6c4d}.notice.danger{background:#fff0f2;border-color:#f4ccd5;color:#a61b43}.notice{background:#fff7e8;border-color:#f5dfac;color:#6e4b00}
dialog::backdrop{background:rgba(6,16,32,.50);backdrop-filter:blur(5px)}.sheet-dialog,.modal-dialog{background:#fff;box-shadow:var(--shadow-lg)}.scanner-dialog{background:#07111f}.scanner-shell{background:linear-gradient(180deg,#07111f,#0e1f3b)}.scan-frame{border-color:rgba(255,255,255,.24)}.scan-frame i{border-color:#5ee7ff}.camera-message{background:rgba(4,12,25,.62)}.toast{background:#0b1220}.install-bar{background:#fff;border-color:#dbe3ee;box-shadow:0 20px 55px rgba(15,23,42,.16)}.install-icon{background:linear-gradient(145deg,#2563eb,#1745b8)}
.host-wrap .hero{background:linear-gradient(135deg,#0b1730,#17489a)!important}.explore-wrap .hero{background:linear-gradient(135deg,#0c2433,#0f5d61)!important}.explore-wrap .hero:before{background:radial-gradient(circle,rgba(45,212,191,.35),rgba(45,212,191,0) 68%)}.explore-wrap .hero:after{background:linear-gradient(90deg,#5eead4,#22d3ee)}.place-grid article.card{box-shadow:0 8px 24px rgba(15,23,42,.07)}.place-art{background:linear-gradient(135deg,#2563eb,#06b6d4)!important}.place-grid article:nth-child(even) .place-art{background:linear-gradient(135deg,#0f766e,#22c55e)!important}
@media(min-width:900px){.desktop-rail{background:linear-gradient(180deg,#08111f 0%,#0f1b31 100%);border-right:1px solid #1b2941;padding:20px 13px}.rail-brand small{color:#8291aa}.workspace-chip,.rail-status,.profile-card{background:#111f36;border-color:#20304a}.rail-nav button{color:#91a0b8}.rail-nav button:hover{background:#13243e;color:#fff}.rail-nav button.active{background:#173569;color:#fff;box-shadow:inset 3px 0 0 #38bdf8}.rail-nav .nav-section{color:#64748b}.avatar{background:#1e3a5f}.app-view{padding:26px 30px 56px}.page-head h2{font-size:35px}.hero{padding:27px}.hero h2{font-size:38px}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-action{min-height:70px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:520px){.page-head h2{font-size:27px}.hero{padding:19px}.hero h2{font-size:28px}.hero p{font-size:13px}.hero:after{width:70px;height:6px;right:15px;top:15px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{min-height:108px}.metric-value{font-size:28px}.quick-action{min-height:62px}.header-title-wrap h1{font-size:18px}}
@media(max-width:360px){.quick-grid{grid-template-columns:1fr}.hero h2{font-size:26px}}
/* OKM40 v7 — production-style, multi-accent, compact native UI */
:root{--navy:#101828;--navy2:#1d2939;--paper:#f7f8fb;--violet:#7c3aed;--cyan:#0891b2;--emerald:#059669;--amber:#d97706;--coral:#e85d4a;--blue:#2563eb;--rose:#e11d48;--ink:#101828;--sub:#667085;--line:#e6e9ef}
body{background:var(--paper);color:var(--ink)}.app-header{background:rgba(255,255,255,.92);border-bottom:1px solid rgba(16,24,40,.06);backdrop-filter:blur(18px)}.mobile-brand,.brand-mark{background:var(--navy)!important;color:#fff!important}.app-view{padding-bottom:94px}
.event-hero{position:relative;min-height:210px;border-radius:28px;padding:24px;overflow:hidden;color:#fff;display:flex;align-items:flex-end;justify-content:space-between;isolation:isolate}.event-hero:before,.event-hero:after{content:"";position:absolute;border-radius:999px;z-index:-1}.event-hero:before{width:260px;height:260px;right:-70px;top:-105px;background:rgba(255,255,255,.13)}.event-hero:after{width:150px;height:150px;right:90px;bottom:-110px;background:rgba(255,255,255,.08)}.event-hero-public{background:linear-gradient(125deg,#101828 0%,#303b72 58%,#7c3aed 130%)}.event-hero-delegate{background:linear-gradient(125deg,#172554,#2563eb 62%,#06b6d4 130%)}.event-hero-explore{background:linear-gradient(125deg,#12352f,#087f5b 58%,#f59e0b 145%)}.event-hero-copy{max-width:640px}.event-hero h2{font-size:clamp(30px,5vw,48px);letter-spacing:-.045em;line-height:1.02;margin:8px 0 10px;color:#fff}.event-hero p{max-width:600px;color:rgba(255,255,255,.78);font-size:14px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:800;color:rgba(255,255,255,.72)}.hero-orbit{width:110px;height:110px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center;font-size:40px;font-weight:850;flex:none}.hero-orbit svg{width:40px;height:40px}.hero-pass-chip{border:1px solid rgba(255,255,255,.25);border-radius:22px;padding:18px;display:grid;place-items:center;gap:4px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.hero-pass-chip svg{width:38px}.hero-pass-chip small{font-size:9px;letter-spacing:.16em}
.compact-launcher{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;margin:14px 0}.launcher-item{border:0;background:#fff;border-radius:18px;min-height:80px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 1px 0 rgba(16,24,40,.03);color:var(--ink)}.launcher-item span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center}.launcher-item span svg{width:18px}.launcher-item b{font-size:11px}.tone-violet span,.tone-violet{--tone:#7c3aed}.tone-cyan span,.tone-cyan{--tone:#0891b2}.tone-emerald span,.tone-emerald{--tone:#059669}.tone-amber span,.tone-amber{--tone:#d97706}.tone-coral span,.tone-coral{--tone:#e85d4a}.tone-blue span,.tone-blue{--tone:#2563eb}.launcher-item span{background:color-mix(in srgb,var(--tone) 12%,white);color:var(--tone)}
.home-panels{display:grid;grid-template-columns:1fr 1fr;gap:14px}.surface-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-head small{font-size:9px;font-weight:800;letter-spacing:.12em;color:#98a2b3}.panel-head h3{margin:2px 0 0;font-size:17px}.text-action{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:750;padding:6px;display:inline-flex;align-items:center;gap:4px}.text-action svg{width:14px;height:14px;flex:0 0 auto}.compact-agenda{display:grid}.agenda-row{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;border:0;border-top:1px solid #f0f1f4;background:transparent;padding:12px 0;text-align:left;color:var(--ink)}.agenda-row:first-child{border-top:0}.agenda-row time{font-size:16px;font-weight:850}.agenda-row span{min-width:0}.agenda-row span b,.agenda-row span small{display:block}.agenda-row span b{font-size:13px}.agenda-row span small{font-size:10px;color:var(--sub);margin-top:2px}.agenda-row em{font-style:normal;font-size:9px;color:var(--violet);background:#f3e8ff;padding:5px 7px;border-radius:999px}.notice-row{width:100%;display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:start;background:transparent;border:0;border-top:1px solid #f0f1f4;padding:12px 0;text-align:left}.notice-row:first-of-type{border-top:0}.notice-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);margin-top:5px}.notice-dot.danger{background:var(--rose)}.notice-row b,.notice-row small{display:block}.notice-row b{font-size:13px}.notice-row small{color:var(--sub);font-size:10px;line-height:1.4;margin-top:3px}.discover-banner{margin-top:14px;display:flex;justify-content:space-between;gap:18px;align-items:center;text-decoration:none;color:#fff;background:linear-gradient(110deg,#124e45,#0f766e 70%,#f59e0b 145%);border-radius:24px;padding:20px}.discover-banner small{font-size:9px;letter-spacing:.12em;font-weight:800;color:#a7f3d0}.discover-banner h3{margin:3px 0 4px;font-size:19px;color:#fff}.discover-banner p{margin:0;color:rgba(255,255,255,.72);font-size:11px}.discover-banner>span{width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.status-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.status-strip>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px}.status-strip span{display:inline-grid;width:30px;height:30px;border-radius:10px;place-items:center;background:color-mix(in srgb,var(--tone) 11%,white);color:var(--tone)}.status-strip small,.status-strip b{display:block}.status-strip small{font-size:9px;color:var(--sub);margin-top:7px}.status-strip b{font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-actions{display:flex;gap:8px;margin-top:12px}.mini-action{flex:1;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-decoration:none;color:var(--ink);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}
.reception-workspace{max-width:880px;margin:0 auto}.reception-search-row{display:grid;grid-template-columns:1fr 54px;gap:9px;margin-bottom:12px}.reception-search{display:flex;align-items:center;background:#fff;border:1px solid #dfe3e8;border-radius:16px;padding:0 8px 0 14px;height:54px}.reception-search svg{width:19px;color:#98a2b3}.reception-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:0 10px;font-size:16px}.reception-search button{border:0;background:#eef4ff;color:var(--blue);font-weight:800;border-radius:11px;padding:9px 12px}.scan-square{border:0;border-radius:16px;background:var(--navy);color:#fff;display:grid;place-items:center}.scan-square svg{width:22px}.reception-empty{background:#fff;border:1px solid var(--line);border-radius:26px;min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.scan-pulse{width:78px;height:78px;border-radius:26px;background:#eef4ff;color:var(--blue);display:grid;place-items:center;margin-bottom:14px}.scan-pulse svg{width:35px}.reception-empty h2{font-size:26px;margin:2px 0}.reception-empty p{color:var(--sub);margin:6px 0 18px}.reception-focus{background:#fff;border:1px solid var(--line);border-radius:26px;padding:20px}.reception-person{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center}.avatar-xl{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#e0e7ff,#dbeafe);display:grid;place-items:center;color:#3730a3;font-weight:850}.reception-person small,.reception-person p{color:var(--sub);font-size:10px;margin:0}.reception-person h2{margin:2px 0;font-size:24px}.reception-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.reception-facts>div{border-radius:16px;background:#f8fafc;padding:12px}.reception-facts small,.reception-facts b,.reception-facts span{display:block}.reception-facts small{font-size:9px;color:var(--sub)}.reception-facts b{font-size:14px;margin:3px 0}.reception-facts span{font-size:10px;color:var(--sub)}.badge-verify-strip{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid #e0e7ff;background:#f5f7ff;border-radius:16px;padding:10px 12px}.badge-verify-strip.verified{background:#ecfdf3;border-color:#abefc6}.badge-verify-strip>span{width:38px;height:38px;border-radius:12px;background:#fff;display:grid;place-items:center;color:var(--violet)}.badge-verify-strip.verified>span{color:var(--emerald)}.badge-verify-strip b,.badge-verify-strip small{display:block}.badge-verify-strip b{font-size:12px}.badge-verify-strip small{font-size:9px;color:var(--sub)}.checkin-cta{width:100%;min-height:70px;border:0;border-radius:18px;background:linear-gradient(110deg,#059669,#0d9488);color:#fff;margin-top:10px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:850}.checkin-cta svg{width:24px}.checkin-cta span,.checkin-cta small{display:block}.checkin-cta small{font-size:9px;color:rgba(255,255,255,.72);font-weight:600;margin-top:2px}.checkin-cta:disabled{background:#d0d5dd;color:#667085}.reception-help-link{width:100%;border:0;background:transparent;padding:12px;color:#667085;font-size:11px}.reception-complete{display:flex;gap:12px;align-items:center;background:#ecfdf3;color:#067647;border-radius:16px;padding:16px}.reception-complete b,.reception-complete small{display:block}.reception-complete small{font-size:10px}.reception-bottom{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:14px}.recent-checkins{display:grid;grid-template-columns:1fr 1fr;gap:8px}.recent-person{border:1px solid #eef0f4;background:#fff;border-radius:14px;padding:9px;display:grid;grid-template-columns:36px 1fr 18px;gap:8px;align-items:center;text-align:left}.recent-person>span{width:36px;height:36px;border-radius:11px;background:#ecfdf3;color:#067647;display:grid;place-items:center;font-size:10px;font-weight:800}.recent-person b,.recent-person small{display:block}.recent-person b{font-size:11px}.recent-person small{font-size:9px;color:var(--sub)}.recent-person svg{width:16px;color:var(--emerald)}
.programme-now{background:linear-gradient(110deg,#312e81,#7c3aed);color:#fff;border-radius:24px;padding:20px;display:grid;grid-template-columns:1fr minmax(180px,300px);gap:14px;align-items:center}.programme-now small{font-size:9px;letter-spacing:.12em;color:#c4b5fd;font-weight:800}.programme-now h2{font-size:24px;margin:5px 0;color:#fff}.programme-now p{margin:0;color:#e9d5ff}.programme-next{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:12px}.programme-next b,.programme-next span{display:block}.programme-next b{font-size:12px;margin:2px 0}.programme-next span{font-size:10px;color:#ddd6fe}.day-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.day-switch button{border:1px solid var(--line);background:#fff;border-radius:15px;padding:10px;color:var(--sub)}.day-switch button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.day-switch small,.day-switch b{display:block}.day-switch small{font-size:8px;letter-spacing:.1em}.day-switch b{font-size:12px;margin-top:2px}.programme-feed{display:grid;gap:8px}.programme-card{display:grid;grid-template-columns:72px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.programme-card.featured{border-left:4px solid var(--violet)}.programme-time{border-right:1px solid #eef0f4}.programme-time b,.programme-time small{display:block}.programme-time b{font-size:18px}.programme-time small{font-size:9px;color:var(--sub);margin-top:2px}.programme-main h3{font-size:15px;margin:5px 0}.programme-main p{font-size:10px;color:var(--sub);margin:0;display:flex;align-items:center;gap:5px}.programme-main p svg{width:13px}.programme-tags{display:flex;align-items:center;gap:6px}.programme-tags>span:first-child{font-size:8px;font-weight:800;letter-spacing:.08em;color:var(--violet);background:#f5f3ff;padding:4px 6px;border-radius:999px}
.horizontal-cards{display:flex;gap:10px;overflow:auto;padding:2px 1px 7px;scroll-snap-type:x mandatory}.mini-place-card{flex:0 0 min(82%,320px);scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px}.mini-place-card .place-category{font-size:9px;font-weight:800;color:var(--coral)}.mini-place-card h3{margin:6px 0;font-size:17px}.mini-place-card p{font-size:11px;color:var(--sub);line-height:1.45}.mini-place-card small{font-size:9px;color:#98a2b3}
/* Explore Longsa standalone */.tour-body{background:#f7f8fb}.tour-app{max-width:780px;margin:auto;padding:0 14px 48px}.tour-top{height:68px;display:grid;grid-template-columns:40px 1fr 40px;gap:10px;align-items:center}.tour-top small,.tour-top b{display:block}.tour-top small{font-size:8px;letter-spacing:.11em;color:#98a2b3;font-weight:800}.tour-top b{font-size:14px}.tour-back,.tour-profile{width:40px;height:40px;border-radius:14px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;color:var(--ink);text-decoration:none;font-size:24px}.tour-profile{font-size:16px;color:#f59e0b}.tour-hero{position:relative;min-height:330px;border-radius:30px;background:linear-gradient(145deg,#0f3d36 0%,#0f766e 55%,#f59e0b 150%);overflow:hidden;color:#fff;padding:28px 24px;display:flex;align-items:flex-end}.tour-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 20%,rgba(255,255,255,.18),transparent 28%)}.tour-hero-copy{position:relative;z-index:2;max-width:520px}.tour-pill{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);padding:7px 10px;border-radius:999px;font-size:9px;font-weight:800;letter-spacing:.1em}.tour-hero h1{font-size:clamp(36px,8vw,58px);line-height:.96;letter-spacing:-.055em;margin:14px 0 12px;color:#fff}.tour-hero p{color:rgba(255,255,255,.78);max-width:480px;font-size:13px}.tour-sun{position:absolute;width:150px;height:150px;border-radius:50%;background:#fbbf24;right:-35px;top:-40px;box-shadow:0 0 0 34px rgba(251,191,36,.09)}.tour-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.tour-facts>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px}.tour-facts b,.tour-facts span{display:block}.tour-facts b{font-size:18px}.tour-facts span{font-size:8px;line-height:1.35;color:var(--sub);margin-top:3px}.tour-chips{display:flex;gap:7px;overflow:auto;padding:4px 0 10px}.tour-chips button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;font-size:10px}.tour-chips button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.tour-section{margin-top:19px}.tour-section-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:9px}.tour-section-head small{font-size:8px;letter-spacing:.11em;color:#98a2b3;font-weight:800}.tour-section-head h2{font-size:20px;margin:2px 0 0}.tour-section-head>span,.tour-section-head>b{font-size:10px;color:var(--sub)}.tour-rail{display:flex;gap:10px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.adventure-card{flex:0 0 min(75%,280px);min-height:175px;scroll-snap-align:start;border-radius:22px;padding:17px;color:#fff;position:relative;overflow:hidden}.adventure-card>span{font-size:25px}.adventure-card h3{font-size:18px;color:#fff;margin:22px 0 6px}.adventure-card p{font-size:10px;line-height:1.45;color:rgba(255,255,255,.78)}.adventure-card.culture{background:linear-gradient(135deg,#6d28d9,#a855f7)}.adventure-card.visitor{background:linear-gradient(135deg,#0369a1,#06b6d4)}.adventure-card.quest{background:linear-gradient(135deg,#b45309,#f59e0b)}.quest-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:15px;display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center}.quest-ring{width:72px;height:72px;border-radius:50%;background:conic-gradient(#f59e0b var(--quest-pct,0%),#f3f4f6 0);display:grid;place-items:center;position:relative}.quest-ring:after{content:"";position:absolute;width:54px;height:54px;border-radius:50%;background:#fff}.quest-ring span{position:relative;z-index:2;font-size:12px;font-weight:850}.quest-card p{font-size:10px;color:var(--sub);line-height:1.45;margin:0 0 9px}.tour-primary{border:0;background:var(--navy);color:#fff;border-radius:12px;padding:9px 12px;font-size:10px;font-weight:800}.visitor-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.visitor-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px}.visitor-grid article>span{display:grid;width:34px;height:34px;border-radius:11px;place-items:center;background:#f0fdfa;color:#0f766e}.visitor-grid b,.visitor-grid p{display:block}.visitor-grid b{font-size:11px;margin-top:8px}.visitor-grid p{font-size:9px;color:var(--sub);line-height:1.4;margin:3px 0 0}.story-stack{display:grid;gap:8px}.story-card{background:#fff;border:1px solid var(--line);border-radius:19px;padding:15px}.story-card>div{display:flex;justify-content:space-between;gap:8px}.story-card span{font-size:8px;color:var(--coral);font-weight:800}.story-card small{font-size:8px;color:#98a2b3}.story-card h3{font-size:15px;margin:5px 0}.story-card p{font-size:10px;line-height:1.45;color:var(--sub);margin:0}.tour-footer{text-align:center;padding:32px 16px 8px;color:var(--sub)}.tour-footer b{color:var(--ink)}.tour-footer p{font-size:9px;line-height:1.45}.quest-dialog{border:0;padding:0;background:transparent;width:min(100% - 20px,480px)}.quest-dialog::backdrop{background:rgba(16,24,40,.55);backdrop-filter:blur(4px)}.quest-sheet{background:#fff;border-radius:26px;padding:18px}.quest-sheet-head{display:flex;justify-content:space-between;align-items:start}.quest-sheet-head small{font-size:8px;color:#f59e0b;font-weight:800;letter-spacing:.12em}.quest-sheet-head h2{margin:3px 0 12px}.quest-sheet-head button{width:36px;height:36px;border:0;border-radius:12px;background:#f2f4f7;font-size:20px}.quest-item{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;padding:12px 0;border-top:1px solid #f0f1f4}.quest-item input{position:absolute;opacity:0}.quest-check{width:28px;height:28px;border-radius:10px;background:#f2f4f7;color:transparent;display:grid;place-items:center;font-weight:900}.quest-item input:checked+.quest-check{background:#fef3c7;color:#b45309}.quest-item b,.quest-item small{display:block}.quest-item b{font-size:12px}.quest-item small{font-size:9px;color:var(--sub);margin-top:2px}.quest-note{font-size:8px;color:#98a2b3;line-height:1.4;margin:12px 0 0}
@media(max-width:700px){.event-hero{min-height:190px;padding:20px;border-radius:24px}.event-hero h2{font-size:32px}.hero-orbit,.hero-pass-chip{display:none}.compact-launcher{grid-template-columns:repeat(3,1fr)}.launcher-item{min-height:68px}.home-panels{grid-template-columns:1fr}.status-strip{gap:7px}.status-strip>div{padding:10px}.recent-checkins{grid-template-columns:1fr}.programme-now{grid-template-columns:1fr}.programme-next{display:none}.reception-focus{padding:15px}.reception-person{grid-template-columns:48px 1fr}.reception-person>.chip{grid-column:2}.avatar-xl{width:48px;height:48px}.reception-facts{gap:7px}.tour-hero{min-height:285px}.tour-facts>div{padding:10px}.app-view>.section-title{margin-top:14px}}
@media(min-width:900px){.app-view{max-width:1180px}.reception-workspace{max-width:900px}.programme-feed{grid-template-columns:1fr 1fr}.programme-card.featured{grid-column:1/-1}.tour-app{padding-top:8px}}

.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.nearby-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px}.nearby-grid span{font-size:8px;color:var(--blue);font-weight:850;letter-spacing:.1em}.nearby-grid b{display:block;font-size:13px;margin:5px 0}.nearby-grid p{font-size:9px;line-height:1.4;color:var(--sub);margin:0}.story-source{display:block!important;margin-top:8px;color:#98a2b3!important;font-size:8px!important}.btn-lg{min-height:52px;padding-inline:22px}@media(max-width:600px){.nearby-grid{grid-template-columns:1fr}.nearby-grid article{display:grid;grid-template-columns:70px 1fr;align-items:start}.nearby-grid article p{grid-column:2}.nearby-grid article b{margin:0 0 3px}}

.event-hero-admin{background:linear-gradient(125deg,#111827 0%,#312e81 58%,#e85d4a 145%)}.event-hero-coord{background:linear-gradient(125deg,#12352f 0%,#0f766e 58%,#2563eb 145%)}
@media(max-width:700px){.quick-grid{display:flex!important;overflow-x:auto;gap:8px;padding:1px 0 6px;scroll-snap-type:x proximity}.quick-grid .quick-action{flex:0 0 110px;min-height:70px;scroll-snap-align:start}.section-title{margin-bottom:7px}.card{border-radius:19px}.grid.grid-4{gap:8px}}
/* OKM40 interface polish */
:root{
  --brand:#6c5ce7;--brand2:#3b82f6;--violet:#7c3aed;--cyan:#06b6d4;--teal:#0f9f8f;
  --green:#12a36f;--amber:#f3b53f;--coral:#ff6b6b;--red:#e64b5d;
  --ink:#101828;--ink2:#344054;--muted:#667085;--line:#e7eaf0;--panel:#ffffff;--panel2:#f7f8fb;
  --soft:#f4f6fb;--radius:18px;--shadow:0 10px 30px rgba(16,24,40,.08);
  --font-ui:"Avenir Next","SF Pro Text","Segoe UI",Inter,system-ui,-apple-system,sans-serif;
  --font-display:"Avenir Next","SF Pro Display","Segoe UI",Inter,system-ui,-apple-system,sans-serif;
}
html{background:#f5f7fb}body{font-family:var(--font-ui);background:linear-gradient(180deg,#f8f9fc 0,#f4f6fb 100%);color:var(--ink);letter-spacing:-.005em}
button,input,select,textarea{font-family:inherit}.app-view{max-width:1420px;margin:0 auto}.card,.surface-panel{border-color:#e8ebf1;box-shadow:0 4px 18px rgba(16,24,40,.035)}
.page-head{margin-bottom:13px}.page-head h2{letter-spacing:-.035em;font-family:var(--font-display)}.page-head p{max-width:760px;color:#7b8495}
.app-header{background:rgba(248,249,252,.88);backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid rgba(225,229,238,.8)}
.desktop-rail{background:#111827!important;border-color:#1f2937!important}.brand-mark{background:linear-gradient(135deg,#7c3aed,#2563eb)!important;box-shadow:none!important}.rail-nav button.active{background:linear-gradient(90deg,rgba(124,58,237,.24),rgba(37,99,235,.15))!important;border:1px solid rgba(255,255,255,.05)}
.btn{border-radius:12px;min-height:42px}.btn-primary{background:linear-gradient(135deg,#6c5ce7,#4f7cf7)!important;box-shadow:0 8px 18px rgba(86,91,230,.20)}.btn-success{background:#0f9f8f!important}.btn-secondary{background:#fff;border-color:#e4e7ec;color:#344054}
.event-hero{min-height:210px;border-radius:26px!important;overflow:hidden;position:relative;border:0!important;box-shadow:0 18px 42px rgba(16,24,40,.13)!important;color:#fff!important;background:#101828!important}.event-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.20),transparent 24%),radial-gradient(circle at 5% 95%,rgba(6,182,212,.28),transparent 32%);pointer-events:none}.event-hero-public{background:linear-gradient(135deg,#111827 0%,#243b72 46%,#6c5ce7 100%)!important}.event-hero-admin{background:linear-gradient(135deg,#151a2f,#4f46e5 62%,#06b6d4)!important}.event-hero-coord{background:linear-gradient(135deg,#113b45,#0f9f8f 58%,#4f7cf7)!important}.event-hero-delegate{background:linear-gradient(135deg,#2c164d,#7c3aed 58%,#ff6b6b)!important}.event-hero-explore{background:linear-gradient(135deg,#0a3d35,#0f9f8f 58%,#f3b53f)!important}.event-hero-copy{position:relative;z-index:2;max-width:690px}.event-hero h2{font-family:var(--font-display);font-size:clamp(28px,4vw,48px)!important;line-height:.98!important;letter-spacing:-.045em!important;color:#fff!important}.event-hero p{color:rgba(255,255,255,.82)!important;font-size:14px!important}.eyebrow{color:rgba(255,255,255,.72)!important}.hero-orbit,.hero-pass-chip{z-index:2}
.compact-launcher{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.launcher-item{min-width:0!important;border:1px solid #e7eaf0!important;background:#fff!important;border-radius:17px!important;padding:12px 8px!important;box-shadow:0 4px 14px rgba(16,24,40,.035);transition:transform .18s ease,box-shadow .18s ease}.launcher-item:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,24,40,.08)}.launcher-item span{width:38px!important;height:38px!important;border-radius:12px!important}.tone-violet span{background:#f1ecff!important;color:#6d3ce9!important}.tone-cyan span{background:#e8f8fc!important;color:#098db0!important}.tone-emerald span{background:#e9f8f3!important;color:#0d886e!important}.tone-amber span{background:#fff5df!important;color:#b9770d!important}.tone-coral span{background:#fff0ef!important;color:#e2554e!important}.tone-blue span{background:#eaf1ff!important;color:#3266d6!important}
.metric{min-height:108px}.metric-value{font-family:var(--font-display);letter-spacing:-.04em}.metric-icon{box-shadow:none!important}
.home-panels{gap:12px}.surface-panel{border-radius:18px!important}.agenda-row,.notice-row{border-radius:13px!important}.discover-banner{border:0!important;background:linear-gradient(135deg,#0b6b5d,#0f9f8f 52%,#f4b740)!important;color:#fff!important;border-radius:22px!important;box-shadow:0 14px 34px rgba(15,159,143,.20)}.discover-banner p,.discover-banner small{color:rgba(255,255,255,.8)!important}
/* Reception: single-task counter */
.reception-workspace{max-width:980px;margin:auto}.reception-search-row{position:sticky;top:82px;z-index:10;background:rgba(248,249,252,.94);backdrop-filter:blur(14px);padding:6px 0 10px}.reception-search{height:58px!important;border:2px solid #dfe3eb!important;border-radius:17px!important;background:#fff!important;box-shadow:0 8px 24px rgba(16,24,40,.05)}.reception-search:focus-within{border-color:#6c5ce7!important;box-shadow:0 0 0 4px rgba(108,92,231,.10)}.scan-square{width:58px!important;height:58px!important;border-radius:17px!important;background:linear-gradient(135deg,#6c5ce7,#3b82f6)!important;color:#fff!important;border:0!important}.reception-empty{min-height:360px!important;border:1px solid #e7eaf0!important;border-radius:24px!important;background:linear-gradient(180deg,#fff,#f9faff)!important}.scan-pulse{background:linear-gradient(135deg,#ebe8ff,#e7f4ff)!important;color:#6252df!important}.reception-focus{border-radius:24px!important;border:1px solid #e5e9f0!important;background:#fff!important;box-shadow:0 18px 50px rgba(16,24,40,.08)!important;padding:18px!important}.reception-person{grid-template-columns:auto minmax(0,1fr) auto!important}.reception-person h2{font-family:var(--font-display);font-size:27px!important;letter-spacing:-.035em;margin:2px 0!important}.avatar-xl{background:linear-gradient(135deg,#6c5ce7,#0ea5e9)!important;color:#fff!important}.reception-facts{gap:8px!important}.reception-facts>div{background:#f8f9fc!important;border:1px solid #e9ecf2!important;border-radius:15px!important;padding:12px!important}.badge-verify-strip{border-radius:15px!important;background:#fff8e6!important;border:1px solid #f5dfaa!important}.badge-verify-strip.verified{background:#e9f8f3!important;border-color:#c7eadd!important}.checkin-cta{min-height:66px!important;border-radius:17px!important;background:linear-gradient(135deg,#0f9f8f,#12b981)!important;box-shadow:0 12px 28px rgba(15,159,143,.22)!important}.checkin-cta:disabled{background:#e6e8ee!important;box-shadow:none!important;color:#8a93a5!important}.reception-bottom{margin-top:12px!important}.recent-checkins{display:flex!important;gap:9px!important;overflow-x:auto!important;padding-bottom:3px;scroll-snap-type:x proximity}.recent-person{flex:0 0 250px!important;scroll-snap-align:start;border-radius:15px!important;background:#fff!important}
/* Programme: agenda-first, compact */
.programme-now{border:0!important;border-radius:22px!important;background:linear-gradient(135deg,#22164f,#6c5ce7 58%,#3b82f6)!important;color:#fff!important;box-shadow:0 14px 34px rgba(91,73,196,.18)!important;padding:18px!important}.programme-now h2,.programme-now p,.programme-now small{color:#fff!important}.programme-next{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:15px!important}.day-switch{position:sticky;top:82px;z-index:9;background:rgba(248,249,252,.94);backdrop-filter:blur(14px);padding:9px 0!important;gap:7px!important}.day-switch button{border-radius:14px!important;background:#fff!important;border:1px solid #e5e8ef!important;min-height:52px!important}.day-switch button.active{background:#101828!important;color:#fff!important;border-color:#101828!important}.programme-feed{display:grid!important;gap:8px!important}.programme-card{border:1px solid #e7eaf0!important;border-radius:16px!important;background:#fff!important;min-height:78px!important;padding:12px!important}.programme-card.featured{border-color:#cfd6ff!important;background:linear-gradient(90deg,#f7f6ff,#fff)!important}.programme-time{width:68px!important}.programme-time b{font-size:16px!important;color:#4f46e5!important}.programme-main h3{font-size:14px!important;margin:4px 0!important;line-height:1.25!important}.programme-main p{margin:4px 0 0!important}.programme-tags{gap:5px!important}.programme-tags span{font-size:8px!important}
/* avoid text clipping */
.list-copy,.programme-main,.reception-person>div,.panel-head>div,.page-head>div,.notice-row>div,.agenda-row>span{min-width:0}.list-copy b,.list-copy small,.programme-main h3,.programme-main p,.notice-row b,.notice-row small,.agenda-row b,.agenda-row small{overflow-wrap:anywhere}.status,.chip{max-width:100%}.table-wrap{-webkit-overflow-scrolling:touch}
/* mobile compaction */
@media(max-width:899px){
  .app-view{padding:12px 12px calc(82px + var(--safe-bottom))!important}.page-head{display:flex!important;align-items:center!important;min-height:40px!important;margin-bottom:10px!important}.page-head h2{font-size:21px!important}.page-head p{display:none!important}.page-actions .btn:not(:first-child){display:none}.event-hero{min-height:182px!important;padding:19px!important;border-radius:22px!important}.event-hero h2{font-size:31px!important;max-width:78%}.event-hero p{font-size:12px!important;max-width:78%}.hero-orbit{opacity:.32!important;transform:scale(.82)}
  .compact-launcher{display:flex!important;overflow-x:auto!important;gap:8px!important;margin:11px -12px 12px!important;padding:0 12px 4px!important;scrollbar-width:none;scroll-snap-type:x proximity}.compact-launcher::-webkit-scrollbar{display:none}.launcher-item{flex:0 0 82px!important;min-height:78px!important;scroll-snap-align:start!important}.launcher-item b{font-size:10px!important}.launcher-item span{width:34px!important;height:34px!important}
  .grid.grid-4{display:flex!important;overflow-x:auto!important;gap:8px!important;scroll-snap-type:x proximity;padding-bottom:3px}.grid.grid-4>.metric{flex:0 0 136px!important;scroll-snap-align:start;min-height:96px!important}.metric-value{font-size:22px!important}.metric-label{font-size:9px!important}
  .home-panels{grid-template-columns:1fr!important}.surface-panel{padding:13px!important}.agenda-row{grid-template-columns:60px minmax(0,1fr) auto!important}.agenda-row em{display:none!important}.discover-banner{padding:16px!important}.discover-banner h3{font-size:16px!important}.discover-banner p{font-size:10px!important}
  .reception-search-row{top:66px}.reception-search{height:54px!important}.scan-square{width:54px!important;height:54px!important}.reception-focus{padding:13px!important}.reception-person{grid-template-columns:48px minmax(0,1fr)!important}.reception-person>.status{grid-column:2!important;justify-self:start!important}.avatar-xl{width:48px!important;height:48px!important;border-radius:15px!important}.reception-person h2{font-size:22px!important}.reception-facts{grid-template-columns:1fr 1fr!important}.reception-facts>div{padding:10px!important}.badge-verify-strip{grid-template-columns:34px minmax(0,1fr) auto!important;padding:10px!important}.checkin-cta{position:sticky;bottom:80px;z-index:8}.recent-person{flex-basis:220px!important}
  .programme-now{padding:15px!important}.programme-now h2{font-size:21px!important;line-height:1.08!important}.programme-next{display:none!important}.day-switch{top:66px}.programme-card{grid-template-columns:60px minmax(0,1fr)!important;padding:10px!important}.programme-card .status{display:none!important}
  .bottom-nav{background:rgba(255,255,255,.94)!important;backdrop-filter:blur(20px);border:1px solid rgba(227,231,239,.9)!important;box-shadow:0 16px 50px rgba(16,24,40,.16)!important}.bottom-nav button.active{color:#5f55dd!important}.bottom-nav button.active:before{background:#5f55dd!important}
}
@media(max-width:390px){.event-hero h2{max-width:82%!important}.event-hero p{max-width:84%!important}.reception-facts{grid-template-columns:1fr 1fr!important}.reception-facts b{font-size:12px!important}.reception-facts span{font-size:9px!important}}
.reception-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 10px}.reception-kpis span{display:flex;align-items:baseline;gap:7px;padding:9px 11px;border-radius:13px;background:#fff;border:1px solid #e7eaf0}.reception-kpis b{font-size:18px}.reception-kpis small{font-size:9px;color:var(--muted)}
.programme-summary{display:flex;gap:8px;overflow-x:auto;margin:4px 0 10px}.programme-summary span{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;background:#fff;border:1px solid #e7eaf0;font-size:9px;color:#667085}.programme-summary svg{width:13px;height:13px}.programme-open{margin-left:auto;width:34px;height:34px;border:0;border-radius:11px;background:#f2f4f7;color:#667085;font-size:22px}.programme-note{display:block;color:#7a8493;margin-top:5px}.programme-card{grid-template-columns:68px minmax(0,1fr) auto!important}
@media(max-width:899px){.reception-kpis{grid-template-columns:repeat(3,1fr)}.reception-kpis span{display:grid;gap:1px;padding:8px}.reception-kpis b{font-size:16px}.programme-open{display:none}.programme-card{grid-template-columns:60px minmax(0,1fr)!important}}
.reception-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 10px}.reception-kpis span{display:flex;align-items:baseline;gap:7px;padding:9px 11px;border-radius:13px;background:#fff;border:1px solid #e7eaf0}.reception-kpis b{font-size:18px}.reception-kpis small{font-size:9px;color:var(--muted)}
.programme-summary{display:flex;gap:8px;overflow-x:auto;margin:4px 0 10px}.programme-summary span{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;background:#fff;border:1px solid #e7eaf0;font-size:9px;color:#667085}.programme-summary svg{width:13px;height:13px}.programme-open{margin-left:auto;width:34px;height:34px;border:0;border-radius:11px;background:#f2f4f7;color:#667085;font-size:22px}.programme-note{display:block;color:#7a8493;margin-top:5px}.programme-card{grid-template-columns:68px minmax(0,1fr) auto!important}
@media(max-width:899px){.reception-kpis{grid-template-columns:repeat(3,1fr)}.reception-kpis span{display:grid;gap:1px;padding:8px}.reception-kpis b{font-size:16px}.programme-open{display:none}.programme-card{grid-template-columns:60px minmax(0,1fr)!important}}
/* OKM40 v10 — visibility, install-state and mobile polish */
:root{--hero-action-bg:rgba(10,18,36,.40);--hero-action-border:rgba(255,255,255,.34)}

/* Never allow hero actions to collapse into white-on-white states. */
.event-hero .hero-actions .btn-light{
  background:#fff!important;
  color:#172033!important;
  border:1px solid rgba(255,255,255,.96)!important;
  box-shadow:0 8px 22px rgba(8,15,30,.12)!important;
}
.event-hero .hero-actions .btn-glass,
.event-hero .hero-actions .btn-ghost-light{
  background:var(--hero-action-bg)!important;
  color:#fff!important;
  border:1px solid var(--hero-action-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.event-hero .hero-actions .btn-glass *,
.event-hero .hero-actions .btn-ghost-light *,
.event-hero .hero-actions .btn-light *{color:currentColor!important;fill:none}
.event-hero .hero-actions .btn-glass svg,
.event-hero .hero-actions .btn-ghost-light svg,
.event-hero .hero-actions .btn-light svg{stroke:currentColor!important}

/* Explicit public-home guard for the Find a place action. */
.event-hero-public .hero-actions .btn-glass{
  background:rgba(12,20,40,.52)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.42)!important;
}
@media (hover:hover){
  .event-hero-public .hero-actions .btn-glass:hover{background:rgba(12,20,40,.68)!important}
}

/* Install surface: compact and readable, never shown once installed. */
.install-bar{background:rgba(255,255,255,.97)!important;color:#172033!important;border:1px solid #e4e7ec!important;box-shadow:0 18px 54px rgba(15,23,42,.16)!important}
.install-bar b{color:#172033!important}.install-bar small{color:#667085!important}
.install-bar .icon-btn{color:#475467!important;background:#f5f7fa!important}
@media (display-mode:standalone){#installBar{display:none!important}}

/* Protect narrow screens from action clipping. */
.hero-actions{max-width:100%;align-items:stretch}
.hero-actions .btn{min-width:0;max-width:100%;white-space:normal;text-align:center;line-height:1.15}
@media(max-width:420px){
  .event-hero .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%;gap:8px!important}
  .event-hero .hero-actions .btn{width:100%;padding:10px 8px!important;font-size:12px!important}
}
@media(max-width:340px){.event-hero .hero-actions{grid-template-columns:1fr!important}}

/* v13 stability layer: layout safety only; no dependency on older theme files */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,canvas{max-width:100%}
.grid>*,.row>*,.spread>*,.list-item>*,.programme-card>*,.reception-person>*,.reception-facts>*,.panel-head>*{min-width:0}
.list-copy,.programme-main,.reception-person>div,.page-head>div,.notice-row>div,.agenda-row>span{min-width:0}
.list-copy b,.list-copy small,.programme-main h3,.programme-main p,.notice-row b,.notice-row small,.agenda-row b,.agenda-row small,.page-head h2,.page-head p{overflow-wrap:anywhere;word-break:normal}
button,.btn,a,input,select,textarea{max-width:100%}
input,select,textarea{font-size:16px!important}
.event-hero,.programme-now,.discover-banner{isolation:isolate}
.event-hero h2,.event-hero p,.event-hero .eyebrow,.event-hero .hero-kicker{color:#fff!important}
.event-hero .btn-light{background:#fff!important;color:#172033!important;border-color:#fff!important}
.event-hero .btn-glass,.event-hero .btn-ghost-light{background:rgba(10,18,36,.48)!important;color:#fff!important;border-color:rgba(255,255,255,.38)!important}
.event-hero .btn-light svg,.event-hero .btn-glass svg,.event-hero .btn-ghost-light svg{stroke:currentColor!important}
.install-bar[hidden]{display:none!important}
@media(display-mode:standalone){#installBar{display:none!important}}
@media(max-width:899px){
  .page-head h2{font-size:24px!important;line-height:1.12!important}
  .launcher-item b{font-size:11.5px!important}
  .metric-label{font-size:11px!important}
  .metric-note{font-size:11px!important}
  .list-copy b{font-size:13.5px!important}.list-copy small,.list-copy p{font-size:11.5px!important}
  .chip,.status{font-size:10.5px!important}
  .bottom-nav button{font-size:10.5px!important}
  .event-hero .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .event-hero .hero-actions .btn{width:100%!important;white-space:normal!important;text-align:center!important}
  .reception-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .programme-card{overflow:hidden}
}
@media(max-width:360px){
  .event-hero .hero-actions{grid-template-columns:1fr!important}
  .header-title-wrap h1{font-size:17px!important;max-width:46vw!important}
  .reception-facts{grid-template-columns:1fr!important}
}

/* Small component completions found during full class-coverage review */
.chevron,.chev{color:var(--muted);font-size:18px;line-height:1;flex:0 0 auto}
.stay-card{border-top:3px solid var(--teal)!important}
.delegate-launcher{scroll-padding-inline:12px}

/* =========================================================
   v14 — mobile scroll + interaction stability
   Keep the document itself as the only vertical scroll owner.
   ========================================================= */
html {
  min-height: 100%;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  -webkit-text-size-adjust: 100%;
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y pinch-zoom;
  position: static !important;
}
#app,
.app-shell,
.mobile-frame,
.app-view {
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important;
}
.app-shell,
.mobile-frame {
  min-height: 100vh;
  min-height: 100dvh;
}
.app-view {
  touch-action: pan-y pinch-zoom;
  overscroll-behavior: auto;
}
/* Prevent fixed chrome from swallowing gestures outside its real bounds. */
.app-header,
.bottom-nav,
.install-bar {
  touch-action: manipulation;
}
/* Horizontal rails still allow the page to move vertically when a gesture is not horizontal. */
.quick-grid,
.compact-launcher,
.recent-checkins,
.programme-summary,
.tour-rail,
.tour-chips,
.grid.grid-4,
.table-wrap {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  touch-action: pan-x pan-y;
}
button,
a,
[role="button"] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
/* Closed dialogs must never participate in hit testing. */
dialog:not([open]) {
  display: none !important;
  pointer-events: none !important;
}
dialog[open] {
  pointer-events: auto;
}
/* The splash must never block the app after its exit transition. */
.splash.hide {
  visibility: hidden;
  pointer-events: none !important;
}
@media (max-width: 899px) {
  .desktop-rail { display: none !important; }
  .mobile-frame { width: 100%; min-width: 0; }
  .app-view { padding-bottom: calc(96px + var(--safe-bottom)) !important; }
}


/* ===== OKM40 v15 polish layer ===== */
:root{
  --brand:#ff5a5f;
  --brand2:#ff7a59;
  --ink:#172033;
  --muted:#64748b;
  --sub:#667085;
  --paper:#f7f5f2;
  --soft:#f8f6f3;
  --panel:#ffffff;
  --panel2:#fcfbfa;
  --line:#ebe5df;
  --navy:#132238;
  --navy2:#24364f;
  --violet:#7c6cff;
  --cyan:#0ea5a7;
  --emerald:#12a37b;
  --amber:#d9862a;
  --coral:#f06a55;
  --rose:#e45470;
  --success:#16976a;
  --warning:#d9862a;
  --danger:#d7475d;
  --shadow:0 16px 40px rgba(17,24,39,.08);
  --shadow-lg:0 24px 70px rgba(15,23,42,.12);
  --radius:24px;
  --radius-sm:16px;
  --font-display:"Avenir Next","SF Pro Display","Segoe UI",Inter,system-ui,-apple-system,sans-serif;
}
html,body{background:linear-gradient(180deg,#fcfbfa 0%,#f7f5f2 100%);color:var(--ink);font-family:Inter,"SF Pro Text",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
.app-header{height:calc(72px + var(--safe-top));padding:calc(12px + var(--safe-top)) 16px 10px;background:rgba(252,251,250,.92)!important;backdrop-filter:saturate(1.2) blur(18px)!important;border-bottom:1px solid rgba(235,229,223,.9)!important}
.header-left{gap:12px!important}
.mobile-brand,.brand-mark{background:linear-gradient(135deg,#ff5a5f,#ff7a59)!important;box-shadow:0 12px 28px rgba(255,90,95,.28)!important}
.header-title-wrap small{font-size:10px!important;letter-spacing:.12em!important;color:#8a7f74!important}
.header-title-wrap h1,.page-head h2,.metric-card h3,.hero h2,.programme-now h2{font-family:var(--font-display)!important;letter-spacing:-.035em}
.header-title-wrap h1{font-size:20px!important;max-width:48vw!important}
.icon-btn,.avatar-btn{background:rgba(255,255,255,.92)!important;border:1px solid rgba(232,225,218,.95)!important;box-shadow:0 6px 16px rgba(17,24,39,.05)!important;border-radius:14px!important}
.avatar-btn{background:var(--navy)!important;color:#fff!important;border-color:transparent!important}
.app-view{padding-top:14px!important}
.page-head{margin-bottom:16px!important}
.page-head p,.muted,.list-copy small,.metric-card p,.hero p,.programme-note,.notice-row small,.agenda-row small,.reception-person p,.reception-person small{color:var(--muted)!important}
.page-head h2{font-size:30px!important}
.card,.metric-card,.surface-card,.surface-panel,.programme-card,.recent-person,.mini-place-card,.launcher-item,.allocation-preview,.cluster-card,.map-card,.sticky-side .card,.hero,.notice,.push-status{border-radius:22px!important;border:1px solid rgba(235,229,223,.92)!important;box-shadow:0 10px 28px rgba(17,24,39,.05)!important;background:rgba(255,255,255,.98)!important}
.metric-card{padding:18px!important}
.metric-icon,.list-icon,.quick-action span,.launcher-item span{background:linear-gradient(135deg,rgba(255,90,95,.12),rgba(255,122,89,.18))!important;color:var(--brand)!important;border-radius:16px!important;border:1px solid rgba(255,90,95,.08)!important}
.metric-icon svg,.list-icon svg{width:18px!important;height:18px!important}
.btn{border-radius:15px!important;font-weight:800!important;letter-spacing:-.01em}
.btn-primary{background:linear-gradient(135deg,#ff5a5f,#ff7a59)!important;border:0!important;box-shadow:0 12px 24px rgba(255,90,95,.22)!important}
.btn-primary:hover{filter:brightness(.98)}
.btn-secondary{background:#fff!important;border:1px solid rgba(232,225,218,.95)!important;color:var(--ink)!important}
.btn-success{background:linear-gradient(135deg,#15a37b,#16b39c)!important;border:0!important}
.btn-warning{background:linear-gradient(135deg,#f0b44c,#dd8a2b)!important;border:0!important;color:#fff!important}
.bottom-nav{height:74px!important;padding:7px!important;border-radius:26px!important;background:rgba(255,255,255,.96)!important;border:1px solid rgba(235,229,223,.92)!important;box-shadow:0 18px 54px rgba(17,24,39,.12)!important}
.bottom-nav button{align-content:center!important;gap:4px!important;padding:7px 3px 6px!important;font-size:9px!important;line-height:1.05!important;color:#7c8698!important}
.bottom-nav button svg{width:20px!important;height:20px!important}
.bottom-nav button span{display:block!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.12!important}
.bottom-nav button.active{background:rgba(255,90,95,.08)!important;color:var(--brand)!important}
.bottom-nav button.active:before{background:var(--brand)!important}
.table-wrap{border-radius:20px!important;background:#fff!important}
.table{min-width:760px!important}
.table th,.table td{padding:12px 13px!important}
.table th{background:#faf8f6!important;color:#7d746d!important}
.offline-banner{border-radius:18px!important;background:linear-gradient(135deg,#fff1f0,#fff8f0)!important;border:1px solid #ffd7d1!important;color:#8d4237!important}
.hero,.event-hero,.programme-now,.discover-banner{border-radius:28px!important;overflow:hidden!important}
.hero,.event-hero{background:linear-gradient(135deg,#14253f 0%,#25405f 58%,#ff7a59 155%)!important;color:#fff!important;border:0!important;box-shadow:0 20px 52px rgba(19,34,56,.18)!important}
.hero .hero-kicker,.event-hero .eyebrow{color:#ffd1bf!important}
.programme-now{background:linear-gradient(135deg,#15243d 0%,#2f4767 58%,#ff7a59 155%)!important;border:0!important;color:#fff!important;box-shadow:0 22px 58px rgba(19,34,56,.18)!important}
.programme-next{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.16)!important}
.day-switch button{border-radius:16px!important;background:#fff!important;border:1px solid rgba(232,225,218,.95)!important}
.day-switch button.active{background:linear-gradient(135deg,#ff5a5f,#ff7a59)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 24px rgba(255,90,95,.20)!important}
.programme-summary{background:#fff8f2!important;border:1px solid #f5e3d6!important;border-radius:18px!important;color:#675b50!important}
.programme-card{padding:16px!important;display:grid!important;grid-template-columns:74px minmax(0,1fr) 36px!important;gap:14px!important;align-items:flex-start!important}
.programme-card.featured{border-color:#f3d4cb!important;background:linear-gradient(180deg,#fffdfa 0%,#fff 100%)!important}
.programme-time{background:#faf6f3!important;border-radius:16px!important;padding:12px 8px!important;text-align:center!important;border:1px solid #f0e8e0!important}
.programme-time b{font-size:16px!important;color:var(--ink)!important}
.programme-main h3{font-size:18px!important;line-height:1.25!important;margin:7px 0 6px!important;overflow-wrap:anywhere!important}
.programme-main p,.programme-note{font-size:12px!important;line-height:1.45!important;overflow-wrap:anywhere!important}
.programme-open{width:36px!important;height:36px!important;border-radius:12px!important;background:#faf6f3!important;border:1px solid #f0e8e0!important;color:#6d6258!important}
.programme-tags{gap:6px!important;flex-wrap:wrap!important}
.programme-tags span,.status,.chip{border-radius:999px!important}
.programme-tags span{background:#fff4f0!important;color:#d44f4d!important;border:1px solid #ffd7cf!important;font-size:10px!important;font-weight:800!important;padding:6px 9px!important}
.reception-search-row{position:sticky!important;top:74px!important;background:rgba(247,245,242,.95)!important;padding:8px 0 12px!important}
.reception-search{height:58px!important;border:1px solid rgba(232,225,218,.95)!important;border-radius:18px!important;box-shadow:0 8px 22px rgba(17,24,39,.05)!important}
.reception-search button{background:#fff3f0!important;color:#d44f4d!important;border-radius:12px!important;padding:10px 13px!important}
.scan-square{width:58px!important;height:58px!important;background:linear-gradient(135deg,#ff5a5f,#ff7a59)!important;box-shadow:0 12px 24px rgba(255,90,95,.20)!important}
.reception-empty{min-height:320px!important;background:linear-gradient(180deg,#fff 0%,#fef8f4 100%)!important}
.scan-pulse{width:88px!important;height:88px!important;border-radius:26px!important;background:linear-gradient(135deg,#fff1ef,#fff7ef)!important;color:var(--brand)!important;box-shadow:inset 0 0 0 1px rgba(255,90,95,.1)!important}
.scan-pulse svg{width:30px!important;height:30px!important}
.reception-empty h2{font-size:24px!important;line-height:1.15!important}
.reception-focus{padding:20px!important;background:#fff!important}
.reception-person{grid-template-columns:56px minmax(0,1fr) auto!important}
.reception-person h2{font-size:24px!important;line-height:1.1!important;overflow-wrap:anywhere!important}
.reception-facts>div,.badge-verify-strip,.reception-bottom,.push-status,.notice{background:#fcfbfa!important}
.badge-verify-strip{grid-template-columns:40px minmax(0,1fr) auto!important}
.badge-verify-strip>span{width:40px!important;height:40px!important}
.checkin-cta{background:linear-gradient(135deg,#ff5a5f,#ff7a59)!important;box-shadow:0 14px 32px rgba(255,90,95,.25)!important}
.recent-checkins{display:flex!important;overflow-x:auto!important;gap:10px!important;padding-bottom:4px!important}
.recent-person{flex:0 0 248px!important;grid-template-columns:38px minmax(0,1fr) 18px!important}
.recent-person b,.recent-person small{overflow-wrap:anywhere!important}
.notice.info{background:#f5f8ff!important;border-color:#dce7ff!important;color:#35538c!important}
.notice.success{background:#eefaf6!important;border-color:#d1eee2!important;color:#136b55!important}
.notice.danger{background:#fff1f2!important;border-color:#ffd5da!important;color:#9a3650!important}
.sheet-dialog,.modal-dialog{background:#fff!important;border:1px solid rgba(235,229,223,.92)!important;box-shadow:0 24px 70px rgba(17,24,39,.18)!important}
.sheet-content,.modal-content{padding:18px 18px calc(24px + var(--safe-bottom))!important}
.dialog-head h2{font-family:var(--font-display)!important}
.field>span,.field label{font-size:10px!important;font-weight:800!important;color:#8a7f74!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.field input,.field select,.field textarea,.search-input{min-height:48px!important;border-radius:15px!important;background:#fcfbfa!important;border:1px solid rgba(232,225,218,.95)!important}
.field textarea{min-height:98px!important}
.list-copy,.programme-main,.page-head>div,.notice-row>div,.agenda-row>span,.reception-person>div,.panel-head>div{min-width:0!important}
.list-copy b,.list-copy small,.page-head h2,.page-head p,.programme-main h3,.programme-main p,.notice-row b,.notice-row small,.agenda-row b,.agenda-row small{overflow-wrap:anywhere!important;word-break:normal!important}
.notify-badge{background:var(--brand)!important;color:#fff!important;box-shadow:0 4px 10px rgba(255,90,95,.22)!important}
.install-bar{background:rgba(255,255,255,.98)!important;border:1px solid rgba(235,229,223,.92)!important;border-radius:24px!important;box-shadow:0 16px 48px rgba(17,24,39,.14)!important}
.install-icon{background:linear-gradient(135deg,#ff5a5f,#ff7a59)!important}
.quick-action,.launcher-item{padding:16px!important}
.quick-action b,.launcher-item b{font-size:12px!important}
.mini-place-card p{font-size:12px!important;line-height:1.55!important}
.push-status{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:14px!important}
.push-status b{display:block;font-size:14px!important}
.push-status small{display:block;margin-top:3px;color:var(--muted)!important;font-size:11px!important;line-height:1.45!important}
@media (max-width:760px){
  .app-header{height:calc(68px + var(--safe-top))!important}
  .header-title-wrap h1{font-size:18px!important;max-width:44vw!important}
  .page-head h2{font-size:26px!important}
  .reception-search-row{top:68px!important}
  .programme-card{grid-template-columns:64px minmax(0,1fr) 32px!important;gap:10px!important}
  .programme-main h3{font-size:16px!important}
  .bottom-nav button{font-size:8.5px!important}
  .bottom-nav button span{font-size:8.5px!important}
  .reception-person{grid-template-columns:48px minmax(0,1fr)!important}
  .reception-person>.status{grid-column:2!important;justify-self:start!important}
  .avatar-xl{width:48px!important;height:48px!important}
  .reception-facts{grid-template-columns:1fr!important}
  .recent-person{flex-basis:220px!important}
  .push-status{grid-template-columns:1fr!important}
}


/* ===== v16 Explore Longsa integration ===== */
.explore-preview-hero{position:relative;overflow:hidden;border-radius:30px;min-height:360px;padding:26px;display:flex;align-items:flex-end;color:#fff;background:
linear-gradient(180deg,rgba(10,20,34,.08),rgba(10,20,34,.78)),
url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg') center/cover no-repeat;box-shadow:0 24px 60px rgba(17,24,39,.16)}
.explore-preview-hero>*{position:relative;z-index:1}.explore-preview-hero h2{font-family:var(--font-display);font-size:36px;line-height:.98;letter-spacing:-.055em;margin:8px 0 10px;max-width:680px}.explore-preview-hero p{max-width:620px;color:rgba(255,255,255,.84)!important;line-height:1.55;font-size:13px}.explore-preview-hero .eyebrow{font-size:9px;font-weight:850;letter-spacing:.14em;color:#ffd5ca}.explore-preview-hero .hero-actions{margin-top:16px}.explore-preview-hero .btn-secondary{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important;backdrop-filter:blur(10px)}
.explore-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.explore-preview-card{position:relative;min-height:190px;padding:18px;border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 12px 28px rgba(17,24,39,.06)}.explore-preview-card.photo{min-height:230px;color:#fff;background-size:cover;background-position:center}.explore-preview-card.photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(10,20,34,.82))}.explore-preview-card.photo>*{position:relative;z-index:1}.explore-preview-card .tag{display:inline-flex;padding:6px 8px;border-radius:999px;background:#fff4f0;color:#d44f4d;font-size:9px;font-weight:850;letter-spacing:.05em}.explore-preview-card.photo .tag{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(8px)}.explore-preview-card h3{font-size:19px;line-height:1.12;margin:30px 0 8px;letter-spacing:-.035em}.explore-preview-card p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.explore-preview-card.photo p{color:rgba(255,255,255,.8)!important}.explore-preview-card .arrow{position:absolute;right:14px;top:14px;width:34px;height:34px;border-radius:12px;background:#faf6f3;display:grid;place-items:center}.explore-preview-card.photo .arrow{background:rgba(255,255,255,.15);color:#fff;z-index:2}
.explore-passport-preview{margin-top:14px;padding:18px;border-radius:24px;background:linear-gradient(135deg,#15243d 0%,#2f4767 58%,#ff7a59 155%);color:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:0 18px 44px rgba(19,34,56,.16)}.explore-passport-preview .stamp-ring{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:5px solid rgba(255,255,255,.18);font-size:25px}.explore-passport-preview h3{margin:0 0 5px;font-size:20px}.explore-passport-preview p{margin:0;color:rgba(255,255,255,.76)!important;font-size:11px;line-height:1.45}.explore-passport-preview .btn{white-space:nowrap}
@media(max-width:820px){.explore-preview-grid{grid-template-columns:1fr 1fr}.explore-passport-preview{grid-template-columns:60px minmax(0,1fr)}.explore-passport-preview .btn{grid-column:1/-1;width:100%}}
@media(max-width:520px){.explore-preview-hero{min-height:340px;padding:20px}.explore-preview-hero h2{font-size:34px}.explore-preview-grid{display:flex;overflow-x:auto;gap:10px}.explore-preview-card{flex:0 0 82%;min-height:220px}.explore-preview-card.photo{min-height:250px}.explore-passport-preview{grid-template-columns:54px minmax(0,1fr);padding:15px}.explore-passport-preview .stamp-ring{width:54px;height:54px;font-size:21px}}


/* =========================================================
   OKM40 v18 public landing — event-first, modern and useful
   ========================================================= */
.public-home-v18{display:grid;gap:16px;padding-bottom:10px}
.public-hero-v18{position:relative;min-height:390px;border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#10243f 0%,#213c62 55%,#e56f56 145%);box-shadow:0 24px 60px rgba(19,34,56,.20);isolation:isolate}
.public-hero-v18:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 15%,rgba(255,255,255,.20),transparent 24%),radial-gradient(circle at 10% 90%,rgba(255,90,95,.24),transparent 28%);z-index:0}
.public-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,28,.04),rgba(5,14,28,.36));z-index:1}
.public-hero-content{position:relative;z-index:3;min-height:390px;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;max-width:760px;color:#fff}
.public-brand-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px}.public-kicker{font-size:10px;font-weight:850;letter-spacing:.14em;color:rgba(255,255,255,.78)}.public-live-chip{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);font-size:10px;font-weight:800;color:#fff}.public-live-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:#ffb199;margin-right:6px}
.public-hero-v18 h2{margin:0;font-family:var(--font-display);font-size:clamp(46px,9vw,88px);line-height:.84;letter-spacing:-.065em;color:#fff}.public-hero-v18 h2 span{font-size:.54em;font-weight:650;letter-spacing:-.04em;color:rgba(255,255,255,.86)}.public-hero-v18 p{margin:16px 0 0;font-size:14px;color:rgba(255,255,255,.80)}
.public-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.public-hero-actions .btn{min-height:48px;padding:12px 16px}.public-primary{background:#fff!important;color:#15243d!important;box-shadow:0 12px 26px rgba(0,0,0,.12)!important}.public-secondary{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;backdrop-filter:blur(10px)}
.public-hero-mark{position:absolute;right:-18px;top:22px;z-index:2;font-family:var(--font-display);font-size:230px;font-weight:900;line-height:.75;letter-spacing:-.10em;color:rgba(255,255,255,.065);user-select:none}
.public-utility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.public-utility-card{min-width:0;border:1px solid var(--line);background:#fff;border-radius:20px;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;box-shadow:0 9px 26px rgba(17,24,39,.045)}.public-utility-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#fff3f0;color:#e15350}.public-utility-icon svg{width:20px;height:20px}.public-utility-copy{min-width:0}.public-utility-copy b,.public-utility-copy small{display:block}.public-utility-copy b{font-size:13px;color:var(--ink)}.public-utility-copy small{font-size:9.5px;color:var(--muted);margin-top:3px;line-height:1.3}.public-utility-arrow{color:#9aa2af;font-size:20px;text-align:right}
.public-section-v18{background:#fff;border:1px solid var(--line);border-radius:24px;padding:17px;box-shadow:0 10px 28px rgba(17,24,39,.045)}.public-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:9px}.public-section-head small{font-size:9px;font-weight:850;letter-spacing:.12em;color:#9a8f86}.public-section-head h3{font-family:var(--font-display);font-size:21px;letter-spacing:-.035em;margin:3px 0 0}.public-programme-list{display:grid}.public-programme-card{width:100%;border:0;border-top:1px solid #f0ece8;background:transparent;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:13px 2px;color:var(--ink)}.public-programme-card:first-child{border-top:0}.public-programme-card time{align-self:start}.public-programme-card time b,.public-programme-card time small{display:block}.public-programme-card time b{font-size:18px}.public-programme-card time small{font-size:10px;color:var(--muted);margin-top:2px}.public-programme-card>div{min-width:0}.public-programme-card>div>span{display:inline-flex;padding:4px 7px;border-radius:999px;background:#fff3f0;color:#d8514c;font-size:8.5px;font-weight:850}.public-programme-card h4{font-size:14px;line-height:1.25;margin:6px 0 4px;overflow-wrap:anywhere}.public-programme-card p{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);margin:0;overflow-wrap:anywhere}.public-programme-card p svg{width:13px;height:13px;flex:0 0 auto}.public-programme-card em{font-style:normal;font-size:9px;font-weight:800;color:#7b6f65;background:#f7f4f1;padding:6px 8px;border-radius:999px}
.explore-feature-v18{position:relative;display:block;min-height:330px;border-radius:28px;overflow:hidden;color:#fff;text-decoration:none;box-shadow:0 20px 52px rgba(19,34,56,.16);isolation:isolate}.explore-feature-media{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center}.explore-feature-gradient{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,21,31,.84) 0%,rgba(9,21,31,.58) 48%,rgba(9,21,31,.18) 100%)}.explore-feature-copy{position:relative;z-index:2;min-height:330px;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;max-width:680px}.explore-feature-badge{display:inline-flex;align-self:flex-start;padding:6px 9px;border-radius:999px;background:#ff5a5f;color:#fff;font-size:9px;font-weight:900;letter-spacing:.12em}.explore-feature-copy h3{font-family:var(--font-display);font-size:clamp(28px,5vw,48px);line-height:.98;letter-spacing:-.045em;color:#fff;margin:10px 0 8px}.explore-feature-copy p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.82);max-width:560px;margin:0}.explore-feature-tags{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.explore-feature-tags span{padding:6px 9px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.11);border-radius:999px;font-size:9px;font-weight:800;backdrop-filter:blur(8px)}.explore-feature-cta{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#fff}.explore-feature-cta svg{width:16px;height:16px}
.public-notice-list{display:grid}.public-notice-card{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) 18px;gap:10px;align-items:start;padding:12px 2px;border:0;border-top:1px solid #f0ece8;background:transparent;text-align:left}.public-notice-card:first-child{border-top:0}.public-notice-dot{width:8px;height:8px;border-radius:50%;background:#0ea5a7;margin-top:5px}.public-notice-dot.danger{background:#e45470}.public-notice-card b,.public-notice-card small{display:block}.public-notice-card b{font-size:13px;color:var(--ink)}.public-notice-card small{font-size:10px;color:var(--muted);line-height:1.45;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.public-notice-card>span:last-child{color:#a0a7b3;font-size:20px}
.public-help-v18{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border:1px solid var(--line);background:#fff;border-radius:22px}.public-help-v18>div{display:flex;align-items:center;gap:11px;min-width:0}.public-help-v18>div>span{width:40px;height:40px;border-radius:14px;background:#f3f7ff;color:#4069b8;display:grid;place-items:center;flex:0 0 auto}.public-help-v18>div>span svg{width:19px}.public-help-v18 b,.public-help-v18 small{display:block}.public-help-v18 b{font-size:13px}.public-help-v18 small{font-size:10px;color:var(--muted);margin-top:2px}
@media(max-width:900px){.public-utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-hero-v18{min-height:340px}.public-hero-content{min-height:340px;padding:24px}.public-hero-mark{font-size:180px}.explore-feature-v18,.explore-feature-copy{min-height:300px}}
@media(max-width:600px){.public-home-v18{gap:12px}.public-hero-v18{min-height:330px;border-radius:24px}.public-hero-content{min-height:330px;padding:21px}.public-brand-row{margin-bottom:8px}.public-hero-v18 h2{font-size:54px}.public-hero-v18 p{font-size:12px}.public-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.public-hero-actions .btn{width:100%;padding:10px 8px;font-size:11px}.public-hero-mark{font-size:145px;right:-12px;top:34px}.public-utility-grid{gap:8px}.public-utility-card{grid-template-columns:38px minmax(0,1fr);padding:11px;border-radius:17px}.public-utility-icon{width:38px;height:38px}.public-utility-arrow{display:none}.public-utility-copy b{font-size:11px}.public-utility-copy small{font-size:8.5px}.public-section-v18{padding:14px;border-radius:20px}.public-section-head h3{font-size:18px}.public-section-head .text-action{font-size:10px}.public-programme-card{grid-template-columns:60px minmax(0,1fr);gap:9px;padding:11px 1px}.public-programme-card em{display:none}.public-programme-card time b{font-size:16px}.public-programme-card h4{font-size:13px}.explore-feature-v18,.explore-feature-copy{min-height:310px}.explore-feature-copy{padding:20px}.explore-feature-gradient{background:linear-gradient(180deg,rgba(9,21,31,.10),rgba(9,21,31,.84) 62%,rgba(9,21,31,.94))}.explore-feature-copy h3{font-size:31px}.public-help-v18{align-items:flex-start;flex-direction:column}.public-help-v18 .btn{width:100%}}


/* =========================================================
   OKM40 v20 — restrained professional visual refinement
   Keeps the proven v18 landing-page composition unchanged.
   ========================================================= */
:root{
  --brand:#1f4d63;
  --brand2:#2f6d73;
  --ink:#17222d;
  --muted:#6f7a84;
  --soft:#f5f5f2;
  --panel:#ffffff;
  --panel2:#fafaf8;
  --line:#e6e8e5;
  --navy:#173247;
  --navy2:#24465e;
  --teal:#2f6d73;
  --blue:#315f7d;
  --violet:#665d7a;
  --amber:#ad7a33;
  --coral:#9e6659;
  --success:#31735f;
  --warning:#a67632;
  --danger:#a34c58;
  --info:#315f7d;
}
html,body{background:#f5f5f2!important;color:var(--ink)!important}
.app-header{background:rgba(248,248,245,.94)!important;border-bottom:1px solid #e6e8e5!important}
.mobile-brand,.brand-mark{background:linear-gradient(135deg,#173247,#2f6d73)!important;box-shadow:0 9px 22px rgba(23,50,71,.18)!important}
.btn-primary{background:#1f4d63!important;box-shadow:0 9px 20px rgba(31,77,99,.16)!important}
.bottom-nav button.active{background:#eef3f2!important;color:#1f4d63!important}
.bottom-nav button.active:before{background:#1f4d63!important}

/* v18 home layout retained; only palette and surface treatment changed. */
.public-hero-v18{
  background:linear-gradient(135deg,#132b3d 0%,#1f4257 58%,#3a6269 118%)!important;
  box-shadow:0 22px 54px rgba(18,42,58,.18)!important;
}
.public-hero-v18:before{
  background:radial-gradient(circle at 82% 15%,rgba(255,255,255,.13),transparent 25%),radial-gradient(circle at 12% 90%,rgba(91,136,131,.20),transparent 30%)!important;
}
.public-hero-overlay{background:linear-gradient(180deg,rgba(4,15,24,.02),rgba(4,15,24,.28))!important}
.public-live-chip{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.18)!important}
.public-live-chip:before{background:#9fd0bd!important}
.public-primary{background:#fff!important;color:#173247!important}
.public-secondary{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.23)!important}
.public-hero-mark{color:rgba(255,255,255,.055)!important}

.public-utility-card{background:#fff!important;border-color:#e7e9e6!important;box-shadow:0 8px 22px rgba(20,32,42,.04)!important}
.public-utility-icon{background:#eef3f2!important;color:#245d61!important}
.public-utility-card:nth-child(2) .public-utility-icon{background:#eef2f5!important;color:#315f7d!important}
.public-utility-card:nth-child(3) .public-utility-icon{background:#f4f1ea!important;color:#8c672f!important}
.public-utility-card:nth-child(4) .public-utility-icon{background:#f2eff3!important;color:#665d7a!important}
.public-utility-arrow{color:#a6adb3!important}

.public-section-v18{background:#fff!important;border-color:#e7e9e6!important;box-shadow:0 8px 22px rgba(20,32,42,.035)!important}
.public-section-head small{color:#8b918d!important}
.public-programme-card{border-top-color:#eef0ed!important}
.public-programme-card>div>span{background:#eef3f2!important;color:#245d61!important}
.public-programme-card em{background:#f4f5f2!important;color:#69736f!important}
.text-action{color:#245d61!important}

.explore-feature-v18{box-shadow:0 18px 46px rgba(18,42,58,.14)!important}
.explore-feature-media{background-position:center 46%!important;filter:saturate(.82) contrast(.98) brightness(.92)!important}
.explore-feature-gradient{background:linear-gradient(90deg,rgba(10,28,38,.86) 0%,rgba(10,28,38,.61) 50%,rgba(10,28,38,.20) 100%)!important}
.explore-feature-badge{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important;backdrop-filter:blur(8px)!important}
.explore-feature-tags span{background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.22)!important}

.public-notice-dot{background:#2f6d73!important}
.public-notice-dot.danger{background:#a34c58!important}
.public-help-v18{background:#fff!important;border-color:#e7e9e6!important}
.public-help-v18>div>span{background:#eef3f2!important;color:#245d61!important}

/* Professional common surfaces */
.card,.metric-card,.surface-card,.surface-panel,.programme-card,.recent-person,.mini-place-card,.launcher-item,.allocation-preview,.cluster-card,.map-card,.sticky-side .card,.notice,.push-status{box-shadow:0 8px 22px rgba(20,32,42,.04)!important;border-color:#e7e9e6!important}
.metric-icon,.list-icon,.quick-action span,.launcher-item span{background:#eef3f2!important;color:#245d61!important;border-color:#e3ece9!important}
.chip.brand{background:#eef3f2!important;color:#245d61!important;border-color:#dbe7e3!important}
.chip.info{background:#eef2f5!important;color:#315f7d!important;border-color:#dce4ea!important}
.notice.info{background:#f1f5f6!important;border-color:#dde7ea!important;color:#315f67!important}
.notice.success{background:#eef6f2!important;border-color:#dce9e2!important;color:#316b58!important}
.notice.danger{background:#f8f0f1!important;border-color:#eadbdd!important;color:#8f4652!important}

/* Keep Explore Longsa as a premium secondary feature, not a competing campaign block. */
@media(max-width:600px){
  .explore-feature-media{background-position:center 45%!important}
  .explore-feature-gradient{background:linear-gradient(180deg,rgba(10,28,38,.08),rgba(10,28,38,.78) 62%,rgba(10,28,38,.92))!important}
}


/* =========================================================
   OKM40 v21 — refined ruby / burgundy visual system
   Layout intentionally preserved from v18/v20.
   Adds restrained gradients, glass reflection and depth.
   ========================================================= */
:root{
  --brand:#8f1d2c;
  --brand2:#b23345;
  --ink:#211b1d;
  --muted:#756c6f;
  --soft:#f7f4f2;
  --panel:#ffffff;
  --panel2:#fcfaf9;
  --line:#ebe3e1;
  --navy:#2a2024;
  --navy2:#4a252d;
  --teal:#576d69;
  --blue:#586a7c;
  --violet:#6e6074;
  --amber:#a77b49;
  --coral:#a54f4a;
  --success:#4c755f;
  --warning:#a77b49;
  --danger:#9b2939;
  --info:#586a7c;
  --ruby:#8f1d2c;
  --ruby-deep:#5f101d;
  --ruby-soft:#c96876;
  --wine:#43151d;
  --champagne:#d8bfae;
}
html,body{background:linear-gradient(180deg,#faf8f7 0%,#f5f1ef 100%)!important;color:var(--ink)!important}
.app-header{background:rgba(250,248,247,.92)!important;border-bottom:1px solid rgba(231,221,218,.92)!important;box-shadow:0 4px 18px rgba(63,21,29,.025)!important}
.mobile-brand,.brand-mark{background:linear-gradient(145deg,#641321 0%,#8f1d2c 58%,#b64453 100%)!important;box-shadow:0 10px 24px rgba(116,24,40,.18),inset 0 1px 0 rgba(255,255,255,.25)!important;position:relative;overflow:hidden!important}
.mobile-brand:after,.brand-mark:after{content:"";position:absolute;inset:2px 6px auto 6px;height:38%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0));opacity:.42;pointer-events:none}
.btn-primary{background:linear-gradient(135deg,#7a1826 0%,#9e2738 58%,#b43b4d 100%)!important;box-shadow:0 10px 24px rgba(122,24,38,.18),inset 0 1px 0 rgba(255,255,255,.18)!important}
.bottom-nav button.active{background:linear-gradient(180deg,#fbf0f1,#f7e9eb)!important;color:#8f1d2c!important}
.bottom-nav button.active:before{background:linear-gradient(90deg,#7a1826,#b33b4b)!important}

/* Hero: dark wine glass with ruby/champagne reflections. */
.public-hero-v18{
  background:
    radial-gradient(circle at 82% 12%,rgba(232,167,174,.16),transparent 24%),
    radial-gradient(circle at 14% 92%,rgba(214,190,173,.10),transparent 30%),
    linear-gradient(128deg,#24171c 0%,#4a1722 38%,#761b2a 72%,#9b3543 125%)!important;
  box-shadow:0 24px 60px rgba(67,21,29,.22),0 3px 0 rgba(255,255,255,.5) inset!important;
  border:1px solid rgba(255,255,255,.08)!important;
  position:relative;
}
.public-hero-v18:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(110deg,transparent 0 42%,rgba(255,255,255,.08) 49%,rgba(255,255,255,.02) 56%,transparent 64%),
    radial-gradient(ellipse at 75% -10%,rgba(255,255,255,.22),transparent 38%)!important;
  opacity:.72!important;
  pointer-events:none!important;
}
.public-hero-v18:after{content:"";position:absolute;left:7%;right:7%;top:0;height:38%;border-radius:0 0 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0));filter:blur(1px);opacity:.34;pointer-events:none}
.public-hero-overlay{background:linear-gradient(180deg,rgba(23,10,14,.01),rgba(23,10,14,.22))!important}
.public-live-chip{background:rgba(255,255,255,.115)!important;border:1px solid rgba(255,255,255,.19)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)!important;backdrop-filter:blur(12px) saturate(1.05)!important}
.public-live-chip:before{background:#e6b7bd!important;box-shadow:0 0 0 4px rgba(230,183,189,.12)!important}
.public-primary{background:linear-gradient(180deg,#fff,#f7f1ef)!important;color:#651522!important;border:1px solid rgba(255,255,255,.7)!important;box-shadow:0 10px 28px rgba(35,13,18,.16),inset 0 1px 0 #fff!important}
.public-secondary{background:rgba(255,255,255,.095)!important;border:1px solid rgba(255,255,255,.23)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;backdrop-filter:blur(12px)!important}
.public-hero-mark{color:rgba(255,255,255,.048)!important;text-shadow:0 1px 0 rgba(255,255,255,.04)!important}

/* Utility cards: mostly neutral, distinguished by refined red tonal accents. */
.public-utility-card{background:linear-gradient(180deg,#fff 0%,#fdfbfa 100%)!important;border:1px solid #ebe3e1!important;box-shadow:0 10px 28px rgba(55,31,36,.045)!important;position:relative;overflow:hidden!important}
.public-utility-card:before{content:"";position:absolute;left:8%;right:8%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);pointer-events:none}
.public-utility-card:hover{transform:translateY(-1px);border-color:#e2d3d0!important;box-shadow:0 13px 32px rgba(65,27,35,.07)!important}
.public-utility-icon{background:linear-gradient(145deg,#fbefef,#f5dfe2)!important;color:#8f1d2c!important;border:1px solid #ecd4d8!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important}
.public-utility-card:nth-child(2) .public-utility-icon{background:linear-gradient(145deg,#f8eeee,#f1dcde)!important;color:#7b2330!important}
.public-utility-card:nth-child(3) .public-utility-icon{background:linear-gradient(145deg,#faf1ed,#f1e1db)!important;color:#8b493e!important}
.public-utility-card:nth-child(4) .public-utility-icon{background:linear-gradient(145deg,#f7eff2,#ecdee4)!important;color:#74404f!important}
.public-utility-arrow{color:#b09da0!important}

.public-section-v18{background:linear-gradient(180deg,#fff,#fefcfb)!important;border-color:#ebe3e1!important;box-shadow:0 10px 28px rgba(55,31,36,.038)!important;position:relative;overflow:hidden!important}
.public-section-v18:before{content:"";position:absolute;left:6%;right:6%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,1),transparent);pointer-events:none}
.public-section-head small{color:#9a8588!important}
.public-programme-card{border-top-color:#f0e8e6!important}
.public-programme-card>div>span{background:linear-gradient(180deg,#fbefef,#f7e5e7)!important;color:#8b2635!important;border:1px solid #efd8db!important}
.public-programme-card em{background:#f8f3f2!important;color:#7e696d!important}
.text-action{color:#8f1d2c!important}

/* Explore keeps the photo but reads as a refined editorial feature rather than a promo banner. */
.explore-feature-v18{box-shadow:0 22px 54px rgba(56,24,31,.18)!important;border:1px solid rgba(255,255,255,.10)!important}
.explore-feature-media{background-position:center 48%!important;filter:saturate(.80) contrast(1.01) brightness(.88) sepia(.03)!important;transform:scale(1.012)}
.explore-feature-gradient{background:
  linear-gradient(90deg,rgba(31,13,18,.88) 0%,rgba(63,18,28,.66) 48%,rgba(82,25,34,.18) 100%),
  linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.18))!important}
.explore-feature-v18:after{content:"";position:absolute;z-index:1;left:8%;right:8%;top:0;height:35%;border-radius:0 0 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0));opacity:.18;pointer-events:none}
.explore-feature-badge{background:rgba(117,28,42,.38)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;backdrop-filter:blur(12px)!important}
.explore-feature-tags span{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.21)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.09)!important}

.public-notice-dot{background:#9b3443!important}
.public-notice-dot.danger{background:#781725!important}
.public-help-v18{background:linear-gradient(180deg,#fff,#fdfafa)!important;border-color:#ebe3e1!important;box-shadow:0 9px 24px rgba(55,31,36,.038)!important}
.public-help-v18>div>span{background:linear-gradient(145deg,#fbefef,#f5e1e3)!important;color:#8f1d2c!important;border:1px solid #ecd7da!important}

/* Common surfaces remain professional and low-saturation. */
.card,.metric-card,.surface-card,.surface-panel,.programme-card,.recent-person,.mini-place-card,.launcher-item,.allocation-preview,.cluster-card,.map-card,.sticky-side .card,.notice,.push-status{box-shadow:0 9px 24px rgba(55,31,36,.038)!important;border-color:#ebe3e1!important}
.metric-icon,.list-icon,.quick-action span,.launcher-item span{background:linear-gradient(145deg,#fbefef,#f5e4e5)!important;color:#8f1d2c!important;border-color:#ecd9dc!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important}
.chip.brand{background:#f9eaec!important;color:#8f1d2c!important;border-color:#ecd1d6!important}
.chip.info{background:#f4f1f2!important;color:#6c5760!important;border-color:#e6dde0!important}
.notice.info{background:#f8f3f4!important;border-color:#e8dde0!important;color:#67464e!important}
.notice.success{background:#f2f6f3!important;border-color:#dde9e1!important;color:#436a58!important}
.notice.danger{background:#f9eeee!important;border-color:#ecd5d9!important;color:#8f2c3b!important}

/* Subtle mirrored highlight only on large premium surfaces. */
.public-hero-v18,.explore-feature-v18,.public-section-v18,.public-utility-card{isolation:isolate}

@media(max-width:600px){
  .public-hero-v18{background:radial-gradient(circle at 82% 8%,rgba(232,167,174,.13),transparent 26%),linear-gradient(145deg,#25171c 0%,#551824 55%,#8b2637 120%)!important}
  .explore-feature-media{background-position:center 46%!important;transform:scale(1.01)}
  .explore-feature-gradient{background:linear-gradient(180deg,rgba(42,14,20,.06) 0%,rgba(58,17,26,.76) 60%,rgba(34,12,17,.94) 100%)!important}
  .public-hero-v18:after,.explore-feature-v18:after{opacity:.12}
}


/* ===== v22 premium visual refresh ===== */
:root{
  --brand:#d53c42;
  --brand2:#b91c2d;
  --coral:#ee5b52;
  --amber:#f3b349;
  --teal:#1b8d7d;
  --blue:#3659d9;
  --violet:#6e5ef6;
  --ink:#17181c;
  --muted:#666b75;
  --soft:#f6f3f1;
  --panel:#ffffff;
  --panel2:#fbf8f7;
  --line:#ece4df;
  --shadow:0 14px 36px rgba(20,18,18,.08);
  --font-ui:"SF Pro Text","Avenir Next","Inter",system-ui,-apple-system,sans-serif;
  --font-display:"SF Pro Display","Avenir Next","Inter",system-ui,-apple-system,sans-serif;
}
html{background:linear-gradient(180deg,#faf8f7 0%,#f4f0ed 100%)}
body{background:linear-gradient(180deg,#faf8f7 0%,#f4f0ed 100%);color:var(--ink);font-family:var(--font-ui)}
.app-header{background:rgba(250,248,247,.88)!important;border-bottom:1px solid rgba(226,219,214,.9)!important;backdrop-filter:saturate(1.2) blur(18px)!important}
.mobile-brand,.brand-mark{background:linear-gradient(145deg,#d94149 0%,#b61f31 100%)!important;box-shadow:0 12px 28px rgba(199,53,64,.20)!important}
.icon-btn,.avatar-btn{border-color:#e8dfda!important;box-shadow:0 4px 14px rgba(20,18,18,.04)!important}
.avatar-btn{background:#14161c!important}
.bottom-nav{background:rgba(255,255,255,.94)!important;border-color:#ece4df!important;box-shadow:0 14px 36px rgba(20,18,18,.11)!important}
.bottom-nav button.active{background:linear-gradient(180deg,#fff5f3 0%,#fdeceb 100%)!important;color:#b4232d!important}
.bottom-nav button.active svg{filter:none}
.btn{border-radius:14px!important;font-weight:760!important}
.btn-primary,.public-primary{background:linear-gradient(145deg,#dd474d 0%,#bc2433 100%)!important;box-shadow:0 12px 26px rgba(199,53,64,.20)!important}
.btn-secondary,.public-secondary{background:#fff!important;border:1px solid #eadfd9!important;color:#27272a!important}
.page-head h2,.header-title-wrap h1,.public-home-premium h2,.public-home-premium h3,.public-home-premium h4{font-family:var(--font-display)}
.card,.surface-panel,.list-item,.modal-content,.sheet-content,.dialog-head,.searchbar,.reception-focus{border-color:#ece4df!important;box-shadow:0 6px 18px rgba(20,18,18,.04)!important}

.public-home-premium{display:grid;gap:14px;padding-bottom:14px}
.premium-hero{position:relative;min-height:300px;border-radius:30px;overflow:hidden;box-shadow:0 22px 52px rgba(52,24,24,.16);background:linear-gradient(145deg,#9f1324 0%,#d94249 48%,#f26d5e 108%)}
.premium-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,14,.10),rgba(20,12,14,.26) 40%,rgba(20,12,14,.58) 100%);z-index:1}
.premium-hero::after{content:"";position:absolute;left:5%;right:5%;top:-16%;height:58%;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));border-radius:50%;filter:blur(8px);opacity:.5;z-index:1}
.premium-hero-media{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/Longsa-village.jpg'), url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center;transform:scale(1.04)}
.premium-hero-body,.premium-hero-top{position:relative;z-index:2;padding:18px 18px 0}
.premium-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.premium-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(10px);color:#fff;font-size:11px;font-weight:850;letter-spacing:.08em}
.premium-live{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#a12631;font-size:11px;font-weight:850;box-shadow:0 10px 24px rgba(14,14,14,.12)}
.premium-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#36c275;box-shadow:0 0 0 4px rgba(54,194,117,.16)}
.premium-hero-copy{position:relative;z-index:2;padding:72px 18px 18px;color:#fff;display:grid;gap:12px}
.premium-hero-copy h2{margin:0;font-size:42px;line-height:.9;letter-spacing:-.06em;color:#fff}
.premium-hero-copy h2 span{display:block;font-size:.55em;font-weight:650;letter-spacing:-.04em;color:rgba(255,255,255,.92)}
.premium-hero-copy p{margin:0;max-width:260px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.86)}
.premium-meta-row{display:flex;gap:8px;flex-wrap:wrap}
.premium-meta-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.20);font-size:11px;color:#fff}
.premium-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.premium-hero-actions .btn{min-height:44px}

.premium-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.premium-action-card{position:relative;border:1px solid #ece4df;background:linear-gradient(180deg,#fff 0%,#fffaf8 100%);border-radius:24px;padding:14px;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:12px;align-items:center;text-align:left;box-shadow:0 12px 30px rgba(20,18,18,.05)}
.premium-action-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#fff3f3;color:#c52d3b;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.premium-action-icon svg{width:22px;height:22px}
.premium-action-copy{min-width:0}
.premium-action-copy b,.premium-action-copy small{display:block}
.premium-action-copy b{font-size:13px;color:#1b1d21}
.premium-action-copy small{font-size:10px;color:#747884;line-height:1.35;margin-top:4px}
.premium-action-arrow{font-size:18px;color:#aeb2bd}
.premium-action-card.explore .premium-action-icon{background:#fff5e8;color:#ba6b11}
.premium-action-card.map .premium-action-icon{background:#eef7ff;color:#3168d8}
.premium-action-card.parking .premium-action-icon{background:#ecfbf7;color:#13806f}
.premium-action-card.notices .premium-action-icon{background:#f5f1ff;color:#6a52f3}
.premium-action-card.delegate .premium-action-icon{background:#fff0ef;color:#d24a4f}

.premium-section{background:#fff;border:1px solid #ece4df;border-radius:26px;padding:16px;box-shadow:0 14px 32px rgba(20,18,18,.045)}
.premium-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}
.premium-section-head small{display:block;font-size:10px;font-weight:850;letter-spacing:.12em;color:#a36b52}
.premium-section-head h3{margin:4px 0 0;font-size:21px;letter-spacing:-.03em}
.premium-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#b4232d;font-size:11px;font-weight:800}
.premium-programme-list{display:grid;gap:10px}
.premium-programme-card{border:1px solid #eee6e1;border-radius:20px;padding:13px;display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:11px;align-items:center;background:linear-gradient(180deg,#fff,#fffaf8)}
.premium-programme-time{display:grid;gap:2px;text-align:left}
.premium-programme-time b{font-size:18px;letter-spacing:-.03em;color:#17181c}
.premium-programme-time small{font-size:10px;color:#7b808b}
.premium-programme-body{min-width:0}
.premium-programme-body span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff4ef;color:#b4232d;font-size:9px;font-weight:900;letter-spacing:.08em}
.premium-programme-body h4{margin:7px 0 4px;font-size:14px;line-height:1.25;color:#1a1c20}
.premium-programme-body p{margin:0;font-size:11px;color:#6c727d;line-height:1.4}
.premium-programme-cta{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:12px;background:#fff;border:1px solid #ece4df;color:#b4232d;font-size:16px}

.premium-split{display:grid;gap:12px}
.premium-explore-card{position:relative;overflow:hidden;min-height:210px;border-radius:28px;text-decoration:none;color:#fff;background:linear-gradient(145deg,#1d1515 0%,#4b221d 36%,#a43d32 100%);box-shadow:0 20px 44px rgba(52,24,24,.18)}
.premium-explore-media{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center;filter:saturate(1.02);transform:scale(1.02)}
.premium-explore-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,12,14,.10),rgba(20,12,14,.32) 42%,rgba(20,12,14,.82) 100%)}
.premium-explore-copy{position:relative;z-index:2;height:100%;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.premium-explore-copy small{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);font-size:10px;font-weight:850;letter-spacing:.12em}
.premium-explore-copy h3{margin:0;font-size:28px;line-height:.95;color:#fff}
.premium-explore-copy p{margin:0;max-width:280px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.84)}
.premium-mini-grid{display:grid;gap:10px}
.premium-info-card{border:1px solid #ece4df;border-radius:22px;padding:14px;background:linear-gradient(180deg,#fff,#fffaf8);box-shadow:0 10px 24px rgba(20,18,18,.04)}
.premium-info-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.premium-info-top small{font-size:10px;font-weight:850;letter-spacing:.12em;color:#8f756a}
.premium-info-top h4{margin:4px 0 0;font-size:17px;letter-spacing:-.03em}
.premium-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#eef9f4;color:#137767;font-size:9px;font-weight:850}
.premium-pill.warn{background:#fff6e8;color:#a16710}
.premium-pill.brand{background:#fff0ef;color:#b4232d}
.premium-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.premium-stat{background:#fff;border:1px solid #eee6e1;border-radius:16px;padding:11px;text-align:left}
.premium-stat small{display:block;font-size:10px;color:#777d88}
.premium-stat b{display:block;margin-top:4px;font-size:18px;letter-spacing:-.04em;color:#1a1c20}
.premium-info-card p{font-size:12px;color:#666d78;line-height:1.5;margin:0}

.premium-notice-list{display:grid;gap:10px}
.premium-notice-card{border:1px solid #eee6e1;border-radius:19px;padding:13px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:flex-start;background:linear-gradient(180deg,#fff,#fffafa);text-align:left}
.premium-notice-dot{width:10px;height:10px;border-radius:50%;background:#3ac37d;margin-top:6px;box-shadow:0 0 0 5px rgba(58,195,125,.12)}
.premium-notice-dot.important{background:#f3b349;box-shadow:0 0 0 5px rgba(243,179,73,.14)}
.premium-notice-dot.emergency{background:#d83a44;box-shadow:0 0 0 5px rgba(216,58,68,.14)}
.premium-notice-copy{min-width:0}
.premium-notice-copy b{display:block;font-size:13px;color:#17181c;line-height:1.35}
.premium-notice-copy small{display:block;margin-top:4px;font-size:11px;color:#6f7581;line-height:1.45}
.premium-notice-arrow{color:#b3b8c2;font-size:17px;margin-top:2px}

.premium-help-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(180deg,#fff5f3 0%,#fff 100%);border:1px solid #f0dfd8;border-radius:24px;padding:15px 16px}
.premium-help-strip > div{display:flex;align-items:center;gap:12px}
.premium-help-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:#fff;color:#b4232d;border:1px solid #f0dfd8}
.premium-help-strip b{display:block;font-size:14px;color:#17181c}
.premium-help-strip small{display:block;margin-top:2px;font-size:11px;color:#6f7581}

@media (min-width:860px){
  .premium-split{grid-template-columns:1.2fr .8fr}
  .premium-action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .app-view{padding:14px 12px 28px!important}
  .premium-hero{min-height:292px;border-radius:28px}
  .premium-hero-copy{padding-top:60px}
  .premium-hero-copy h2{font-size:38px}
  .premium-action-grid{gap:8px}
  .premium-action-card{padding:12px;border-radius:20px;grid-template-columns:44px minmax(0,1fr)}
  .premium-action-arrow{display:none}
  .premium-action-copy b{font-size:12px}
  .premium-action-copy small{font-size:9.5px}
  .premium-section{padding:14px;border-radius:22px}
  .premium-programme-card{grid-template-columns:58px minmax(0,1fr);padding:12px}
  .premium-programme-cta{display:none}
  .premium-explore-card{min-height:198px;border-radius:24px}
  .premium-explore-copy h3{font-size:24px}
  .premium-stat-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .premium-help-strip{flex-direction:column;align-items:stretch}
  .premium-help-strip .btn{width:100%}
}


/* ===== v23 compact public landing + desktop web fix ===== */
.public-home-v23{display:grid;gap:12px;padding-bottom:12px;max-width:1180px;margin:0 auto}
.home-hero-v23{position:relative;min-height:228px;border-radius:28px;overflow:hidden;isolation:isolate;box-shadow:0 18px 44px rgba(46,25,24,.15);background:#7f1825}
.home-hero-photo{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center 45%;transform:scale(1.02)}
.home-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(44,13,18,.80) 0%,rgba(92,22,28,.54) 46%,rgba(43,22,18,.16) 100%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18));z-index:1}
.home-hero-v23:after{content:"";position:absolute;z-index:2;left:5%;right:5%;top:-26%;height:52%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));filter:blur(10px);opacity:.36;pointer-events:none}
.home-hero-top,.home-hero-main{position:relative;z-index:3}
.home-hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 0}
.home-event-label,.home-event-state{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:900;letter-spacing:.09em}
.home-event-label{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(10px)}
.home-event-state{background:rgba(255,255,255,.94);color:#a72531;box-shadow:0 8px 20px rgba(0,0,0,.10)}
.home-hero-main{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding:74px 16px 16px}
.home-hero-copy h2{margin:0;color:#fff;font-family:var(--font-display);font-size:42px;line-height:.88;letter-spacing:-.055em}
.home-hero-copy h2 span{display:block;font-size:.54em;font-weight:650;color:rgba(255,255,255,.90);letter-spacing:-.035em}
.home-hero-copy p{margin:9px 0 0;color:rgba(255,255,255,.82);font-size:11.5px}
.home-hero-actions{display:flex;gap:8px;flex:0 0 auto}.home-hero-actions .btn{min-height:40px;padding:9px 12px;font-size:11px}
.home-btn-primary{background:linear-gradient(145deg,#e04a4f,#bb2434)!important;color:#fff!important;box-shadow:0 10px 22px rgba(104,20,28,.24)!important}
.home-btn-ghost{background:rgba(255,255,255,.15)!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important;backdrop-filter:blur(10px)}
.home-quick-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.home-quick-item{min-width:0;border:1px solid #ece4df;background:#fff;border-radius:18px;padding:11px 8px;display:grid;place-items:center;gap:5px;position:relative;box-shadow:0 8px 20px rgba(24,20,18,.04)}
.home-quick-item span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#fff2f1;color:#c52d3b}.home-quick-item span svg{width:18px;height:18px}
.home-quick-item b{font-size:10px;color:#26272b;line-height:1.15;text-align:center}.home-quick-item i{position:absolute;right:8px;top:8px;border-radius:999px;background:#eaf8f2;color:#137765;padding:3px 5px;font-style:normal;font-size:7px;font-weight:900;letter-spacing:.08em}
.home-quick-item.map span{background:#edf4ff;color:#3766cb}.home-quick-item.parking span{background:#eaf8f4;color:#15806f}.home-quick-item.notices span{background:#f2efff;color:#6b55dc}.home-quick-item.delegate span{background:#fff1ef;color:#ce4a4c}.home-quick-item.explore span{background:#fff6e9;color:#b96c16}
.home-dashboard-grid,.home-info-grid-v23{display:grid;grid-template-columns:1.08fr .92fr;gap:12px}
.home-card-v23{background:#fff;border:1px solid #ece4df;border-radius:24px;padding:15px;box-shadow:0 10px 26px rgba(24,20,18,.04)}
.home-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.home-card-head small{display:block;font-size:8.5px;font-weight:900;letter-spacing:.12em;color:#9b7565}.home-card-head h3{margin:4px 0 0;font-size:18px;letter-spacing:-.03em;color:#1d1e22}.home-link{border:0;background:none;color:#b4232d;font-size:10px;font-weight:850;padding:4px}
.home-agenda-v23{display:grid;gap:2px}.home-agenda-row{border:0;background:none;display:grid;grid-template-columns:58px minmax(0,1fr) 18px;gap:10px;align-items:center;text-align:left;padding:10px 0;border-top:1px solid #f1ebe7}.home-agenda-row:first-child{border-top:0}.home-agenda-row time b,.home-agenda-row time small{display:block}.home-agenda-row time b{font-size:16px}.home-agenda-row time small{font-size:9px;color:#8a8f99}.home-agenda-row h4{margin:0;font-size:12.5px;line-height:1.25}.home-agenda-row p{margin:4px 0 0;font-size:9.5px;color:#757b86;line-height:1.35}.home-agenda-row>span{color:#b8bcc4;font-size:16px}
.home-explore-v23{position:relative;overflow:hidden;border-radius:24px;min-height:190px;color:#fff;text-decoration:none;box-shadow:0 14px 34px rgba(42,27,22,.12)}.home-explore-photo{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center;transform:scale(1.02)}.home-explore-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,15,14,.08),rgba(22,15,14,.82) 100%)}.home-explore-copy{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:16px}.home-explore-copy small{font-size:8px;font-weight:900;letter-spacing:.12em}.home-explore-copy h3{margin:5px 0 5px;font-size:22px;line-height:.96;color:#fff}.home-explore-copy p{margin:0;max-width:300px;font-size:10.5px;line-height:1.4;color:rgba(255,255,255,.82)}.home-explore-copy b{margin-top:8px;font-size:10px;color:#fff}
.about-okm-v23 p{margin:0;color:#656a75;font-size:11.5px;line-height:1.55}.home-okm-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#d94349,#b52232);color:#fff;font-weight:900;font-size:10px}.about-okm-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.about-okm-pills span{padding:6px 8px;border-radius:999px;background:#fff4f1;color:#9d2a32;font-size:8.5px;font-weight:800;border:1px solid #f1dfd9}
.home-live-dot{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:#eaf8f3;color:#147560;padding:5px 8px;font-size:8px;font-weight:900;letter-spacing:.08em}.home-live-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:#36bd7a;box-shadow:0 0 0 4px rgba(54,189,122,.12)}.home-parking-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:4px 0 10px}.home-parking-stats div{border:1px solid #efe7e2;border-radius:14px;padding:9px;background:#fffaf8}.home-parking-stats b,.home-parking-stats small{display:block}.home-parking-stats b{font-size:18px;letter-spacing:-.04em}.home-parking-stats small{font-size:8.5px;color:#7a8089;margin-top:2px}
.home-notice-list-v23{display:grid}.home-notice-list-v23 button{border:0;background:none;display:grid;grid-template-columns:10px minmax(0,1fr) 16px;gap:10px;align-items:start;text-align:left;padding:9px 0;border-top:1px solid #f1ebe7}.home-notice-list-v23 button:first-child{border-top:0}.home-notice-list-v23 i{width:8px;height:8px;border-radius:50%;background:#42ba7b;margin-top:5px;box-shadow:0 0 0 4px rgba(66,186,123,.10)}.home-notice-list-v23 i.danger{background:#dc3b46;box-shadow:0 0 0 4px rgba(220,59,70,.10)}.home-notice-list-v23 b,.home-notice-list-v23 small{display:block}.home-notice-list-v23 b{font-size:11.5px}.home-notice-list-v23 small{margin-top:3px;font-size:9.5px;color:#747a84;line-height:1.4}.home-notice-list-v23 em{font-style:normal;color:#b8bcc4}
.home-help-v23{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(180deg,#fff5f3,#fff);border:1px solid #f0dfd9;border-radius:22px;padding:12px 14px}.home-help-v23>div{display:flex;align-items:center;gap:10px}.home-help-v23>div>span:first-child{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#fff;color:#b4232d;border:1px solid #f0dfd9}.home-help-v23 b,.home-help-v23 small{display:block}.home-help-v23 b{font-size:12px}.home-help-v23 small{font-size:9.5px;color:#747a84;margin-top:2px}

/* Desktop browser layout corrections */
@media(min-width:900px){
  .mobile-frame{padding-bottom:0!important}.bottom-nav{display:none!important}.app-view{padding:20px 24px 34px!important;width:100%;max-width:1240px!important}.app-header{padding-left:24px!important;padding-right:24px!important}.public-home-v23{gap:14px}.home-hero-v23{min-height:250px}.home-hero-main{padding:88px 22px 20px}.home-hero-top{padding:16px 22px 0}.home-hero-copy h2{font-size:50px}.home-quick-strip{gap:10px}.home-quick-item{min-height:82px}.home-card-v23{padding:17px}.home-explore-v23{min-height:202px}
}
@media(min-width:1180px){
  .app-shell{align-items:flex-start}.desktop-rail{position:sticky;top:0;height:100vh;overflow:auto}.mobile-frame{min-width:0;flex:1}.app-header{max-width:none}.public-home-v23{max-width:1200px}.home-dashboard-grid{grid-template-columns:1.15fr .85fr}.home-info-grid-v23{grid-template-columns:1.25fr .75fr}
}
@media(max-width:720px){
  .public-home-v23{gap:10px}.home-hero-v23{min-height:218px;border-radius:24px}.home-hero-main{display:block;padding:58px 14px 14px}.home-hero-top{padding:12px 14px 0}.home-hero-copy h2{font-size:36px}.home-hero-copy p{font-size:10.5px}.home-hero-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.home-hero-actions .btn{width:100%;min-height:38px;padding:8px;font-size:10px}.home-event-label{font-size:8px}.home-event-state{font-size:8px}.home-quick-strip{display:flex;overflow-x:auto;gap:7px;padding-bottom:2px;scroll-snap-type:x proximity}.home-quick-item{flex:0 0 92px;min-height:72px;border-radius:17px;scroll-snap-align:start}.home-dashboard-grid,.home-info-grid-v23{grid-template-columns:1fr}.home-explore-v23{min-height:176px}.home-card-v23{padding:13px;border-radius:20px}.home-card-head h3{font-size:16px}.home-agenda-row{padding:8px 0}.home-notices-v23{display:none}.about-okm-v23 p{font-size:10.5px}.home-help-v23{align-items:flex-start;flex-direction:column}.home-help-v23 .btn{width:100%}
}

/* ===== OKM40 v24: clarity-first public & delegate refinement ===== */
:root{
  --brand:#c92935!important;
  --brand2:#941e2a!important;
  --ink:#18191d!important;
  --muted:#6b7078!important;
  --soft:#f7f5f3!important;
  --panel:#ffffff!important;
  --panel2:#fbf8f6!important;
  --line:#e9e2dd!important;
  --success:#268b68!important;
  --warning:#c68a27!important;
  --danger:#c93643!important;
  --info:#416a9f!important;
  --shadow:0 12px 34px rgba(28,22,20,.08)!important;
}
html,body{background:#f7f5f3!important;color:var(--ink)!important}
.splash{background:linear-gradient(145deg,#841b28,#c92935)!important}
.splash-logo{background:#fff!important;border:0!important;width:122px!important;height:96px!important;padding:12px!important;border-radius:24px!important;box-shadow:0 24px 70px rgba(58,8,17,.28)!important}
.splash-logo img{width:100%;height:100%;object-fit:contain;display:block}
.splash-orbit{border-color:rgba(255,255,255,.13)!important}
.mobile-brand,.brand-mark{background:#fff!important;border:1px solid #eadfd9!important;box-shadow:0 8px 18px rgba(64,30,31,.08)!important;overflow:hidden!important;padding:4px!important}
.mobile-brand img,.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}
.brand-mark{border-radius:13px!important}
.btn-primary{background:#c92935!important;box-shadow:0 8px 18px rgba(201,41,53,.18)!important}
.btn-primary:hover{background:#b9222f!important}
.btn-secondary{background:#fff!important;border-color:#e9e2dd!important}
.card,.surface-panel,.surface-card,.list-item{box-shadow:none!important;border-color:#e9e2dd!important}

/* Public shell: event website/app, not an operator console */
body[data-role="public"] .desktop-rail{display:none!important}
body[data-role="public"] .mobile-frame{width:100%!important;max-width:none!important;padding-bottom:calc(82px + var(--safe-bottom))!important}
body[data-role="public"] #syncBtn,body[data-role="public"] #quickSearchBtn{display:none!important}
body[data-role="public"] .app-header{background:rgba(255,255,255,.94)!important;border-bottom:1px solid #ece6e1!important;box-shadow:0 1px 0 rgba(27,24,22,.02)!important}
body[data-role="public"] .avatar-btn{width:48px!important;border-radius:999px!important;background:#fff1ef!important;color:#a52431!important;border:1px solid #efd9d6!important;font-size:10px!important;font-weight:900!important;letter-spacing:.04em}
body[data-role="public"] .header-title-wrap h1{font-size:18px!important}
body[data-role="public"] .header-title-wrap small{color:#8c7c74!important}
body[data-role="public"] .app-view{max-width:1180px!important}
body[data-role="public"] .bottom-nav{background:rgba(255,255,255,.97)!important;border-color:#e9e2dd!important}
body[data-role="public"] .bottom-nav button.active{background:#fff1ef!important;color:#b42331!important}
body[data-role="public"] .offline-banner{background:#fff7e6!important;color:#6e531c!important;border-color:#f0deb8!important}

/* Compact public home */
.home-v24{display:grid;gap:12px;max-width:1180px;margin:0 auto}
.home-hero-v24{position:relative;min-height:238px;overflow:hidden;border-radius:26px;background:#8f1d2a;isolation:isolate;box-shadow:0 18px 42px rgba(71,26,31,.14)}
.home-hero-v24-photo{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center 46%;transform:scale(1.02)}
.home-hero-v24-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(81,11,23,.91) 0%,rgba(139,24,36,.78) 46%,rgba(95,29,24,.30) 100%),linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18));z-index:1}
.home-hero-v24:after{content:"";position:absolute;left:7%;right:7%;top:-20%;height:54%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0));filter:blur(10px);z-index:2;pointer-events:none}
.home-hero-v24-content{position:relative;z-index:3;min-height:238px;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;column-gap:12px}
.home-brand-v24{display:flex;align-items:center;gap:9px;min-width:0}
.home-brand-logo{width:54px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;padding:4px;box-shadow:0 8px 20px rgba(61,8,16,.16)}
.home-brand-logo img{max-width:100%;max-height:100%;object-fit:contain}
.home-brand-v24 small,.home-brand-v24 b{display:block;color:#fff}.home-brand-v24 small{font-size:8px;letter-spacing:.12em;font-weight:850;opacity:.76}.home-brand-v24 b{font-size:12px;margin-top:2px}
.home-state-v24{align-self:start;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.94);color:#9c1f2b;font-size:9px;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(50,8,14,.12)}
.home-hero-v24-copy{align-self:end;grid-column:1/-1;padding-top:24px;max-width:680px}
.home-hero-v24-copy h2{margin:0;color:#fff;font-family:var(--font-display);font-size:30px;line-height:1;letter-spacing:-.045em}
.home-hero-v24-copy p{margin:7px 0 0;color:rgba(255,255,255,.84);font-size:12px;font-weight:650}
.home-hero-v24-actions{grid-column:1/-1;display:flex;gap:8px;margin-top:13px}.home-hero-v24-actions .btn{min-height:39px;padding:8px 12px;font-size:11px}
.home-red-btn{background:#fff!important;color:#ad2431!important;box-shadow:0 8px 18px rgba(64,12,19,.12)!important}
.home-white-btn{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;backdrop-filter:blur(10px)}

/* Live status strip */
.home-live-bar-v24{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid #e9e2dd;border-radius:20px;overflow:hidden}
.home-live-bar-v24>button{min-width:0;border:0;background:#fff;padding:11px 12px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;border-left:1px solid #eee7e2}
.home-live-bar-v24>button:first-child{border-left:0}.home-live-bar-v24 small,.home-live-bar-v24 b{display:block}.home-live-bar-v24 small{font-size:8px;letter-spacing:.09em;font-weight:900;color:#8b7a70}.home-live-bar-v24 b{font-size:10.5px;color:#26272b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.home-live-bar-v24 i{font-style:normal;color:#b4b0ad}
.live-dot-v24{width:8px;height:8px;border-radius:50%;background:#35ad79;box-shadow:0 0 0 4px rgba(53,173,121,.12)}
.live-icon-v24{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#f6f2ef;color:#8b4d45}.live-icon-v24 svg{width:14px;height:14px}.live-icon-v24.danger{background:#fff0f0;color:#c12b37}

/* Primary decisions only */
.home-primary-grid-v24{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.home-primary-card-v24{min-width:0;border:1px solid #e9e2dd;background:#fff;border-radius:18px;padding:12px;display:grid;grid-template-columns:38px minmax(0,1fr) 14px;gap:9px;align-items:center;text-align:left;box-shadow:0 4px 14px rgba(28,22,20,.025)}
.home-primary-card-v24>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#fff1ef;color:#b42331}.home-primary-card-v24>span svg{width:18px;height:18px}.home-primary-card-v24 b,.home-primary-card-v24 small{display:block}.home-primary-card-v24 b{font-size:11.5px}.home-primary-card-v24 small{font-size:8.7px;color:#777b83;line-height:1.35;margin-top:2px}.home-primary-card-v24>i{font-style:normal;color:#b7b5b2}.home-primary-card-v24.my-okm{border-color:#edd7d2;background:linear-gradient(180deg,#fff6f4,#fff)}

.home-section-v24,.home-about-v24,.home-latest-v24{background:#fff;border:1px solid #e9e2dd;border-radius:22px;padding:14px}
.home-section-head-v24{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:8px}.home-section-head-v24 small{display:block;font-size:8px;font-weight:900;letter-spacing:.11em;color:#997163}.home-section-head-v24 h3{font-family:var(--font-display);font-size:18px;letter-spacing:-.03em;margin:3px 0 0}.home-section-head-v24>button{border:0;background:none;color:#aa2632;font-size:9.5px;font-weight:850;padding:4px}
.home-agenda-v24{display:grid}.home-agenda-v24>button{border:0;background:none;display:grid;grid-template-columns:56px minmax(0,1fr) 16px;gap:10px;align-items:center;text-align:left;padding:9px 0;border-top:1px solid #f0e9e5}.home-agenda-v24>button:first-child{border-top:0}.home-agenda-v24 time b,.home-agenda-v24 time small{display:block}.home-agenda-v24 time b{font-size:15px}.home-agenda-v24 time small{font-size:8px;color:#85898f}.home-agenda-v24 h4{margin:0;font-size:12px;line-height:1.3}.home-agenda-v24 p{margin:3px 0 0;font-size:9.5px;color:#737880}.home-agenda-v24 i{font-style:normal;color:#bbb8b5}

.home-explore-v24{position:relative;display:block;min-height:180px;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}.home-explore-v24-photo{position:absolute;inset:0;background-image:url('https://rootsandleisure.com/wp-content/uploads/2017/10/LD4A2741.jpg');background-size:cover;background-position:center;transform:scale(1.02)}.home-explore-v24-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,16,14,.08),rgba(20,16,14,.82) 100%)}.home-explore-v24-copy{position:absolute;inset:0;z-index:2;padding:15px;display:flex;flex-direction:column;justify-content:flex-end}.home-explore-v24-copy small{font-size:8px;font-weight:900;letter-spacing:.12em}.home-explore-v24-copy h3{margin:4px 0;font-size:22px;line-height:1;color:#fff}.home-explore-v24-copy p{margin:0;max-width:330px;font-size:10.5px;line-height:1.42;color:rgba(255,255,255,.84)}.home-explore-v24-copy b{font-size:9.5px;margin-top:7px;color:#fff}

.home-secondary-grid-v24{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.home-about-head-v24{display:flex;gap:10px;align-items:center}.home-about-head-v24 img{width:62px;height:48px;object-fit:contain}.home-about-head-v24 small{font-size:8px;letter-spacing:.1em;font-weight:900;color:#9b7467}.home-about-head-v24 h3{font-size:16px;margin:3px 0 0}.home-about-v24 p{font-size:10.8px;line-height:1.55;color:#666b73;margin:10px 0}.home-about-v24>button{border:0;background:none;color:#a92531;font-size:10px;font-weight:850;padding:0}.home-latest-row-v24{width:100%;border:0;background:none;display:grid;grid-template-columns:10px minmax(0,1fr) 14px;gap:10px;align-items:start;text-align:left;padding:8px 0}.home-latest-row-v24 b,.home-latest-row-v24 small{display:block}.home-latest-row-v24 b{font-size:11.5px}.home-latest-row-v24 small{font-size:9.5px;color:#737880;line-height:1.4;margin-top:3px}.home-latest-row-v24 i{font-style:normal;color:#bbb8b5}.notice-dot-v24{width:8px;height:8px;border-radius:50%;background:#35ad79;box-shadow:0 0 0 4px rgba(53,173,121,.10);margin-top:5px}.notice-dot-v24.danger{background:#c93643;box-shadow:0 0 0 4px rgba(201,54,67,.10)}
.home-help-v24{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff7f5;border:1px solid #efdcd7;border-radius:20px;padding:11px 13px}.home-help-v24>div{display:flex;align-items:center;gap:9px}.home-help-v24>div>span:first-child{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#a92531;border:1px solid #efdcd7}.home-help-v24 b,.home-help-v24 small{display:block}.home-help-v24 b{font-size:11.5px}.home-help-v24 small{font-size:9px;color:#777b83;margin-top:2px}

/* Programme: compact ledger, not large feature cards */
.segment-v24{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:5px;background:#eee9e5;border-radius:15px;margin-bottom:12px}.segment-v24 button{border:0;background:transparent;border-radius:11px;padding:8px;display:grid;gap:2px;color:#6f737a}.segment-v24 button span{font-size:8px;font-weight:800}.segment-v24 button b{font-size:11px}.segment-v24 button.active{background:#fff;color:#a92531;box-shadow:0 3px 10px rgba(31,25,22,.06)}
.schedule-ledger-v24{background:#fff;border:1px solid #e9e2dd;border-radius:22px;overflow:hidden}.schedule-row-v24{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:11px;align-items:start;padding:13px;border-top:1px solid #eee8e4}.schedule-row-v24:first-child{border-top:0}.schedule-row-v24 time b,.schedule-row-v24 time small{display:block}.schedule-row-v24 time b{font-size:16px}.schedule-row-v24 time small{font-size:9px;color:#85898f;margin-top:2px}.schedule-copy-v24{min-width:0}.schedule-copy-v24 h3{margin:0;font-size:13px;line-height:1.3}.schedule-copy-v24 p{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:4px 0 0;font-size:9.7px;color:#737880}.schedule-copy-v24 p svg{width:12px;height:12px}.schedule-copy-v24>small{display:block;margin-top:4px;font-size:9px;color:#85898f}.schedule-actions-v24{display:flex;align-items:center;gap:7px}.schedule-actions-v24>button{width:32px;height:32px;border:1px solid #e9e2dd;background:#fff;border-radius:10px;color:#a92531;font-size:17px}

/* Live parking recommendation + grouped rows */
.parking-recommend-v24{background:linear-gradient(145deg,#901e2b,#c92935);color:#fff;border-radius:24px;padding:16px;box-shadow:0 16px 36px rgba(92,23,30,.16)}.parking-live-head-v24{display:flex;align-items:center;gap:8px}.parking-live-head-v24 b{font-size:10px;letter-spacing:.1em}.parking-live-head-v24 small{margin-left:auto;font-size:8.5px;color:rgba(255,255,255,.72)}.parking-recommend-main-v24{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin:15px 0}.parking-recommend-main-v24 small{font-size:8px;font-weight:900;letter-spacing:.11em;color:rgba(255,255,255,.68)}.parking-recommend-main-v24 h2{margin:4px 0;font-size:23px;color:#fff}.parking-recommend-main-v24 p{margin:0;font-size:10.5px;color:rgba(255,255,255,.78)}.parking-recommend-v24 .chip{background:rgba(255,255,255,.16)!important;border-color:rgba(255,255,255,.18)!important;color:#fff!important}.parking-availability-v24{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:12px 0}.parking-availability-v24 small,.parking-availability-v24 b{display:block}.parking-availability-v24 small{font-size:8px;color:rgba(255,255,255,.72)}.parking-availability-v24 b{font-size:26px}.parking-availability-v24>span{font-size:8.5px;color:rgba(255,255,255,.72)}.parking-progress-v24{height:7px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}.parking-progress-v24 i{display:block;height:100%;background:#fff;border-radius:999px}.parking-recommend-v24 .btn{background:#fff!important;color:#a92531!important;box-shadow:none!important}
.parking-zones-v24{margin-top:14px;background:#fff;border:1px solid #e9e2dd;border-radius:22px;padding:14px}.parking-row-v24{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 0;border-top:1px solid #eee8e4}.parking-row-v24:nth-child(2){border-top:0}.parking-code-v24{width:38px;height:38px;border-radius:11px;background:#292b30;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:900}.parking-zone-copy-v24{min-width:0}.parking-zone-copy-v24>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.parking-zone-copy-v24 h4{margin:0;font-size:12px}.parking-zone-copy-v24 p{margin:4px 0;font-size:9.5px;color:#747981}.parking-zone-copy-v24 small{font-size:8.5px;color:#81858d}.parking-zone-copy-v24 em{display:block;margin-top:5px;font-style:normal;font-size:8.5px;font-weight:800;color:#a92531}.parking-mini-progress-v24{height:5px;border-radius:999px;background:#eee9e5;overflow:hidden;margin:7px 0 5px}.parking-mini-progress-v24 i{display:block;height:100%;background:#c92935;border-radius:999px}.parking-chevron-v24{width:30px;height:30px;border:1px solid #e9e2dd;background:#fff;border-radius:10px;color:#a92531}.parking-status-edit-v24{display:grid;gap:4px;font-size:8px;color:#757980}.parking-status-edit-v24 select{min-width:116px;border:1px solid #e4ddd8;border-radius:10px;background:#fff;padding:8px;font-size:10px}

/* Delegate access and About */
.delegate-login-v24{display:grid;gap:12px}.delegate-login-logo-v24{display:flex;gap:12px;align-items:center;padding:12px;border-radius:18px;background:#fff7f5;border:1px solid #efdcd7}.delegate-login-logo-v24 img{width:74px;height:56px;object-fit:contain}.delegate-login-logo-v24 small{font-size:8px;letter-spacing:.1em;color:#967064;font-weight:900}.delegate-login-logo-v24 h3{margin:4px 0 0;font-size:16px}.delegate-help-v24{margin-top:14px;padding:13px;border-radius:18px;background:#f8f6f4;border:1px solid #e9e2dd}.delegate-help-v24 b{font-size:11px}.delegate-help-v24 p{font-size:9.7px;line-height:1.5;color:#6e737b}.about-sheet-v24{text-align:center;padding:4px}.about-sheet-v24>img{width:160px;max-height:118px;object-fit:contain}.about-sheet-v24 h3{font-size:18px;margin:10px 0}.about-sheet-v24 p{font-size:11px;line-height:1.6;color:#666b73}.about-sheet-links-v24{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.more-ledger-v24{display:grid}.more-ledger-v24>button{border:0;background:none;display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #eee8e4;text-align:left}.more-ledger-v24>button:first-child{border-top:0}.more-ledger-v24>button>svg{width:20px;height:20px;color:#a92531}.more-ledger-v24 b,.more-ledger-v24 small{display:block}.more-ledger-v24 b{font-size:11.5px}.more-ledger-v24 small{font-size:9px;color:#787d85;margin-top:2px}.more-ledger-v24 i{font-style:normal;color:#bbb8b5}

/* Explore sub-brand still belongs to OKM40 */
.brand-okm-mini{width:34px;height:28px;object-fit:contain;background:#fff;border-radius:9px;padding:2px;border:1px solid #eee5e0}

/* Desktop web layout */
@media(min-width:900px){
  body[data-role="public"] .mobile-frame{padding-bottom:0!important}
  body[data-role="public"] .bottom-nav{display:none!important}
  body[data-role="public"] .app-header{padding-left:max(24px,calc((100vw - 1180px)/2 + 24px))!important;padding-right:max(24px,calc((100vw - 1180px)/2 + 24px))!important}
  body[data-role="public"] .app-view{padding:20px 24px 34px!important}
  .home-v24{grid-template-columns:1.12fr .88fr;gap:14px}
  .home-hero-v24,.home-live-bar-v24,.home-primary-grid-v24,.home-secondary-grid-v24,.home-help-v24{grid-column:1/-1}
  .home-programme-v24{grid-column:1}.home-explore-v24{grid-column:2;min-height:100%}
  .home-hero-v24,.home-hero-v24-content{min-height:292px}
  .home-hero-v24-content{padding:18px 22px}.home-hero-v24-copy h2{font-size:38px}.home-hero-v24-copy p{font-size:13px}
  .home-brand-logo{width:66px;height:48px}.home-brand-v24 b{font-size:14px}
  .home-primary-card-v24{min-height:72px;padding:13px}.home-primary-card-v24 b{font-size:12.5px}.home-primary-card-v24 small{font-size:9.5px}
  .schedule-ledger-v24{max-width:1000px;margin:0 auto}
  .parking-recommend-v24{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:22px}.parking-live-head-v24,.parking-recommend-main-v24,.parking-availability-v24{grid-column:1}.parking-recommend-v24>.btn{grid-column:2;grid-row:1/4;align-self:end}.parking-zones-v24{max-width:1000px;margin:14px auto 0}
}
@media(max-width:720px){
  .home-v24{gap:10px}
  .home-hero-v24,.home-hero-v24-content{min-height:224px}.home-hero-v24{border-radius:23px}.home-hero-v24-content{padding:12px 13px}.home-brand-logo{width:48px;height:36px}.home-brand-v24 small{font-size:7px}.home-brand-v24 b{font-size:10.5px}.home-state-v24{font-size:7.5px;padding:6px 8px}.home-hero-v24-copy{padding-top:16px}.home-hero-v24-copy h2{font-size:25px;max-width:310px}.home-hero-v24-copy p{font-size:10.5px}.home-hero-v24-actions{margin-top:10px}.home-hero-v24-actions .btn{min-height:36px;font-size:9.5px;padding:7px 9px}
  .home-live-bar-v24{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.home-live-bar-v24>button{flex:0 0 78%;scroll-snap-align:start;border-left:1px solid #eee7e2}.home-live-bar-v24>button:first-child{border-left:0}.home-live-bar-v24 b{font-size:9.7px}
  .home-primary-grid-v24{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.home-primary-card-v24{grid-template-columns:36px minmax(0,1fr);padding:10px;border-radius:16px}.home-primary-card-v24>i{display:none}.home-primary-card-v24 b{font-size:10.5px}.home-primary-card-v24 small{font-size:8.2px}.home-primary-card-v24>span{width:36px;height:36px}
  .home-secondary-grid-v24{grid-template-columns:1fr}.home-about-v24{order:2}.home-latest-v24{order:1}.home-explore-v24{min-height:166px}.home-section-v24,.home-about-v24,.home-latest-v24{padding:12px;border-radius:19px}.home-help-v24{align-items:flex-start;flex-direction:column}.home-help-v24 .btn{width:100%}
  .schedule-row-v24{grid-template-columns:58px minmax(0,1fr) auto;padding:11px}.schedule-copy-v24 h3{font-size:12px}.schedule-actions-v24 .chip{display:none}
  .parking-recommend-main-v24{display:block}.parking-recommend-main-v24 .chip{margin-top:8px}.parking-availability-v24{grid-template-columns:auto 1fr}.parking-availability-v24>span{grid-column:1/-1}.parking-row-v24{grid-template-columns:36px minmax(0,1fr) auto}.parking-status-edit-v24 select{min-width:102px}
}


/* ===== v25 desktop browser correction ===== */
.public-desktop-nav{display:none}
@media(min-width:900px){
  body[data-role="public"]{overflow-x:hidden!important}
  body[data-role="public"] .app-shell{display:block!important;width:100%!important;min-height:100vh!important}
  body[data-role="public"] .mobile-frame{display:block!important;width:100%!important;max-width:none!important;min-height:100vh!important;padding-bottom:0!important}
  body[data-role="public"] .app-header{
    position:sticky!important;top:0!important;z-index:80!important;height:74px!important;
    padding:10px max(28px,calc((100vw - 1360px)/2 + 28px))!important;
    display:grid!important;grid-template-columns:auto minmax(360px,1fr) auto!important;align-items:center!important;gap:28px!important;
    background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px) saturate(120%)!important;
  }
  body[data-role="public"] .header-left{gap:12px!important;min-width:230px!important}
  body[data-role="public"] .mobile-brand{display:grid!important;width:50px!important;height:50px!important;border-radius:14px!important;padding:5px!important;flex:0 0 auto!important}
  body[data-role="public"] .header-title-wrap small{font-size:9px!important;letter-spacing:.1em!important}
  body[data-role="public"] .header-title-wrap h1{font-size:18px!important;max-width:none!important}
  body[data-role="public"] .public-desktop-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important}
  body[data-role="public"] .public-desktop-nav button,body[data-role="public"] .public-desktop-nav a{
    border:0!important;background:transparent!important;color:#656970!important;border-radius:10px!important;
    min-height:38px!important;padding:9px 11px!important;font-size:12px!important;font-weight:750!important;text-decoration:none!important;white-space:nowrap!important;cursor:pointer!important
  }
  body[data-role="public"] .public-desktop-nav button:hover,body[data-role="public"] .public-desktop-nav a:hover{background:#faf4f2!important;color:#a72530!important}
  body[data-role="public"] .public-desktop-nav button.active{background:#fff0ef!important;color:#a72530!important}
  body[data-role="public"] .header-actions{justify-self:end!important;gap:8px!important}
  body[data-role="public"] #notificationBtn{display:grid!important}
  body[data-role="public"] #profileBtn{width:auto!important;min-width:110px!important;height:42px!important;padding:0 14px!important;display:flex!important;align-items:center!important;gap:7px!important;border-radius:13px!important;background:#c92935!important;color:#fff!important;border:0!important;box-shadow:0 8px 18px rgba(201,41,53,.16)!important}
  body[data-role="public"] #profileBtn #mobileAvatar{font-size:0!important}
  body[data-role="public"] #profileBtn #mobileAvatar:after{content:"My OKM40";font-size:11px!important;font-weight:850!important;letter-spacing:0!important}
  body[data-role="public"] .app-view{width:100%!important;max-width:1408px!important;margin:0 auto!important;padding:24px 24px 48px!important}
  body[data-role="public"] .home-v24{max-width:1360px!important;gap:14px!important;grid-template-columns:minmax(0,1.24fr) minmax(360px,.76fr)!important}
  body[data-role="public"] .home-hero-v24,body[data-role="public"] .home-live-bar-v24,body[data-role="public"] .home-primary-grid-v24,body[data-role="public"] .home-secondary-grid-v24,body[data-role="public"] .home-help-v24{grid-column:1/-1!important}
  body[data-role="public"] .home-programme-v24{grid-column:1!important}
  body[data-role="public"] .home-explore-v24{grid-column:2!important;min-height:100%!important}
  body[data-role="public"] .home-hero-v24,body[data-role="public"] .home-hero-v24-content{min-height:252px!important}
  body[data-role="public"] .home-hero-v24-content{padding:16px 20px!important}
  body[data-role="public"] .home-hero-v24-copy{padding-top:18px!important}
  body[data-role="public"] .home-hero-v24-copy h2{font-size:35px!important;max-width:760px!important}
  body[data-role="public"] .home-hero-v24-copy p{font-size:12.5px!important}
  body[data-role="public"] .home-primary-card-v24{min-height:70px!important}
  body[data-role="public"] .home-secondary-grid-v24{grid-template-columns:1.2fr .8fr!important}
}
@media(min-width:1400px){
  body[data-role="public"] .app-view{max-width:1480px!important;padding-left:36px!important;padding-right:36px!important}
  body[data-role="public"] .home-v24{max-width:1400px!important}
  body[data-role="public"] .home-hero-v24,body[data-role="public"] .home-hero-v24-content{min-height:268px!important}
  body[data-role="public"] .home-hero-v24-copy h2{font-size:40px!important}
}
@media(min-width:900px) and (max-width:1120px){
  body[data-role="public"] .app-header{grid-template-columns:auto 1fr auto!important;gap:14px!important;padding-left:20px!important;padding-right:20px!important}
  body[data-role="public"] .header-title-wrap{display:none!important}
  body[data-role="public"] .public-desktop-nav{justify-content:flex-start!important;overflow-x:auto!important}
  body[data-role="public"] .public-desktop-nav button,body[data-role="public"] .public-desktop-nav a{padding-left:9px!important;padding-right:9px!important;font-size:11px!important}
  body[data-role="public"] .home-v24{grid-template-columns:1fr!important}
  body[data-role="public"] .home-programme-v24,body[data-role="public"] .home-explore-v24{grid-column:1!important}
  body[data-role="public"] .home-explore-v24{min-height:190px!important}
}
@media(max-width:899px){.public-desktop-nav{display:none!important}}

/* Internal desktop surfaces: never inherit public full-width rules. */
@media(min-width:900px){
  body:not([data-role="public"]) .app-shell{display:grid!important;grid-template-columns:248px minmax(0,1fr)!important;align-items:start!important}
  body:not([data-role="public"]) .desktop-rail{display:flex!important;position:sticky!important;top:0!important;height:100vh!important}
  body:not([data-role="public"]) .mobile-frame{min-width:0!important;width:auto!important;max-width:none!important}
  body:not([data-role="public"]) .app-view{width:100%!important;max-width:1320px!important;margin:0 auto!important}
}
@media(min-width:1200px){body:not([data-role="public"]) .app-shell{grid-template-columns:270px minmax(0,1fr)!important}}


/* ===== v26 backend + My OKM refinement ===== */
:root{--brand:#c92935!important;--brand2:#941e2a!important;--ink:#18191d!important;--muted:#6b7078!important;--soft:#f7f5f3!important;--panel:#fff!important;--panel2:#fbf9f7!important;--line:#e9e2dd!important;--teal:#23856f!important;--blue:#406c9b!important;--amber:#bd8128!important;--coral:#d94b3d!important;--violet:#7d5361!important}
body:not([data-role="public"]){background:#f7f5f3!important}
body:not([data-role="public"]) .desktop-rail{background:#1d191a!important;border-right:1px solid #302829!important;width:252px!important;padding:18px 12px!important}
body:not([data-role="public"]) .mobile-frame{background:#f7f5f3!important}
body:not([data-role="public"]) .rail-brand{margin:0 2px 14px!important;padding:8px!important;border-radius:16px!important;background:rgba(255,255,255,.04)!important}
body:not([data-role="public"]) .rail-brand .brand-mark{background:#fff!important;border:1px solid rgba(255,255,255,.12)!important;padding:3px!important}
body:not([data-role="public"]) .rail-nav button{border-radius:12px!important;color:#bcb4b6!important;padding:10px 11px!important}
body:not([data-role="public"]) .rail-nav button:hover{background:rgba(255,255,255,.05)!important;color:#fff!important}
body:not([data-role="public"]) .rail-nav button.active{background:#fff!important;color:#7e1f2b!important;border:0!important;box-shadow:0 8px 24px rgba(0,0,0,.16)!important}
body:not([data-role="public"]) .workspace-chip{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.08)!important;color:#ddd4d5!important}
body:not([data-role="public"]) .app-header{background:rgba(247,245,243,.94)!important;border-bottom:1px solid #e9e2dd!important}
body:not([data-role="public"]) .app-view{max-width:1320px!important;padding:18px 20px 40px!important}
body:not([data-role="public"]) .page-head{margin:4px 0 18px!important;align-items:center!important}
body:not([data-role="public"]) .page-head h2{font-size:27px!important;letter-spacing:-.035em!important}
body:not([data-role="public"]) .page-head p{font-size:12px!important;margin-top:5px!important}
body:not([data-role="public"]) .card,body:not([data-role="public"]) .surface-panel{border:1px solid #e9e2dd!important;background:#fff!important;box-shadow:none!important;border-radius:18px!important}
body:not([data-role="public"]) .btn-primary{background:#c92935!important;box-shadow:none!important}
body:not([data-role="public"]) .btn-secondary{background:#fff!important;border:1px solid #e5ddd8!important;color:#302d2f!important}
body:not([data-role="public"]) .metric-icon,body:not([data-role="public"]) .list-icon{background:#f7f1ef!important;color:#9f2a35!important}
body:not([data-role="public"]) .table-wrap{border-color:#e8e0db!important;border-radius:16px!important;background:#fff!important}
body:not([data-role="public"]) .table th{background:#faf8f6!important;color:#777074!important;position:sticky;top:0;z-index:1}
body:not([data-role="public"]) .table td{background:#fff!important}
body:not([data-role="public"]) .searchbar{background:#fff!important;border-color:#e5ddd8!important;box-shadow:none!important}

.ops-dashboard-v26,.coord-dashboard-v26{display:grid;gap:14px}.ops-command-v26,.coord-summary-v26{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border:1px solid #e5d9d5;border-radius:20px;background:linear-gradient(110deg,#fff 0%,#fdf7f5 100%)}
.ops-command-brand-v26{display:flex;align-items:center;gap:14px;min-width:0}.ops-command-brand-v26 img{width:54px;height:54px;object-fit:contain;background:#fff;border:1px solid #eee3df;border-radius:15px;padding:4px}.ops-command-brand-v26 small,.coord-summary-v26 small{font-size:9px;letter-spacing:.12em;font-weight:850;color:#9a6861}.ops-command-brand-v26 h2,.coord-summary-v26 h2{font-size:22px;letter-spacing:-.035em;margin:3px 0 4px}.ops-command-brand-v26 p,.coord-summary-v26 p{font-size:11px;color:#6f7077;margin:0}.ops-command-actions-v26,.coord-summary-actions-v26{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ops-health-v26{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#f2f7f4;color:#246d59;font-size:10px;font-weight:800;white-space:nowrap}.ops-health-v26 i{width:7px;height:7px;border-radius:50%;background:#2e9a75}.ops-health-v26.warn{background:#fff6e8;color:#926322}.ops-health-v26.warn i{background:#d6972c}
.ops-metrics-v26{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ops-metrics-v26 article{background:#fff;border:1px solid #e9e2dd;border-radius:16px;padding:13px 14px;min-width:0}.ops-metrics-v26 small{display:block;font-size:8.5px;font-weight:850;letter-spacing:.1em;color:#8c8181}.ops-metrics-v26 b{display:block;font-size:25px;letter-spacing:-.045em;margin:5px 0 1px;color:#1d1b1c}.ops-metrics-v26 span{font-size:10px;color:#75777e}
.ops-module-strip-v26{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.ops-module-strip-v26::-webkit-scrollbar{display:none}.ops-module-strip-v26 button{flex:0 0 auto;min-width:112px;border:1px solid #e9e2dd;border-radius:14px;background:#fff;padding:10px 12px;display:flex;align-items:center;gap:9px;color:#343033}.ops-module-strip-v26 button span{width:30px;height:30px;border-radius:10px;background:#faf1ef;color:#a62b37;display:grid;place-items:center}.ops-module-strip-v26 button span svg{width:16px}.ops-module-strip-v26 button b{font-size:11px}
.ops-grid-v26{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ops-panel-v26{background:#fff;border:1px solid #e9e2dd;border-radius:18px;padding:15px;min-width:0}.ops-panel-head-v26{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.ops-panel-head-v26 small{display:block;font-size:8.5px;font-weight:850;letter-spacing:.12em;color:#9c7771}.ops-panel-head-v26 h3{margin:3px 0 0;font-size:16px;letter-spacing:-.02em}.status-text-v26{font-size:10px;color:#77777d}.ops-ledger-v26{display:grid}.ops-ledger-row-v26,.ops-session-v26{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(100px,.8fr) auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #f0ebe8}.ops-ledger-row-v26:first-child,.ops-session-v26:first-child{border-top:0}.ops-ledger-row-v26 b,.ops-ledger-row-v26 small{display:block}.ops-ledger-row-v26 b{font-size:11px}.ops-ledger-row-v26 small{font-size:9px;color:#777b82;margin-top:2px}.ops-ledger-row-v26 strong{font-size:11px}.ops-progress-v26{height:6px;background:#f1ece9;border-radius:999px;overflow:hidden}.ops-progress-v26 i{display:block;height:100%;background:#c92935;border-radius:inherit}.ops-progress-v26.large{height:8px;margin:8px 0 13px}.ops-session-v26{width:100%;grid-template-columns:56px minmax(0,1fr) 18px;border-left:0;border-right:0;border-bottom:0;background:transparent;text-align:left}.ops-session-v26 time{font-size:13px;font-weight:850;color:#8c2631}.ops-session-v26 b,.ops-session-v26 small{display:block}.ops-session-v26 b{font-size:11px}.ops-session-v26 small{font-size:9px;color:#777b82;margin-top:2px}.ops-session-v26>span{color:#aaa3a3}.ops-kpi-line-v26{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid #f0ebe8;font-size:11px}.ops-kpi-line-v26:first-of-type{border-top:0}.ops-attention-v26{display:grid}.ops-attention-v26 button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;border:0;border-top:1px solid #f0ebe8;background:transparent;padding:10px 0;text-align:left}.ops-attention-v26 button:first-child{border-top:0}.ops-attention-v26 button>span{width:32px;height:32px;border-radius:10px;background:#faf1ef;color:#a62b37;display:grid;place-items:center}.ops-attention-v26 b,.ops-attention-v26 small{display:block}.ops-attention-v26 b{font-size:11px}.ops-attention-v26 small{font-size:9px;color:#7a7c82;margin-top:2px}
.coord-arrival-v26{padding:10px 0 13px}.coord-arrival-v26 b,.coord-arrival-v26 span{display:block}.coord-arrival-v26 b{font-size:14px}.coord-arrival-v26 span{font-size:10px;color:#71747b;margin-top:3px}.coord-person-v26{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border:0;border-top:1px solid #f0ebe8;background:transparent;text-align:left}.coord-person-v26:first-child{border-top:0}.coord-person-v26>span:first-child{width:34px;height:34px;border-radius:11px;background:#f6eeee;color:#9b2c36;display:grid;place-items:center;font-size:10px;font-weight:850}.coord-person-v26 b,.coord-person-v26 small{display:block}.coord-person-v26 b{font-size:11px}.coord-person-v26 small{font-size:9px;color:#74777e;margin-top:2px}

.myokm-v26{display:grid;gap:12px;max-width:980px;margin:0 auto}.myokm-pass-v26{background:linear-gradient(118deg,#8f202c 0%,#c92935 58%,#db5a52 120%);color:#fff;border-radius:24px;padding:17px;box-shadow:0 15px 36px rgba(114,25,35,.18);position:relative;overflow:hidden}.myokm-pass-v26:after{content:"";position:absolute;right:-40px;top:-70px;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.09)}.myokm-pass-top-v26{position:relative;z-index:2;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center}.myokm-pass-top-v26 img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:14px;padding:3px}.myokm-pass-top-v26 small,.myokm-pass-top-v26 b,.myokm-pass-top-v26 span{display:block}.myokm-pass-top-v26 small{font-size:8px;letter-spacing:.12em;opacity:.74}.myokm-pass-top-v26 b{font-size:20px;letter-spacing:-.03em;margin-top:2px}.myokm-pass-top-v26 span{font-size:10px;opacity:.8;margin-top:2px}.myokm-pass-v26 .chip{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}.myokm-pass-id-v26{position:relative;z-index:2;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;gap:12px}.myokm-pass-id-v26 small,.myokm-pass-id-v26 b{display:block}.myokm-pass-id-v26 small{font-size:8px;opacity:.68;letter-spacing:.12em}.myokm-pass-id-v26 b{font-size:13px;margin-top:2px}.myokm-qr-v26{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;border-radius:13px;padding:8px 10px;display:flex;align-items:center;gap:7px}.myokm-qr-v26 svg{width:18px}.myokm-qr-v26 span{font-size:10px;font-weight:800}
.myokm-state-v26{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.myokm-state-v26 article{background:#fff;border:1px solid #e9e2dd;border-radius:16px;padding:11px;min-width:0}.myokm-state-v26 article>span{width:29px;height:29px;border-radius:10px;background:#f4f1ef;color:#807b7d;display:grid;place-items:center}.myokm-state-v26 article.done>span{background:#eaf7f1;color:#26765d}.myokm-state-v26 small,.myokm-state-v26 b{display:block}.myokm-state-v26 small{font-size:8px;color:#898487;margin-top:7px}.myokm-state-v26 b{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myokm-actions-v26{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.myokm-actions-v26 button{border:1px solid #e9e2dd;background:#fff;border-radius:16px;min-height:72px;padding:9px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.myokm-actions-v26 button span{width:31px;height:31px;border-radius:10px;background:#faf1ef;color:#a52c37;display:grid;place-items:center}.myokm-actions-v26 button span svg{width:17px}.myokm-actions-v26 button b{font-size:9.5px;text-align:center}
.myokm-grid-v26{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.myokm-card-v26{background:#fff;border:1px solid #e9e2dd;border-radius:18px;padding:14px;min-width:0}.myokm-card-head-v26{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}.myokm-card-head-v26 small{display:block;font-size:8px;letter-spacing:.12em;font-weight:850;color:#956d68}.myokm-card-head-v26 h3{font-size:15px;margin:3px 0 0}.myokm-card-head-v26 .text-action{flex-direction:column;align-items:center;gap:2px;padding:0;font-size:10px;line-height:1.2;white-space:nowrap}.myokm-card-head-v26 .text-action svg{width:16px;height:16px}.myokm-agenda-v26{display:grid}.myokm-agenda-v26 button{display:grid;grid-template-columns:55px minmax(0,1fr) 15px;gap:9px;align-items:center;border:0;border-top:1px solid #f0ebe8;background:transparent;padding:10px 0;text-align:left}.myokm-agenda-v26 button:first-child{border-top:0}.myokm-agenda-v26 time{font-size:13px;font-weight:850;color:#8e2732}.myokm-agenda-v26 b,.myokm-agenda-v26 small{display:block}.myokm-agenda-v26 b{font-size:11px}.myokm-agenda-v26 small{font-size:9px;color:#74787f;margin-top:2px;line-height:1.35}.myokm-stay-v26>b,.myokm-stay-v26>span{display:block}.myokm-stay-v26>b{font-size:13px}.myokm-stay-v26>span{font-size:10px;color:#70747b;margin:3px 0 10px}.myokm-stay-v26>div{display:flex;gap:7px}.myokm-stay-v26 .btn{flex:1}.myokm-card-v26 p{font-size:10.5px;line-height:1.5}.myokm-card-v26.explore{background:linear-gradient(145deg,#fff7f3,#fff)!important}.myokm-explore-mark-v26{width:28px;height:28px;border-radius:9px;background:#f8e9e5;color:#9c2d36;display:grid;place-items:center}.myokm-alert-v26{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;align-items:start;border:1px solid #eadfd9;background:#fffaf8;border-radius:17px;padding:12px;text-align:left}.myokm-alert-v26>span{width:34px;height:34px;border-radius:11px;background:#faece9;color:#a82d37;display:grid;place-items:center}.myokm-alert-v26 small,.myokm-alert-v26 b,.myokm-alert-v26 p{display:block}.myokm-alert-v26 small{font-size:8px;letter-spacing:.1em;color:#9c716a}.myokm-alert-v26 b{font-size:11px;margin-top:2px}.myokm-alert-v26 p{font-size:9px;color:#777a81;margin:3px 0 0;line-height:1.4}.myokm-alert-v26>i{font-style:normal;color:#aaa2a1}

@media(max-width:900px){body:not([data-role="public"]) .app-view{padding:14px 12px 96px!important}.ops-command-v26,.coord-summary-v26{align-items:flex-start;flex-direction:column;padding:15px}.ops-command-actions-v26,.coord-summary-actions-v26{width:100%;justify-content:stretch}.ops-command-actions-v26 .btn,.coord-summary-actions-v26 .btn{flex:1}.ops-metrics-v26{grid-template-columns:repeat(2,1fr)}.ops-grid-v26{grid-template-columns:1fr}.myokm-grid-v26{grid-template-columns:1fr}.myokm-actions-v26{display:flex;overflow-x:auto;gap:8px;scrollbar-width:none}.myokm-actions-v26 button{flex:0 0 82px}.myokm-actions-v26::-webkit-scrollbar{display:none}}
@media(max-width:600px){.ops-command-brand-v26 img{width:46px;height:46px}.ops-command-brand-v26 h2,.coord-summary-v26 h2{font-size:19px}.ops-command-actions-v26 .ops-health-v26{width:100%}.ops-metrics-v26 article{padding:11px}.ops-metrics-v26 b{font-size:22px}.ops-module-strip-v26{margin:0 -12px;padding:0 12px 2px}.ops-module-strip-v26 button{min-width:102px}.myokm-v26{gap:10px}.myokm-pass-v26{border-radius:20px;padding:14px}.myokm-pass-top-v26{grid-template-columns:42px minmax(0,1fr)}.myokm-pass-top-v26 img{width:42px;height:42px}.myokm-pass-top-v26 .chip{grid-column:2;justify-self:start}.myokm-pass-top-v26 b{font-size:18px}.myokm-state-v26{gap:6px}.myokm-state-v26 article{padding:9px;border-radius:14px}.myokm-state-v26 article>span{width:26px;height:26px}.myokm-state-v26 b{font-size:9px}.myokm-card-v26{padding:12px}.myokm-stay-v26>div{display:grid;grid-template-columns:1fr 1fr}.myokm-alert-v26{border-radius:15px}}
@media(min-width:1100px){body:not([data-role="public"]) .mobile-frame{margin-left:0!important}.ops-dashboard-v26,.coord-dashboard-v26{max-width:1220px}.myokm-v26{max-width:1060px}.myokm-grid-v26{grid-template-columns:1.1fr .9fr}.myokm-card-v26.explore{grid-column:2}.myokm-actions-v26 button:hover,.ops-module-strip-v26 button:hover{border-color:#d7c9c4;background:#fffaf8}.ops-panel-v26{min-height:190px}}


/* ===== v27 demo + full workspace polish ===== */
.demo-pages-link{display:none;text-decoration:none;white-space:nowrap;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:11px;border:1px solid #e4d9d5;background:#fff;color:#7e1f2b;font-size:11px;font-weight:850;box-shadow:0 4px 12px rgba(44,29,31,.04)}
.more-demo-link-v27{display:grid;grid-template-columns:20px minmax(0,1fr) 14px;gap:11px;align-items:center;color:inherit;text-decoration:none;padding:12px;border-bottom:1px solid var(--line)}
.more-demo-link-v27 svg{width:20px;height:20px;color:var(--brand)}.more-demo-link-v27 span{min-width:0}.more-demo-link-v27 b,.more-demo-link-v27 small{display:block}.more-demo-link-v27 small{font-size:10px;color:var(--muted);margin-top:2px}.more-demo-link-v27 i{font-style:normal;color:#a6a2a1}

/* unified operator workspace */
body:not([data-role="public"]):not([data-role="delegate"]){background:#f5f2ef!important}
body:not([data-role="public"]):not([data-role="delegate"]) .app-header{background:rgba(249,247,245,.95)!important;border-bottom:1px solid #e8e0dc!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .app-view{max-width:1440px!important}
body:not([data-role="public"]):not([data-role="delegate"]) .page-head{padding:0 0 2px!important;margin-bottom:18px!important}
body:not([data-role="public"]):not([data-role="delegate"]) .page-head h2{font-size:30px!important;letter-spacing:-.04em!important;color:#1d1b1c!important}
body:not([data-role="public"]):not([data-role="delegate"]) .page-head p{font-size:12px!important;line-height:1.5!important;color:#777174!important}
body:not([data-role="public"]):not([data-role="delegate"]) .card,
body:not([data-role="public"]):not([data-role="delegate"]) .surface-panel,
body:not([data-role="public"]):not([data-role="delegate"]) .list-item{background:#fff!important;border:1px solid #e8e0dc!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .card{border-radius:16px!important;padding:15px!important}
body:not([data-role="public"]):not([data-role="delegate"]) .metric-icon,
body:not([data-role="public"]):not([data-role="delegate"]) .list-icon{background:#faf1ef!important;color:#9c2f38!important;border:0!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .btn-primary{background:#a92834!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .btn-secondary{background:#fff!important;border:1px solid #ddd3cf!important;color:#312d2f!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .quick-grid{gap:8px!important}
body:not([data-role="public"]):not([data-role="delegate"]) .quick-action{min-height:56px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e8e0dc!important;box-shadow:none!important;padding:10px 12px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important}
body:not([data-role="public"]):not([data-role="delegate"]) .quick-action span{width:34px!important;height:34px!important;border-radius:11px!important;background:#faf1ef!important;color:#9c2f38!important}
body:not([data-role="public"]):not([data-role="delegate"]) .quick-action b{font-size:11px!important;text-align:left!important}
body:not([data-role="public"]):not([data-role="delegate"]) .table-wrap{border:1px solid #e8e0dc!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;overflow:auto!important}
body:not([data-role="public"]):not([data-role="delegate"]) .table{background:#fff!important}
body:not([data-role="public"]):not([data-role="delegate"]) .table th{position:sticky;top:0;z-index:2;background:#f7f3f1!important;color:#776f72!important;font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
body:not([data-role="public"]):not([data-role="delegate"]) .table td{border-color:#eee7e3!important;font-size:11px!important}
body:not([data-role="public"]):not([data-role="delegate"]) .field input,
body:not([data-role="public"]):not([data-role="delegate"]) .field select,
body:not([data-role="public"]):not([data-role="delegate"]) .field textarea,
body:not([data-role="public"]):not([data-role="delegate"]) .search-input{background:#fff!important;border:1px solid #ddd3cf!important;border-radius:12px!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .field input:focus,
body:not([data-role="public"]):not([data-role="delegate"]) .field select:focus,
body:not([data-role="public"]):not([data-role="delegate"]) .field textarea:focus,
body:not([data-role="public"]):not([data-role="delegate"]) .search-input:focus{border-color:#b83a44!important;box-shadow:0 0 0 3px rgba(184,58,68,.10)!important;outline:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .notice{border-radius:12px!important;box-shadow:none!important}
body:not([data-role="public"]):not([data-role="delegate"]) .chip{box-shadow:none!important}

/* sidebar becomes stable demo navigation rather than a visual block */
@media(min-width:900px){
  .demo-pages-link{display:inline-flex}
  body:not([data-role="public"]) .desktop-rail{background:#1d191a!important;border-right:1px solid #302829!important;box-shadow:none!important}
  body:not([data-role="public"]) .rail-brand{border-bottom:1px solid rgba(255,255,255,.07)!important;margin-bottom:10px!important}
  body:not([data-role="public"]) .brand-mark{background:#fff!important;color:#a92834!important;box-shadow:none!important}
  body:not([data-role="public"]) .rail-nav{gap:2px!important}
  body:not([data-role="public"]) .rail-nav button{min-height:39px!important;border-radius:10px!important;color:#bdb5b7!important;font-size:10.5px!important;padding:8px 10px!important}
  body:not([data-role="public"]) .rail-nav button.active{background:rgba(190,45,57,.18)!important;color:#fff!important;box-shadow:inset 3px 0 0 #d84a52!important}
  body:not([data-role="public"]) .workspace-chip,body:not([data-role="public"]) .rail-status,body:not([data-role="public"]) .profile-card{background:rgba(255,255,255,.045)!important;border-color:rgba(255,255,255,.075)!important;box-shadow:none!important}
}

/* delegate/My OKM refinement */
body[data-role="delegate"]{background:#f7f4f1!important}
body[data-role="delegate"] .app-view{max-width:1120px!important}
body[data-role="delegate"] .myokm-pass-v26{background:linear-gradient(120deg,#801f29 0%,#b52b36 58%,#cf4c48 100%)!important;box-shadow:0 16px 34px rgba(86,28,34,.15)!important}
body[data-role="delegate"] .myokm-state-v26 article,body[data-role="delegate"] .myokm-card-v26,body[data-role="delegate"] .myokm-actions-v26 button{border-color:#e8e0dc!important;box-shadow:none!important;background:#fff!important}
body[data-role="delegate"] .myokm-actions-v26 button>span{background:#faf1ef!important;color:#a92834!important}
body[data-role="delegate"] .myokm-card-head-v26 h3{color:#201d1e!important}

/* accommodation / badges / allocation */
.house-card,.cluster-card,.allocation-preview,.map-card{border-color:#e8e0dc!important;box-shadow:none!important}
.house-no{color:#7e1f2b!important}
.progress{background:#eee7e3!important}.progress i{background:#a92834!important}
.reception-workspace .checkin-cta{background:#17796f!important;box-shadow:none!important}

@media(max-width:899px){.demo-pages-link{display:none!important}}


/* ===== v29 stability: typography + cross-browser guardrails ===== */
:root{
  --font-ui:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif!important;
  --font-display:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif!important;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none}
body,button,input,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif!important;font-synthesis:none}
h1,h2,h3,h4,.header-title-wrap h1,.page-head h2,.metric-value,.public-hero-v18 h2,.public-section-head h3,.explore-preview-hero h2{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,"Noto Sans",sans-serif!important}
button,input,select,textarea{letter-spacing:normal}
body{letter-spacing:normal!important}
/* keep the demo launcher discoverable in browser builds */
@media(min-width:900px){.demo-pages-link{display:inline-flex!important}}
/* mobile keeps the header uncluttered; Demo Pages remains in More */
@media(max-width:899px){.demo-pages-link{display:none!important}}
/* guard against accidental horizontal page breakage */
html,body,#app,.mobile-frame,.app-view{max-width:100%}
body{overflow-x:hidden}
.app-view{min-width:0}
.grid>* ,.row>* ,.spread>* ,.list-copy,.page-head>div{min-width:0}

/* Public and full-width pages must always scroll with the page. */
html:has(body[data-role="public"]),
body[data-role="public"],
body[data-role="public"] .app-shell,
body[data-role="public"] #app,
body[data-role="public"] .mobile-frame{
  height:auto!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}
body[data-role="public"]{overflow-y:auto!important}

/* Desktop workspaces with a sidebar: pin rail, scroll the right pane only. */
@media(min-width:900px){
  html:has(body:not([data-role="public"])),
  body:not([data-role="public"]){height:100%!important;max-height:100vh!important;overflow:hidden!important}
  body:not([data-role="public"]) .app-shell,
  body:not([data-role="public"]) #app{height:100%!important;max-height:100vh!important;overflow:hidden!important;align-items:stretch!important;grid-template-rows:minmax(0,1fr)!important}
  body:not([data-role="public"]) .desktop-rail,
  body:not([data-role="public"]) .mobile-frame{min-height:0!important;height:auto!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important}
}

/* Polished desktop sidebar — same structure, tighter finish */
@media(min-width:900px){
  body:not([data-role="public"]) .desktop-rail{
    background:linear-gradient(180deg,#141112 0%,#1a1617 42%,#121011 100%)!important;
    border-right:1px solid rgba(255,255,255,.06)!important;
    padding:14px 11px 12px!important;
    box-shadow:inset -1px 0 0 rgba(255,255,255,.03)!important;
  }
  body:not([data-role="public"]) .rail-brand{
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(255,255,255,.07)!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    border-radius:16px!important;
    margin:0 0 8px!important;
    padding:9px 10px!important;
    gap:10px;
    transition:background .18s ease;
  }
  body:not([data-role="public"]) .rail-brand:hover{background:rgba(255,255,255,.07)!important}
  body:not([data-role="public"]) .brand-mark{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    background:#fff!important;
    padding:3px!important;
    box-shadow:0 8px 18px rgba(0,0,0,.28)!important;
  }
  body:not([data-role="public"]) .rail-brand b{font-size:15px!important;letter-spacing:-.03em;line-height:1.1}
  body:not([data-role="public"]) .rail-brand small{color:#9a9193!important;font-size:9px!important;letter-spacing:.08em;margin-top:3px!important}
  body:not([data-role="public"]) .workspace-chip{
    margin:0 0 12px!important;
    padding:9px 11px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.04)!important;
    border:1px solid rgba(255,255,255,.06)!important;
    color:#c9c1c3!important;
  }
  body:not([data-role="public"]) .workspace-chip b{color:#fff!important;font-size:10.5px!important;margin-bottom:3px!important;letter-spacing:-.01em}
  body:not([data-role="public"]) .rail-nav{gap:3px!important;padding:0 0 6px}
  body:not([data-role="public"]) .rail-nav .nav-section{padding:12px 10px 5px!important;color:#7d7577!important}
  body:not([data-role="public"]) .rail-nav button{
    min-height:40px!important;
    border-radius:12px!important;
    padding:8px 10px!important;
    color:#c4bbbd!important;
    font-size:12px!important;
    font-weight:650!important;
    letter-spacing:-.01em;
    transition:background .16s ease,color .16s ease,box-shadow .16s ease;
  }
  body:not([data-role="public"]) .rail-nav button svg{width:17px!important;height:17px!important;opacity:.78}
  body:not([data-role="public"]) .rail-nav button:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
  body:not([data-role="public"]) .rail-nav button:hover svg{opacity:1}
  body:not([data-role="public"]) .rail-nav button.active{
    background:linear-gradient(90deg,rgba(201,41,53,.32),rgba(201,41,53,.10))!important;
    color:#fff!important;
    box-shadow:inset 3px 0 0 #e4545e!important;
  }
  body:not([data-role="public"]) .rail-nav button.active svg{opacity:1;color:#ffd6d9}
  body:not([data-role="public"]) .rail-footer{
    margin-top:auto;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.07);
    display:grid;
    gap:8px;
  }
  body:not([data-role="public"]) .rail-status{
    border:1px solid rgba(255,255,255,.06)!important;
    background:rgba(255,255,255,.035)!important;
    color:#b7b0b2!important;
    border-radius:12px!important;
    padding:8px 11px!important;
    font-size:10px!important;
    font-weight:700!important;
  }
  body:not([data-role="public"]) .profile-card{
    border:1px solid rgba(255,255,255,.07)!important;
    background:rgba(255,255,255,.045)!important;
    border-radius:14px!important;
    padding:8px 9px!important;
    transition:background .16s ease;
  }
  body:not([data-role="public"]) .profile-card:hover{background:rgba(255,255,255,.075)!important}
  body:not([data-role="public"]) .avatar{
    width:32px!important;
    height:32px!important;
    border-radius:10px!important;
    background:linear-gradient(145deg,#3d6490,#2a4668)!important;
    font-size:11px!important;
  }
  body:not([data-role="public"]) .profile-copy b{font-size:11px!important;letter-spacing:-.02em}
  body:not([data-role="public"]) .profile-copy small{font-size:9px!important;color:#9b9395!important}
  body:not([data-role="public"]) .profile-card .chevron{color:#8d8688;font-size:16px}
  body:not([data-role="public"]) .rail-nav{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
  body:not([data-role="public"]) .desktop-rail,
  body:not([data-role="public"]) .rail-nav{color-scheme:dark;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
  body:not([data-role="public"]) .desktop-rail::-webkit-scrollbar,
  body:not([data-role="public"]) .rail-nav::-webkit-scrollbar{width:4px;height:4px}
  body:not([data-role="public"]) .desktop-rail::-webkit-scrollbar-track,
  body:not([data-role="public"]) .rail-nav::-webkit-scrollbar-track{background:transparent}
  body:not([data-role="public"]) .desktop-rail::-webkit-scrollbar-thumb,
  body:not([data-role="public"]) .rail-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:99px}
  body:not([data-role="public"]) .desktop-rail::-webkit-scrollbar-thumb:hover,
  body:not([data-role="public"]) .rail-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.32)}
  body:not([data-role="public"]) .desktop-rail::-webkit-scrollbar-corner,
  body:not([data-role="public"]) .rail-nav::-webkit-scrollbar-corner{background:transparent}
  .full-view-btn{display:grid;place-items:center;flex:0 0 auto}
  .full-view-btn[hidden],
  body[data-role="public"] .full-view-btn{display:none!important}
  body.full-view:not([data-role="public"]) .desktop-rail{display:none!important;width:0!important;min-width:0!important}
  body.full-view:not([data-role="public"]) .app-shell,
  body.full-view:not([data-role="public"]) #app{grid-template-columns:minmax(0,1fr)!important}
  body.full-view:not([data-role="public"]) .app-view{max-width:none!important}
  body.full-view:not([data-role="public"]) .full-view-btn{background:#fff1ef;border-color:#efd4d2;color:#a92834}
}
@media(max-width:899px){.full-view-btn{display:none!important}}
.delegate-login-hint-v24{margin:0;text-align:center;font-size:10px;color:#7a7578;line-height:1.45}
.delegate-login-hint-v24 b{color:#3a3536}
.site-credit{width:min(100%,1320px);margin:10px auto 6px;padding:16px 18px 12px;border-top:1px solid #e9e2dd;display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap}
.site-credit p{margin:0;color:#7a7578;font-size:11px;line-height:1.55}
.site-credit p:first-child{text-align:left}
.site-credit p:last-child{text-align:right;margin-left:auto}
.site-credit a{color:#a92834;font-weight:750;text-decoration:none}
.site-credit a:hover{text-decoration:underline}
@media(max-width:899px){.site-credit{padding-bottom:4px}}
.event-map-v30{display:grid;gap:12px}
.event-map-filters-v30{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.event-map-filters-v30 button{flex:0 0 auto;border:1px solid #e9e2dd;background:#fff;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800;color:#6b7078}
.event-map-filters-v30 button.active{background:#1d191a;color:#fff;border-color:#1d191a}
.event-map-board-v30{position:relative;min-height:520px;overflow:hidden;border:1px solid #e9e2dd!important;border-radius:22px!important;background:
  linear-gradient(180deg,rgba(255,255,255,.55),rgba(247,245,243,.96)),
  radial-gradient(circle at 38% 32%,#f3ebe4 0 28%,transparent 46%),
  radial-gradient(circle at 84% 28%,#e8eef6 0 18%,transparent 36%),
  #f4f1ed!important;box-shadow:none!important}
.event-map-ground-v30{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.event-map-ground-v30 .road{fill:none;stroke:#d8d0c8;stroke-width:3.2;stroke-linecap:round}
.event-map-ground-v30 .road.soft{stroke:#e4ddd6;stroke-width:2.2}
.event-map-ground-v30 .zone{fill:rgba(255,255,255,.42);stroke:#eadfd8;stroke-width:.4}
.event-map-ground-v30 .zone.entry{fill:rgba(201,41,53,.05)}
.event-map-ground-v30 .zone.park{fill:rgba(64,108,155,.07)}
.event-map-note-v30{position:absolute;z-index:2;top:12px;left:12px;max-width:58%;background:rgba(255,255,255,.92);border:1px solid #eadfd8;border-radius:999px;padding:6px 10px;font-size:9px;color:#7a7578;font-weight:700}
.event-map-zone-v30{position:absolute;z-index:1;font-size:8px;letter-spacing:.12em;text-transform:uppercase;font-weight:850;color:#9a8f88;transform:translate(-50%,-50%)}
.event-map-zone-v30.park{color:#6d7f96}
.event-map-pin-v30{position:absolute;z-index:3;transform:translate(-50%,-50%);min-width:118px;max-width:148px;border:1px solid #eadfd8;background:#fff;border-radius:16px;padding:8px 9px 8px 8px;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:7px;text-align:left;box-shadow:0 8px 20px rgba(40,28,24,.08);cursor:pointer;color:#18191d}
.event-map-pin-v30 i{grid-row:1/3;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f7f1ef;color:#a92834}
.event-map-pin-v30 i svg{width:14px;height:14px}
.event-map-pin-v30 b{font-size:10px;letter-spacing:.04em}
.event-map-pin-v30 span{grid-column:2;font-size:9px;color:#6b7078;line-height:1.25}
.event-map-pin-v30 em{grid-column:2;font-style:normal;font-size:8px;font-weight:800;color:#406c9b;letter-spacing:.04em}
.event-map-pin-v30.parking i{background:#eef3f8;color:#406c9b}
.event-map-pin-v30.food i{background:#f8f1e6;color:#bd8128}
.event-map-pin-v30.medical i{background:#f8ecec;color:#d94b3d}
.event-map-pin-v30.help i{background:#e9f3f0;color:#23856f}
.event-map-pin-v30.reception i{background:#f7f1ef;color:#941e2a}
.event-map-pin-v30.facility i{background:#f3f1ee;color:#6b7078}
.event-map-pin-v30:hover,.event-map-pin-v30.on{border-color:#c9b6b0;transform:translate(-50%,-54%);box-shadow:0 12px 26px rgba(40,28,24,.12)}
.event-map-pin-v30.on{outline:2px solid #c92935}
.event-map-pin-v30.dim{opacity:.28;pointer-events:none}
.event-map-legend-v30{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;display:flex;flex-wrap:wrap;gap:6px;background:rgba(255,255,255,.92);border:1px solid #eadfd8;border-radius:16px;padding:8px}
.event-map-legend-v30 button{border:0;background:transparent;display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:750;color:#5c5856;padding:3px 5px;border-radius:8px}
.event-map-legend-v30 button i{width:8px;height:8px;border-radius:99px;background:#c92935}
.event-map-legend-v30 .parking i{background:#406c9b}
.event-map-legend-v30 .food i{background:#bd8128}
.event-map-legend-v30 .medical i{background:#d94b3d}
.event-map-legend-v30 .help i{background:#23856f}
.event-map-legend-v30 .reception i{background:#941e2a}
.event-map-legend-v30 .facility i{background:#8a8582}
.event-map-legend-v30 .venue i{background:#c92935}
.event-map-legend-v30 button.active{background:#f7f1ef;color:#7e1f2b}
.event-map-dir-v30 .list-icon.parking{color:#406c9b}
.event-map-dir-v30 .list-icon.food{color:#bd8128}
.event-map-dir-v30 .list-icon.medical{color:#d94b3d}
.event-map-dir-v30 .list-icon.help{color:#23856f}
.event-map-group-v30{margin-top:12px}
.event-map-group-v30>small{display:block;font-size:9px;letter-spacing:.1em;font-weight:850;color:#8a7f7a;margin:0 2px 4px}
.event-map-group-v30.dim{opacity:.35}
.event-map-dir-v30 .list-item.on{background:#fff6f4;border-color:#efd4d2}
.event-map-detail-v30 p{font-size:12px;line-height:1.55;color:#5c6066}
.event-map-detail-hero-v30{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.event-map-detail-hero-v30>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#f7f1ef;color:#a92834}
.event-map-detail-hero-v30.parking>span{background:#eef3f8;color:#406c9b}
.event-map-detail-hero-v30.food>span{background:#f8f1e6;color:#bd8128}
.event-map-detail-hero-v30.medical>span{background:#f8ecec;color:#d94b3d}
.event-map-detail-hero-v30.help>span{background:#e9f3f0;color:#23856f}
.event-map-detail-hero-v30 small{display:block;font-size:9px;letter-spacing:.1em;font-weight:850;color:#8a7f7a}
.event-map-detail-hero-v30 b{font-size:16px}
@media(min-width:900px){
  .event-map-v30 .content-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:14px}
  .event-map-board-v30{min-height:560px}
}
@media(max-width:899px){
  .event-map-board-v30{min-height:430px}
  .event-map-pin-v30{min-width:92px;max-width:112px;padding:6px 7px;border-radius:13px}
  .event-map-pin-v30 i{width:24px;height:24px}
  .event-map-pin-v30 span{display:none}
  .event-map-legend-v30{display:none}
}
