
@font-face{
    font-family:'Phetsarath OT';
    src:url('../fonts/Phetsarath%20OT.ttf') format('truetype');
    font-weight:400;
    font-style:normal;
    font-display:swap;
}
/* GuestEase MIS - LoanTrack-inspired professional UI */
:root,
body[data-theme="forest"]{
    --navy:#061a33; --navy2:#08213f; --navy3:#0c2b52;
    --accent:#075c61; --accent2:#0b777d; --gold:#c99a3b;
    --bg:#eef3f1; --card:#ffffff; --text:#101b2d; --muted:#647286;
    --line:#dfe9e7; --soft:#e8f4f1; --focus:rgba(7,92,97,.20);
    --red:#ef3f56; --green:#13a56f; --blue:#3f7df1; --orange:#f59e0b; --gray:#7b8794;
    --shadow:0 14px 34px rgba(13,36,58,.10);
}
body[data-theme="sage"]{--navy:#21382d;--navy2:#2d4b3c;--navy3:#385f4c;--accent:#6f8f72;--accent2:#86a985;--gold:#b88746;--bg:#f1f5ec;--card:#fff;--text:#19271f;--muted:#6a766e;--line:#dce7d7;--soft:#edf6e8;--focus:rgba(111,143,114,.22)}
body[data-theme="ocean"]{--navy:#062437;--navy2:#0a344f;--navy3:#0d4568;--accent:#087b83;--accent2:#1297a3;--gold:#d4a24c;--bg:#edf7f8;--card:#fff;--text:#102432;--muted:#667a86;--line:#d7e8ec;--soft:#e6f7f8;--focus:rgba(8,123,131,.20)}
body[data-theme="sand"]{--navy:#2d261b;--navy2:#463923;--navy3:#5f4d2d;--accent:#7b8d6b;--accent2:#93a87c;--gold:#c89543;--bg:#f7f1e7;--card:#fffdf8;--text:#241f19;--muted:#756b5d;--line:#eadfcc;--soft:#f2eadc;--focus:rgba(123,141,107,.22)}
body[data-theme="lavender"]{--navy:#20243f;--navy2:#30365d;--navy3:#424a7b;--accent:#6d789d;--accent2:#8792b8;--gold:#c69c58;--bg:#f3f2f8;--card:#fff;--text:#1d2238;--muted:#6c7084;--line:#e3e2ef;--soft:#eeedf7;--focus:rgba(109,120,157,.20)}

*{box-sizing:border-box} html,body{min-height:100%} body{margin:0;background:var(--bg);font-family:Inter,Arial,sans-serif;color:var(--text);font-size:15px} a{text-decoration:none;color:inherit} .app-shell{min-height:100vh}

.sidebar{width:280px;min-height:100vh;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,var(--navy) 0%,var(--navy2) 58%,var(--navy) 100%);color:#fff;padding:22px 18px;z-index:1100;display:flex;flex-direction:column;box-shadow:12px 0 36px rgba(4,18,38,.18);transition:width .22s ease,transform .24s ease,padding .22s ease}
.brand{display:flex;align-items:center;gap:13px;padding:4px 4px 24px}.brand-icon{width:64px;height:64px;border-radius:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.17);display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.brand-icon i{font-size:32px;color:var(--gold);line-height:1}.brand h2{font-family:Georgia,serif;font-size:25px;line-height:1;margin:0 0 4px;font-weight:900}.brand p{margin:0;color:#dbe7f0;font-size:12px;line-height:1.35}.sidebar-nav{display:flex;flex-direction:column;gap:7px;overflow:auto;padding-right:2px}.nav-link{display:flex;align-items:center;gap:14px;padding:14px 14px;border-radius:14px;color:#e8f2fb;font-weight:800;letter-spacing:-.01em;transition:.18s ease}.nav-link i{width:22px;text-align:center;font-size:18px;line-height:1;color:#e8f2fb}.nav-link:hover,.nav-link.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 12px 22px rgba(0,0,0,.18);transform:translateX(2px)}.nav-link.active i{color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.14);padding-top:17px}.secure-note{display:flex;align-items:center;gap:10px;color:#dbe7f0;font-size:13px;line-height:1.25;margin-bottom:13px}.secure-note i{color:var(--gold)}.logout{height:44px;border-radius:13px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;gap:9px;font-weight:900;transition:.18s ease}.logout:hover{transform:translateY(-1px);box-shadow:0 10px 18px rgba(0,0,0,.18)}

.main-content{margin-left:280px;width:calc(100% - 280px);min-height:100vh;padding:120px 28px 36px;transition:margin-left .22s ease,width .22s ease}.topbar{position:fixed;top:0;left:280px;right:0;z-index:1000;min-height:92px;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 28px;border-radius:0;border-bottom:1px solid rgba(218,228,235,.95);box-shadow:0 12px 30px rgba(15,33,58,.10);transition:left .22s ease}.topbar-left{display:flex;align-items:center;gap:16px;min-width:265px}.sidebar-toggle{width:46px;height:46px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;box-shadow:0 8px 16px rgba(15,33,58,.06);transition:.18s ease}.sidebar-toggle:hover{background:var(--soft);color:var(--accent);transform:translateY(-1px)}.workspace-label{display:block;font-size:11px;font-weight:900;letter-spacing:.22em;color:var(--accent);margin-bottom:2px}.topbar h1{font-family:Georgia,serif;font-size:32px;line-height:1;margin:0;color:var(--text)}.title-line{width:86px;height:3px;background:linear-gradient(90deg,var(--gold),rgba(201,154,59,0));border-radius:10px;margin-top:6px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:1;min-width:0}.search-box{height:50px;width:clamp(260px,30vw,470px);display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:0 15px;color:var(--muted);box-shadow:0 8px 18px rgba(15,33,58,.04);flex:0 1 auto}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:14px;color:var(--text);min-width:0}.date-pill,.notify-pill,.user-pill,.theme-select{height:50px;border:1px solid var(--line);background:#fff;border-radius:15px;color:var(--text);box-shadow:0 8px 18px rgba(15,33,58,.04)}.date-pill{display:flex;align-items:center;gap:10px;padding:0 14px;white-space:nowrap}.date-pill i{color:var(--accent)}.theme-select{padding:0 14px;font-weight:800;min-width:150px;outline:0}.theme-select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.notify-pill{width:52px;display:flex;align-items:center;justify-content:center;position:relative}.notify-pill b{position:absolute;top:5px;right:7px;background:var(--gold);color:#fff;border-radius:999px;font-size:10px;padding:3px 5px;line-height:1}.user-pill{display:flex;align-items:center;gap:11px;padding:6px 14px 6px 7px;min-width:178px}.avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--gold));color:#fff;font-weight:900}.user-pill strong{display:block;font-size:14px;white-space:nowrap}.user-pill small{display:block;color:var(--muted);font-size:12px;margin-top:1px}

body.sidebar-collapsed .sidebar{width:86px;padding-left:14px;padding-right:14px}body.sidebar-collapsed .brand{justify-content:center;padding-left:0;padding-right:0}body.sidebar-collapsed .brand-text,body.sidebar-collapsed .nav-link span,body.sidebar-collapsed .secure-note span,body.sidebar-collapsed .logout span{display:none}body.sidebar-collapsed .brand-icon{width:56px;height:56px;border-radius:18px}body.sidebar-collapsed .nav-link{justify-content:center;padding:14px 0;gap:0}body.sidebar-collapsed .nav-link:hover,body.sidebar-collapsed .nav-link.active{transform:none}body.sidebar-collapsed .secure-note{justify-content:center}body.sidebar-collapsed .logout{width:54px;margin:auto}body.sidebar-collapsed .main-content{margin-left:86px;width:calc(100% - 86px)}body.sidebar-collapsed .topbar{left:86px}

.grid{display:grid;gap:18px}.cards{grid-template-columns:repeat(6,minmax(0,1fr))}.content-grid{grid-template-columns:2fr 1.15fr 1.15fr;margin-top:18px}.lower-grid{grid-template-columns:2fr 1fr 1fr;margin-top:18px}.card{background:var(--card);border:1px solid rgba(220,230,236,.95);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.card:hover{box-shadow:0 18px 45px rgba(13,36,58,.12)}.metric{min-height:132px;display:flex;align-items:center;gap:15px}.metric-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--accent);font-size:22px;flex:0 0 auto}.metric h3{font-size:13px;margin:0;color:#4b5c70}.metric strong{display:block;font-size:28px;line-height:1.1;margin:7px 0 6px;font-weight:900;letter-spacing:-.04em}.trend{font-size:12px;color:var(--muted)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-title h2{font-size:18px;margin:0;font-weight:900;color:var(--text)}.section-title small{color:var(--muted);font-weight:700}.link{color:var(--accent);font-weight:900}.chart{height:225px;border:1px solid var(--line);background:linear-gradient(180deg,var(--soft),rgba(255,255,255,.3));border-radius:15px;padding:16px;overflow:hidden}.chart svg{width:100%;height:100%}.donut{width:160px;height:160px;border-radius:50%;background:conic-gradient(var(--accent) 0 57%,var(--gold) 57% 76%,var(--red) 76% 90%,#b8c0ca 90%);display:flex;align-items:center;justify-content:center;margin:8px auto 16px}.donut-inner{width:96px;height:96px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:inset 0 0 0 1px var(--line)}.donut-inner strong{font-size:28px;line-height:1}.donut-inner small{color:var(--muted);font-size:12px}.status-list,.summary-list{display:grid;gap:10px}.status-row,.summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fafc;border:1px solid #edf2f7;border-radius:13px;padding:12px 13px}.dot{width:11px;height:11px;border-radius:50%;display:inline-block;margin-right:8px}.green{background:var(--green)}.red{background:var(--red)}.blue{background:var(--blue)}.orange{background:var(--orange)}.gray{background:var(--gray)}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:13px 13px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:middle}th{font-size:12px;text-transform:uppercase;color:#526176;background:#f8fafc;font-weight:900;letter-spacing:.03em}tbody tr:hover{background:#fbfdff}tbody tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.badge-success{background:#e4f8ef;color:#08784f}.badge-danger{background:#fee7eb;color:#c62b3f}.badge-primary{background:#e8efff;color:#215ec7}.badge-warning{background:#fff3d9;color:#a45f00}.badge-secondary{background:#eef1f4;color:#52606d}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:12px 17px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:900;cursor:pointer;box-shadow:0 10px 18px rgba(7,92,97,.18);transition:.18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 14px 22px rgba(7,92,97,.22)}.btn.secondary{background:#eef3f7;color:var(--text);box-shadow:none;border:1px solid var(--line)}.btn.danger{background:var(--red)}.btn.gold{background:var(--gold)}.form-card{max-width:980px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field label{display:block;font-weight:900;margin-bottom:8px;color:var(--text)}.field input,.field select,.field textarea,input[type="text"],input[type="number"],input[type="date"],input[type="email"],input[type="password"],select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font-size:15px;background:#fff;color:var(--text);outline:0;transition:.18s ease}.field input:focus,.field select:focus,.field textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.field textarea,textarea{min-height:110px;resize:vertical}.actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}.alert{margin:0 0 16px;padding:13px 16px;border-radius:14px;font-weight:800}.alert.success{background:#e6f8ef;color:#08784f;border:1px solid #c5efd9}.alert.error{background:#fee7eb;color:#b42336;border:1px solid #f9c4ce}

.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-hero{background:linear-gradient(120deg,rgba(6,26,51,.94),rgba(7,92,97,.45)),url('../img/login-bg.svg');background-size:cover;background-position:center;color:#fff;padding:70px;display:flex;flex-direction:column;justify-content:center}.login-hero h1{font-family:Georgia,serif;font-size:58px;line-height:1.08;margin:0}.login-hero em{color:var(--gold)}.login-card-wrap{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--bg)}.login-card{width:520px;background:#fff;border-radius:24px;padding:42px;box-shadow:var(--shadow);text-align:center}.login-card h2{font-family:Georgia,serif;font-size:42px;margin:10px 0;color:var(--navy)}.login-card form{text-align:left}.login-card .btn{width:100%;font-size:16px;margin-top:8px}.page-footer{margin-top:20px;color:var(--muted);font-size:13px;text-align:center}

@media(max-width:1380px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.content-grid,.lower-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;min-height:144px;flex-wrap:wrap}.topbar-actions{width:100%;justify-content:flex-start}.main-content{padding-top:172px}.search-box{flex:1;width:auto;max-width:none}.user-pill{margin-left:auto}}
@media(max-width:900px){.sidebar{transform:translateX(-105%);width:280px!important;padding:22px 18px!important}.brand-text,.nav-link span,.secure-note span,.logout span{display:block!important}.body-menu-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;inset:0;background:rgba(4,18,38,.55);z-index:1050;display:none}.body-menu-open .sidebar-overlay{display:block}.main-content,body.sidebar-collapsed .main-content{margin-left:0;width:100%;padding:154px 16px 32px}.topbar,body.sidebar-collapsed .topbar{left:0;min-height:126px;padding:14px 16px}.topbar-left{min-width:0;width:100%}.topbar-title{flex:1}.topbar h1{font-size:27px}.topbar-actions{gap:8px;overflow-x:auto;flex-wrap:nowrap}.search-box{min-width:240px;height:44px}.date-pill,.notify-pill,.user-pill,.theme-select{height:44px}.theme-select{min-width:138px}.user-pill small{display:none}.cards,.form-grid{grid-template-columns:1fr!important}.toolbar{align-items:flex-start;flex-direction:column}.login-page{grid-template-columns:1fr}.login-hero{display:none}}
@media(max-width:560px){body{font-size:14px}.main-content,body.sidebar-collapsed .main-content{padding-top:192px}.topbar{min-height:168px}.topbar-actions{display:grid;grid-template-columns:1fr auto auto;width:100%;align-items:center}.search-box{grid-column:1 / -1;min-width:0;width:100%}.theme-select{grid-column:1 / 2;width:100%;min-width:0}.user-pill{max-width:134px;padding-right:8px}.user-pill strong{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-pill{font-size:12px;padding:0 10px}.card{padding:16px}th,td{font-size:12px;padding:10px 9px}.metric strong{font-size:24px}}
@media print{.sidebar,.topbar,.sidebar-overlay,.no-print,.btn{display:none!important}.main-content{margin:0!important;width:100%!important;padding:0!important}.card{box-shadow:none;border:1px solid #ddd}}
.status-list > div:not(.status-row){display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;color:var(--text)}
.status-list > div:not(.status-row) strong{margin-left:auto;color:var(--muted)}

/* Clean top bar + settings-based theme selector update */
.topbar{min-height:88px;padding:16px 28px;gap:18px;align-items:center;flex-wrap:nowrap}
.topbar-left{min-width:320px;flex:0 0 auto}.topbar-actions{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.topbar-shortcut{height:46px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 14px;display:flex;align-items:center;gap:9px;color:var(--text);font-weight:850;font-size:13px;box-shadow:0 8px 18px rgba(15,33,58,.04);white-space:nowrap;transition:.18s ease}.topbar-shortcut i{color:var(--accent)}.topbar-shortcut:hover{border-color:var(--accent);background:var(--soft);transform:translateY(-1px)}
.main-content{padding-top:116px}.topbar .search-box,.topbar .theme-select{display:none!important}

/* Professional theme mode cards for Settings page */
.settings-card{max-width:1180px}.settings-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--soft),rgba(255,255,255,.72))}.settings-intro h2{margin:0 0 6px;font-size:22px}.settings-intro p{margin:0;color:var(--muted);line-height:1.55}.theme-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.theme-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;transition:.18s ease;box-shadow:0 8px 18px rgba(15,33,58,.04)}.theme-card:hover{transform:translateY(-1px);box-shadow:0 16px 28px rgba(15,33,58,.09);border-color:var(--accent)}.theme-card input{position:absolute;opacity:0;pointer-events:none}.theme-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 4px var(--focus),0 16px 28px rgba(15,33,58,.08)}.theme-card:has(input:checked)::after{content:'✓';position:absolute;top:12px;right:14px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}.theme-card strong{display:block;margin-bottom:4px;font-size:15px}.theme-card small{display:block;color:var(--muted);line-height:1.45}.theme-swatch{width:74px;height:54px;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:7px;border:1px solid var(--line);flex:0 0 auto;background:#fff}.theme-swatch span{border-radius:9px}.swatch-forest span:nth-child(1){background:#061a33}.swatch-forest span:nth-child(2){background:#075c61}.swatch-forest span:nth-child(3){background:#c99a3b}.swatch-forest span:nth-child(4){background:#eef3f1}.swatch-sage span:nth-child(1){background:#21382d}.swatch-sage span:nth-child(2){background:#6f8f72}.swatch-sage span:nth-child(3){background:#b88746}.swatch-sage span:nth-child(4){background:#f1f5ec}.swatch-ocean span:nth-child(1){background:#062437}.swatch-ocean span:nth-child(2){background:#087b83}.swatch-ocean span:nth-child(3){background:#d4a24c}.swatch-ocean span:nth-child(4){background:#edf7f8}.swatch-sand span:nth-child(1){background:#2d261b}.swatch-sand span:nth-child(2){background:#7b8d6b}.swatch-sand span:nth-child(3){background:#c89543}.swatch-sand span:nth-child(4){background:#f7f1e7}.swatch-lavender span:nth-child(1){background:#20243f}.swatch-lavender span:nth-child(2){background:#6d789d}.swatch-lavender span:nth-child(3){background:#c69c58}.swatch-lavender span:nth-child(4){background:#f3f2f8}
@media(max-width:1380px){.topbar{min-height:88px;flex-wrap:nowrap;align-items:center}.topbar-actions{width:auto;justify-content:flex-end}.main-content{padding-top:116px}.user-pill{margin-left:0}.topbar-shortcut span{display:none}.topbar-shortcut{width:46px;padding:0;justify-content:center}}
@media(max-width:900px){.topbar,.topbar{min-height:88px;padding:14px 16px}.main-content,body.sidebar-collapsed .main-content{padding-top:112px}.topbar-left{width:auto;min-width:0;flex:1}.workspace-label{font-size:9px}.topbar h1{font-size:25px}.date-pill{display:none}.topbar-actions{flex:0 0 auto}.theme-panel{grid-template-columns:1fr}.user-pill{min-width:0}.user-pill div{display:none}.notify-pill,.topbar-shortcut{width:42px;height:42px}.sidebar-toggle{width:42px;height:42px}}
@media(max-width:560px){.topbar{min-height:78px}.main-content,body.sidebar-collapsed .main-content{padding-top:96px}.workspace-label,.title-line,.topbar-shortcut span,.notify-pill{display:none}.topbar h1{font-size:23px}.user-pill{padding:4px;width:42px;min-width:42px}.avatar{width:32px;height:32px}.settings-intro{display:block}.theme-card{align-items:flex-start}.theme-swatch{width:64px;height:48px}}


/* Full-width responsive page refinement - no topbar search */
.main-content{
    max-width:none;
    width:calc(100% - 280px);
}
body.sidebar-collapsed .main-content{
    width:calc(100% - 86px);
}
.form-card,
.settings-card,
.card,
.toolbar,
.table-wrap,
.grid{
    max-width:none;
}
.form-card,
.settings-card{
    width:100%;
}
.toolbar .search-box{
    display:flex!important;
    width:min(420px,100%);
    max-width:100%;
}
.toolbar{
    width:100%;
}
.topbar{
    border-radius:0!important;
}
.topbar-actions{
    justify-content:flex-end;
}
@media(max-width:900px){
    .main-content,
    body.sidebar-collapsed .main-content{
        width:100%;
        max-width:none;
    }
    .toolbar .search-box{
        width:100%;
        min-width:0;
    }
}
@media(max-width:560px){
    .toolbar .search-box{
        grid-column:auto;
    }
}

.empty-state{padding:32px;text-align:center;color:var(--muted);font-weight:700;}

/* Professional Room Occupancy card on dashboard */
.occupancy-card{
    position:relative;
    overflow:hidden;
    padding:22px;
    background:
        radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 34%),
        linear-gradient(180deg, var(--card), color-mix(in srgb, var(--soft) 18%, var(--card)));
}
.occupancy-card::before{
    content:'';
    position:absolute;
    inset:0 0 auto 0;
    height:4px;
    background:linear-gradient(90deg,var(--accent),var(--gold),var(--accent2));
    opacity:.9;
}
.occupancy-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:16px;
}
.occupancy-head .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 6px;
    color:var(--accent);
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.occupancy-head h2{
    margin:0;
    font-size:21px;
    font-weight:950;
    color:var(--text);
}
.occupancy-head h2 small{
    font-size:13px;
    color:var(--muted);
    font-weight:800;
    margin-left:6px;
}
.occupancy-head span{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
}
.occupancy-rate-badge{
    min-width:132px;
    text-align:right;
    padding:12px 14px;
    border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line));
    border-radius:18px;
    background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--soft) 55%,#fff));
    box-shadow:0 10px 22px rgba(15,33,58,.06);
}
.occupancy-rate-badge small,
.occupancy-stats small{
    display:block;
    color:var(--muted);
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.occupancy-rate-badge strong{
    display:block;
    margin-top:3px;
    color:var(--accent);
    font-size:30px;
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
}
.occupancy-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:15px;
}
.occupancy-stats div{
    padding:12px 13px;
    border:1px solid var(--line);
    border-radius:15px;
    background:rgba(255,255,255,.74);
}
.occupancy-stats strong{
    display:block;
    margin-top:5px;
    font-size:18px;
    color:var(--text);
    font-weight:950;
}
.occupancy-chart-panel{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:10px;
    min-height:250px;
    padding:16px 16px 10px;
    border:1px solid var(--line);
    border-radius:20px;
    background:
        linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.42)),
        repeating-linear-gradient(90deg,transparent 0,transparent 59px,rgba(100,114,134,.07) 60px);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.chart-scale{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:2px 0 10px;
    color:var(--muted);
    font-size:11px;
    font-weight:800;
    text-align:right;
}
.chart-pro{min-height:214px;position:relative;overflow:hidden;border-radius:14px}.chart-pro svg{width:100%;height:100%;display:block}.grid-line{stroke:rgba(100,114,134,.20);stroke-width:1;stroke-dasharray:6 7}.grid-base{stroke:rgba(100,114,134,.32);stroke-width:1.5}.chart-dot{fill:var(--card);stroke:var(--accent);stroke-width:3}.chart-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800;padding:8px 6px 0 54px}

@media(max-width:900px){
    .occupancy-head{flex-direction:column}.occupancy-rate-badge{width:100%;text-align:left}.occupancy-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.occupancy-chart-panel{grid-template-columns:36px 1fr}.chart-footer{padding-left:46px}
}
@media(max-width:560px){
    .occupancy-card{padding:16px}.occupancy-head h2{font-size:18px}.occupancy-head h2 small{display:block;margin:4px 0 0}.occupancy-stats{grid-template-columns:1fr}.occupancy-chart-panel{min-height:220px;padding:12px 12px 8px}.occupancy-rate-badge strong{font-size:25px}
}

/* Professional modal confirmation and flash message popup */
.js-flash-modal{display:none!important}
.ge-modal-overlay{
    position:fixed;
    inset:0;
    z-index:5000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(6,18,35,.58);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease,visibility .18s ease;
}
.ge-modal-overlay.show{opacity:1;visibility:visible}
.ge-modal{
    width:min(460px,100%);
    background:var(--card);
    border:1px solid rgba(255,255,255,.75);
    border-radius:24px;
    padding:28px;
    box-shadow:0 28px 70px rgba(4,18,38,.30);
    position:relative;
    text-align:center;
    transform:translateY(14px) scale(.98);
    transition:transform .20s ease;
}
.ge-modal-overlay.show .ge-modal{transform:translateY(0) scale(1)}
.ge-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--muted);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.18s ease;
}
.ge-modal-close:hover{background:var(--soft);color:var(--accent)}
.ge-modal-close i{font-size:20px;line-height:1}
.ge-modal-icon{
    width:72px;
    height:72px;
    margin:0 auto 16px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--soft);
    color:var(--accent);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
}
.ge-modal-icon i{font-size:34px;line-height:1}
.ge-modal-icon-success{background:#e4f8ef;color:var(--green)}
.ge-modal-icon-danger,.ge-modal-icon-error{background:#fee7eb;color:var(--red)}
.ge-modal h3{
    margin:0 36px 8px;
    font-family:Georgia,serif;
    font-size:27px;
    line-height:1.15;
    color:var(--text);
}
.ge-modal-message{
    margin:0 auto 22px;
    max-width:360px;
    color:var(--muted);
    font-weight:700;
    line-height:1.55;
}
.ge-modal-actions{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
}
.ge-modal-actions .btn{min-width:130px;box-shadow:none}
.ge-modal-danger{border-top:5px solid var(--red)}
.ge-modal-success{border-top:5px solid var(--green)}
.ge-modal-error{border-top:5px solid var(--red)}
.ge-modal-info{border-top:5px solid var(--accent)}
@media(max-width:560px){
    .ge-modal{padding:24px 18px;border-radius:20px}
    .ge-modal h3{font-size:23px;margin-left:30px;margin-right:30px}
    .ge-modal-actions{display:grid;grid-template-columns:1fr;gap:9px}
    .ge-modal-actions .btn{width:100%}
}

/* Guest Ledger and checkout report */
.ledger-filter{display:grid;grid-template-columns:1.4fr .7fr auto;gap:14px;align-items:end;margin-bottom:18px}
.ledger-summary.cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.ledger-report{padding:26px;max-width:1180px;margin:0 auto}
.report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}
.report-header h2{font-size:28px;margin:4px 0 6px;color:var(--text)}
.report-header p{margin:0;color:var(--muted);font-weight:700}
.report-stamp{min-width:190px;text-align:center;border:2px solid var(--accent);border-radius:18px;padding:14px;background:linear-gradient(180deg,var(--soft),#fff)}
.report-stamp strong{display:block;color:var(--accent);font-size:12px;letter-spacing:.12em;margin-bottom:6px}
.report-stamp span{display:block;font-size:24px;font-weight:900;color:var(--text)}
.ledger-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.info-box{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff}
.info-box small{display:block;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900;font-size:11px;margin-bottom:6px}
.info-box strong{display:block;color:var(--text);font-size:16px;margin-bottom:3px}
.info-box span{color:var(--muted);font-weight:700;font-size:13px}
.report-summary{margin-bottom:18px}.report-summary .card{box-shadow:none}.ledger-table{margin-top:10px}tfoot th{background:var(--soft);font-size:14px;color:var(--text)}
.report-footer-note{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.report-footer-note p{margin:5px 0}
@media(max-width:1180px){.ledger-filter{grid-template-columns:1fr}.ledger-summary.cards,.ledger-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ledger-summary.cards,.ledger-info-grid{grid-template-columns:1fr}.report-header{display:block}.report-stamp{margin-top:14px;width:100%}.ledger-report{padding:16px}}
@media print{.ledger-report{max-width:none;margin:0;padding:0;border:0}.report-summary.cards{grid-template-columns:repeat(4,1fr)!important}.ledger-info-grid{grid-template-columns:repeat(4,1fr)!important}.report-header h2{font-size:22px}.report-stamp{border-color:#111}.table-wrap{overflow:visible}body{background:#fff}.badge{border:1px solid #bbb;background:#fff!important;color:#111!important}}

/* Guest Ledger entry workflow */
.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.table-actions .btn{padding:9px 12px;border-radius:11px;font-size:13px;white-space:nowrap}
.ledger-entry-card{margin:18px 0;background:linear-gradient(180deg,#ffffff 0%,var(--soft) 100%);border:1px solid rgba(31,73,92,.12)}
.ledger-entry-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.ledger-entry-title h2{margin:0 0 4px;color:var(--text)}
.ledger-entry-grid{grid-template-columns:1.2fr .55fr .75fr .75fr}
.ledger-closed-note{margin:18px 0;border-left:5px solid var(--gold);background:#fffdf7}
.ledger-closed-note strong{display:flex;align-items:center;gap:8px;color:var(--text)}
@media(max-width:1180px){.ledger-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ledger-entry-title{display:block}.ledger-entry-title .badge{margin-top:10px}.ledger-entry-grid{grid-template-columns:1fr}.table-actions .btn{width:100%}}

/* Professional topbar user menu */
.sidebar-footer .logout{display:none!important}.user-menu{position:relative;display:flex;align-items:center}.user-menu .user-pill{cursor:pointer;appearance:none;-webkit-appearance:none;font-family:inherit}.user-pill .user-meta{display:block;text-align:left}.user-caret{font-size:18px;color:var(--muted);transition:transform .18s ease}.user-menu:hover .user-caret,.user-menu.open .user-caret{transform:rotate(180deg)}.avatar.small{width:34px;height:34px;font-size:13px;flex:0 0 auto}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:238px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 22px 55px rgba(15,33,58,.18);padding:9px;z-index:1250;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transform-origin:top right;transition:opacity .18s ease,visibility .18s ease,transform .18s ease}.user-menu:hover .user-dropdown,.user-menu.open .user-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.user-dropdown:before{content:"";position:absolute;top:-7px;right:22px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}.user-dropdown-head{display:flex;align-items:center;gap:10px;padding:10px 10px 12px;margin-bottom:6px;border-bottom:1px solid var(--line)}.user-dropdown-head strong{display:block;font-size:14px;color:var(--text);line-height:1.2}.user-dropdown-head small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.user-dropdown a{position:relative;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;color:var(--text);font-weight:800;transition:.16s ease}.user-dropdown a i{font-size:17px;color:var(--accent);line-height:1}.user-dropdown a:hover{background:var(--soft);color:var(--accent);transform:translateX(2px)}.user-dropdown a.dropdown-logout{color:#b42318}.user-dropdown a.dropdown-logout i{color:#b42318}.user-dropdown a.dropdown-logout:hover{background:#fff1f0;color:#912018}.user-menu .user-pill:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}@media(max-width:900px){.user-menu .user-pill{min-width:0}.user-caret{display:none}.user-dropdown{right:0;width:224px}.user-dropdown-head .avatar.small{display:flex!important}.user-dropdown-head div:last-child{display:block!important}.user-dropdown a span{display:inline!important}}@media(max-width:560px){.user-menu .user-pill{padding:4px;width:42px;min-width:42px}.user-menu .user-meta,.user-menu .user-caret{display:none}.user-dropdown{position:fixed;top:76px;right:12px;width:calc(100vw - 24px);max-width:280px}.user-dropdown:before{display:none}.user-dropdown-head div:last-child{display:block!important}}

/* Editable ledger grid: direct charges and payments inside the report table */
.editable-ledger table{min-width:980px}
.ledger-entry-row td{
    background:linear-gradient(180deg,#fff,var(--soft));
    border-bottom:1px solid var(--line);
    vertical-align:middle;
}
.ledger-payment-row td{background:linear-gradient(180deg,#fffdf7,#fff7e8)}
.ledger-entry-row select,
.ledger-entry-row input{
    width:100%;
    min-height:42px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--text);
    font-weight:800;
    padding:10px 12px;
    outline:none;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.ledger-entry-row select:focus,
.ledger-entry-row input:focus{
    border-color:var(--accent);
    box-shadow:0 0 0 4px var(--focus);
}
.ledger-entry-row .btn{
    width:100%;
    justify-content:center;
    min-height:42px;
    white-space:nowrap;
    box-shadow:none;
}
.entry-date{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 10px;
    border-radius:10px;
    background:#fff;
    border:1px solid var(--line);
    font-weight:900;
    color:var(--muted);
    white-space:nowrap;
}
.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.editable-ledger tbody tr:not(.ledger-entry-row):hover td{background:#fbfdff}
@media(max-width:900px){
    .editable-ledger{overflow-x:auto}
    .inline-fields{grid-template-columns:1fr;gap:7px}
}
@media(max-width:640px){
    .ledger-entry-row .btn{min-width:150px}
}
@media print{
    .ledger-entry-row{display:none!important}
}


/* Professional room thumbnail layout */
.rooms-page-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.rooms-page-head .eyebrow{
    margin:0 0 4px;
    text-transform:uppercase;
    letter-spacing:.14em;
    color:var(--accent);
    font-size:12px;
    font-weight:900;
}
.rooms-page-head h2{
    margin:0;
    color:var(--text);
    font-size:28px;
    letter-spacing:-.03em;
}
.rooms-page-head span{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-weight:700;
}
.room-stats-strip{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}
.room-mini-stat{
    display:flex;
    align-items:center;
    gap:13px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    padding:16px 18px;
    box-shadow:0 14px 36px rgba(15,33,58,.07);
}
.room-mini-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:grid;
    place-items:center;
    background:var(--soft);
    color:var(--accent);
    font-size:21px;
    flex:0 0 auto;
}
.room-mini-icon.success{color:var(--green)}
.room-mini-icon.warning{color:var(--gold)}
.room-mini-stat strong{
    display:block;
    font-size:26px;
    line-height:1;
    color:var(--text);
    letter-spacing:-.04em;
}
.room-mini-stat small{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-weight:800;
}
.rooms-toolbar{
    margin-bottom:18px;
    align-items:center;
}
.rooms-toolbar .search-box{
    max-width:none;
    flex:1 1 520px;
}
.room-thumb-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:18px;
}
.room-thumb-card{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:26px;
    box-shadow:0 16px 44px rgba(15,33,58,.08);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.room-thumb-card:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 60px rgba(15,33,58,.13);
    border-color:rgba(15,105,111,.22);
}
.room-thumb-media{
    position:relative;
    height:205px;
    background:var(--soft);
    overflow:hidden;
}
.room-thumb-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .28s ease;
}
.room-thumb-card:hover .room-thumb-media img{transform:scale(1.035)}
.room-status-pill,
.room-number-badge{
    position:absolute;
    z-index:2;
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:8px 11px;
    font-size:12px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(15,33,58,.14);
    backdrop-filter:blur(8px);
}
.room-status-pill{
    top:14px;
    right:14px;
    color:#fff;
    background:var(--accent);
}
.room-status-available{background:#0ea678}
.room-status-occupied{background:#e63b4a}
.room-status-reserved{background:#3b82f6}
.room-status-cleaning{background:#f59e0b}
.room-status-maintenance{background:#6b7280}
.room-number-badge{
    left:14px;
    bottom:14px;
    color:var(--text);
    background:rgba(255,255,255,.88);
    border:1px solid rgba(255,255,255,.72);
}
.room-thumb-body{padding:18px}
.room-card-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.room-card-title h3{
    margin:0;
    font-size:19px;
    color:var(--text);
    letter-spacing:-.02em;
}
.room-card-title p{
    margin:5px 0 0;
    color:var(--muted);
    font-weight:800;
    font-size:13px;
}
.room-card-title strong{
    color:var(--accent);
    font-size:17px;
    white-space:nowrap;
    text-align:right;
}
.room-facts{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:12px;
}
.room-facts span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    border-radius:12px;
    background:var(--soft);
    color:var(--muted);
    font-size:13px;
    font-weight:800;
}
.room-description{
    min-height:40px;
    margin:0 0 16px;
    color:var(--muted);
    line-height:1.45;
    font-weight:700;
}
.room-card-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.room-card-actions .btn{
    width:100%;
    justify-content:center;
    box-shadow:none;
}
.empty-state{
    display:grid;
    place-items:center;
    text-align:center;
    padding:42px 20px;
}
.empty-icon{
    width:72px;
    height:72px;
    border-radius:24px;
    display:grid;
    place-items:center;
    background:var(--soft);
    color:var(--accent);
    font-size:30px;
    margin-bottom:12px;
}
.empty-state h3{margin:0 0 6px;color:var(--text);font-size:24px}
.empty-state p{margin:0 0 18px;color:var(--muted);font-weight:700}
@media(max-width:900px){
    .rooms-page-head{display:block}
    .rooms-page-head .btn{margin-top:14px;width:100%;justify-content:center}
    .room-stats-strip{grid-template-columns:1fr}
    .room-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
}
@media(max-width:560px){
    .room-thumb-grid{grid-template-columns:1fr}
    .room-thumb-media{height:190px}
    .room-card-title{display:block}
    .room-card-title strong{display:block;text-align:left;margin-top:8px}
    .room-card-actions{grid-template-columns:1fr}
}


/* Room picture upload UI */
.room-form-card{padding:24px}
.room-form-layout{display:grid;grid-template-columns:360px 1fr;gap:24px;align-items:start}
.room-picture-uploader{display:grid;gap:14px}
.picture-preview{position:relative;display:grid;place-items:center;min-height:310px;border:2px dashed var(--line);border-radius:24px;background:linear-gradient(145deg,var(--soft),rgba(255,255,255,.75));overflow:hidden;cursor:pointer;transition:.18s ease}
.picture-preview:hover{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}
.picture-preview img{width:100%;height:100%;min-height:310px;object-fit:cover;display:block}
.picture-placeholder{display:grid;place-items:center;text-align:center;color:var(--muted);padding:24px;line-height:1.45}
.picture-placeholder i{width:76px;height:76px;border-radius:24px;background:#fff;color:var(--accent);display:grid;place-items:center;font-size:34px;margin-bottom:14px;box-shadow:0 12px 25px rgba(15,33,58,.08)}
.picture-placeholder strong{font-size:18px;color:var(--text);margin-bottom:4px}
.picture-placeholder small{font-weight:750;max-width:240px}
.file-input-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.upload-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.remove-image-check{display:inline-flex;align-items:center;gap:8px;font-weight:850;color:var(--muted);font-size:13px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 13px}
.remove-image-check input{width:auto!important;accent-color:var(--accent)}
.room-detail-grid{align-content:start}
@media(max-width:1100px){.room-form-layout{grid-template-columns:1fr}.picture-preview,.picture-preview img{min-height:280px}.room-picture-uploader{max-width:680px}}
@media(max-width:560px){.room-form-card{padding:16px}.picture-preview,.picture-preview img{min-height:220px}.upload-actions .btn{width:100%}.remove-image-check{width:100%;justify-content:center}.room-detail-grid{grid-template-columns:1fr}}

/* Guest thumbnail directory */
.module-intro{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}
.module-intro h2{margin:0 0 6px;font-size:28px;letter-spacing:-.03em;color:var(--text,#071526)}
.module-intro p{margin:0;color:var(--muted,#607085)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--primary,#0b6b6f)!important;margin-bottom:4px!important}
.filter-card{
    background:var(--card,#fff);
    border:1px solid var(--border,#dfe7e2);
    border-radius:18px;
    padding:18px;
    box-shadow:var(--shadow,0 10px 30px rgba(0,0,0,.06));
    margin-bottom:18px;
}
.filter-grid{display:grid;grid-template-columns:1fr 220px auto;gap:14px;align-items:end}
.search-field-wide{min-width:0}
.input-icon-wrap{position:relative;display:flex;align-items:center}
.input-icon-wrap i{position:absolute;left:14px;color:var(--muted,#607085);font-size:17px;z-index:1}
.input-icon-wrap input{padding-left:42px!important;width:100%}
.filter-actions{display:flex;gap:10px;align-items:center;white-space:nowrap}
.compact-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}
.empty-state{text-align:center;padding:48px 20px;color:var(--muted,#607085)}
.empty-state i{font-size:42px;color:var(--primary,#0b6b6f)}
.empty-state h3{color:var(--text,#071526);margin:14px 0 8px}
.guest-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:20px;
    align-items:stretch;
}
.guest-card{
    position:relative;
    background:var(--card,#fff);
    border:1px solid var(--border,#dfe7e2);
    border-radius:22px;
    overflow:hidden;
    box-shadow:var(--shadow,0 12px 30px rgba(0,0,0,.07));
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.guest-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,0,0,.10);border-color:color-mix(in srgb,var(--primary,#0b6b6f) 28%,var(--border,#dfe7e2))}
.guest-photo-wrap{position:relative;height:260px;background:linear-gradient(135deg,rgba(11,107,111,.10),rgba(207,161,72,.10));overflow:hidden}
.guest-photo{width:100%;height:100%;object-fit:cover;display:block;object-position:center top;transition:transform .35s ease}
.guest-card:hover .guest-photo{transform:scale(1.035)}
.guest-gender-badge{
    position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(0,0,0,.14);border:1px solid rgba(255,255,255,.72);backdrop-filter:blur(12px)
}
.guest-gender-badge.female{background:#ffe8f0;color:#b32056}
.guest-gender-badge.male{background:#e8f2ff;color:#1558a8}
.guest-gender-badge.neutral{background:#eef3f1;color:#546173}
.guest-card-body{padding:18px}
.guest-card-body h3{margin:0 0 14px;font-size:20px;line-height:1.2;color:var(--text,#071526)}
.guest-meta-list{display:grid;gap:10px;margin-bottom:16px}
.guest-meta-list div{display:flex;align-items:center;gap:9px;color:var(--muted,#607085);font-size:14px;min-width:0}
.guest-meta-list i{color:var(--primary,#0b6b6f);font-size:16px;min-width:18px}
.guest-meta-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guest-card-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border,#dfe7e2)}
.guest-card-actions .btn{flex:1;justify-content:center;min-width:110px}
.guest-form-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start}
.guest-photo-panel{background:color-mix(in srgb,var(--primary,#0b6b6f) 7%,#fff);border:1px solid var(--border,#dfe7e2);border-radius:22px;padding:18px;position:sticky;top:98px}
.guest-form-photo-wrap{height:300px;border-radius:18px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--border,#dfe7e2);margin-bottom:14px}
.guest-form-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed color-mix(in srgb,var(--primary,#0b6b6f) 45%,var(--border,#dfe7e2));border-radius:16px;padding:18px;cursor:pointer;background:rgba(255,255,255,.72);transition:.2s ease;color:var(--text,#071526)}
.upload-zone:hover{background:#fff;border-color:var(--primary,#0b6b6f);transform:translateY(-1px)}
.upload-zone i{font-size:28px;color:var(--primary,#0b6b6f);margin-bottom:8px}
.upload-zone span{font-size:12px;color:var(--muted,#607085);margin-top:4px}
.upload-zone input{display:none}
.check-line{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;color:var(--text,#071526)}
.muted-note{font-size:13px;color:var(--muted,#607085);line-height:1.5;margin:14px 0 0}
@media (max-width:1100px){
    .filter-grid{grid-template-columns:1fr 180px;}
    .filter-actions{grid-column:1/-1}
    .guest-form-layout{grid-template-columns:1fr}
    .guest-photo-panel{position:static;max-width:420px}
}
@media (max-width:720px){
    .module-intro{flex-direction:column;align-items:stretch}
    .filter-grid{grid-template-columns:1fr}
    .filter-actions .btn{flex:1}
    .compact-summary{grid-template-columns:1fr}
    .guest-grid{grid-template-columns:1fr}
    .guest-photo-wrap{height:240px}
    .guest-form-photo-wrap{height:260px}
}

/* Guest summary cards fix */
.summary-grid{
    display:grid;
    gap:18px;
    width:100%;
}
.summary-grid.compact-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-bottom:22px;
}
.summary-card{
    display:flex;
    align-items:center;
    gap:16px;
    min-height:118px;
    padding:20px;
    background:var(--card,#fff);
    border:1px solid var(--line,#dfe9e7);
    border-radius:20px;
    box-shadow:var(--shadow,0 14px 34px rgba(13,36,58,.10));
    overflow:hidden;
}
.summary-card .summary-icon{
    width:56px;
    height:56px;
    flex:0 0 56px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:var(--soft,#e8f4f1);
    color:var(--accent,#075c61);
    font-size:23px;
}
.summary-card small{
    display:block;
    color:var(--muted,#647286);
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    margin-bottom:4px;
}
.summary-card strong{
    display:block;
    color:var(--text,#101b2d);
    font-size:30px;
    line-height:1.05;
    font-weight:950;
    letter-spacing:-.04em;
}
.summary-card p{
    margin:6px 0 0;
    color:var(--muted,#647286);
    font-size:13px;
    font-weight:700;
    line-height:1.35;
}
@media(max-width:1100px){
    .summary-grid.compact-summary{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
    .summary-grid.compact-summary{grid-template-columns:1fr;}
    .summary-card{min-height:auto;padding:16px;}
}

/* Guest thumbnail compact grid: fit up to 8 cards in one desktop row */
.guest-grid{
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:14px;
}
.guest-card{
    border-radius:16px;
    box-shadow:0 8px 22px rgba(13,36,58,.07);
}
.guest-card:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 28px rgba(13,36,58,.10);
}
.guest-photo-wrap{
    height:138px;
}
.guest-gender-badge{
    right:8px;
    bottom:8px;
    padding:5px 8px;
    font-size:10px;
}
.guest-card-body{
    padding:11px;
}
.guest-card-body h3{
    font-size:14px;
    margin-bottom:9px;
    min-height:34px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.guest-meta-list{
    gap:6px;
    margin-bottom:10px;
}
.guest-meta-list div{
    gap:6px;
    font-size:11px;
}
.guest-meta-list i{
    font-size:12px;
    min-width:14px;
}
.guest-card-actions{
    gap:6px;
    padding-top:10px;
}
.guest-card-actions .btn{
    min-width:0;
    padding:8px 9px;
    font-size:11px;
    border-radius:10px;
}
@media(max-width:1700px){.guest-grid{grid-template-columns:repeat(6,minmax(0,1fr));}}
@media(max-width:1400px){.guest-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media(max-width:1200px){.guest-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.guest-photo-wrap{height:150px;}}
@media(max-width:900px){.guest-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:720px){.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.guest-photo-wrap{height:150px;}}
@media(max-width:520px){.guest-grid{grid-template-columns:1fr}.guest-photo-wrap{height:230px}.guest-card-body h3{font-size:18px;min-height:auto}.guest-meta-list div{font-size:13px}.guest-card-actions .btn{font-size:13px;padding:10px 12px;}}

/* Room Types thumbnail/list layout */
.room-type-toolbar{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:center;
}
.view-switch{
    display:inline-flex;
    gap:6px;
    padding:6px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(255,255,255,.82);
    box-shadow:0 10px 24px rgba(15,33,58,.05);
}
.view-switch-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:10px 14px;
    border-radius:12px;
    color:var(--muted);
    font-weight:900;
    font-size:13px;
    text-decoration:none;
    transition:all .18s ease;
}
.view-switch-btn:hover{background:var(--soft);color:var(--accent)}
.view-switch-btn.active{
    background:var(--accent);
    color:#fff;
    box-shadow:0 10px 22px rgba(15,105,111,.18);
}
.room-type-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
}
.room-type-card{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:0 16px 38px rgba(15,33,58,.08);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.room-type-card:hover{
    transform:translateY(-3px);
    box-shadow:0 22px 52px rgba(15,33,58,.12);
    border-color:rgba(15,105,111,.24);
}
.room-type-media{
    position:relative;
    height:150px;
    background:var(--soft);
    overflow:hidden;
}
.room-type-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .28s ease;
}
.room-type-card:hover .room-type-media img{transform:scale(1.04)}
.room-type-capacity{
    position:absolute;
    right:12px;
    bottom:12px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    color:var(--text);
    border:1px solid rgba(255,255,255,.72);
    font-size:12px;
    font-weight:900;
    box-shadow:0 10px 22px rgba(15,33,58,.14);
    backdrop-filter:blur(8px);
}
.room-type-body{padding:16px}
.room-type-body h3{
    margin:0 0 8px;
    color:var(--text);
    font-size:18px;
    line-height:1.15;
    letter-spacing:-.02em;
    min-height:42px;
}
.room-type-price{
    color:var(--accent);
    font-size:18px;
    font-weight:1000;
    margin-bottom:10px;
}
.room-type-price span{
    color:var(--muted);
    font-size:12px;
    font-weight:800;
}
.room-type-body p{
    margin:0 0 14px;
    min-height:44px;
    color:var(--muted);
    font-size:13px;
    line-height:1.45;
    font-weight:700;
}
.room-type-mini-stats{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:14px;
}
.room-type-mini-stats span{
    padding:10px;
    border-radius:14px;
    background:var(--soft);
    border:1px solid var(--line);
}
.room-type-mini-stats strong{
    display:block;
    color:var(--text);
    font-size:18px;
    line-height:1;
}
.room-type-mini-stats small{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:11px;
    font-weight:900;
}
.room-type-actions{
    display:grid;
    grid-template-columns:1fr 46px;
    gap:9px;
}
.room-type-actions .btn{width:100%;justify-content:center;box-shadow:none;padding:11px 12px}
.room-type-list-card table .btn{margin:2px}
@media(max-width:1700px){.room-type-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1320px){.room-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:980px){.room-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.view-switch{width:100%;}.view-switch-btn{flex:1}.room-type-toolbar .search-box{flex-basis:100%;}}
@media(max-width:560px){.room-type-grid{grid-template-columns:1fr}.room-type-media{height:190px}.room-type-body h3{min-height:auto}.room-type-actions{grid-template-columns:1fr}.room-type-actions .btn.danger{height:auto}.room-type-toolbar .btn.secondary{width:100%;}}

/* Room type picture upload and custom thumbnail indicator */
.room-type-form-card .picture-preview{background:linear-gradient(135deg,var(--soft),#fff)}
.room-type-form-card .picture-preview img{object-fit:cover}
.upload-help{margin:10px 0 0;color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}
.room-type-photo-badge{
    position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;
    padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);
    color:var(--accent);border:1px solid rgba(255,255,255,.72);font-size:12px;font-weight:950;
    box-shadow:0 10px 22px rgba(15,33,58,.14);backdrop-filter:blur(8px);
}
.room-type-photo-badge + .room-type-capacity{right:12px}

/* Guest thumbnail/list view update: default thumbnail, 5 cards per desktop row */
.guest-view-toolbar{
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}
.guest-view-toolbar .toolbar-hint{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--muted,#647286);
    font-size:13px;
    font-weight:700;
}
.guest-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
}
.guest-card{
    border-radius:18px;
}
.guest-photo-wrap{
    height:190px;
}
.guest-card-body{
    padding:14px;
}
.guest-card-body h3{
    font-size:16px;
    min-height:38px;
}
.guest-meta-list div{
    font-size:12px;
}
.guest-card-actions .btn{
    font-size:12px;
    padding:9px 10px;
}
.guest-list-card table td{
    vertical-align:middle;
}
.guest-list-person{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:220px;
}
.guest-list-person img{
    width:52px;
    height:52px;
    border-radius:16px;
    object-fit:cover;
    object-position:center top;
    border:1px solid var(--line,#dfe9e7);
    background:var(--soft,#eef7f4);
}
.guest-list-person strong{
    display:block;
    color:var(--text,#101b2d);
    font-size:14px;
    line-height:1.25;
}
.guest-list-person small{
    display:block;
    color:var(--muted,#647286);
    font-size:12px;
    margin-top:3px;
}
.guest-gender-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}
.guest-gender-chip.female{background:#ffe8f0;color:#b32056;}
.guest-gender-chip.male{background:#e8f2ff;color:#1558a8;}
.guest-gender-chip.neutral{background:#eef3f1;color:#546173;}
.table-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.table-actions .btn{
    padding:9px 11px;
    font-size:12px;
    box-shadow:none;
}
@media(max-width:1600px){.guest-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1200px){.guest-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.guest-photo-wrap{height:180px;}}
@media(max-width:900px){.guest-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.guest-view-toolbar{align-items:stretch}.guest-view-toolbar .view-switch{width:100%;}.guest-view-toolbar .view-switch-btn{flex:1}.guest-view-toolbar .toolbar-hint{width:100%;}}
@media(max-width:560px){.guest-grid{grid-template-columns:1fr}.guest-photo-wrap{height:240px}.guest-card-body h3{font-size:18px;min-height:auto}.guest-meta-list div{font-size:13px}.guest-card-actions .btn{font-size:13px;padding:10px 12px;}}


/* Guest WhatsApp action */
.btn.whatsapp{
    background:#25D366;
    color:#fff;
    box-shadow:0 10px 18px rgba(37, 211, 102, .22);
    border:1px solid rgba(16, 136, 59, .15);
}
.btn.whatsapp:hover{box-shadow:0 14px 24px rgba(37, 211, 102, .28)}
.btn.whatsapp img{
    width:16px;
    height:16px;
    object-fit:contain;
    display:block;
}
.btn.whatsapp.disabled{
    background:#eef3f0;
    color:#7a8794;
    border:1px solid #dbe5de;
    box-shadow:none;
    cursor:not-allowed;
    pointer-events:none;
}
.guest-card-actions-3 .btn{flex:1 1 calc(33.333% - 8px);min-width:0}
.guest-table-actions .btn.whatsapp{min-width:124px}
@media(max-width:720px){
    .guest-card-actions-3 .btn{flex:1 1 100%}
}


/* Guest WhatsApp icon-only styling */
.guest-wa-icon{
    position:absolute;
    top:12px;
    right:12px;
    width:42px;
    height:42px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(17, 24, 39, .06);
    box-shadow:0 12px 28px rgba(10, 25, 41, .16);
    z-index:3;
    transition:.18s ease;
}
.guest-wa-icon:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 16px 30px rgba(10,25,41,.20)}
.guest-wa-icon img{width:24px;height:24px;object-fit:contain;display:block}
.guest-wa-icon.disabled{opacity:.55;pointer-events:none}
.wa-mini-btn{
    width:38px;
    height:38px;
    min-width:38px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#fff;
    border:1px solid #dfe7e2;
    box-shadow:none;
}
.wa-mini-btn img{width:20px;height:20px;object-fit:contain;display:block}
.wa-mini-btn.disabled{opacity:.55;pointer-events:none;background:#f4f7f5}
.guest-table-actions .wa-mini-btn{margin-right:2px}


/* LoanTrack-style professional login page */
.lt-login-body{background:#eff3f7;min-height:100vh}
.lt-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(430px,.78fr)}
.lt-login-hero{position:relative;background:
    radial-gradient(circle at top left, rgba(255,255,255,.08), transparent 32%),
    linear-gradient(135deg, #092340 0%, #0d325a 44%, #0e6c72 100%);
    color:#fff;overflow:hidden}
.lt-login-hero::before{content:"";position:absolute;inset:0;background:var(--login-picture, url('../img/login-bg.svg')) center/cover no-repeat;opacity:.20;mix-blend-mode:screen}
.lt-login-hero-inner{position:relative;z-index:1;max-width:860px;padding:54px 58px 48px;height:100%;display:flex;flex-direction:column;justify-content:center}
.lt-brand-row{display:flex;align-items:center;gap:14px;margin-bottom:42px}
.lt-brand-badge{width:60px;height:60px;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.06em;box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.lt-brand-name{font-size:22px;font-weight:900;line-height:1.1}
.lt-brand-sub{font-size:13px;color:rgba(235,242,247,.82);margin-top:4px}
.lt-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:900;letter-spacing:.18em;color:#d6e9ef;margin-bottom:14px}
.lt-hero-copy h1{margin:0;font-size:48px;line-height:1.08;font-weight:900;letter-spacing:-.03em;max-width:760px}
.lt-hero-copy p{max-width:690px;font-size:17px;line-height:1.7;color:rgba(237,243,249,.86);margin:18px 0 0}
.lt-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:40px}
.lt-feature-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:20px 20px 18px;box-shadow:0 20px 40px rgba(0,0,0,.08);backdrop-filter:blur(4px)}
.lt-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;background:rgba(255,255,255,.14);font-size:22px;margin-bottom:14px}
.lt-feature-card strong{display:block;font-size:17px;margin-bottom:7px}
.lt-feature-card small{display:block;font-size:13px;line-height:1.65;color:rgba(237,243,249,.84)}
.lt-login-panel{background:#f7fafc;display:flex;align-items:center;justify-content:center;padding:30px}
.lt-login-card{width:min(100%, 470px);background:#fff;border:1px solid #e5edf3;border-radius:32px;box-shadow:0 26px 55px rgba(15,33,58,.12);padding:28px 32px 26px}
.lt-site-link{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:14px;border:1px solid #dce6ee;background:#f8fbfd;color:#102432;font-weight:800;margin-bottom:24px}
.lt-site-link:hover{background:#fff;border-color:#cfdde8}
.lt-login-head{margin-bottom:18px}
.lt-mini-badge{display:inline-flex;align-items:center;height:28px;padding:0 12px;border-radius:999px;background:#edf7f8;color:#087b83;font-size:12px;font-weight:900;margin-bottom:14px}
.lt-login-head h2{font-size:34px;line-height:1.08;margin:0 0 8px;font-weight:900;color:#0f1f33;letter-spacing:-.03em}
.lt-login-head p{margin:0;color:#647286;font-size:15px}
.lt-login-form .field{margin-bottom:16px}
.lt-login-form label{font-size:14px}
.lt-login-form input{height:52px;border-radius:15px;background:#fff}
.lt-login-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 20px}
.lt-check-wrap{display:inline-flex;align-items:center;gap:8px;color:#49596c;font-weight:700;cursor:pointer}
.lt-check-wrap input{width:16px;height:16px;accent-color:var(--accent)}
.lt-login-submit{width:100%;height:52px;border-radius:16px;font-size:16px;font-weight:900;box-shadow:0 16px 26px rgba(7,92,97,.20)}
.lt-login-note{margin-top:18px;padding:13px 14px;border-radius:15px;background:#f7fafc;border:1px solid #e7eef4;color:#5e6d7e;text-align:center;font-size:13px;font-weight:700}
.lt-login-dev{margin-top:18px;text-align:center;color:#5f6d7c;font-size:14px}
.lt-login-dev a{color:var(--accent);font-weight:900}
.lt-login-links{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#6f7f90}
.lt-login-links a{color:#6f7f90}
.lt-login-links a:hover,.lt-login-dev a:hover{color:var(--accent2)}
.lt-login-demo{margin-top:14px;text-align:center;font-size:13px;color:#5f6d7c}
@media(max-width:1180px){
  .lt-login-shell{grid-template-columns:1fr}
  .lt-login-hero{display:none}
  .lt-login-panel{padding:28px 18px;background:linear-gradient(180deg,#f7fafc,#eef3f7)}
}
@media(max-width:560px){
  .lt-login-card{padding:22px 18px 20px;border-radius:24px}
  .lt-login-head h2{font-size:28px}
  .lt-site-link,.lt-login-submit{height:48px}
  .lt-login-meta{flex-direction:column;align-items:flex-start}
}

/* Settings login picture upload */
.login-picture-settings{
    display:grid;
    grid-template-columns:minmax(280px,420px) 1fr;
    gap:22px;
    align-items:start;
    padding:18px;
    border:1px solid var(--line,#dfe9e7);
    border-radius:20px;
    background:linear-gradient(180deg,#fff,rgba(248,250,252,.82));
}
.login-picture-preview{
    border-radius:18px;
    overflow:hidden;
    min-height:240px;
    background:var(--soft,#eef7f4);
    border:1px solid var(--line,#dfe9e7);
    box-shadow:0 12px 28px rgba(13,36,58,.08);
}
.login-picture-preview img{
    width:100%;
    height:260px;
    display:block;
    object-fit:cover;
}
.login-picture-control small{
    display:block;
    color:var(--muted,#647286);
    margin-top:8px;
    font-size:12px;
}
@media(max-width:820px){.login-picture-settings{grid-template-columns:1fr}.login-picture-preview img{height:220px}}


/* Clean login page adjustments */
.lt-login-card{padding-top:34px;padding-bottom:30px}
.lt-login-head{margin-top:0}

/* Guest ledger popup insert/edit forms */
.ledger-popup-overlay{
    position:fixed;
    inset:0;
    z-index:5200;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(6,18,35,.58);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease,visibility .18s ease;
}
.ledger-popup-overlay.show{opacity:1;visibility:visible}
.ledger-popup{
    width:min(720px,100%);
    max-height:calc(100vh - 36px);
    overflow:auto;
    background:var(--card);
    border:1px solid rgba(255,255,255,.75);
    border-radius:24px;
    padding:24px;
    box-shadow:0 28px 70px rgba(4,18,38,.32);
    position:relative;
    transform:translateY(14px) scale(.98);
    transition:transform .20s ease;
}
.ledger-popup-overlay.show .ledger-popup{transform:translateY(0) scale(1)}
.ledger-popup-close{
    position:absolute;
    top:14px;
    right:14px;
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    color:var(--muted);
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.18s ease;
}
.ledger-popup-close:hover{background:var(--soft);color:var(--accent)}
.ledger-popup-head{display:flex;gap:14px;align-items:flex-start;margin:0 42px 18px 0}
.ledger-popup-icon{
    width:56px;
    height:56px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--soft);
    color:var(--accent);
    font-size:24px;
    flex:0 0 auto;
}
.ledger-popup-icon.gold{background:#fff6e5;color:var(--gold)}
.ledger-popup-head h3{margin:0 0 5px;font-family:Georgia,serif;font-size:28px;line-height:1.1;color:var(--text)}
.ledger-popup-head p{margin:0;color:var(--muted);font-weight:700;line-height:1.5}
.ledger-popup-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ledger-popup-form .field.full{grid-column:1 / -1}
.ledger-popup-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.inline-delete-form{display:inline-flex;margin:0}
.ledger-table th.no-print,.ledger-table td.no-print{min-width:190px}
@media(max-width:680px){
    .ledger-popup{padding:20px 16px;border-radius:20px}
    .ledger-popup-head{margin-right:40px}
    .ledger-popup-form .form-grid{grid-template-columns:1fr!important}
    .ledger-popup-actions{display:grid;grid-template-columns:1fr}
    .ledger-popup-actions .btn{width:100%}
}
@media print{
    .ledger-popup-overlay,.ledger-table .no-print{display:none!important}
}

/* Helper text for generated reference fields */
.field-help{
    display:block;
    margin-top:7px;
    color:var(--muted,#647286);
    font-size:12px;
    line-height:1.35;
    font-weight:700;
}


/* Live check-in notification badge */
.notify-link{cursor:pointer;text-decoration:none;color:var(--text)}
.notify-link:hover{background:var(--soft);border-color:var(--accent);transform:translateY(-1px)}
.notify-pill b{min-width:19px;text-align:center;font-weight:900;box-shadow:0 4px 10px rgba(201,154,59,.28)}

/* Top bar theme hover dropdown */
.theme-menu{position:relative;display:flex;align-items:center}
.theme-menu-button{cursor:pointer;appearance:none;-webkit-appearance:none;font-family:inherit}
.theme-dropdown{position:absolute;top:calc(100% + 6px);right:0;width:360px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 60px rgba(15,33,58,.20);padding:12px;z-index:1300;opacity:0;visibility:hidden;transform:translateY(8px) scale(.98);transform-origin:top right;transition:opacity .18s ease,visibility .18s ease,transform .18s ease}
.theme-dropdown:before{content:"";position:absolute;top:-7px;right:28px;width:14px;height:14px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:rotate(45deg)}
.theme-menu:hover .theme-dropdown,.theme-menu.open .theme-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.theme-menu:hover .theme-menu-button,.theme-menu.open .theme-menu-button{border-color:var(--accent);background:var(--soft);color:var(--accent)}
.theme-dropdown-head{padding:10px 10px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}
.theme-dropdown-head strong{display:block;color:var(--text);font-size:15px;font-weight:950}
.theme-dropdown-head small{display:block;color:var(--muted);font-size:12px;margin-top:3px;font-weight:700}
.theme-dropdown-list{display:grid;gap:8px}
.theme-dropdown-item{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:16px;color:var(--text);transition:.16s ease;background:#fff}
.theme-dropdown-item:hover{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--line));transform:translateX(2px)}
.theme-dropdown-item.active{border-color:var(--accent);background:linear-gradient(135deg,var(--soft),#fff);box-shadow:0 0 0 3px var(--focus)}
.theme-dropdown-item .theme-swatch{width:62px;height:46px;padding:6px;border-radius:14px;flex:0 0 auto}
.theme-dropdown-text{display:block;min-width:0;flex:1}
.theme-dropdown-text strong{display:block;font-size:14px;font-weight:950;line-height:1.2}
.theme-dropdown-text small{display:block;font-size:12px;color:var(--muted);line-height:1.35;margin-top:3px}
.theme-check{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-size:12px;flex:0 0 auto}
.theme-dropdown-settings{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:11px 12px;border-radius:15px;background:#f8fafc;border:1px solid var(--line);color:var(--text);font-weight:900;font-size:13px;transition:.16s ease}
.theme-dropdown-settings i{color:var(--accent)}
.theme-dropdown-settings:hover{background:var(--soft);color:var(--accent)}
@media(max-width:900px){.theme-dropdown{position:fixed;top:76px;right:12px;width:calc(100vw - 24px);max-width:360px}.theme-dropdown:before{display:none}}
@media(max-width:560px){.theme-dropdown{top:72px}.theme-dropdown-item .theme-swatch{width:54px;height:42px}.theme-dropdown-text small{display:none}}


/* Theme dropdown hover safety fix */
.theme-menu::after{content:"";position:absolute;top:100%;right:0;width:380px;max-width:calc(100vw - 32px);height:12px;display:block;z-index:1299;}
.theme-dropdown{top:calc(100% + 6px)!important;}
.theme-menu.open .theme-dropdown{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important;}


/* Check-out page action alignment */
.checkout-actions-row{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    flex-wrap:nowrap;
    min-width:230px;
}
.checkout-actions-row .btn{
    height:38px;
    padding:0 12px;
    border-radius:11px;
    font-size:12px;
    white-space:nowrap;
    box-shadow:none;
}
.checkout-actions-row .btn i{font-size:14px;line-height:1}
@media(max-width:640px){
    .checkout-actions-row{min-width:0;flex-wrap:wrap}
    .checkout-actions-row .btn{flex:1 1 100%;}
}
@media print{.checkout-actions-row{display:none!important}}

/* AJAX search and pagination for Check-In / Check-Out */
.ajax-list-card .section-title{align-items:flex-start}
.ajax-filter-bar{display:flex;align-items:flex-end;gap:14px;margin:18px 0}
.ajax-search-field{flex:1;min-width:260px}
.ajax-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;flex-wrap:wrap}
.pagination-info{color:var(--muted);font-weight:700;font-size:13px}
.pagination-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.page-indicator{font-weight:900;color:var(--text);padding:0 8px}
.ajax-page-btn[disabled]{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.ajax-loading{opacity:.55;pointer-events:none;transition:.18s ease}
@media(max-width:720px){
    .ajax-filter-bar{flex-direction:column;align-items:stretch}
    .ajax-search-field{min-width:0;width:100%}
    .ajax-filter-bar .btn{width:100%}
    .ajax-pagination{align-items:stretch}
    .pagination-actions{width:100%;justify-content:space-between}
    .pagination-actions .btn{flex:1}
    .page-indicator{display:flex;align-items:center;justify-content:center;min-width:110px}
}

/* Reports full-width date and time filter */
.reports-filter-wrap{width:100%;margin-bottom:20px}
.reports-filter-card{width:100%;padding:22px;border-radius:20px}
.reports-filter-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.reports-filter-head h2{margin:3px 0 4px;font-size:22px;font-weight:900;color:var(--text)}
.reports-filter-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.reports-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:14px;align-items:end;width:100%}
.reports-filter-grid .field input{height:52px}
.reports-filter-actions{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.reports-filter-actions .btn{height:52px;white-space:nowrap}
.reports-filter-summary{margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--soft);border:1px solid var(--line);color:var(--muted);font-size:13px}
.reports-filter-summary strong{color:var(--text)}
@media(max-width:1400px){.reports-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.reports-filter-actions{grid-column:1 / -1;justify-content:flex-start}}
@media(max-width:700px){.reports-filter-card{padding:16px}.reports-filter-grid{grid-template-columns:1fr}.reports-filter-actions .btn{width:100%}}


/* Top-bar language switcher */
.language-menu{position:relative;display:inline-flex;align-items:center;flex:0 0 auto;}
.language-menu-button{cursor:pointer;}
.language-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:230px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(15,33,58,.20);padding:10px;z-index:10020;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:.16s ease;}
.language-menu:hover .language-dropdown,.language-menu.open .language-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.language-dropdown-head{padding:8px 8px 10px;border-bottom:1px solid var(--line);margin-bottom:6px;}
.language-dropdown-head strong{font-size:14px;font-weight:950;color:var(--text)}
.language-dropdown-item{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:14px;color:var(--text);font-weight:850;}
.language-dropdown-item:hover,.language-dropdown-item.active{background:var(--soft);color:var(--accent)}
.language-code{width:36px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#f4f7f8;border:1px solid var(--line);font-size:12px;font-weight:950;color:var(--text)}
.language-dropdown-item i{margin-left:auto;color:var(--accent)}
body.lang-lo .topbar h1, body.lang-lo .brand h2{letter-spacing:0;}
@media(max-width:900px){.language-dropdown{position:fixed;top:76px;right:12px;width:calc(100vw - 24px);}}


/* Language dropdown UI fix */
.language-menu{position:relative!important;display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;z-index:10030!important;}
.language-menu::after{content:""!important;position:absolute!important;top:100%!important;right:0!important;width:220px!important;height:12px!important;display:block!important;}
.language-menu .language-dropdown{position:absolute!important;top:calc(100% + 8px)!important;right:0!important;width:240px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:0 28px 70px rgba(15,33,58,.22)!important;padding:10px!important;z-index:10032!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(8px) scale(.98)!important;transform-origin:top right!important;transition:opacity .16s ease,visibility .16s ease,transform .16s ease!important;}
.language-menu:hover .language-dropdown,.language-menu.open .language-dropdown{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0) scale(1)!important;}
.language-dropdown-head{display:block!important;padding:8px 8px 10px!important;border-bottom:1px solid var(--line)!important;margin:0 0 6px!important;}
.language-dropdown-item{display:flex!important;align-items:center!important;gap:10px!important;padding:11px 10px!important;border-radius:14px!important;color:var(--text)!important;font-weight:850!important;background:#fff!important;white-space:nowrap!important;}
.language-dropdown-item:hover,.language-dropdown-item.active{background:var(--soft)!important;color:var(--accent)!important;}
.language-code{width:38px!important;height:28px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#f4f7f8!important;border:1px solid var(--line)!important;font-size:12px!important;font-weight:950!important;color:var(--text)!important;}


/* Login language switcher */
.lt-login-lang-switch{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:0 0 22px;
    padding:6px;
    border:1px solid #dfe9e7;
    background:#f7fafc;
    border-radius:18px;
}
.lt-lang-option{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border-radius:14px;
    color:#526176;
    font-weight:900;
    font-size:13px;
    border:1px solid transparent;
    transition:.18s ease;
}
.lt-lang-option span{
    width:28px;
    height:24px;
    border-radius:9px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:11px;
    font-weight:950;
    background:#eef5f6;
    color:#087b83;
}
.lt-lang-option:hover{
    background:#fff;
    border-color:#d9e6e8;
    color:#0f1f33;
}
.lt-lang-option.active{
    background:#fff;
    color:#075c61;
    border-color:rgba(7,92,97,.22);
    box-shadow:0 10px 22px rgba(15,33,58,.08);
}
.lt-lang-option.active span{
    background:#075c61;
    color:#fff;
}
body.lang-lo .lt-login-card,
body.lang-lo .lt-login-hero,
body.lang-lo .lt-login-form input,
body.lang-lo .lt-login-links,
body.lang-lo .lt-login-note{
    font-family:'Phetsarath OT','Noto Sans Lao',Arial,sans-serif;
}
@media(max-width:420px){
    .lt-login-lang-switch{grid-template-columns:1fr;}
}


/* Professional reports thumbnail library */
.reports-library{margin:22px 0 18px;display:grid;gap:26px}
.report-category h2{font-size:24px;line-height:1.2;margin:0 0 14px;color:var(--text,#101b2d);font-weight:900;letter-spacing:-.02em}
.report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.report-thumb-card{background:var(--card,#fff);border:1px solid var(--line,#dfe9e7);border-radius:18px;padding:24px;box-shadow:var(--shadow,0 14px 34px rgba(13,36,58,.10));display:flex;flex-direction:column;min-height:220px;transition:.18s ease}
.report-thumb-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(13,36,58,.13);border-color:color-mix(in srgb,var(--accent,#075c61) 25%,var(--line,#dfe9e7))}
.report-thumb-icon{width:46px;height:46px;border-radius:15px;background:var(--soft,#e8f4f1);color:var(--accent,#075c61);display:flex;align-items:center;justify-content:center;font-size:21px;margin-bottom:16px}
.report-thumb-card h3{font-size:21px;line-height:1.25;margin:0 0 14px;color:var(--text,#101b2d);font-weight:800}
.report-thumb-card p{margin:0 0 20px;color:var(--muted,#647286);line-height:1.55;font-size:15px;flex:1}
.report-open-btn{width:100%;height:48px;border-radius:14px;font-size:15px}
.report-summary-grid{grid-template-columns:repeat(4,1fr)!important;margin-top:8px}
@media(max-width:1200px){.report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:700px){.report-card-grid,.report-summary-grid{grid-template-columns:1fr!important}.report-thumb-card{min-height:auto;padding:20px}.report-category h2{font-size:21px}}

/* Reports: thumbnail-only default and selected report details */
.report-detail-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 18px;
    flex-wrap:wrap;
}
.report-embed-card{
    margin-top:18px;
    padding:28px;
}
.report-embed-card p{
    margin:0 0 18px;
    color:var(--muted,#647286);
    line-height:1.65;
}
@media(max-width:640px){
    .report-detail-head .btn{width:100%;}
}


/* Daily Collection - total per payment method */
.payment-method-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:16px;
}
.payment-method-card{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    min-height:116px;
}
.payment-method-card .payment-method-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--soft,#eef7f4);
    color:var(--accent,#075c61);
    font-size:20px;
    flex:0 0 auto;
}
.payment-method-card small{
    display:block;
    color:var(--muted,#647286);
    font-weight:900;
    margin-bottom:6px;
    text-transform:uppercase;
    letter-spacing:.04em;
    font-size:11px;
}
.payment-method-card strong{
    display:block;
    font-size:22px;
    line-height:1.15;
    color:var(--text,#101b2d);
}
.payment-method-card p{
    margin:6px 0 0;
    color:var(--muted,#647286);
    font-size:12px;
    font-weight:700;
}
tfoot th{background:#f8fafc;font-size:13px;color:var(--text,#101b2d)}
@media(max-width:1500px){.payment-method-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1200px){.payment-method-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:800px){.payment-method-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.payment-method-grid{grid-template-columns:1fr}.payment-method-card strong{font-size:20px}}


/* Users and Role Management */
.users-intro{align-items:flex-start}.users-top-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.user-role-summary{margin-bottom:18px}.demo-account-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;background:linear-gradient(135deg,rgba(7,92,97,.08),rgba(201,154,59,.08));}.demo-account-card h3{margin:0 0 8px;display:flex;align-items:center;gap:9px}.demo-account-card p{margin:0;color:var(--muted);line-height:1.6}.demo-credentials{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.demo-credentials span{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 13px;color:var(--text)}.role-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;background:#eef3f7;color:#425466;white-space:nowrap}.role-administrator{background:#e9f2ff;color:#1558a8}.role-receptionist{background:#e8f8f3;color:#08784f}.role-cashier{background:#fff3d9;color:#9a5c00}.role-housekeeping{background:#edf6ff;color:#2262ad}.role-demo-client{background:#f0edff;color:#5b3fb5}.role-help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.role-help{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fbfdff}.role-help strong{display:block;margin-bottom:5px;color:var(--text)}.role-help span{display:block;color:var(--muted);font-size:13px;line-height:1.55}.role-help.highlight{background:#f5f2ff;border-color:#ddd5ff}.users-table-card small{color:var(--muted)}@media(max-width:900px){.demo-account-card{align-items:flex-start;flex-direction:column}.demo-credentials{justify-content:flex-start}.role-help-grid{grid-template-columns:1fr}.users-top-actions{width:100%;justify-content:flex-start}.users-top-actions .btn{flex:1}}


/* Professional legal pages: Terms, Privacy, Cookie Policy */
.legal-body{
    min-height:100vh;
    margin:0;
    background:
        radial-gradient(circle at top left, rgba(8,123,131,.11), transparent 34%),
        linear-gradient(135deg, #eef6f4 0%, #f8fbfd 48%, #edf4f8 100%);
    color:var(--text,#101b2d);
}
.legal-body.lang-lo,
.legal-body.lang-lo *{
    font-family:'Phetsarath OT','Noto Sans Lao',Inter,Arial,sans-serif;
}
.legal-shell{
    width:min(1180px, calc(100% - 36px));
    margin:0 auto;
    padding:44px 0;
}
.legal-card{
    background:rgba(255,255,255,.94);
    border:1px solid rgba(213,226,232,.95);
    border-radius:30px;
    box-shadow:0 28px 70px rgba(13,36,58,.12);
    overflow:hidden;
}
.legal-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 26px;
    border-bottom:1px solid var(--line,#dfe9e7);
    background:linear-gradient(180deg,#fff,rgba(255,255,255,.84));
}
.legal-brand{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--text,#101b2d);
}
.legal-brand-icon{
    width:52px;
    height:52px;
    border-radius:17px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-weight:900;
    background:linear-gradient(135deg,var(--accent,#075c61),var(--gold,#c99a3b));
    box-shadow:0 14px 26px rgba(7,92,97,.18);
}
.legal-brand strong{
    display:block;
    font-size:20px;
    font-weight:900;
    line-height:1.1;
}
.legal-brand small{
    display:block;
    margin-top:4px;
    color:var(--muted,#647286);
    font-size:13px;
    line-height:1.35;
}
.legal-lang{
    display:flex;
    align-items:center;
    gap:8px;
    padding:6px;
    background:#f4f8fa;
    border:1px solid var(--line,#dfe9e7);
    border-radius:16px;
    flex:0 0 auto;
}
.legal-lang a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:38px;
    padding:0 13px;
    border-radius:12px;
    color:var(--muted,#647286);
    font-size:13px;
    font-weight:900;
}
.legal-lang a.active{
    color:#fff;
    background:linear-gradient(135deg,var(--accent,#075c61),var(--accent2,#0b777d));
    box-shadow:0 10px 18px rgba(7,92,97,.18);
}
.legal-hero{
    padding:42px 46px 28px;
    background:
        linear-gradient(135deg,rgba(7,92,97,.08),rgba(201,154,59,.07)),
        #fff;
}
.legal-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:0 0 12px;
    color:var(--accent,#075c61);
    font-size:12px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.legal-hero h1{
    margin:0;
    font-size:42px;
    line-height:1.1;
    letter-spacing:-.035em;
    color:var(--text,#101b2d);
}
.legal-hero p{
    max-width:900px;
    margin:16px 0 0;
    color:var(--muted,#647286);
    font-size:16px;
    line-height:1.75;
}
.legal-content{
    display:grid;
    gap:18px;
    padding:30px 46px 16px;
}
.legal-section{
    background:#fff;
    border:1px solid var(--line,#dfe9e7);
    border-radius:20px;
    padding:22px 24px;
    box-shadow:0 12px 28px rgba(13,36,58,.05);
}
.legal-section h2{
    margin:0 0 12px;
    font-size:22px;
    line-height:1.25;
    color:var(--text,#101b2d);
}
.legal-section p{
    margin:10px 0 0;
    color:#34465b;
    font-size:15px;
    line-height:1.85;
}
.legal-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    padding:24px 46px 42px;
}
.legal-actions .btn{
    min-height:46px;
}
@media(max-width:760px){
    .legal-shell{width:min(100% - 24px, 1180px);padding:24px 0;}
    .legal-card{border-radius:22px;}
    .legal-top{align-items:flex-start;flex-direction:column;padding:18px;}
    .legal-lang{width:100%;justify-content:space-between;}
    .legal-lang a{flex:1;}
    .legal-hero{padding:30px 20px 22px;}
    .legal-hero h1{font-size:31px;}
    .legal-content{padding:20px;gap:14px;}
    .legal-section{padding:18px;}
    .legal-section h2{font-size:20px;}
    .legal-actions{padding:10px 20px 28px;}
    .legal-actions .btn{width:100%;}
}
