:root{--navy:#071a38;--navy2:#0b244d;--blue:#0b5ed7;--gold:#d7a229;--gold2:#f7cd61;--bg:#f4f7fb;--text:#10213d;--muted:#667085;--line:#e1e9f5;--ok:#14853d;--danger:#c62828;--warn:#a16207}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}.app{min-height:100vh;display:flex}.sidebar{width:300px;background:linear-gradient(180deg,#061633,#0a2f63 65%,#071a38);color:white;position:fixed;inset:0 auto 0 0;padding:22px 18px;overflow:auto;box-shadow:8px 0 30px #071a382e;z-index:5}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.logo{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--gold),#fff0aa);display:grid;place-items:center;color:#071a38;font-weight:900;font-size:26px}.brand small{display:block;color:#d7e7ff;font-size:12px}.sidebar nav a{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:14px;margin:5px 0;color:#eef6ff;font-weight:750}.sidebar nav a:hover,.sidebar nav a.active{background:#ffffff1c}.dev{margin-top:20px;border:1px solid #ffffff2a;border-radius:18px;padding:14px;color:#e6f1ff;font-size:13px}.main{margin-left:300px;width:calc(100% - 300px);padding:24px}.top{background:linear-gradient(135deg,#fff,#eef6ff);border:1px solid var(--line);border-radius:24px;padding:18px 22px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.top h1{margin:0;font-size:28px}.top p{margin:4px 0 0;color:var(--muted)}.userbox{text-align:right}.userbox span{display:block;color:var(--muted);font-size:13px}.menuBtn{display:none}.footer{text-align:center;color:var(--muted);padding:18px}.grid{display:grid;gap:16px}.grid4{grid-template-columns:repeat(4,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 10px 30px #09234d0d}.card h3{margin-top:0}.stat{position:relative;overflow:hidden;min-height:120px}.stat b{display:block;font-size:30px;color:var(--blue)}.stat span{display:block;color:var(--muted);font-weight:750}.stat small{color:#7b8798}.stat:after{content:"";position:absolute;right:-25px;bottom:-25px;width:95px;height:95px;border-radius:50%;background:linear-gradient(135deg,var(--gold2),transparent);opacity:.55}.hero{background:linear-gradient(135deg,#071a38,#0b4da2);border-radius:28px;color:white;padding:28px;display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;overflow:hidden;position:relative}.hero h2{font-size:34px;margin:0}.hero p{color:#e7f0ff}.hero:after{content:"★★★★★";position:absolute;right:24px;top:20px;color:var(--gold2);letter-spacing:4px}.btn{border:0;border-radius:13px;background:var(--blue);color:white;padding:10px 14px;font-weight:850;cursor:pointer;display:inline-block}.btn.gold{background:linear-gradient(135deg,#c78600,var(--gold2));color:#071a38}.btn.red{background:var(--danger)}.btn.gray{background:#64748b}.btn.outline{background:white;color:var(--blue);border:1px solid var(--blue)}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tablewrap{overflow:auto}.table{width:100%;border-collapse:separate;border-spacing:0 8px}.table th{text-align:left;color:#667085;font-size:13px;padding:0 12px;white-space:nowrap}.table td{background:#fff;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}.table td:first-child{border-left:1px solid var(--line);border-radius:14px 0 0 14px}.table td:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}.badge{display:inline-block;border-radius:99px;padding:6px 10px;background:#eaf2ff;color:#0b4da2;font-size:12px;font-weight:900}.badge.ok{background:#e8f7ee;color:var(--ok)}.badge.warn{background:#fff5dc;color:var(--warn)}.badge.danger{background:#ffecec;color:var(--danger)}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form .full{grid-column:1/-1}label{font-weight:850;font-size:13px;color:#344054;display:block;margin-bottom:6px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d8e2f0;border-radius:13px;background:#fff;font-size:15px}textarea{min-height:90px}.alert{padding:13px 16px;border-radius:16px;margin:12px 0;font-weight:760}.alert.success{background:#e8f7ee;color:var(--ok)}.alert.error{background:#ffecec;color:var(--danger)}.alert.info{background:#eaf2ff;color:#0b4da2}.roomGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}.roomTile{border:1px solid var(--line);border-radius:18px;padding:14px;text-align:center;background:#fff}.roomTile b{font-size:20px}.scannerBox{background:#000;color:white;min-height:340px;border-radius:22px;display:grid;place-items:center;overflow:hidden}.scannerBox video{width:100%;max-height:460px}.scanFallback{padding:25px;text-align:center}.barcode{max-width:100%;height:auto}.printOnly{display:none}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tabs a{padding:9px 13px;border-radius:999px;background:#eaf2ff;color:#0b4da2;font-weight:850}.tabs a.active{background:#071a38;color:white}.invoice{max-width:980px;margin:20px auto;background:#fff;padding:32px;border:1px solid #dfe7f2}.invHead{display:flex;justify-content:space-between;gap:18px;border-bottom:4px solid var(--navy);padding-bottom:18px}.summary td{padding:8px}.summary td:last-child{text-align:right;font-weight:900}@media(max-width:1050px){.sidebar{transform:translateX(-100%);transition:.25s}.showSidebar .sidebar{transform:none}.main{margin-left:0;width:100%;padding:14px}.menuBtn{display:block;border:0;background:#071a38;color:#fff;border-radius:12px;padding:10px 13px}.grid4,.grid3,.grid2,.form,.hero{grid-template-columns:1fr}.top h1{font-size:22px}.userbox{display:none}}@media print{body{background:#fff}.sidebar,.top,.footer,.noPrint,.alert,.tabs{display:none!important}.main{margin:0;width:100%;padding:0}.card{box-shadow:none;border:0}.printOnly{display:block}.invoice{border:0;margin:0;max-width:none}.table td,.table th{font-size:12px}}
/* ================= PUBLIC HOTEL HOMEPAGE UI/UX ================= */
.public-body{background:#fff;color:#10213d}.public-nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 8%;position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(4,23,53,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}.public-brand{display:flex;align-items:center;gap:10px;color:#fff}.public-brand .crown{font-size:30px;color:#f6bd43}.public-brand b{display:block;line-height:1.05;text-transform:uppercase;letter-spacing:.5px}.public-brand small{display:block;color:#f6bd43;letter-spacing:3px}.public-nav nav{display:flex;gap:30px}.public-nav nav a{color:#fff;font-weight:800;font-size:14px}.public-actions{display:flex;gap:12px}.public-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:13px 20px;font-weight:900;border:0;cursor:pointer;text-decoration:none}.public-btn.orange{background:linear-gradient(135deg,#ff8a00,#ffb13d);color:#fff;box-shadow:0 12px 26px rgba(255,138,0,.25)}.public-btn.blue{background:#082b5c;color:#fff}.public-btn.outline{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.55)}.public-hero{min-height:520px;padding:130px 9% 120px;background-size:cover;background-position:center;position:relative;color:#fff;display:flex;align-items:center}.public-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,42,.25),rgba(4,18,42,.05));pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:680px}.eyebrow{color:#ffc766;font-weight:900;letter-spacing:.4px}.hero-copy h1{font-family:Georgia,serif;font-size:56px;line-height:1.06;margin:14px 0}.hero-copy p{font-size:18px;line-height:1.65;color:#edf6ff}.pin{display:inline-flex;margin-top:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:10px 14px;font-weight:850}.slider-dots{display:flex;gap:8px;margin-top:25px}.slider-dots span{width:12px;height:12px;border-radius:999px;background:#fff;opacity:.75}.slider-dots span.active{width:30px;background:#ff9d18;opacity:1}.slide-arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#0d2b55;font-size:34px;box-shadow:0 14px 30px rgba(0,0,0,.18)}.slide-arrow.left{left:34px}.slide-arrow.right{right:34px}.booking-shell{max-width:1220px;margin:-58px auto 30px;position:relative;z-index:4;padding:0 18px}.public-search-card{background:#fff;border:1px solid #e4ebf5;border-radius:22px;box-shadow:0 25px 60px rgba(9,35,77,.16);padding:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;align-items:end}.public-search-card label{color:#667085}.search-wide{grid-column:span 3}.search-submit{height:48px;width:100%}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important}.public-alert{margin:14px 0 0;border-radius:16px;padding:14px 16px;font-weight:850}.public-alert.success{background:#e8f7ee;color:#12763a}.public-alert.error{background:#ffecec;color:#c62828}.public-main{max-width:1220px;margin:auto;padding:10px 18px 40px}.public-section{padding:46px 0}.public-section h2{font-family:Georgia,serif;color:#082b5c;font-size:38px;margin:0 0 18px}.public-section h2:after{content:"";display:block;width:64px;height:4px;background:#ff9d18;border-radius:99px;margin-top:10px}.public-section h2.center{text-align:center}.public-section h2.center:after{margin:10px auto 0}.profile-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}.profile-grid p{line-height:1.78;color:#49566b}.badge-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.badge-row span{background:#fff;border:1px solid #e8eef7;border-radius:18px;padding:16px;text-align:center;font-weight:900;box-shadow:0 12px 26px rgba(9,35,77,.06)}.owner-card{background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid #e8eef7;border-radius:22px;padding:20px;box-shadow:0 12px 30px rgba(9,35,77,.06)}.owner-card h3{margin:6px 0;color:#ff8a00}.profile-photo{min-height:360px;border-radius:26px;background:linear-gradient(135deg,#f4c165,#0c3770);background-size:cover;background-position:center;box-shadow:0 22px 50px rgba(9,35,77,.18);position:relative;overflow:hidden}.profile-photo:before{content:"Hotel Lobby / Profil";position:absolute;inset:auto 20px 20px 20px;color:#fff;font-size:28px;font-family:Georgia,serif;font-weight:900}.room-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.room-card{background:#fff;border:1px solid #e4ebf5;border-radius:20px;overflow:hidden;box-shadow:0 15px 36px rgba(9,35,77,.11)}.room-img{height:190px;background:linear-gradient(135deg,#0c3770,#f3bd46);position:relative}.room-img:after{content:"Luxury Room";position:absolute;left:18px;bottom:16px;color:#fff;font-family:Georgia,serif;font-size:24px;font-weight:900}.room-pad{padding:20px}.room-pad h3{margin:0 0 10px;color:#082b5c}.room-pad p{min-height:54px;color:#5b6678}.room-meta{display:flex;gap:15px;flex-wrap:wrap;color:#526078;font-size:13px;margin:12px 0}.room-pad strong{display:block;color:#ff7b00;font-size:24px;margin:4px 0 14px}.room-pad em{font-size:13px;color:#ff7b00}.facility-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:14px}.facility-card{background:#fff;border:1px solid #e8eef7;border-radius:18px;padding:18px 10px;text-align:center;box-shadow:0 10px 25px rgba(9,35,77,.07);min-height:112px}.facility-card b{display:block;font-size:28px}.facility-card span{display:block;font-weight:900;color:#082b5c;margin-top:8px}.facility-card small{display:block;color:#6b7280;margin-top:5px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-auto-rows:150px;gap:12px}.gallery-grid figure{margin:0;border-radius:18px;background:linear-gradient(135deg,#082b5c,#f0b748);background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:0 12px 26px rgba(9,35,77,.10)}.gallery-grid figure:first-child{grid-row:span 2}.gallery-grid figcaption{position:absolute;left:0;right:0;bottom:0;color:#fff;padding:30px 12px 12px;background:linear-gradient(transparent,rgba(0,0,0,.70));font-weight:900}.event-cta{background:linear-gradient(135deg,#071a38,#0b4da2);color:#fff;border-radius:28px;padding:34px!important;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:20px 0}.event-cta h2{color:#fff}.event-cta p{color:#dcecff;max-width:760px}.contact-grid{display:grid;grid-template-columns:1fr 1.25fr 1.1fr;gap:22px}.contact-card,.map-card{background:#fff;border:1px solid #e8eef7;border-radius:22px;padding:24px;box-shadow:0 14px 34px rgba(9,35,77,.08)}.contact-card input,.contact-card textarea{margin-bottom:12px}.socials{display:flex;gap:10px}.socials span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#0b4da2;color:#fff;font-weight:900}.map-card{min-height:265px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#eff6ff,#fff 45%,#fde9c5);color:#082b5c;font-size:48px;font-weight:900}.map-card small{display:block;font-size:14px;color:#667085}.public-footer{background:#071a38;color:#dbeafe;padding:48px 8% 22px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}.public-footer b{color:#fff}.public-footer a{display:block;color:#dbeafe;margin:8px 0}.public-footer small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;color:#cbd5e1}@media(max-width:1050px){.public-nav{position:relative;height:auto;flex-wrap:wrap;padding:15px 18px;background:#071a38}.public-nav nav{order:3;width:100%;overflow:auto;gap:16px;padding-top:10px}.public-hero{padding:80px 22px 100px;min-height:500px}.hero-copy h1{font-size:40px}.public-search-card,.profile-grid,.room-cards,.contact-grid,.public-footer{grid-template-columns:1fr}.search-wide{grid-column:auto}.facility-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.event-cta{display:block}.badge-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.public-actions{width:100%}.public-btn{padding:11px 14px}.hero-copy h1{font-size:34px}.facility-grid,.gallery-grid{grid-template-columns:1fr}.badge-row{grid-template-columns:1fr}.public-section h2{font-size:30px}}


/* ================= ULTIMATE PROFESSIONAL UI / UX SECURITY EDITION ================= */
:root{--shadow-soft:0 18px 60px rgba(8,31,68,.12);--shadow-card:0 14px 40px rgba(8,31,68,.09);--radius-xl:28px;--orange:#ff8a00;--slate:#0f172a}.sidebar{background:radial-gradient(circle at 20% 0%,rgba(247,205,97,.18),transparent 28%),linear-gradient(180deg,#020b1d,#08224b 58%,#020b1d);border-right:1px solid rgba(255,255,255,.08)}.sidebar nav a{letter-spacing:.1px}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.08));box-shadow:inset 3px 0 0 var(--gold2)}.top{position:sticky;top:16px;z-index:4;backdrop-filter:blur(18px);background:rgba(255,255,255,.86);box-shadow:var(--shadow-card)}.card{box-shadow:var(--shadow-card);transition:.22s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.hero{background:radial-gradient(circle at 85% 20%,rgba(247,205,97,.24),transparent 25%),linear-gradient(135deg,#031022,#0b4da2);box-shadow:var(--shadow-soft)}.btn{box-shadow:0 10px 22px rgba(11,94,215,.18);transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}input:focus,select:focus,textarea:focus{outline:3px solid rgba(11,94,215,.13);border-color:#0b5ed7}.login-lux{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 10%,rgba(247,205,97,.24),transparent 24%),linear-gradient(135deg,#020b1d,#093a7a 58%,#020b1d);padding:22px;position:relative;overflow:hidden}.login-lux:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:58px 58px;opacity:.25}.login-card{width:100%;max-width:460px;background:rgba(255,255,255,.95);border:1px solid rgba(255,255,255,.55);border-radius:28px;padding:28px;box-shadow:0 35px 100px rgba(0,0,0,.28);position:relative;z-index:1}.login-note{background:#eef6ff;border:1px solid #dceaff;color:#0b4da2;border-radius:16px;padding:12px 14px;margin:14px 0 18px;font-weight:850}.public-nav{box-shadow:0 14px 38px rgba(2,11,29,.18)}.public-hero:after{background:linear-gradient(90deg,rgba(2,11,29,.78),rgba(2,11,29,.38),rgba(2,11,29,.08))}.public-search-card{grid-template-columns:1.1fr 1.1fr 1fr 1fr .9fr}.search-wide{grid-column:auto}.room-card,.contact-card,.facility-card,.gallery img,.profile-grid img{transition:.25s ease}.room-card:hover,.contact-card:hover,.facility-card:hover{transform:translateY(-5px);box-shadow:0 22px 60px rgba(8,31,68,.14)}.gallery img:hover{transform:scale(1.015)}.security-pill{display:inline-flex;gap:8px;align-items:center;background:#e8f7ee;color:#12763a;border:1px solid #bce7ca;border-radius:999px;padding:7px 11px;font-weight:900;font-size:12px}.kpi-mini{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#fff,#f7fbff);margin-bottom:10px}.kpi-mini b{font-size:22px;color:#0b4da2}.lux-panel{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #e7edf6;border-radius:28px;padding:22px;box-shadow:var(--shadow-card)}@media(max-width:900px){.public-nav{height:auto;min-height:70px;padding:12px 18px}.public-nav nav{display:none}.public-actions{gap:8px}.public-btn{padding:10px 12px;font-size:13px}.public-hero{min-height:480px;padding:120px 22px 110px}.hero-copy h1{font-size:38px}.slide-arrow{display:none}.public-search-card{grid-template-columns:1fr}.badge-row,.room-cards,.facility-grid,.profile-grid,.contact-grid{grid-template-columns:1fr}.public-section h2{font-size:31px}.gallery{grid-template-columns:1fr 1fr}.public-footer{grid-template-columns:1fr;text-align:center}.footer-cols{grid-template-columns:1fr}}@media(max-width:560px){.main{padding:10px}.top{top:8px;border-radius:18px}.card{border-radius:18px;padding:16px}.grid4,.grid3,.grid2{grid-template-columns:1fr}.table{min-width:760px}.public-hero{min-height:430px}.hero-copy h1{font-size:32px}.public-search-card{padding:15px}.gallery{grid-template-columns:1fr}.room-card .price{font-size:20px}.public-brand b{font-size:13px}.public-brand small{font-size:10px}.public-actions .outline{display:none}}
.thumb-mini{width:82px;height:62px;object-fit:cover;border-radius:12px;border:1px solid #e8eef7;box-shadow:0 8px 18px rgba(9,35,77,.08)}
.mini-form{display:grid;grid-template-columns:1fr 90px 1.5fr 160px 110px 90px 110px auto;gap:8px;align-items:center}.mini-form input,.mini-form select,.mini-form textarea{min-height:36px;font-size:12px}.mini-form textarea{height:38px;min-height:38px}.switch-check{display:inline-flex;align-items:center;gap:8px;justify-content:center}.switch-check input{width:18px;height:18px}.switch-check span{font-weight:800;color:#0b4da2}.facility-card img{width:100%;height:86px;object-fit:cover;border-radius:14px;margin-bottom:10px;box-shadow:0 10px 24px rgba(8,31,68,.10)}
.facility-card:has(img){padding:10px}.facility-card:has(img) b{font-size:22px;margin-top:-24px;background:#fff;border-radius:999px;width:42px;height:42px;display:grid;place-items:center;margin-left:auto;margin-right:auto;position:relative;box-shadow:0 8px 20px rgba(8,31,68,.13)}
.public-search-card{grid-template-columns:repeat(4,1fr)}@media(max-width:1050px){.mini-form{grid-template-columns:1fr}.public-search-card{grid-template-columns:1fr}}
/* Enterprise Security & Premium UI Upgrade */
.premium-card{background:linear-gradient(135deg,#fff,#f8fbff);border:1px solid #dfe8f6;box-shadow:0 18px 40px rgba(7,26,56,.08)}
.availability th,.availability td{text-align:center;min-width:90px}.availability td:first-child,.availability th:first-child{text-align:left;position:sticky;left:0;background:#fff;z-index:2}
.sec-row{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #eef2f7}.sec-row span{min-width:86px}.oktxt{color:#16803d}.dangertext{color:#d92d20}
.inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline label{display:block}.inline input,.inline select{min-width:180px}
.table input[type=checkbox]{width:20px;height:20px;accent-color:#f59e0b}.badge.danger{background:#ffe4e4;color:#b42318}.badge.warn{background:#fff3cd;color:#8a6100}.badge.ok{background:#dcfae6;color:#067647}
@media(max-width:800px){.inline{display:block}.inline input,.inline select,.inline button{width:100%;margin-bottom:10px}.availability td:first-child,.availability th:first-child{position:static}.tablewrap{overflow:auto}.grid2,.grid3,.grid4{grid-template-columns:1fr!important}}


/* Ultimate Enterprise Full Security UI */
.enterprise-hero{background:linear-gradient(135deg,#06152f,#0b3a78 60%,#d98a19); color:white; border-radius:28px; padding:28px; box-shadow:0 28px 80px #071a3828; display:grid; grid-template-columns:1.5fr .9fr; gap:24px; align-items:center; overflow:hidden; position:relative}
.enterprise-hero:after{content:""; position:absolute; width:320px; height:320px; border-radius:50%; background:#ffffff18; right:-100px; top:-130px}
.enterprise-hero h2{font-size:34px; margin:0 0 8px}.enterprise-hero p{max-width:760px;color:#eaf3ff}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi-card{border:1px solid #e6edf7;border-radius:20px;background:#fff;padding:18px;box-shadow:0 16px 42px #09295b12}.kpi-card b{display:block;font-size:26px;color:#09295b}.kpi-card small{color:#637083}.stepper{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.stepper span{padding:9px 13px;border-radius:999px;background:#edf4ff;color:#09295b;font-weight:800;font-size:12px}.stepper span.active{background:linear-gradient(135deg,#ff8a00,#ffbd4a);color:white}.lux-form{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.lux-form .full{grid-column:1/-1}.lux-form .half{grid-column:span 2}.small{padding:7px 10px;font-size:12px}.timeline{position:relative;padding-left:22px}.timeline:before{content:"";position:absolute;left:8px;top:5px;bottom:5px;width:2px;background:#dbe6f7}.timeline .titem{position:relative;margin:0 0 16px}.timeline .titem:before{content:"";position:absolute;left:-19px;top:5px;width:12px;height:12px;border-radius:50%;background:#ff9500;box-shadow:0 0 0 4px #fff4df}.status-pill{display:inline-flex;gap:6px;align-items:center;border:1px solid #d8e4f4;border-radius:999px;padding:7px 11px;background:#fff;font-weight:800}.security-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.security-check{padding:14px;border:1px solid #e5edf6;border-radius:18px;background:#fff}.security-check.ok{border-color:#b9efd1;background:#f2fff7}.security-check.warn{border-color:#ffe0a6;background:#fff9ef}.security-check.danger{border-color:#ffbec4;background:#fff5f6}.wizard-public{max-width:1180px;margin:-48px auto 40px;background:#fff;border-radius:26px;padding:26px;box-shadow:0 30px 80px #071a3830}.public-hero{min-height:340px;padding:80px 7% 110px;color:white;background:linear-gradient(120deg,#06152fcc,#0b3a78aa),url('assets/hotel-hero.svg');background-size:cover;background-position:center}.public-hero h1{font-size:44px;max-width:760px}.addon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.addon-card{border:1px solid #dfe9f6;border-radius:16px;padding:12px;background:#fff}.addon-card label{display:flex;gap:8px;align-items:flex-start;font-weight:800}.doc-note{background:#f2f7ff;border:1px dashed #b7cee9;border-radius:16px;padding:12px;color:#334155}@media(max-width:980px){.enterprise-hero,.kpi-row,.security-grid{grid-template-columns:1fr}.lux-form{grid-template-columns:1fr}.lux-form .half{grid-column:1}.addon-grid{grid-template-columns:1fr 1fr}.public-hero h1{font-size:32px}}@media(max-width:560px){.addon-grid{grid-template-columns:1fr}.wizard-public{margin:-28px 12px 30px;padding:18px}.public-hero{padding:58px 20px 90px}}

/* =========================================================
   FRONTEND HOTEL RESPONSIVE IMAGE FIX - ATASOGE FINAL
   Tujuan: banner tidak memakai teks di dalam gambar, sehingga aman responsif.
   ========================================================= */
.public-nav{height:86px;padding:0 8%;background:rgba(3,15,36,.88)}
.public-brand{min-width:250px;overflow:hidden;text-decoration:none}
.public-brand .brand-logo{height:54px;max-width:310px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25))}
.public-hero{
  min-height:clamp(620px,52vw,840px);
  padding:170px 9% 165px;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  isolation:isolate;
  overflow:hidden;
  transition:background-image .55s ease-in-out;
}
.public-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 40%,rgba(255,183,54,.12),transparent 30%),linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.05) 42%,rgba(0,0,0,.38));z-index:0;pointer-events:none}.public-hero:after{background:linear-gradient(90deg,rgba(2,11,29,.86) 0%,rgba(2,11,29,.56) 42%,rgba(2,11,29,.16) 72%,rgba(2,11,29,.06) 100%);z-index:0}.hero-copy{z-index:2;max-width:720px;text-shadow:0 7px 22px rgba(0,0,0,.32)}.hero-copy h1{font-size:clamp(42px,4.3vw,74px);line-height:1.02}.hero-copy p{max-width:660px}.slider-dots{align-items:center}.slider-dots button{width:12px;height:12px;border-radius:999px;border:0;background:#fff;opacity:.8;cursor:pointer;transition:.2s}.slider-dots button.active{width:34px;background:#ff9d18;opacity:1}.slide-arrow{transition:.2s}.slide-arrow:hover{transform:translateY(-50%) scale(1.06);background:#ffb13d;color:#071a38}.public-search-card{border-radius:26px;box-shadow:0 28px 80px rgba(2,11,29,.20)}.profile-photo{background-size:cover;background-position:center;min-height:430px}.profile-photo:before{content:"Profil Hotel";background:linear-gradient(90deg,rgba(3,18,45,.86),rgba(3,18,45,.28));inset:auto 0 0 0;padding:58px 24px 22px}.room-img{background-size:cover;background-position:center;height:230px}.room-img:after{content:"Kamar & Suite Mewah";background:linear-gradient(transparent,rgba(2,11,29,.76));left:0;right:0;bottom:0;padding:70px 18px 18px}.section-showcase{height:360px;border-radius:30px;background-size:cover;background-position:center;margin:10px 0 28px;position:relative;overflow:hidden;box-shadow:0 22px 60px rgba(8,31,68,.16)}.section-showcase:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,11,29,.72),rgba(2,11,29,.12),rgba(2,11,29,.06))}.section-showcase span{position:absolute;left:30px;bottom:25px;color:#fff;font-family:Georgia,serif;font-size:34px;font-weight:900;text-shadow:0 8px 22px rgba(0,0,0,.4)}.facility-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.facility-card{overflow:hidden;padding:0 0 16px;min-height:188px}.facility-card img{width:100%;height:104px;object-fit:cover;display:block;margin-bottom:10px}.facility-card b{font-size:24px}.facility-card span,.facility-card small{padding:0 10px}.gallery-grid figure{min-height:180px;background-size:cover;background-position:center}.gallery-grid{grid-auto-rows:180px}@media(max-width:1050px){.public-nav{position:fixed}.public-brand{min-width:190px}.public-brand .brand-logo{height:46px;max-width:230px}.public-hero{min-height:650px;padding:145px 24px 155px;background-position:center}.hero-copy{max-width:620px}.public-search-card{grid-template-columns:1fr 1fr}.search-wide{grid-column:span 2}.section-showcase{height:290px}}@media(max-width:760px){.public-nav{position:relative;height:auto}.public-brand .brand-logo{height:42px;max-width:210px}.public-hero{min-height:560px;padding:80px 22px 120px;background-position:58% center}.hero-copy h1{font-size:36px}.hero-copy p{font-size:15px}.public-search-card{grid-template-columns:1fr}.search-wide{grid-column:auto}.section-showcase{height:240px;border-radius:22px}.section-showcase span{font-size:25px;left:18px;bottom:18px}.facility-card img{height:130px}.profile-photo{min-height:310px}.room-img{height:210px}}

/* =========================================================
   FULL FINAL RESPONSIVE HERO SLIDER - GRAND ATASOGE HOTEL
   Fix utama: gambar menjadi <img> layer, teks HTML, animasi halus.
   Aman untuk desktop, tablet, dan HP karena tidak ada teks penting di gambar.
   ========================================================= */
.public-nav{
  position:fixed!important;
  top:0;left:0;right:0;
  z-index:1000;
  min-height:86px;
  height:86px;
  padding:0 clamp(18px,7vw,140px)!important;
  background:rgba(3,15,36,.92)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.public-brand{text-decoration:none;min-width:240px;max-width:330px;overflow:hidden}.public-brand .brand-logo{height:54px;max-width:100%;width:auto;object-fit:contain;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}.public-nav nav{gap:clamp(16px,2vw,34px)}
.public-hero-slider{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(560px,78vh,820px);margin-top:86px;background:#06152f;color:#fff}.hero-track{position:relative;min-height:inherit}.hero-slide{position:absolute;inset:0;min-height:inherit;opacity:0;visibility:hidden;z-index:0;transition:opacity .82s ease,visibility .82s ease}.hero-slide.active{opacity:1;visibility:visible;z-index:2}.hero-media{position:absolute;inset:0;overflow:hidden;background:#071a38}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transform:scale(1.01);filter:saturate(1.05) contrast(1.03)}.hero-slide.active .hero-media img{animation:heroFinalZoom 12s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 18% 40%,rgba(255,185,70,.12),transparent 32%),linear-gradient(90deg,rgba(2,11,29,.91) 0%,rgba(2,11,29,.78) 27%,rgba(2,11,29,.45) 56%,rgba(2,11,29,.16) 100%),linear-gradient(180deg,rgba(2,11,29,.18),rgba(2,11,29,.04) 45%,rgba(2,11,29,.50))}.hero-copy-wrap{position:relative;z-index:3;min-height:inherit;display:flex;align-items:center;padding:clamp(95px,9vw,150px) clamp(22px,8vw,150px) clamp(135px,12vw,190px)}.hero-copy{max-width:min(720px,92vw);color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.42);animation:heroFadeUp .8s ease both}.hero-copy .eyebrow,.eyebrow{color:#ffd27a!important;font-weight:950;font-size:clamp(14px,1.35vw,19px);letter-spacing:.25px;margin:0 0 14px}.hero-copy h1{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(38px,5.25vw,76px)!important;line-height:1.03!important;margin:0 0 16px;color:#fff!important;max-width:780px}.hero-copy p{font-size:clamp(15px,1.55vw,21px)!important;line-height:1.65!important;color:#eff6ff!important;margin:0 0 20px;max-width:660px}.pin{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;border-radius:999px;padding:11px 18px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:softFinalFloat 3.6s ease-in-out infinite}.slide-arrow{position:absolute!important;top:50%;transform:translateY(-50%);z-index:8;width:54px;height:54px;border:0;border-radius:50%;background:rgba(255,255,255,.96);color:#082b5c;font-size:36px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 18px 40px rgba(0,0,0,.22);transition:transform .24s ease,background .24s ease,color .24s ease}.slide-arrow:hover{transform:translateY(-50%) scale(1.08);background:#ffb13d;color:#06152f}.slide-arrow.left{left:clamp(14px,2.4vw,42px)}.slide-arrow.right{right:clamp(14px,2.4vw,42px)}.slider-dots{position:absolute;left:clamp(22px,8vw,150px);bottom:clamp(88px,9vw,118px);z-index:9;display:flex;align-items:center;gap:10px;margin:0}.slider-dots button{width:12px;height:12px;border:0;border-radius:999px;background:rgba(255,255,255,.78);cursor:pointer;transition:width .25s ease,background .25s ease,opacity .25s ease}.slider-dots button.active{width:36px;background:#ff9d18;opacity:1}.booking-shell{position:relative;z-index:20;margin:-68px auto 30px!important;max-width:1220px;padding:0 18px}.public-search-card{border-radius:26px!important;box-shadow:0 30px 80px rgba(2,11,29,.20)!important}@keyframes heroFadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes heroFinalZoom{from{transform:scale(1.01)}to{transform:scale(1.075)}}@keyframes softFinalFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:1050px){.public-nav{height:auto!important;min-height:78px;flex-wrap:wrap;padding:12px 18px!important}.public-brand{min-width:190px;max-width:260px}.public-brand .brand-logo{height:46px}.public-nav nav{order:3;width:100%;overflow:auto;gap:18px;padding:9px 0 2px;justify-content:flex-start}.public-actions{margin-left:auto}.public-hero-slider{margin-top:102px;min-height:650px}.hero-copy-wrap{align-items:flex-end;padding:110px 24px 145px}.hero-copy{background:rgba(2,11,29,.32);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:24px 20px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.slider-dots{left:24px;bottom:100px}.public-search-card{grid-template-columns:1fr 1fr!important}.search-wide{grid-column:span 2!important}}
@media(max-width:760px){.public-nav{position:sticky!important;top:0}.public-nav nav{display:flex!important}.public-actions .outline{display:inline-flex!important}.public-btn{padding:10px 13px;font-size:13px}.public-hero-slider{margin-top:0;min-height:620px}.hero-media img{object-position:center center}.hero-overlay{background:linear-gradient(180deg,rgba(2,11,29,.38) 0%,rgba(2,11,29,.28) 35%,rgba(2,11,29,.90) 100%),linear-gradient(90deg,rgba(2,11,29,.50),rgba(2,11,29,.18))}.hero-copy-wrap{padding:92px 16px 148px;align-items:flex-end}.hero-copy{width:100%;max-width:100%;border-radius:20px;padding:18px 16px}.hero-copy h1{font-size:clamp(31px,9vw,42px)!important}.hero-copy p{font-size:15px!important}.pin{width:100%;justify-content:center;text-align:center;font-size:14px;padding:10px 12px}.slide-arrow{width:42px;height:42px;font-size:27px}.slider-dots{left:16px;bottom:98px}.booking-shell{margin:-50px auto 22px!important;padding:0 12px}.public-search-card{grid-template-columns:1fr!important}.search-wide{grid-column:auto!important}}
@media(max-width:420px){.public-brand{max-width:190px}.public-brand .brand-logo{height:38px}.public-actions{width:100%;display:flex}.public-actions .public-btn{flex:1}.public-hero-slider{min-height:640px}.hero-copy-wrap{padding-top:76px}.slide-arrow{display:none!important}.slider-dots{bottom:104px}.hero-copy .eyebrow{font-size:13px!important}}

/* =========================================================
   FRONT PAGE BALLROOM CARDS - FULL FINAL
========================================================= */
.ballroom-public-section{padding-top:54px}.section-head{max-width:850px;margin:0 auto 26px;text-align:center}.section-head p{color:#526078;line-height:1.7;margin:12px auto 0}.public-ballroom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.public-ballroom-card{background:#fff;border:1px solid #e4ebf5;border-radius:24px;overflow:hidden;box-shadow:0 18px 48px rgba(9,35,77,.12);transition:.28s ease}.public-ballroom-card:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(9,35,77,.18)}.public-ballroom-img{height:230px;background:linear-gradient(135deg,#061a38,#d89a16);background-size:cover;background-position:center;position:relative}.public-ballroom-img:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,16,38,.08),rgba(3,16,38,.68))}.public-ballroom-img span{position:absolute;left:16px;bottom:16px;z-index:1;background:rgba(255,255,255,.92);color:#0b2d5c;border-radius:999px;padding:8px 12px;font-weight:950;font-size:12px}.public-ballroom-body{padding:20px}.public-ballroom-body h3{margin:0 0 12px;color:#082b5c;font-size:22px}.public-ballroom-spec{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 13px}.public-ballroom-spec span{background:#f5f8fd;border:1px solid #e6eef9;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;color:#183a66}.public-ballroom-body p{color:#526078;line-height:1.6;min-height:74px}.public-ballroom-body strong{display:block;color:#ff7b00;font-size:24px;margin:8px 0 15px}.public-ballroom-body .public-btn{width:100%}@media(max-width:1050px){.public-ballroom-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.public-ballroom-grid{grid-template-columns:1fr}.public-ballroom-img{height:200px}.public-ballroom-body p{min-height:auto}}

/* =========================================================
   NEXT LEVEL PUBLIC WEBSITE: PROMO, TESTIMONI, FAQ, WA FLOAT
========================================================= */
.section-head{max-width:820px;margin:0 auto 26px;text-align:center}.section-head p{color:#5f6f86;line-height:1.75;margin:8px 0 0}.promo-grid,.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.promo-card,.testimonial-card{background:#fff;border:1px solid #e4ebf5;border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(8,31,68,.10);transition:.25s ease}.promo-card:hover,.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(8,31,68,.15)}.promo-img{height:210px;background-size:cover;background-position:center;position:relative}.promo-img:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,18,42,.05),rgba(4,18,42,.72))}.promo-img span{position:absolute;left:16px;bottom:14px;background:linear-gradient(135deg,#d89400,#ffd166);color:#071a38;border-radius:999px;padding:8px 12px;font-weight:950}.promo-body{padding:20px}.promo-body h3{margin:0 0 10px;color:#071a38;font-family:Georgia,serif;font-size:24px}.promo-body p{color:#526078;line-height:1.65;min-height:76px}.promo-body strong{display:block;color:#ff7b00;font-size:24px;margin:0 0 14px}.testimonial-card{padding:24px}.testimonial-card .stars{color:#d89400;font-size:22px;letter-spacing:3px;margin-bottom:14px}.testimonial-card p{color:#34435a;line-height:1.72;min-height:86px}.testimonial-card b{display:block;color:#071a38;font-size:18px}.testimonial-card small{display:block;color:#ff7b00;font-weight:850;margin-top:4px}.faq-list{max-width:980px;margin:auto;display:grid;gap:14px}.faq-list details{background:#fff;border:1px solid #e4ebf5;border-radius:18px;padding:0 18px;box-shadow:0 12px 32px rgba(8,31,68,.07);overflow:hidden}.faq-list summary{cursor:pointer;font-weight:950;color:#071a38;padding:18px 0;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";float:right;color:#ff8a00;font-size:24px;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list p{border-top:1px solid #eaf0f8;margin:0;padding:14px 0 18px;color:#526078;line-height:1.75}.wa-float{position:fixed;right:18px;bottom:18px;z-index:90;background:linear-gradient(135deg,#12b76a,#039855);color:#fff;text-decoration:none;border-radius:999px;padding:13px 18px;font-weight:950;box-shadow:0 18px 38px rgba(3,152,85,.28);display:inline-flex;align-items:center;gap:8px}.wa-float:hover{filter:brightness(1.05);transform:translateY(-2px)}
@media(max-width:980px){.promo-grid,.testimonial-grid{grid-template-columns:1fr 1fr}.wa-float{right:12px;bottom:12px}}
@media(max-width:620px){.promo-grid,.testimonial-grid{grid-template-columns:1fr}.promo-img{height:185px}.wa-float{font-size:13px;padding:11px 14px}.section-head{text-align:left}.section-head h2.center{text-align:left}.section-head h2.center:after{margin-left:0}}

/* =========================================================
   EVENT STATUS / PAYMENT PROOF PUBLIC PAGE
========================================================= */
.event-status-page{min-height:100vh;background:linear-gradient(135deg,#061a38,#0b4da2);padding:26px 16px;color:#071a38}.event-status-card{max-width:980px;margin:0 auto;background:#fff;border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.22);overflow:hidden}.event-status-head{background:radial-gradient(circle at 90% 0,rgba(247,205,97,.24),transparent 30%),linear-gradient(135deg,#071a38,#0e4f9b);color:#fff;padding:26px 30px;display:flex;justify-content:space-between;gap:18px;align-items:center}.event-status-head h1{margin:0;font-family:Georgia,serif;font-size:34px}.event-status-body{padding:26px 30px}.status-search{display:grid;grid-template-columns:1fr auto;gap:12px}.status-search input{border:1px solid #d5e1ef;border-radius:14px;padding:14px;font-size:16px}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.status-box{border:1px solid #e4ebf5;border-radius:18px;padding:16px;background:#fbfdff}.status-box h3{margin:0 0 10px;color:#071a38}.status-row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #dbe6f3}.status-row:last-child{border-bottom:0}.proof-form{margin-top:20px;background:#f8fbff;border:1px solid #e4ebf5;border-radius:18px;padding:18px;display:grid;gap:12px}.proof-form input,.proof-form textarea{border:1px solid #d5e1ef;border-radius:14px;padding:13px}.status-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.pay-badge{display:inline-flex;border-radius:999px;padding:8px 12px;font-weight:950}.pay-badge.unpaid{background:#ffecec;color:#b42318}.pay-badge.partial,.pay-badge.dp_pending{background:#fff6db;color:#9a6700}.pay-badge.paid,.pay-badge.dp_verified{background:#e8f7ee;color:#12763a}@media(max-width:760px){.event-status-head,.status-grid,.status-search{grid-template-columns:1fr;display:grid}.event-status-head h1{font-size:26px}.event-status-body{padding:20px}}

/* PUBLIC INVOICE ACTIONS */
.invoice-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.invoice-actions .public-btn,.invoice-actions .btn{min-height:42px}
@media(max-width:620px){.invoice-actions{display:grid;grid-template-columns:1fr}.invoice-actions .public-btn,.invoice-actions .btn{width:100%;justify-content:center;text-align:center}}

/* =========================================================
   PREMIUM FACILITY CLICKABLE PROFILE - GRAND ATASOGE
========================================================= */
.facilities-premium-section{position:relative}.premium-facility-grid .premium-facility-card{display:block;text-decoration:none;color:inherit;position:relative;overflow:hidden}.premium-facility-card:focus{outline:3px solid rgba(255,157,24,.35);outline-offset:4px}.premium-facility-card img{transition:.35s ease;filter:saturate(1.06) contrast(1.04)}.premium-facility-card:hover img{transform:scale(1.045)}.facility-icon-float{width:54px;height:54px;border-radius:50%;background:#fff;box-shadow:0 16px 34px rgba(8,31,68,.16);display:grid;place-items:center;margin:-24px auto 10px;position:relative;z-index:2;border:1px solid #e8eef7}.facility-icon-float b{font-size:24px!important;margin:0!important}.premium-facility-card em{display:inline-flex;margin-top:10px;color:#ff8a00;font-weight:950;font-size:12px;font-style:normal}.facility-detail-body{background:#f7f9fd}.facility-detail-page{padding-top:76px}.facility-detail-hero{min-height:620px;position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}.facility-hero-media{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02);animation:heroFinalZoom 12s ease-in-out infinite alternate}.facility-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,11,29,.90),rgba(2,11,29,.62) 36%,rgba(2,11,29,.22) 72%,rgba(2,11,29,.12)),linear-gradient(0deg,rgba(2,11,29,.55),transparent 42%)}.facility-hero-content{position:relative;z-index:2;max-width:760px;padding:90px 8% 110px}.back-link{display:inline-flex;color:#ffd27a;text-decoration:none;font-weight:950;margin-bottom:18px}.lux-kicker{display:inline-flex;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);border-radius:999px;padding:10px 14px;color:#ffe2a4;font-weight:950;margin-bottom:18px}.facility-hero-content h1{font-family:Georgia,serif;font-size:clamp(42px,7vw,82px);line-height:1;margin:0 0 18px;text-shadow:0 10px 30px rgba(0,0,0,.28)}.facility-hero-content p{font-size:clamp(17px,1.7vw,22px);line-height:1.7;color:#edf5ff;max-width:720px}.facility-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.facility-detail-wrap{max-width:1220px;margin:-68px auto 50px;padding:0 18px;position:relative;z-index:4}.facility-detail-card{display:grid;grid-template-columns:1.7fr .9fr;gap:22px;background:#fff;border:1px solid #e5edf8;border-radius:30px;box-shadow:0 30px 80px rgba(8,31,68,.15);padding:26px}.facility-text h2{font-family:Georgia,serif;color:#082b5c;font-size:38px;margin:0 0 12px}.facility-text p{color:#46576f;line-height:1.85;font-size:16px}.facility-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}.facility-info-grid div{background:linear-gradient(135deg,#f8fbff,#fff);border:1px solid #e7eef8;border-radius:18px;padding:16px}.facility-info-grid b{display:block;color:#082b5c;margin-bottom:8px}.facility-info-grid span{display:block;color:#526078;line-height:1.5}.facility-mini-card{background:radial-gradient(circle at 80% 0,rgba(255,209,102,.22),transparent 34%),linear-gradient(135deg,#071a38,#0b4da2);color:#fff;border-radius:24px;padding:24px;display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10)}.facility-mini-card span{font-size:50px}.facility-mini-card h3{font-family:Georgia,serif;font-size:28px;margin:12px 0}.facility-mini-card p{color:#dcecff;line-height:1.7}.facility-gallery-detail{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.facility-gallery-detail figure{margin:0;min-height:220px;border-radius:22px;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:0 16px 42px rgba(8,31,68,.12)}.facility-gallery-detail figure:first-child{grid-column:span 2}.facility-gallery-detail figcaption{position:absolute;left:0;right:0;bottom:0;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));padding:34px 14px 14px;font-weight:950}.mini-form input[type=file]{background:#fff}@media(max-width:980px){.facility-detail-page{padding-top:0}.facility-detail-hero{min-height:560px}.facility-hero-content{padding:110px 24px 120px}.facility-detail-card{grid-template-columns:1fr}.facility-gallery-detail{grid-template-columns:1fr 1fr}.facility-gallery-detail figure:first-child{grid-column:span 2}.facility-info-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.facility-detail-hero{min-height:620px}.facility-hero-overlay{background:linear-gradient(180deg,rgba(2,11,29,.35),rgba(2,11,29,.92))}.facility-hero-content{padding:95px 16px 122px}.facility-hero-actions{display:grid}.facility-hero-actions .public-btn{width:100%;justify-content:center}.facility-detail-wrap{margin:-58px auto 34px;padding:0 12px}.facility-detail-card{padding:18px;border-radius:22px}.facility-text h2{font-size:30px}.facility-info-grid,.facility-gallery-detail{grid-template-columns:1fr}.facility-gallery-detail figure:first-child{grid-column:auto}.facility-gallery-detail figure{min-height:210px}}

/* Finance, Guest Recap, Employee Pro Modules */
.stat{min-height:96px;display:flex;flex-direction:column;justify-content:center;gap:6px;border-left:5px solid #f2b544;background:linear-gradient(135deg,#fff,#f8fbff)}
.stat b{font-size:24px;color:#082b5c;line-height:1.1}.stat span{color:#64748b;font-weight:800}.table small{color:#64748b}.table img{box-shadow:0 8px 18px rgba(8,31,68,.14)}
.btn.small{padding:8px 10px;border-radius:10px;font-size:12px}.btn.danger,.badge.danger{background:#dc3545;color:#fff}.badge.ok{background:#16a34a;color:#fff}.badge.warn{background:#f59e0b;color:#fff}
@media print{.sidebar,.top,.noPrint,.footer,.btn,.slide-arrow,.slider-dots{display:none!important}.app{display:block}.main{padding:0!important}.card{box-shadow:none!important;border:1px solid #ddd!important;break-inside:avoid}.table{font-size:11px}.table th{background:#f1f5f9!important;color:#111!important}.tablewrap{overflow:visible!important}body{background:#fff!important;color:#111!important}}

/* ===== HRD & NAV STRUCTURE 5 STAR ===== */
.nav-structured{padding-bottom:18px}.nav-group{margin:10px 0 14px}.nav-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:#f7c45d;font-weight:950;padding:10px 16px 6px;opacity:.95;border-top:1px solid rgba(255,255,255,.08)}.nav-structured a{display:flex;align-items:center;gap:8px}.logout-link{margin-top:14px;background:rgba(220,38,38,.16)!important;color:#fecaca!important}.scan-box{margin-top:16px;border:1px solid #e4ebf5;border-radius:20px;padding:14px;background:#f8fbff}.scan-box video{width:100%;max-height:320px;background:#020b1d;border-radius:16px;object-fit:cover}.barcode{max-width:100%;height:auto}.tablewrap{overflow:auto}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.btn.small{padding:7px 10px;font-size:12px;border-radius:10px}.btn.danger,.danger{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}.badge.warn{background:#fef3c7;color:#92400e}.badge.ok{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}@media(max-width:900px){.nav-group-title{padding-left:12px}.actions .btn{width:auto}.scan-box video{max-height:240px}}@media print{.noPrint,.sidebar,.top{display:none!important}.main{margin:0!important;padding:0!important}.card{box-shadow:none!important;border:0!important}}



/* =========================
   REALTIME NOTIFICATION CENTER
========================= */
.rt-bell{
    position:fixed;
    right:22px;
    bottom:92px;
    z-index:9998;
    width:56px;
    height:56px;
    border:0;
    border-radius:50%;
    background:linear-gradient(135deg,#ff8a00,#f7cd61);
    color:#081f44;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 18px 45px rgba(2,11,29,.28);
    cursor:pointer;
    transition:.22s ease;
}
.rt-bell:hover{transform:translateY(-3px) scale(1.04)}
.rt-bell-icon{font-size:24px;line-height:1}
.rt-bell-count{
    position:absolute;
    top:-5px;
    right:-4px;
    min-width:23px;
    height:23px;
    padding:0 6px;
    border-radius:999px;
    background:#ef4444;
    color:#fff;
    font-size:12px;
    font-weight:900;
    display:none;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
}
.rt-panel{
    position:fixed;
    right:22px;
    bottom:160px;
    width:min(420px,calc(100vw - 32px));
    max-height:calc(100vh - 190px);
    overflow:hidden;
    z-index:9999;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(226,232,240,.9);
    border-radius:24px;
    box-shadow:0 28px 85px rgba(2,11,29,.32);
    transform:translateY(20px) scale(.96);
    opacity:0;
    pointer-events:none;
    transition:.25s ease;
    backdrop-filter:blur(18px);
}
.rt-panel.open{
    transform:translateY(0) scale(1);
    opacity:1;
    pointer-events:auto;
}
.rt-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:18px 18px 14px;
    background:linear-gradient(135deg,#071a38,#0b4da2);
    color:#fff;
}
.rt-head b{display:block;font-size:18px}
.rt-head small{display:block;color:#dbeafe;margin-top:3px}
.rt-head button{
    width:34px;height:34px;border:0;border-radius:50%;
    background:rgba(255,255,255,.16);color:#fff;font-size:24px;cursor:pointer;
}
.rt-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    padding:14px;
    background:#f8fbff;
}
.rt-stats div{
    border:1px solid #e6edf7;
    background:#fff;
    border-radius:16px;
    padding:12px;
}
.rt-stats b{display:block;color:#082b5c;font-size:22px}
.rt-stats span{display:block;color:#64748b;font-weight:800;font-size:12px;margin-top:2px}
.rt-actions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    padding:0 14px 14px;
    background:#f8fbff;
}
.rt-actions a{
    text-align:center;
    background:#fff;
    border:1px solid #dbe7f6;
    color:#0b4da2;
    border-radius:12px;
    padding:9px 8px;
    font-weight:900;
    font-size:12px;
    text-decoration:none;
}
.rt-list{
    max-height:360px;
    overflow:auto;
    padding:12px 14px 16px;
}
.rt-item{
    display:flex;
    gap:11px;
    padding:12px;
    border:1px solid #e7edf6;
    border-radius:16px;
    background:#fff;
    color:#0f172a;
    text-decoration:none;
    margin-bottom:9px;
    transition:.18s ease;
}
.rt-item:hover{transform:translateX(-2px);box-shadow:0 12px 28px rgba(8,31,68,.10)}
.rt-item.warning{border-color:#fed7aa;background:#fff7ed}
.rt-item.success{border-color:#bbf7d0;background:#f0fdf4}
.rt-ico{
    width:36px;height:36px;border-radius:50%;
    display:grid;place-items:center;
    background:#eef6ff;
    flex:0 0 36px;
}
.rt-item b{display:block;color:#082b5c;font-size:14px}
.rt-item p{margin:3px 0;color:#475569;font-size:13px;line-height:1.35}
.rt-item small{color:#94a3b8;font-weight:800}
.rt-empty{text-align:center;color:#64748b;padding:22px;font-weight:800}
.rt-toast{
    position:fixed;
    right:22px;
    bottom:26px;
    z-index:10000;
    width:min(420px,calc(100vw - 32px));
    background:#071a38;
    color:#fff;
    border:1px solid rgba(255,255,255,.16);
    border-left:6px solid #ff9d18;
    border-radius:18px;
    box-shadow:0 22px 70px rgba(2,11,29,.36);
    padding:14px 16px;
    transform:translateY(25px);
    opacity:0;
    transition:.25s ease;
}
.rt-toast.show{transform:translateY(0);opacity:1}
.rt-toast b{display:block;margin-bottom:5px}
.rt-toast span{display:block;color:#dbeafe;line-height:1.45}
.live-card-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-bottom:18px;
}
.live-card{
    background:linear-gradient(135deg,#fff,#f8fbff);
    border:1px solid #e6edf7;
    border-radius:20px;
    padding:18px;
    box-shadow:0 14px 38px rgba(8,31,68,.08);
}
.live-card span{display:block;color:#64748b;font-weight:900}
.live-card b{display:block;color:#082b5c;font-size:30px;margin-top:7px}
.live-board{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
}
.live-feed,.live-side{
    background:#fff;
    border:1px solid #e6edf7;
    border-radius:24px;
    padding:18px;
    box-shadow:0 14px 38px rgba(8,31,68,.08);
}
.live-feed-list .rt-item{margin-bottom:10px}
.realtime-pulse{
    display:inline-flex;align-items:center;gap:8px;
    background:#e8f7ee;color:#12763a;
    border:1px solid #bce7ca;
    padding:8px 12px;
    border-radius:999px;
    font-weight:900;
}
.realtime-pulse:before{
    content:"";width:9px;height:9px;border-radius:50%;background:#22c55e;
    box-shadow:0 0 0 0 rgba(34,197,94,.65);
    animation:pulseLive 1.4s infinite;
}
@keyframes pulseLive{
    70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}
    100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
@media(max-width:900px){
    .rt-bell{right:14px;bottom:76px;width:50px;height:50px}
    .rt-panel{right:14px;bottom:132px}
    .rt-toast{right:14px;bottom:18px}
    .live-card-grid{grid-template-columns:repeat(2,1fr)}
    .live-board{grid-template-columns:1fr}
}
@media(max-width:540px){
    .rt-stats,.rt-actions{grid-template-columns:1fr}
    .live-card-grid{grid-template-columns:1fr}
}



/* =========================
   FRONTEND MEGAH: VIDEO PROFIL, SOSIAL, OTA
========================= */
.section-kicker{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:linear-gradient(135deg,rgba(255,157,24,.12),rgba(11,77,162,.08));
    color:#b46b00;
    border:1px solid rgba(255,157,24,.28);
    padding:8px 13px;
    border-radius:999px;
    font-weight:950;
    font-size:13px;
    letter-spacing:.2px;
    margin-bottom:12px;
}
.profile-megah{
    position:relative;
}
.profile-megah:before{
    content:"";
    position:absolute;
    left:8px;
    top:38px;
    width:110px;
    height:110px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(247,205,97,.24),transparent 70%);
    pointer-events:none;
}
.video-profile-section{
    display:grid;
    grid-template-columns:1fr 1.05fr;
    gap:34px;
    align-items:center;
    background:
        radial-gradient(circle at 92% 12%,rgba(247,205,97,.22),transparent 26%),
        linear-gradient(135deg,#071a38,#0b2d63 58%,#020b1d);
    color:#fff;
    border-radius:34px;
    padding:34px;
    box-shadow:0 28px 70px rgba(2,11,29,.24);
    overflow:hidden;
    position:relative;
}
.video-profile-section:after{
    content:"★★★★★";
    position:absolute;
    right:28px;
    top:22px;
    color:rgba(247,205,97,.32);
    letter-spacing:6px;
    font-size:18px;
}
.video-profile-copy{
    position:relative;
    z-index:1;
}
.video-profile-copy h2{
    color:#fff;
    margin:8px 0 12px;
    font-size:clamp(30px,4.3vw,52px);
}
.video-profile-copy h2:after{
    background:#f7cd61;
}
.video-profile-copy p{
    color:#dbeafe;
    line-height:1.78;
    font-size:17px;
}
.video-profile-card{
    position:relative;
    z-index:1;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    border-radius:28px;
    padding:12px;
    box-shadow:0 22px 60px rgba(0,0,0,.22);
    backdrop-filter:blur(14px);
}
.video-frame{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    border-radius:22px;
    overflow:hidden;
    background:#020b1d;
}
.video-frame iframe,
.video-frame video{
    width:100%;
    height:100%;
    border:0;
    display:block;
    object-fit:cover;
}
.video-placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    text-align:center;
    background-size:cover;
    background-position:center;
    position:relative;
    padding:28px;
}
.video-placeholder:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(2,11,29,.78),rgba(2,11,29,.32));
}
.video-placeholder span,
.video-placeholder b{
    position:relative;
    z-index:1;
}
.video-placeholder span{
    width:76px;
    height:76px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#ff8a00,#f7cd61);
    color:#071a38;
    font-size:34px;
    box-shadow:0 18px 40px rgba(255,157,24,.25);
}
.video-placeholder b{
    display:block;
    color:#fff;
    margin-top:18px;
    max-width:360px;
}
.video-socials{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin:22px 0 16px;
}
.video-socials a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    padding:10px 12px;
    border-radius:999px;
    font-weight:950;
    transition:.22s ease;
}
.video-socials a:hover{
    transform:translateY(-2px);
    background:rgba(247,205,97,.18);
}
.video-socials a::first-letter{
    color:#f7cd61;
}
.video-socials a span{
    color:#dbeafe;
    font-size:13px;
}
.ota-links{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    padding:16px;
}
.ota-links b{
    display:block;
    color:#f7cd61;
    margin-bottom:10px;
}
.ota-links div{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}
.ota-links a,
.ota-links span{
    display:inline-flex;
    align-items:center;
    background:#fff;
    color:#082b5c;
    border-radius:999px;
    padding:8px 11px;
    font-weight:900;
    font-size:13px;
}
.ota-links span{
    border-radius:14px;
    color:#526078;
    line-height:1.45;
}
.contact-ota{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
}
.contact-ota a{
    background:#f8fbff;
    border:1px solid #dbe7f6;
    color:#0b4da2;
    padding:8px 10px;
    border-radius:999px;
    font-weight:900;
    font-size:13px;
}
.socials a{
    width:38px;
    height:38px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#0b4da2;
    color:#fff;
    font-weight:900;
}
@media(max-width:1050px){
    .video-profile-section{
        grid-template-columns:1fr;
        padding:26px;
        border-radius:28px;
    }
}
@media(max-width:620px){
    .video-profile-section{
        padding:20px 16px;
        border-radius:22px;
        margin-left:-2px;
        margin-right:-2px;
    }
    .video-profile-copy p{
        font-size:15px;
    }
    .video-socials a{
        width:100%;
        justify-content:space-between;
    }
    .ota-links div{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .video-profile-section:after{
        display:none;
    }
}



/* =========================================================
   PUBLIC FRONTEND FULL FINAL MEGAH / RESPONSIVE
   Grand Atasoge Hotel - Atasoge Software
========================================================= */
.public-body{
    background:
        radial-gradient(circle at 12% 0%,rgba(247,205,97,.10),transparent 24%),
        linear-gradient(180deg,#f7faff 0%,#ffffff 34%,#f8fbff 100%);
    color:#10213d;
    overflow-x:hidden;
}
.public-nav-megah{
    height:92px!important;
    padding:0 clamp(18px,6vw,90px)!important;
    background:
        linear-gradient(90deg,rgba(3,14,34,.96),rgba(8,31,68,.93),rgba(3,14,34,.96))!important;
    border-bottom:1px solid rgba(247,205,97,.38)!important;
    box-shadow:0 18px 55px rgba(2,11,29,.28)!important;
}
.public-brand-megah{
    gap:16px!important;
    min-width:380px;
}
.brand-emblem{
    width:66px;
    height:66px;
    flex:0 0 66px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:
        radial-gradient(circle at 35% 25%,rgba(247,205,97,.22),transparent 38%),
        linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.01));
    border:1px solid rgba(247,205,97,.42);
    box-shadow:0 14px 32px rgba(0,0,0,.24), inset 0 0 18px rgba(247,205,97,.08);
    overflow:hidden;
}
.brand-emblem img{
    width:58px!important;
    height:58px!important;
    object-fit:contain!important;
    display:block;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.35));
}
.brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}
.brand-copy strong{
    display:block;
    font-family:Georgia,'Times New Roman',serif;
    color:#f7cd61;
    font-size:clamp(19px,1.65vw,30px);
    letter-spacing:.8px;
    text-transform:uppercase;
    white-space:nowrap;
}
.brand-copy small{
    margin-top:7px;
    color:#dbeafe;
    font-weight:750;
    letter-spacing:.2px;
    white-space:nowrap;
}
.public-nav-menu{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:clamp(14px,1.65vw,28px)!important;
}
.public-nav-menu a{
    position:relative;
    color:#fff!important;
    font-weight:900!important;
    font-size:14px!important;
    padding:12px 0;
    opacity:.94;
}
.public-nav-menu a:after{
    content:"";
    position:absolute;
    left:50%;
    right:50%;
    bottom:3px;
    height:2px;
    background:linear-gradient(90deg,#ff8a00,#f7cd61);
    border-radius:99px;
    transition:.2s ease;
}
.public-nav-menu a:hover:after{
    left:0;
    right:0;
}
.public-actions .public-btn{
    min-height:52px;
    border-radius:16px;
}
.public-actions .public-btn.orange{
    background:linear-gradient(135deg,#ff8a00,#ffb13d)!important;
    box-shadow:0 16px 36px rgba(255,138,0,.34)!important;
}
.public-actions .public-btn.outline{
    border-color:rgba(247,205,97,.55)!important;
}
.public-menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:1px solid rgba(247,205,97,.42);
    border-radius:14px;
    background:rgba(255,255,255,.07);
    padding:10px;
    cursor:pointer;
}
.public-menu-toggle span{
    display:block;
    height:2px;
    background:#f7cd61;
    border-radius:99px;
    margin:6px 0;
}
.public-hero-slider{
    margin-top:92px!important;
    min-height:clamp(650px,calc(100vh - 20px),880px)!important;
}
.hero-overlay{
    background:
        radial-gradient(circle at 16% 38%,rgba(247,205,97,.13),transparent 32%),
        linear-gradient(90deg,rgba(2,11,29,.94) 0%,rgba(2,11,29,.82) 31%,rgba(2,11,29,.45) 58%,rgba(2,11,29,.14) 100%),
        linear-gradient(180deg,rgba(2,11,29,.12),rgba(2,11,29,.02) 46%,rgba(2,11,29,.62))!important;
}
.hero-copy-wrap{
    padding:clamp(105px,9vw,160px) clamp(22px,8vw,150px) clamp(150px,13vw,210px)!important;
}
.hero-copy h1{
    letter-spacing:-1.5px;
    max-width:780px;
}
.hero-copy p{
    font-weight:650;
}
.hero-quick-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}
.hero-quick-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 15px;
    border-radius:999px;
    background:rgba(255,255,255,.10);
    color:#fff;
    border:1px solid rgba(255,255,255,.17);
    font-weight:900;
    backdrop-filter:blur(8px);
    transition:.2s ease;
}
.hero-quick-actions a:first-child{
    background:linear-gradient(135deg,#ff8a00,#ffb13d);
    color:#071a38;
    border-color:transparent;
}
.hero-quick-actions a:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(0,0,0,.20);
}
.slider-dots{
    bottom:110px!important;
}
.booking-shell{
    max-width:1280px!important;
    margin:-76px auto 40px!important;
}
.public-search-card{
    border-radius:30px!important;
    padding:24px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(226,235,245,.95)!important;
    box-shadow:0 34px 95px rgba(2,11,29,.20)!important;
    backdrop-filter:blur(16px);
}
.public-search-card label{
    color:#324560!important;
    font-weight:900!important;
}
.public-search-card input,
.public-search-card select,
.public-search-card textarea{
    min-height:48px;
    border-radius:14px!important;
}
.public-main{
    max-width:1280px!important;
}
.public-section{
    padding:62px 0!important;
}
.public-section h2{
    font-size:clamp(34px,3.25vw,48px)!important;
    color:#082b5c!important;
}
.section-head{
    max-width:860px;
    margin:0 auto 28px;
    text-align:center;
}
.section-head p{
    color:#526078;
    line-height:1.75;
    font-size:17px;
}
.profile-grid,
.profile-megah{
    background:linear-gradient(135deg,#fff,#f8fbff);
    border:1px solid #e6edf7;
    border-radius:34px;
    padding:30px;
    box-shadow:0 22px 70px rgba(8,31,68,.10);
}
.badge-row span{
    background:linear-gradient(135deg,#fff,#f8fbff)!important;
    transition:.2s ease;
}
.badge-row span:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 38px rgba(8,31,68,.10);
}
.profile-photo{
    border-radius:30px!important;
    box-shadow:0 28px 80px rgba(8,31,68,.20)!important;
}
.room-cards,.public-ballroom-grid,.promo-grid,.testimonial-grid{
    gap:26px!important;
}
.room-card,.public-ballroom-card,.promo-card,.testimonial-card,.facility-card,.premium-facility-card{
    border-radius:24px!important;
    overflow:hidden;
    transition:.25s ease!important;
}
.room-card:hover,.public-ballroom-card:hover,.promo-card:hover,.testimonial-card:hover,.premium-facility-card:hover{
    transform:translateY(-7px)!important;
    box-shadow:0 24px 70px rgba(8,31,68,.16)!important;
}
.room-img,.promo-img,.public-ballroom-img{
    min-height:220px;
}
.premium-facility-grid{
    grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;
}
.premium-facility-card{
    min-height:245px!important;
    display:flex!important;
    flex-direction:column;
    justify-content:flex-start;
}
.premium-facility-card img{
    height:112px!important;
    width:100%;
    object-fit:cover;
    border-radius:18px!important;
}
.gallery-grid{
    gap:16px!important;
}
.gallery-grid figure{
    border-radius:24px!important;
}
.video-profile-section{
    margin-top:18px;
}
.contact-grid{
    align-items:stretch;
}
.public-footer{
    background:
        radial-gradient(circle at 15% 0%,rgba(247,205,97,.14),transparent 28%),
        linear-gradient(135deg,#020b1d,#071a38 60%,#020b1d)!important;
    border-top:1px solid rgba(247,205,97,.25);
}
@media(max-width:1180px){
    .public-brand-megah{
        min-width:300px;
    }
    .brand-copy strong{
        font-size:20px;
    }
    .brand-copy small{
        font-size:12px;
    }
    .public-nav-menu{
        gap:14px!important;
    }
}
@media(max-width:980px){
    .public-nav-megah{
        height:auto!important;
        min-height:82px;
        flex-wrap:wrap;
        padding:12px 16px!important;
    }
    .public-brand-megah{
        min-width:auto;
        flex:1 1 auto;
    }
    .brand-emblem{
        width:58px;
        height:58px;
        flex-basis:58px;
    }
    .brand-emblem img{
        width:50px!important;
        height:50px!important;
    }
    .brand-copy strong{
        font-size:18px;
        white-space:normal;
    }
    .brand-copy small{
        display:none;
    }
    .public-menu-toggle{
        display:block;
        order:2;
    }
    .public-actions{
        order:3;
        margin-left:auto;
    }
    .public-nav-menu{
        order:4;
        width:100%;
        display:none!important;
        grid-template-columns:1fr 1fr;
        gap:8px!important;
        padding-top:12px;
    }
    .public-nav.open .public-nav-menu{
        display:grid!important;
    }
    .public-nav-menu a{
        padding:12px 14px!important;
        border-radius:14px;
        background:rgba(255,255,255,.07);
    }
    .public-hero-slider{
        margin-top:0!important;
        min-height:660px!important;
    }
    .hero-copy-wrap{
        align-items:flex-end!important;
        padding:115px 18px 155px!important;
    }
    .hero-copy{
        max-width:100%!important;
        background:rgba(2,11,29,.44);
        border:1px solid rgba(255,255,255,.12);
        border-radius:26px;
        padding:22px;
        backdrop-filter:blur(10px);
    }
    .booking-shell{
        margin:-64px auto 30px!important;
    }
    .public-search-card{
        grid-template-columns:1fr 1fr!important;
    }
    .search-wide{
        grid-column:1/-1!important;
    }
}
@media(max-width:680px){
    .public-actions{
        width:100%;
        justify-content:space-between;
        margin-left:0;
    }
    .public-actions .public-btn{
        flex:1;
        min-height:46px;
        padding:10px 12px;
        font-size:13px;
    }
    .public-nav-menu{
        grid-template-columns:1fr!important;
    }
    .public-hero-slider{
        min-height:720px!important;
    }
    .hero-copy h1{
        font-size:clamp(34px,12vw,46px)!important;
    }
    .hero-copy p{
        font-size:15px!important;
    }
    .hero-quick-actions a{
        width:100%;
    }
    .slider-dots{
        left:18px!important;
        bottom:112px!important;
    }
    .slide-arrow{
        width:42px!important;
        height:42px!important;
        font-size:26px!important;
    }
    .public-search-card{
        grid-template-columns:1fr!important;
        padding:18px!important;
    }
    .profile-grid,.profile-megah{
        padding:18px!important;
        border-radius:24px;
    }
    .badge-row{
        grid-template-columns:1fr 1fr!important;
    }
}
@media(max-width:430px){
    .brand-copy strong{
        font-size:15px;
    }
    .brand-emblem{
        width:50px;
        height:50px;
        flex-basis:50px;
    }
    .brand-emblem img{
        width:44px!important;
        height:44px!important;
    }
    .public-hero-slider{
        min-height:760px!important;
    }
    .badge-row{
        grid-template-columns:1fr!important;
    }
}



/* =========================================================
   STABLE FIX VIDEO PROFILE SECTION - SIMPLE, RAPI, RESPONSIVE
   Ini override paling akhir supaya tidak bentrok dengan style lama.
========================================================= */
.video-profile-clean{
    background:linear-gradient(135deg,#ffffff,#f8fbff);
    border:1px solid #e6edf7;
    border-radius:32px;
    padding:34px !important;
    box-shadow:0 22px 70px rgba(8,31,68,.10);
    margin-top:18px;
}
.video-clean-head{
    max-width:850px;
    margin:0 auto 26px;
    text-align:center;
}
.video-clean-head h2{
    color:#082b5c !important;
    font-size:clamp(32px,3.5vw,48px) !important;
    line-height:1.15;
    margin:10px 0 12px;
}
.video-clean-head h2:after{
    margin:12px auto 0 !important;
}
.video-clean-head p{
    color:#526078 !important;
    font-size:17px;
    line-height:1.75;
    margin:0;
}
.video-clean-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:24px;
    align-items:stretch;
}
.video-clean-card{
    background:#fff;
    border:1px solid #e6edf7;
    border-radius:26px;
    padding:22px;
    box-shadow:0 14px 40px rgba(8,31,68,.08);
    overflow:hidden;
}
.video-clean-card.video-box{
    padding:12px;
}
.video-box iframe,
.video-box video,
.video-clean-placeholder{
    width:100%;
    aspect-ratio:16/9;
    min-height:320px;
    border:0;
    display:block;
    border-radius:20px;
    overflow:hidden;
    background:#071a38;
}
.video-clean-placeholder{
    background-size:cover;
    background-position:center;
    position:relative;
    display:grid;
    place-items:center;
    text-align:center;
}
.video-clean-placeholder:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(2,11,29,.78),rgba(2,11,29,.30));
}
.video-clean-placeholder > div{
    position:relative;
    z-index:1;
    color:#fff;
    max-width:420px;
    padding:22px;
}
.video-clean-placeholder span{
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    margin:0 auto 16px;
    border-radius:50%;
    background:linear-gradient(135deg,#ff8a00,#ffb13d);
    color:#071a38;
    font-size:32px;
    box-shadow:0 14px 35px rgba(255,138,0,.28);
}
.video-clean-placeholder b{
    display:block;
    font-size:22px;
    margin-bottom:8px;
}
.video-clean-placeholder small{
    display:block;
    color:#dbeafe;
    line-height:1.5;
}
.video-clean-card h3{
    margin:0 0 10px;
    color:#082b5c;
    font-size:26px;
}
.video-clean-card h4{
    margin:18px 0 10px;
    color:#082b5c;
}
.video-clean-card p{
    color:#526078;
    line-height:1.7;
}
.video-clean-socials,
.video-clean-ota{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.video-clean-socials a,
.video-clean-ota a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:9px 13px;
    border-radius:999px;
    background:#eef6ff;
    color:#0b4da2;
    border:1px solid #dbe7f6;
    font-weight:900;
    font-size:13px;
}
.video-clean-socials span,
.video-clean-ota span{
    display:block;
    width:100%;
    padding:14px 16px;
    border-radius:16px;
    background:#fff8ec;
    color:#7a4b00;
    border:1px solid #ffe0a6;
    font-weight:800;
    line-height:1.55;
}
@media(max-width:980px){
    .video-clean-grid{
        grid-template-columns:1fr;
    }
    .video-box iframe,
    .video-box video,
    .video-clean-placeholder{
        min-height:260px;
    }
}
@media(max-width:620px){
    .video-profile-clean{
        padding:20px 14px !important;
        border-radius:24px;
    }
    .video-clean-card{
        padding:16px;
        border-radius:20px;
    }
    .video-clean-card.video-box{
        padding:8px;
    }
    .video-clean-head p{
        font-size:15px;
    }
    .video-box iframe,
    .video-box video,
    .video-clean-placeholder{
        min-height:210px;
        border-radius:16px;
    }
    .video-clean-socials a,
    .video-clean-ota a{
        width:100%;
    }
}



/* =========================================================
   FIX PROFIL HOTEL MODERN ELEGAN - NO BLANK IMAGE
========================================================= */
.profile-modern-section{
    padding-top:70px!important;
}
.profile-modern-card{
    display:grid;
    grid-template-columns:1fr minmax(420px,.95fr);
    gap:34px;
    align-items:stretch;
    padding:34px;
    border-radius:34px;
    background:
        radial-gradient(circle at 12% 0%,rgba(247,205,97,.12),transparent 28%),
        linear-gradient(135deg,#ffffff,#f8fbff);
    border:1px solid #e4ebf5;
    box-shadow:0 28px 90px rgba(8,31,68,.12);
    overflow:hidden;
    position:relative;
}
.profile-modern-card:before{
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:240px;
    height:240px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(255,157,24,.18),transparent 70%);
    pointer-events:none;
}
.profile-modern-copy{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.profile-modern-copy h2{
    font-family:Georgia,'Times New Roman',serif!important;
    font-size:clamp(36px,4vw,56px)!important;
    color:#082b5c!important;
    line-height:1.08!important;
    margin:10px 0 18px!important;
}
.profile-modern-copy h2:after{
    content:"";
    display:block;
    width:74px;
    height:4px;
    border-radius:999px;
    background:linear-gradient(90deg,#ff8a00,#f7cd61);
    margin-top:14px;
}
.profile-modern-copy p{
    color:#3b4b63!important;
    font-size:17px;
    line-height:1.85!important;
    max-width:720px;
}
.profile-modern-badges{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
    margin:24px 0;
}
.profile-modern-badges span{
    min-height:86px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:8px;
    background:#fff;
    border:1px solid #e6edf7;
    border-radius:20px;
    color:#071a38;
    font-weight:950;
    box-shadow:0 14px 34px rgba(8,31,68,.07);
}
.profile-modern-badges b{
    font-size:22px;
}
.profile-owner-modern{
    background:linear-gradient(135deg,#071a38,#0b4da2);
    border-radius:24px;
    padding:22px;
    color:#fff;
    box-shadow:0 18px 48px rgba(8,31,68,.18);
}
.profile-owner-modern small{
    display:block;
    color:#f7cd61;
    font-weight:950;
    margin-bottom:6px;
}
.profile-owner-modern h3{
    margin:0 0 9px!important;
    color:#fff!important;
    font-size:24px;
}
.profile-owner-modern p{
    margin:0;
    color:#dbeafe!important;
    font-size:15.5px!important;
    line-height:1.75!important;
}
.profile-modern-visual{
    min-height:520px;
    border-radius:30px;
    background-size:cover;
    background-position:center;
    position:relative;
    overflow:hidden;
    box-shadow:0 28px 80px rgba(8,31,68,.22);
    border:1px solid rgba(255,255,255,.70);
}
.profile-modern-visual:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(2,11,29,.05) 0%,rgba(2,11,29,.18) 42%,rgba(2,11,29,.78) 100%);
}
.profile-modern-visual:after{
    content:"★★★★★";
    position:absolute;
    right:22px;
    top:20px;
    color:#f7cd61;
    letter-spacing:5px;
    font-size:18px;
    text-shadow:0 5px 18px rgba(0,0,0,.45);
}
.profile-visual-label{
    position:absolute;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:2;
    padding:20px 22px;
    border-radius:22px;
    background:rgba(2,11,29,.72);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(10px);
}
.profile-visual-label span{
    display:block;
    color:#f7cd61;
    font-weight:950;
    margin-bottom:6px;
}
.profile-visual-label b{
    display:block;
    font-family:Georgia,'Times New Roman',serif;
    color:#fff;
    font-size:28px;
    line-height:1.15;
}
@media(max-width:1100px){
    .profile-modern-card{
        grid-template-columns:1fr;
    }
    .profile-modern-visual{
        min-height:420px;
    }
}
@media(max-width:700px){
    .profile-modern-section{
        padding-top:42px!important;
    }
    .profile-modern-card{
        padding:18px;
        border-radius:26px;
        gap:20px;
    }
    .profile-modern-badges{
        grid-template-columns:1fr 1fr;
    }
    .profile-modern-copy p{
        font-size:15.5px;
    }
    .profile-modern-visual{
        min-height:330px;
        border-radius:24px;
    }
    .profile-visual-label{
        left:16px;
        right:16px;
        bottom:16px;
        padding:16px;
    }
    .profile-visual-label b{
        font-size:22px;
    }
}
@media(max-width:430px){
    .profile-modern-badges{
        grid-template-columns:1fr;
    }
}



/* =========================================================
   HEADER + FOOTER MEGAH HIDUP, PARALLAX, AOS, BACK TO TOP
========================================================= */
.public-nav-megah{
    overflow:visible!important;
}
.public-nav-megah:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 12% 0%,rgba(247,205,97,.15),transparent 22%),
        linear-gradient(90deg,rgba(255,255,255,.05),transparent 32%,rgba(255,255,255,.04));
    pointer-events:none;
}
.public-nav-megah:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(247,205,97,.85),transparent);
    pointer-events:none;
}
.public-nav-megah.scrolled{
    background:rgba(2,11,29,.96)!important;
    box-shadow:0 18px 60px rgba(2,11,29,.38)!important;
}
.public-nav-menu a{
    text-shadow:0 8px 18px rgba(0,0,0,.26);
}
.public-nav-menu a:hover{
    color:#f7cd61!important;
}
.brand-emblem{
    position:relative;
}
.brand-emblem:after{
    content:"";
    position:absolute;
    inset:-3px;
    border-radius:50%;
    border:1px solid rgba(247,205,97,.24);
    animation:brandPulse 2.8s ease-in-out infinite;
    pointer-events:none;
}
@keyframes brandPulse{
    0%,100%{opacity:.35;transform:scale(1)}
    50%{opacity:.9;transform:scale(1.08)}
}
.footer-megah{
    position:relative;
    overflow:hidden;
    display:grid!important;
    grid-template-columns:1.35fr .8fr .9fr 1.05fr!important;
    gap:34px!important;
    padding:70px clamp(22px,6vw,90px) 26px!important;
    background:
        radial-gradient(circle at 18% 0%,rgba(247,205,97,.20),transparent 24%),
        radial-gradient(circle at 90% 15%,rgba(11,94,215,.22),transparent 25%),
        linear-gradient(135deg,#020817 0%,#071a38 45%,#020b1d 100%)!important;
    color:#dbeafe!important;
    border-top:1px solid rgba(247,205,97,.35);
}
.footer-megah:before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px);
    background-size:72px 72px;
    opacity:.22;
    pointer-events:none;
}
.footer-glow{
    position:absolute;
    width:380px;
    height:380px;
    right:-120px;
    top:-170px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(247,205,97,.22),transparent 68%);
    pointer-events:none;
}
.footer-brand-panel,
.footer-links-panel,
.footer-contact-panel{
    position:relative;
    z-index:1;
}
.footer-logo-row{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:18px;
}
.footer-logo-row img,
.footer-logo-row > span{
    width:74px;
    height:74px;
    object-fit:contain;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(247,205,97,.35);
    box-shadow:0 14px 35px rgba(0,0,0,.20);
}
.footer-logo-row b{
    display:block;
    color:#fff!important;
    font-family:Georgia,'Times New Roman',serif;
    font-size:26px;
    line-height:1.1;
}
.footer-logo-row small{
    display:block;
    color:#f7cd61;
    margin-top:6px;
    font-weight:800;
}
.footer-brand-panel p{
    color:#dbeafe;
    line-height:1.8;
    max-width:480px;
}
.footer-socials{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px;
}
.footer-socials a{
    width:44px;
    height:44px;
    border-radius:50%;
    display:grid!important;
    place-items:center;
    background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04));
    border:1px solid rgba(247,205,97,.28);
    color:#f7cd61!important;
    font-weight:950;
    font-size:13px;
    box-shadow:0 10px 26px rgba(0,0,0,.16);
    transition:.22s ease;
}
.footer-socials a:hover{
    transform:translateY(-4px);
    background:linear-gradient(135deg,#ff8a00,#f7cd61);
    color:#071a38!important;
}
.footer-links-panel h3,
.footer-contact-panel h3{
    color:#fff;
    margin:0 0 18px;
    font-size:19px;
}
.footer-links-panel h3:after,
.footer-contact-panel h3:after{
    content:"";
    display:block;
    width:48px;
    height:3px;
    border-radius:99px;
    background:linear-gradient(90deg,#ff8a00,#f7cd61);
    margin-top:10px;
}
.footer-links-panel a{
    display:flex!important;
    align-items:center;
    gap:9px;
    color:#dbeafe!important;
    padding:7px 0;
    transition:.2s ease;
}
.footer-links-panel a:before{
    content:"›";
    color:#f7cd61;
    font-weight:900;
}
.footer-links-panel a:hover{
    color:#f7cd61!important;
    transform:translateX(4px);
}
.footer-contact-panel p{
    color:#dbeafe;
    line-height:1.6;
}
.footer-contact-panel b{
    color:#f7cd61;
}
.footer-ota{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
}
.footer-ota a{
    display:inline-flex!important;
    align-items:center;
    min-height:34px;
    padding:7px 11px;
    border-radius:999px;
    background:rgba(255,255,255,.09);
    border:1px solid rgba(255,255,255,.14);
    color:#fff!important;
    font-size:12px;
    font-weight:900;
}
.footer-bottom{
    position:relative;
    z-index:1;
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    border-top:1px solid rgba(255,255,255,.14);
    padding-top:22px;
    margin-top:8px;
    color:#cbd5e1;
    font-size:13px;
}
.footer-bottom b{
    color:#f7cd61;
}
.back-to-top{
    position:fixed;
    right:22px;
    bottom:24px;
    width:52px;
    height:52px;
    border:0;
    border-radius:50%;
    z-index:9997;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg,#ff8a00,#f7cd61);
    color:#071a38;
    font-size:24px;
    font-weight:900;
    box-shadow:0 18px 44px rgba(2,11,29,.28);
    cursor:pointer;
    opacity:0;
    transform:translateY(18px) scale(.92);
    pointer-events:none;
    transition:.25s ease;
}
.back-to-top.show{
    opacity:1;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}
.back-to-top:hover{
    transform:translateY(-4px) scale(1.05);
}
[data-aos]{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .7s ease, transform .7s ease;
}
[data-aos].aos-in{
    opacity:1;
    transform:translateY(0);
}
[data-aos="fade-left"]{
    transform:translateX(28px);
}
[data-aos="fade-right"]{
    transform:translateX(-28px);
}
[data-aos="zoom-in"]{
    transform:scale(.94);
}
[data-aos="fade-left"].aos-in,
[data-aos="fade-right"].aos-in{
    transform:translateX(0);
}
[data-aos="zoom-in"].aos-in{
    transform:scale(1);
}
@media(max-width:1050px){
    .footer-megah{
        grid-template-columns:1fr 1fr!important;
    }
}
@media(max-width:680px){
    .footer-megah{
        grid-template-columns:1fr!important;
        padding:50px 18px 24px!important;
        gap:24px!important;
    }
    .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
    }
    .footer-logo-row{
        align-items:flex-start;
    }
    .footer-logo-row b{
        font-size:22px;
    }
    .back-to-top{
        right:16px;
        bottom:18px;
        width:48px;
        height:48px;
    }
}
