*{box-sizing:border-box}:root{--navy:#0b2345;--blue:#126fe5;--border:#dfe6ee;--muted:#6f7f93}body{margin:0;background:#f4f7fb;color:#12243e;font-family:Inter,Arial,sans-serif}.app-shell{min-height:100vh;display:grid;grid-template-columns:235px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:18px 13px;background:linear-gradient(180deg,#09213f,#0d315b);display:flex;flex-direction:column}.brand,.install-brand{display:flex;align-items:center;gap:11px}.brand{padding:8px 8px 20px;color:#fff;font-size:18px;font-weight:800}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#1585ff,#63bdff);color:#fff;font-weight:900}.sidebar nav{display:grid;gap:4px}.sidebar nav a,.logout{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;color:#cbd9ea;text-decoration:none;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#1476dc;color:#fff}.nav-icon{width:23px;text-align:center}.logout{margin-top:auto}.main{min-width:0;padding:0 22px 30px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0}.topbar h1{margin:0}.topbar p{margin:4px 0 0;color:var(--muted)}.user-chip{display:grid;text-align:right}.user-chip span{color:var(--muted);font-size:12px}.menu-button{display:none}.hero,.page-head,.roomplan-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;margin-bottom:16px;border-radius:18px;background:#fff;border:1px solid var(--border)}.hero{background:linear-gradient(135deg,#0b2345,#126fe5);color:#fff}.hero h2,.page-head h2{margin:5px 0}.hero p,.page-head p{margin:0;color:inherit;opacity:.78}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:16px}.metric{min-height:130px;padding:19px;border-radius:17px;color:#fff;text-decoration:none;box-shadow:0 12px 30px #183e7020}.metric span,.metric strong,.metric small{display:block}.metric strong{margin:7px 0 4px;font-size:30px}.metric small{opacity:.82}.metric.green{background:linear-gradient(135deg,#168f62,#48c98b)}.metric.purple{background:linear-gradient(135deg,#5d4fd0,#9385ef)}.metric.orange{background:linear-gradient(135deg,#e57923,#ffad48)}.metric.blue{background:linear-gradient(135deg,#126fe5,#52a9ff)}.metric.dark{background:linear-gradient(135deg,#34495e,#62788e)}.metric.rose{background:linear-gradient(135deg,#ce4772,#ef7fa2)}.card{padding:20px;margin-bottom:16px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:0 7px 22px #17395e0d}.section-head,.actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.quick-grid a{padding:14px;border-radius:10px;background:#f2f6fb;color:#24466e;text-decoration:none;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border:0;border-radius:9px;text-decoration:none;font-weight:700;cursor:pointer}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#eaf1f9;color:#24466e}.btn.danger{background:#cf3e4b;color:#fff}.btn.small{min-height:32px;padding:6px 9px;font-size:12px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.filter-bar input,.filter-bar select,.form-grid input,.form-grid select,.form-grid textarea{min-height:41px;padding:9px 10px;border:1px solid #cad4e1;border-radius:8px;background:#fff;font:inherit}.filter-bar input{min-width:230px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{padding:11px;border-bottom:1px solid #e4e9f0;text-align:left}th{background:#f5f7fa;color:#617087;font-size:11px;text-transform:uppercase;letter-spacing:.04em}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbff}td small{display:block;margin-top:3px;color:var(--muted)}.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#eaf1f9;font-size:11px;font-weight:800}.flash{padding:13px;margin-bottom:14px;border-radius:9px}.flash.success{background:#e7f6ec;color:#176c38}.flash.error{background:#fdeaea;color:#9f2020}.form-grid{display:grid;gap:11px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.form-grid.address{grid-template-columns:2fr .7fr 1fr 1.5fr 1.5fr}.form-grid label,.reservation-form label{display:grid;gap:5px;font-size:13px;font-weight:700}.full{grid-column:1/-1}.check{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.check input{width:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.facts div{padding:11px;border-radius:9px;background:#f4f7fb}.facts span,.facts strong{display:block}.facts span{font-size:11px;color:var(--muted)}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:1000;padding:20px;display:grid;place-items:center}.modal-backdrop{position:absolute;inset:0;background:#05172dc2}.modal-card{position:relative;z-index:1;width:min(580px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:24px;border-radius:18px;background:#fff}.modal-card.large{width:min(1100px,100%)}.modal-card header{display:flex;justify-content:space-between;align-items:flex-start}.close{width:38px;height:38px;border:0;border-radius:9px;background:#eaf1f9;font-size:24px}.reservation-form section{padding:16px 0;border-bottom:1px solid var(--border)}.reservation-form footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.availability-box{margin-top:10px;padding:11px;border-radius:8px;background:#edf5ff;color:#16518d}.hk-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.hk-stats div{display:flex;justify-content:space-between;padding:16px;border-radius:14px;color:#fff}.hk-stats strong{font-size:25px}.hk-stats .clean{background:#1a9b68}.hk-stats .dirty{background:#e78228}.hk-stats .occupied{background:#6557d4}.hk-stats .out_of_order{background:#c93c49}.hk-stats .out_of_service{background:#596879}.roomplan-toolbar{padding:13px}.segments{display:flex;padding:3px;border-radius:9px;background:#eaf0f6}.segments a{padding:7px 9px;border-radius:7px;color:#5e6c80;text-decoration:none;font-size:12px}.segments a.active{background:#fff;color:var(--blue);box-shadow:0 3px 10px #102b5020}.roomplan-shell{height:calc(100vh - 220px);min-height:520px;overflow:auto;border:1px solid var(--border);border-radius:15px;background:#fff}.roomplan-header,.room-row{display:grid;grid-template-columns:90px 160px minmax(calc(var(--days)*56px),1fr);min-width:max-content}.roomplan-header{position:sticky;top:0;z-index:20;background:#f4f7fa}.roomplan-header>div{padding:10px}.days{display:grid;grid-template-columns:repeat(var(--days),minmax(56px,1fr))}.days span{display:grid;place-items:center;padding:7px;border-left:1px solid var(--border)}.days small{color:var(--muted)}.room-label,.room-category{position:sticky;padding:8px;background:#fff;border-bottom:1px solid var(--border);z-index:8}.room-label{left:0}.room-category{left:90px;display:grid}.room-category small{color:var(--muted)}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;background:#22a06b}.dot.dirty{background:#f59e0b}.dot.occupied{background:#8b5cf6}.dot.out_of_order{background:#d94350}.dot.out_of_service{background:#657386}.timeline{position:relative;min-height:54px;border-bottom:1px solid var(--border)}.slots{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--days),minmax(56px,1fr))}.slots span{border-left:1px solid var(--border)}.plan-bar{position:absolute;top:8px;bottom:8px;z-index:3;padding:6px 8px;border-radius:7px;color:#fff;text-decoration:none;overflow:hidden}.plan-bar.confirmed{background:#2f80ed}.plan-bar.stay{background:#22a06b}.plan-bar.block.out_of_order{background:#d94350}.plan-bar.block.out_of_service{background:#657386}.large .timeline{min-height:78px}.large .plan-bar{top:12px;bottom:12px}.check-row{display:grid;grid-template-columns:1fr 100px 1fr;gap:10px;padding:11px;margin:7px 0;border-radius:9px}.check-row.ok{background:#e7f6ec;color:#176c38}.check-row.bad{background:#fdeaea;color:#9f2020}.log{max-height:600px;overflow:auto;white-space:pre-wrap;background:#101b2b;color:#dce7f5;padding:16px;border-radius:10px}.install-body,.login-body{min-height:100vh;display:grid;place-items:center;padding:20px;background:#eaf0f7}.login-body{background:linear-gradient(#071a31a8,#071a31a8),url('../a_clean_photorealistic_ui_login_screen_composite.png') center/cover}.install-card,.login-card{width:min(760px,100%);padding:28px;border-radius:20px;background:#fff;box-shadow:0 24px 70px #071a3140}.login-card{width:min(430px,100%)}.install-brand h1{margin:0}.install-brand p{margin:3px 0;color:var(--muted)}.install-info{padding:12px;border-radius:9px;background:#edf5ff;color:#24466e}.muted{color:var(--muted)}@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.hk-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-250px;z-index:100;height:100%;width:235px;transition:.2s}.sidebar.open{left:0}.main{padding:0 12px 25px}.menu-button{display:block}.user-chip{display:none}.hero,.page-head,.roomplan-toolbar{align-items:stretch;flex-direction:column}.form-grid.four,.form-grid.three,.form-grid.address,.detail-grid{grid-template-columns:1fr}.hk-stats{grid-template-columns:repeat(2,1fr)}.modal{padding:0}.modal-card,.modal-card.large{max-height:100vh;border-radius:0}.roomplan-shell{height:calc(100vh - 285px)}}@media(max-width:520px){.metric-grid,.quick-grid,.hk-stats{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.filter-bar{flex-direction:column}.filter-bar>*{width:100%}.facts{grid-template-columns:1fr}}
/* =========================================================
   Luca Smart PMS 1.2.0 Enterprise
   ========================================================= */

:root{
    --surface:#ffffff;
    --surface-soft:#f4f7fb;
    --surface-raised:#ffffff;
    --text:#12243e;
    --text-muted:#6f7f93;
    --enterprise-border:#dfe6ef;
    --enterprise-shadow:0 12px 35px rgba(16,44,78,.08);
}

html[data-theme="dark"]{
    --surface:#182436;
    --surface-soft:#101a28;
    --surface-raised:#1d2c40;
    --text:#edf5ff;
    --text-muted:#aab8ca;
    --enterprise-border:#34465d;
    --enterprise-shadow:0 12px 35px rgba(0,0,0,.22);
}

html[data-theme="dark"] body{
    background:var(--surface-soft);
    color:var(--text);
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .page-head,
html[data-theme="dark"] .roomplan-toolbar,
html[data-theme="dark"] .roomplan-shell,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .global-search-card,
html[data-theme="dark"] .notification-panel{
    background:var(--surface-raised);
    border-color:var(--enterprise-border);
    color:var(--text);
}

html[data-theme="dark"] th,
html[data-theme="dark"] .roomplan-header,
html[data-theme="dark"] .room-label,
html[data-theme="dark"] .room-category,
html[data-theme="dark"] .facts div,
html[data-theme="dark"] .quick-grid a,
html[data-theme="dark"] .enterprise-quick a{
    background:#223249;
    color:var(--text);
}

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
    background:#142236;
    border-color:#40536c;
    color:var(--text);
}

.brand span:last-child{
    display:grid;
}

.brand small{
    margin-top:2px;
    color:#86a6c9;
    font-size:.67rem;
    font-weight:600;
}

.sidebar-shortcuts{
    display:grid;
    gap:5px;
    margin-top:18px;
    padding:12px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#819dbb;
    font-size:.7rem;
}

.topbar-left,
.topbar-actions{
    display:flex;
    align-items:center;
    gap:12px;
}

.icon-button{
    position:relative;
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border:1px solid var(--enterprise-border);
    border-radius:12px;
    background:var(--surface);
    color:var(--text);
    font-size:1.18rem;
    cursor:pointer;
}

.notification-count{
    position:absolute;
    top:-5px;
    right:-5px;
    min-width:20px;
    height:20px;
    display:grid;
    place-items:center;
    padding:0 5px;
    border-radius:999px;
    background:#e14250;
    color:#fff;
    font-size:.65rem;
    font-weight:800;
}

.notification-wrap{
    position:relative;
}

.notification-panel{
    position:absolute;
    top:52px;
    right:0;
    z-index:200;
    width:310px;
    padding:15px;
    border:1px solid var(--enterprise-border);
    border-radius:15px;
    background:var(--surface);
    box-shadow:var(--enterprise-shadow);
}

.notification-panel[hidden]{
    display:none;
}

.notification-panel h3{
    margin:0 0 10px;
}

.notification-panel a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px;
    border-radius:9px;
    color:var(--text);
    text-decoration:none;
}

.notification-panel a:hover{
    background:var(--surface-soft);
}

.global-search[hidden]{
    display:none;
}

.global-search{
    position:fixed;
    inset:0;
    z-index:1700;
    padding:10vh 20px 20px;
}

.global-search-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,17,34,.68);
    backdrop-filter:blur(5px);
}

.global-search-card{
    position:relative;
    z-index:1;
    width:min(760px,100%);
    max-height:72vh;
    margin:0 auto;
    overflow:auto;
    border:1px solid var(--enterprise-border);
    border-radius:20px;
    background:var(--surface);
    box-shadow:0 30px 90px rgba(0,0,0,.3);
}

.global-search-input{
    position:sticky;
    top:0;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:12px;
    padding:18px;
    border-bottom:1px solid var(--enterprise-border);
    background:inherit;
}

.global-search-input input{
    min-height:42px;
    border:0;
    outline:0;
    background:transparent;
    color:var(--text);
    font-size:1.15rem;
}

.global-search-input kbd,
.settings-feature-grid kbd{
    padding:4px 7px;
    border:1px solid var(--enterprise-border);
    border-radius:6px;
    background:var(--surface-soft);
    color:var(--text-muted);
    font-family:inherit;
    font-size:.75rem;
}

.global-search-results{
    padding:10px;
}

.global-search-results>p{
    padding:18px;
    color:var(--text-muted);
    text-align:center;
}

.search-result{
    display:grid;
    grid-template-columns:95px 1fr auto;
    align-items:center;
    gap:12px;
    padding:13px;
    border-radius:11px;
    color:var(--text);
    text-decoration:none;
}

.search-result:hover{
    background:var(--surface-soft);
}

.search-result strong,
.search-result small{
    display:block;
}

.search-result small{
    margin-top:3px;
    color:var(--text-muted);
}

.search-type{
    color:#126fe5;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
}

.enterprise-hero{
    min-height:170px;
}

.hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.btn.light{
    background:#fff;
    color:#0f59aa;
}

.btn.ghost-light{
    border:1px solid rgba(255,255,255,.5);
    background:rgba(255,255,255,.1);
    color:#fff;
}

.enterprise-metrics{
    grid-template-columns:repeat(3,minmax(240px,1fr));
}

.dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(320px,.75fr);
    gap:18px;
}

.dashboard-side{
    min-width:0;
}

.work-list{
    display:grid;
}

.work-item{
    display:grid;
    grid-template-columns:46px minmax(0,1fr) 120px auto;
    align-items:center;
    gap:12px;
    padding:13px 4px;
    border-bottom:1px solid var(--enterprise-border);
    color:var(--text);
    text-decoration:none;
}

.work-item:last-child{
    border-bottom:0;
}

.work-item:hover{
    background:var(--surface-soft);
}

.work-icon{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#fff;
    font-weight:900;
}

.work-icon.arrival{background:#1aa36f}
.work-icon.stay{background:#6958d8}

.work-main strong,
.work-main small{
    display:block;
}

.work-main small{
    margin-top:3px;
    color:var(--text-muted);
}

.work-room{
    color:var(--text-muted);
    font-size:.88rem;
}

.text-link{
    color:#126fe5;
    text-decoration:none;
    font-weight:700;
}

.status-bars{
    display:grid;
    gap:15px;
    margin:18px 0;
}

.status-bars>div{
    position:relative;
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    padding-bottom:9px;
}

.status-bars i{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:#e5ebf2;
}

.status-bars i:after{
    content:"";
    display:block;
    width:var(--value);
    height:100%;
    border-radius:inherit;
    background:#126fe5;
}

.enterprise-quick{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
}

.enterprise-quick a{
    display:grid;
    justify-items:start;
    gap:8px;
    padding:15px;
    border-radius:12px;
    background:var(--surface-soft);
    color:var(--text);
    text-decoration:none;
}

.enterprise-quick b{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#126fe5;
    color:#fff;
}

.settings-feature-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.settings-feature-grid>div{
    padding:15px;
    border:1px solid var(--enterprise-border);
    border-radius:12px;
    background:var(--surface-soft);
}

.settings-feature-grid p{
    margin:7px 0 0;
    color:var(--text-muted);
}

.empty-state{
    padding:24px;
    border-radius:12px;
    background:var(--surface-soft);
    color:var(--text-muted);
    text-align:center;
}

@media(max-width:1200px){
    .dashboard-grid{
        grid-template-columns:1fr;
    }

    .enterprise-metrics{
        grid-template-columns:repeat(2,minmax(230px,1fr));
    }
}

@media(max-width:800px){
    .topbar-actions{
        gap:6px;
    }

    .user-chip{
        display:none;
    }

    .icon-button{
        width:40px;
        height:40px;
    }

    .enterprise-metrics{
        grid-template-columns:1fr 1fr;
    }

    .work-item{
        grid-template-columns:42px minmax(0,1fr) auto;
    }

    .work-room{
        display:none;
    }

    .settings-feature-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:520px){
    .enterprise-metrics{
        grid-template-columns:1fr;
    }

    .hero-actions{
        display:grid;
        width:100%;
    }

    .notification-panel{
        position:fixed;
        top:72px;
        right:12px;
        left:12px;
        width:auto;
    }

    .search-result{
        grid-template-columns:1fr auto;
    }

    .search-type{
        grid-column:1/-1;
    }

    .enterprise-quick{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   Luca Smart PMS 1.2.1 — Enterprise Login
   ========================================================= */

.login-enterprise-body{
    min-height:100vh;
    margin:0;
    overflow:auto;
    background:
        url("images/login-background.png")
        center center / cover no-repeat fixed;
    color:#0b2345;
    font-family:Inter,Arial,sans-serif;
}

.login-enterprise-shade{
    position:fixed;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(5,20,40,.35),
            rgba(5,20,40,.16) 48%,
            rgba(5,20,40,.28)
        );
    backdrop-filter:blur(1px);
}

.login-enterprise-layout{
    position:relative;
    z-index:1;
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:32px;
}

.login-enterprise-card{
    width:min(560px,calc(100vw - 40px));
    padding:38px;
    border:1px solid rgba(255,255,255,.7);
    border-radius:26px;
    background:rgba(255,255,255,.95);
    box-shadow:0 28px 90px rgba(0,20,50,.34);
    backdrop-filter:blur(18px);
}

.login-enterprise-brand{
    display:flex;
    align-items:center;
    gap:18px;
    padding-bottom:27px;
    border-bottom:1px solid #e4eaf2;
}

.login-enterprise-mark{
    flex:0 0 auto;
    width:68px;
    height:68px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:linear-gradient(135deg,#1683ff,#55adff);
    color:#fff;
    font-size:2rem;
    font-weight:900;
    box-shadow:0 12px 25px rgba(22,111,229,.25);
}

.login-enterprise-brand h1{
    margin:0;
    color:#0b2345;
    font-size:2rem;
    line-height:1.1;
}

.login-enterprise-brand p{
    margin:7px 0 0;
    color:#66788f;
    font-size:1rem;
}

.login-enterprise-form{
    display:grid;
    gap:18px;
    padding-top:27px;
}

.login-enterprise-form>label{
    display:grid;
    gap:8px;
    color:#0b2345;
    font-size:.9rem;
    font-weight:800;
}

.login-control{
    display:grid;
    grid-template-columns:42px 1fr auto;
    align-items:center;
    min-height:56px;
    overflow:hidden;
    border:1px solid #cfd9e5;
    border-radius:12px;
    background:#fff;
    transition:border-color .18s,box-shadow .18s;
}

.login-control:focus-within{
    border-color:#126fe5;
    box-shadow:0 0 0 4px rgba(18,111,229,.12);
}

.login-control-icon{
    display:grid;
    place-items:center;
    color:#0b3e77;
    font-size:1.25rem;
}

.login-control input{
    width:100%;
    min-height:54px;
    padding:0 8px;
    border:0;
    outline:0;
    background:transparent;
    color:#10243f;
    font-size:1rem;
}

.password-toggle{
    width:46px;
    height:46px;
    margin-right:4px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#46627f;
    font-size:1.15rem;
    cursor:pointer;
}

.login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    color:#53677f;
    font-size:.88rem;
}

.login-remember{
    display:flex;
    align-items:center;
    gap:9px;
}

.login-remember input{
    width:18px;
    height:18px;
    accent-color:#126fe5;
}

.login-muted{
    color:#78899d;
}

.login-submit{
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:0;
    border-radius:12px;
    background:linear-gradient(135deg,#0754c6,#126fe5);
    color:#fff;
    font-size:1.05rem;
    font-weight:850;
    cursor:pointer;
    box-shadow:0 12px 26px rgba(18,111,229,.25);
}

.login-submit:disabled{
    cursor:wait;
    opacity:.82;
}

.login-spinner{
    width:18px;
    height:18px;
    border:2px solid rgba(255,255,255,.45);
    border-top-color:#fff;
    border-radius:50%;
    animation:loginSpin .75s linear infinite;
}

.login-enterprise-footer{
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin-top:27px;
    padding-top:20px;
    border-top:1px solid #e4eaf2;
    color:#78899d;
    font-size:.8rem;
}

@keyframes loginSpin{
    to{transform:rotate(360deg)}
}

@media(max-width:620px){
    .login-enterprise-layout{
        padding:16px;
    }

    .login-enterprise-card{
        width:100%;
        padding:25px;
        border-radius:20px;
    }

    .login-enterprise-brand{
        align-items:flex-start;
    }

    .login-enterprise-mark{
        width:55px;
        height:55px;
        border-radius:15px;
        font-size:1.5rem;
    }

    .login-enterprise-brand h1{
        font-size:1.55rem;
    }

    .login-options,
    .login-enterprise-footer{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* =========================================================
   Luca Smart PMS 1.3.0 — Core Operations
   ========================================================= */

.reservation-summary{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:8px;
}

.summary-pill{
    display:inline-flex;
    min-height:30px;
    align-items:center;
    padding:6px 10px;
    border-radius:999px;
    background:#eaf3ff;
    color:#175da9;
    font-size:.75rem;
    font-weight:800;
}

.roomplan-legend,
.hk-filterbar{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 16px;
    margin-bottom:12px;
    border:1px solid var(--border);
    border-radius:13px;
    background:#fff;
}

.roomplan-legend span{
    display:flex;
    align-items:center;
    gap:7px;
    color:#5d6c80;
    font-size:.82rem;
    font-weight:700;
}

.legend-dot{
    width:11px;
    height:11px;
    display:inline-block;
    border-radius:50%;
}

.legend-dot.confirmed{background:#2f80ed}
.legend-dot.stay{background:#22a06b}
.legend-dot.out_of_order{background:#d94350}
.legend-dot.out_of_service{background:#657386}

.hk-filterbar a{
    padding:8px 11px;
    border-radius:9px;
    background:#eef3f8;
    color:#24466e;
    text-decoration:none;
    font-size:.82rem;
    font-weight:800;
}

.hk-filterbar a:hover{
    background:#126fe5;
    color:#fff;
}

html[data-theme="dark"] .roomplan-legend,
html[data-theme="dark"] .hk-filterbar{
    background:#1d2c40;
    border-color:#34465d;
}

html[data-theme="dark"] .summary-pill{
    background:#203b5e;
    color:#b7d8ff;
}


/* =========================================================
   Luca Smart PMS 1.3.1 — Stability overrides
   ========================================================= */

.login-enterprise-body,
.login-enterprise-body *{
    box-sizing:border-box;
}

.login-enterprise-card{
    isolation:isolate;
}

.topbar-actions{
    position:relative;
    z-index:30;
}

.icon-button{
    appearance:none;
    -webkit-appearance:none;
}

.notification-panel,
.global-search-card{
    font-family:Inter,Arial,sans-serif;
}

@media(max-width:800px){
    .topbar-actions{
        margin-left:auto;
    }
}

/* =========================================================
   Luca Smart PMS 1.4.0 — Professional Reservations
   ========================================================= */

.reservation-page-head{
    background:linear-gradient(135deg,#ffffff,#f4f8fd);
}

.reservation-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
    margin-bottom:18px;
}

.reservation-stat-grid>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:82px;
    padding:18px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:16px;
    background:var(--surface,#fff);
    box-shadow:var(--enterprise-shadow,0 8px 24px rgba(16,44,78,.06));
}

.reservation-stat-grid span{
    color:var(--text-muted,#6f7f93);
    font-weight:750;
}

.reservation-stat-grid strong{
    font-size:1.8rem;
    color:#126fe5;
}

.reservation-filter-grid{
    display:grid;
    grid-template-columns:2fr repeat(3,1fr);
    gap:12px;
}

.reservation-filter-grid label{
    display:grid;
    gap:6px;
    color:var(--text,#12243e);
    font-size:.82rem;
    font-weight:800;
}

.reservation-filter-grid input,
.reservation-filter-grid select{
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cad4e1;
    border-radius:10px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
    font:inherit;
}

.filter-search{
    grid-column:span 2;
}

.filter-actions{
    display:flex;
    align-items:end;
    gap:8px;
}

.reservation-list-card{
    padding-bottom:10px;
}

.reservation-table{
    min-width:1220px;
}

.reservation-table tbody tr{
    cursor:default;
}

.booking-number,
.row-action{
    color:#126fe5;
    text-decoration:none;
    font-weight:800;
}

.row-action{
    display:inline-flex;
    padding:7px 10px;
    border-radius:8px;
    background:#eaf3ff;
}

.room-assignment{
    display:inline-flex;
    padding:7px 9px;
    border-radius:999px;
    font-size:.75rem;
    font-weight:800;
}

.room-assignment.assigned{
    background:#e6f5ed;
    color:#167247;
}

.room-assignment.unassigned{
    background:#fff1db;
    color:#9a5b00;
}

.status-confirmed{background:#e6f0ff;color:#155baa}
.status-option{background:#fff2d9;color:#946000}
.status-checked_in{background:#e5f6ec;color:#167247}
.status-checked_out{background:#edf0f4;color:#58687b}
.status-cancelled,.status-no_show{background:#fde7e9;color:#a62935}

.modal-card.extra-large{
    width:min(1320px,calc(100vw - 36px));
}

.pro-reservation-form{
    min-height:530px;
}

.reservation-form-tabs{
    display:flex;
    gap:7px;
    margin:12px 0 4px;
    padding:5px;
    overflow:auto;
    border-radius:12px;
    background:#edf2f7;
}

.reservation-form-tabs button{
    min-width:130px;
    min-height:42px;
    padding:9px 14px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:#5a6b80;
    font-weight:800;
    cursor:pointer;
}

.reservation-form-tabs button.active{
    background:#fff;
    color:#126fe5;
    box-shadow:0 4px 12px rgba(18,54,92,.12);
}

.pro-reservation-form section{
    min-height:310px;
}

.stay-summary{
    margin-top:14px;
    padding:14px;
    border-radius:11px;
    background:#eef5ff;
    color:#175da9;
    font-weight:800;
}

.postal-hint,
.billing-copy-note{
    margin-top:10px;
    color:#718198;
    font-size:.85rem;
}

.billing-check{
    margin-bottom:15px;
    padding:14px;
    border-radius:11px;
    background:#f4f7fb;
}

.availability-card,
.price-preview{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-top:14px;
    padding:15px 17px;
    border:1px solid #d6e0eb;
    border-radius:12px;
    background:#f6f8fb;
}

.availability-card.available{
    border-color:#9cd5b5;
    background:#e8f7ef;
    color:#176c43;
}

.availability-card.unavailable{
    border-color:#efb2b7;
    background:#fdebed;
    color:#9e2631;
}

.availability-card.loading{
    opacity:.7;
}

.price-preview{
    margin-bottom:17px;
    background:#0b2345;
    color:#fff;
}

.price-preview strong{
    font-size:1.45rem;
}

.edit-reservation-card{
    max-width:1320px;
    margin-left:auto;
    margin-right:auto;
}

.reservation-record-head h2{
    margin:9px 0 4px;
}

.reservation-record-grid{
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);
    gap:18px;
}

.record-total{
    font-size:1.8rem;
    color:#126fe5;
}

.record-facts{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:11px;
    margin-top:16px;
}

.record-facts>div,
.contact-list>div{
    padding:13px;
    border-radius:11px;
    background:#f4f7fb;
}

.record-facts span,
.contact-list span{
    display:block;
    margin-bottom:5px;
    color:#718198;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
}

.record-facts strong,
.contact-list strong{
    line-height:1.45;
}

.record-facts small{
    display:block;
    margin-top:4px;
    color:#718198;
}

.contact-list{
    display:grid;
    gap:9px;
    margin-top:14px;
}

.record-notes{
    min-height:90px;
    padding:14px;
    border-radius:11px;
    background:#f4f7fb;
    line-height:1.6;
}

html[data-theme="dark"] .reservation-page-head,
html[data-theme="dark"] .reservation-stat-grid>div,
html[data-theme="dark"] .reservation-form-tabs button.active{
    background:#1d2c40;
}

html[data-theme="dark"] .reservation-form-tabs,
html[data-theme="dark"] .record-facts>div,
html[data-theme="dark"] .contact-list>div,
html[data-theme="dark"] .record-notes,
html[data-theme="dark"] .billing-check{
    background:#223249;
}

html[data-theme="dark"] .reservation-filter-grid input,
html[data-theme="dark"] .reservation-filter-grid select{
    background:#142236;
    border-color:#40536c;
    color:#edf5ff;
}

@media(max-width:1100px){
    .reservation-filter-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .filter-search{
        grid-column:span 2;
    }

    .reservation-record-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:800px){
    .reservation-stat-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .reservation-filter-grid{
        grid-template-columns:1fr;
    }

    .filter-search{
        grid-column:auto;
    }

    .record-facts{
        grid-template-columns:1fr;
    }

    .modal-card.extra-large{
        width:100%;
    }

    .reservation-form-tabs button{
        min-width:105px;
    }
}

@media(max-width:520px){
    .reservation-stat-grid{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   Luca Smart PMS 1.5.0 — Front Office Enterprise
   ========================================================= */

.roomplan-page-head{
    background:linear-gradient(135deg,#fff,#eef6ff);
}

.roomplan-primary-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
}

.roomplan-enterprise-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:15px;
    margin-bottom:12px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:15px;
    background:var(--surface,#fff);
}

.roomplan-navigation,
.roomplan-toolbar-groups{
    display:flex;
    align-items:center;
    gap:9px;
}

.roomplan-navigation>div{
    display:grid;
    min-width:190px;
    text-align:center;
}

.roomplan-navigation small{
    color:var(--text-muted,#6f7f93);
}

.roomplan-legend.enterprise{
    position:sticky;
    top:0;
    z-index:25;
}

.legend-dot.arrival{background:#f59e0b}
.legend-dot.departure{background:#8b5cf6}

.enterprise-roomplan{
    height:calc(100vh - 300px);
    min-height:580px;
    overflow:auto;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:17px;
    background:var(--surface,#fff);
    box-shadow:var(--enterprise-shadow,0 12px 35px rgba(16,44,78,.08));
}

.enterprise-roomplan-header,
.enterprise-room-row{
    display:grid;
    grid-template-columns:100px 210px minmax(calc(var(--days)*70px),1fr);
    min-width:max-content;
}

.enterprise-roomplan.zoom-small .enterprise-roomplan-header,
.enterprise-roomplan.zoom-small .enterprise-room-row{
    grid-template-columns:82px 170px minmax(calc(var(--days)*55px),1fr);
}

.enterprise-roomplan.zoom-large .enterprise-roomplan-header,
.enterprise-roomplan.zoom-large .enterprise-room-row{
    grid-template-columns:120px 240px minmax(calc(var(--days)*92px),1fr);
}

.enterprise-roomplan-header{
    position:sticky;
    top:0;
    z-index:30;
    background:#f4f7fa;
}

.sticky-room,
.sticky-category{
    position:sticky;
    z-index:31;
    padding:13px;
    border-bottom:1px solid var(--enterprise-border,#dfe6ef);
    background:#f4f7fa;
    font-weight:850;
}

.sticky-room{left:0}
.sticky-category{left:100px}

.zoom-small .sticky-category{left:82px}
.zoom-large .sticky-category{left:120px}

.enterprise-days{
    display:grid;
    grid-template-columns:repeat(var(--days),minmax(70px,1fr));
}

.zoom-small .enterprise-days{
    grid-template-columns:repeat(var(--days),minmax(55px,1fr));
}

.zoom-large .enterprise-days{
    grid-template-columns:repeat(var(--days),minmax(92px,1fr));
}

.enterprise-days span{
    min-height:58px;
    display:grid;
    place-items:center;
    padding:8px 4px;
    border-left:1px solid var(--enterprise-border,#dfe6ef);
    border-bottom:1px solid var(--enterprise-border,#dfe6ef);
}

.enterprise-days span.today,
.enterprise-slots span.today{
    background:#fff8df;
}

.enterprise-days b,
.enterprise-days small{
    display:block;
}

.enterprise-days small{
    color:var(--text-muted,#6f7f93);
}

.floor-heading{
    position:sticky;
    left:0;
    z-index:22;
    min-width:max-content;
    padding:9px 13px;
    border-bottom:1px solid var(--enterprise-border,#dfe6ef);
    background:#dfeaf7;
    color:#20476f;
    font-size:.82rem;
    font-weight:900;
    text-transform:uppercase;
}

.floor-heading span{
    margin-left:8px;
    color:#6c829b;
    font-weight:700;
}

.enterprise-room-number,
.enterprise-room-category{
    position:sticky;
    z-index:15;
    min-height:64px;
    padding:10px;
    border:0;
    border-right:1px solid var(--enterprise-border,#dfe6ef);
    border-bottom:1px solid var(--enterprise-border,#dfe6ef);
    background:var(--surface,#fff);
    color:var(--text,#12243e);
    text-align:left;
}

.enterprise-room-number{
    left:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    cursor:pointer;
}

.enterprise-room-number:hover{
    background:#edf5ff;
}

.enterprise-room-category{
    left:100px;
    display:grid;
    align-content:center;
}

.zoom-small .enterprise-room-category{left:82px}
.zoom-large .enterprise-room-category{left:120px}

.enterprise-room-category small{
    color:var(--text-muted,#6f7f93);
}

.room-state-dot{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#22a06b;
}

.room-state-dot.dirty{background:#f59e0b}
.room-state-dot.occupied{background:#8b5cf6}
.room-state-dot.out_of_order{background:#d94350}
.room-state-dot.out_of_service{background:#657386}

.enterprise-timeline{
    position:relative;
    min-height:64px;
    border-bottom:1px solid var(--enterprise-border,#dfe6ef);
}

.zoom-small .enterprise-room-number,
.zoom-small .enterprise-room-category,
.zoom-small .enterprise-timeline{min-height:52px}

.zoom-large .enterprise-room-number,
.zoom-large .enterprise-room-category,
.zoom-large .enterprise-timeline{min-height:86px}

.enterprise-slots{
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:repeat(var(--days),minmax(70px,1fr));
}

.zoom-small .enterprise-slots{
    grid-template-columns:repeat(var(--days),minmax(55px,1fr));
}

.zoom-large .enterprise-slots{
    grid-template-columns:repeat(var(--days),minmax(92px,1fr));
}

.enterprise-slots span{
    border-left:1px solid var(--enterprise-border,#dfe6ef);
}

.enterprise-plan-bar{
    position:absolute;
    top:9px;
    bottom:9px;
    z-index:8;
    display:grid;
    align-content:center;
    min-width:36px;
    padding:6px 9px;
    overflow:hidden;
    border-radius:8px;
    color:#fff;
    text-decoration:none;
    box-shadow:0 4px 10px rgba(16,44,78,.18);
}

.enterprise-plan-bar strong,
.enterprise-plan-bar small{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.enterprise-plan-bar small{
    opacity:.8;
    font-size:.68rem;
}

.enterprise-plan-bar.confirmed{background:#2f80ed}
.enterprise-plan-bar.stay{background:#22a06b}
.enterprise-plan-bar.arrival{background:#f59e0b}
.enterprise-plan-bar.departure{background:#8b5cf6}
.enterprise-plan-bar.block.out_of_order{background:#d94350}
.enterprise-plan-bar.block.out_of_service{background:#657386}

.room-details-modal-card{
    width:min(760px,calc(100vw - 32px));
}

.room-visual-placeholder{
    min-height:180px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:7px;
    margin:10px 0 17px;
    border-radius:16px;
    background:linear-gradient(135deg,#dcecff,#f8fbff);
    color:#1d5d9f;
}

.room-visual-placeholder strong{
    font-size:3rem;
}

.room-detail-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.room-detail-grid>div{
    padding:13px;
    border-radius:11px;
    background:#f4f7fb;
}

.room-detail-grid span{
    display:block;
    margin-bottom:5px;
    color:#718198;
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
}

.room-detail-description,
.room-detail-note{
    margin-top:12px;
    padding:13px;
    border-radius:11px;
    background:#f4f7fb;
}

.room-detail-note:empty{display:none}

.room-details-modal-card footer{
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:17px;
}

.hk-stats.enterprise{
    grid-template-columns:repeat(5,1fr);
}

.hk-stats.enterprise a{
    min-height:105px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px;
    border-radius:17px;
    color:#fff;
    text-decoration:none;
}

.housekeeping-filters{
    display:grid;
    grid-template-columns:2fr 1fr 1fr auto;
    gap:11px;
}

.housekeeping-filters label{
    display:grid;
    gap:6px;
    font-size:.82rem;
    font-weight:800;
}

.housekeeping-filters input,
.housekeeping-filters select{
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cad4e1;
    border-radius:10px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
}

.housekeeping-list{
    display:grid;
    gap:8px;
}

.housekeeping-row{
    display:grid;
    grid-template-columns:1.25fr 1.25fr 1fr 1.4fr auto;
    align-items:center;
    gap:14px;
    padding:13px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:13px;
    background:var(--surface,#fff);
}

.housekeeping-room{
    display:flex;
    align-items:center;
    gap:11px;
}

.room-number-badge{
    min-width:52px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#126fe5;
    color:#fff;
    font-weight:900;
}

.housekeeping-room strong,
.housekeeping-room small,
.housekeeping-guest strong,
.housekeeping-guest small{
    display:block;
}

.housekeeping-row>div>span{
    display:block;
    margin-bottom:4px;
    color:var(--text-muted,#6f7f93);
    font-size:.73rem;
    font-weight:800;
    text-transform:uppercase;
}

.hk-status-pill{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    font-size:.75rem;
}

.hk-status-pill.clean{background:#e5f6ec;color:#176c43}
.hk-status-pill.dirty{background:#fff1db;color:#925900}
.hk-status-pill.occupied{background:#eeeaff;color:#5746b4}
.hk-status-pill.out_of_order{background:#fde7e9;color:#a62935}
.hk-status-pill.out_of_service{background:#edf0f4;color:#58687b}

.dashboard-enterprise-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
    margin-bottom:18px;
}

.dashboard-enterprise-card{
    min-height:116px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:20px;
    border-radius:18px;
    color:#fff;
    text-decoration:none;
    box-shadow:0 12px 28px rgba(16,44,78,.12);
}

.dashboard-enterprise-card>span{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:rgba(255,255,255,.18);
    font-size:1.4rem;
}

.dashboard-enterprise-card small,
.dashboard-enterprise-card strong{
    display:block;
}

.dashboard-enterprise-card small{opacity:.83}
.dashboard-enterprise-card strong{margin-top:5px;font-size:2rem}

.dashboard-enterprise-card.arrivals{background:linear-gradient(135deg,#198b60,#4cc58b)}
.dashboard-enterprise-card.inhouse{background:linear-gradient(135deg,#6050cf,#8b7ae8)}
.dashboard-enterprise-card.departures{background:linear-gradient(135deg,#e07721,#f5a447)}
.dashboard-enterprise-card.occupancy{background:linear-gradient(135deg,#126fe5,#57a8f5)}
.dashboard-enterprise-card.free{background:linear-gradient(135deg,#2f7f8e,#5eb9c5)}
.dashboard-enterprise-card.clean{background:linear-gradient(135deg,#15905f,#53c893)}
.dashboard-enterprise-card.dirty{background:linear-gradient(135deg,#c96e1f,#ee9b41)}
.dashboard-enterprise-card.blocked{background:linear-gradient(135deg,#b73d49,#dc6872)}

.room-status-chart{
    display:grid;
    grid-template-columns:150px 1fr;
    align-items:center;
    gap:18px;
    margin-top:16px;
}

.room-status-donut{
    width:140px;
    height:140px;
    display:grid;
    place-items:center;
    align-content:center;
    border-radius:50%;
    background:
        radial-gradient(circle at center,var(--surface,#fff) 55%,transparent 57%),
        conic-gradient(#126fe5 var(--occupied),#e7edf4 0);
}

.room-status-donut strong{font-size:1.65rem}
.room-status-donut span{color:var(--text-muted,#6f7f93)}

.room-status-legend{
    display:grid;
    gap:11px;
}

.room-status-legend>div{
    display:grid;
    grid-template-columns:10px 1fr auto;
    gap:8px;
    align-items:center;
}

.room-status-legend i{
    width:10px;
    height:10px;
    border-radius:50%;
}

.room-status-legend i.occupied{background:#126fe5}
.room-status-legend i.free{background:#39a97a}
.room-status-legend i.blocked{background:#d54b57}

.update-upload-form{
    margin-top:16px;
}

.selected-update-file{
    padding:12px;
    border-radius:9px;
    background:#f4f7fb;
    color:#5f7187;
}

.update-security-steps{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-top:15px;
}

.update-security-steps>div{
    display:grid;
    justify-items:center;
    gap:7px;
    padding:12px 5px;
    border-radius:10px;
    background:#f4f7fb;
    text-align:center;
    font-size:.77rem;
}

.update-security-steps b{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#126fe5;
    color:#fff;
}

.update-progress-modal[hidden]{display:none}

.update-progress-modal{
    position:fixed;
    inset:0;
    z-index:2300;
    display:grid;
    place-items:center;
    padding:20px;
}

.update-progress-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,17,34,.72);
    backdrop-filter:blur(5px);
}

.update-progress-card{
    position:relative;
    z-index:1;
    width:min(640px,100%);
    padding:27px;
    border-radius:20px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
    box-shadow:0 30px 90px rgba(0,0,0,.32);
}

.update-progress-card header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.update-file-meta{
    display:flex;
    justify-content:space-between;
    gap:14px;
    margin:18px 0 10px;
    color:var(--text-muted,#6f7f93);
}

.update-progress-track{
    height:14px;
    overflow:hidden;
    border-radius:999px;
    background:#e3eaf2;
}

.update-progress-value{
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#126fe5,#5fb7ff);
    transition:width .16s linear;
}

.update-progress-numbers{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin:8px 0 20px;
}

.update-progress-numbers strong{
    color:#126fe5;
    font-size:1.15rem;
}

.update-progress-numbers span{
    color:var(--text-muted,#6f7f93);
    font-size:.82rem;
    text-align:right;
}

.update-phase-list{
    display:grid;
    gap:8px;
}

.update-phase-list>div{
    display:grid;
    grid-template-columns:24px 1fr;
    align-items:center;
    gap:10px;
    padding:10px;
    border-radius:9px;
    background:#f4f7fb;
    color:#78899d;
}

.update-phase-list i{
    width:18px;
    height:18px;
    border:2px solid #bdc8d6;
    border-radius:50%;
}

.update-phase-list>div.active{
    color:#155baa;
    background:#eaf3ff;
}

.update-phase-list>div.active i{
    border-color:#126fe5;
    border-top-color:transparent;
    animation:loginSpin .8s linear infinite;
}

.update-phase-list>div.done{
    color:#176c43;
    background:#e8f7ef;
}

.update-phase-list>div.done i{
    display:grid;
    place-items:center;
    border-color:#22a06b;
    background:#22a06b;
}

.update-phase-list>div.done i:after{
    content:"✓";
    color:#fff;
    font-style:normal;
    font-size:.7rem;
}

.update-phase-list>div.error{
    color:#a62935;
    background:#fdebed;
}

.update-phase-list>div.error i{
    border-color:#d94350;
    background:#d94350;
}

.update-result{
    display:grid;
    gap:5px;
    margin-top:16px;
    padding:14px;
    border-radius:10px;
}

.update-result.success{background:#e8f7ef;color:#176c43}
.update-result.error{background:#fdebed;color:#a62935}
.update-result span{font-size:.86rem;line-height:1.45}

.update-progress-card footer{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:16px;
}

html[data-theme="dark"] .enterprise-roomplan,
html[data-theme="dark"] .enterprise-room-number,
html[data-theme="dark"] .enterprise-room-category,
html[data-theme="dark"] .roomplan-enterprise-toolbar,
html[data-theme="dark"] .housekeeping-row,
html[data-theme="dark"] .update-progress-card{
    background:#1d2c40;
    border-color:#34465d;
}

html[data-theme="dark"] .enterprise-roomplan-header,
html[data-theme="dark"] .sticky-room,
html[data-theme="dark"] .sticky-category{
    background:#223249;
}

html[data-theme="dark"] .room-detail-grid>div,
html[data-theme="dark"] .room-detail-description,
html[data-theme="dark"] .room-detail-note,
html[data-theme="dark"] .selected-update-file,
html[data-theme="dark"] .update-security-steps>div,
html[data-theme="dark"] .update-phase-list>div{
    background:#223249;
}

@media(max-width:1200px){
    .dashboard-enterprise-grid{grid-template-columns:repeat(2,1fr)}
    .housekeeping-row{grid-template-columns:1.2fr 1.2fr 1fr auto}
    .housekeeping-note{display:none}
}

@media(max-width:900px){
    .roomplan-enterprise-toolbar{align-items:stretch;flex-direction:column}
    .roomplan-toolbar-groups{justify-content:space-between}
    .housekeeping-filters{grid-template-columns:1fr 1fr}
    .filter-search{grid-column:1/-1}
    .housekeeping-row{grid-template-columns:1fr 1fr}
    .housekeeping-actions{justify-self:end}
    .room-detail-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:650px){
    .dashboard-enterprise-grid{grid-template-columns:1fr}
    .hk-stats.enterprise{grid-template-columns:1fr 1fr}
    .housekeeping-filters{grid-template-columns:1fr}
    .filter-search{grid-column:auto}
    .housekeeping-row{grid-template-columns:1fr}
    .housekeeping-actions{justify-self:start}
    .room-status-chart{grid-template-columns:1fr;justify-items:center}
    .update-security-steps{grid-template-columns:1fr}
    .room-detail-grid{grid-template-columns:1fr}
    .update-file-meta{align-items:flex-start;flex-direction:column}
}

/* =========================================================
   Luca Smart PMS 1.6.0 — Zimmerumzug & Housekeeping-Regeln
   ========================================================= */

/* Fix: Zimmernummern im Housekeeping vollständig und zentriert */
.room-number-badge{
    position:static !important;
    min-width:64px;
    width:64px;
    height:54px;
    display:grid;
    place-items:center;
    padding:0;
    overflow:visible;
    border-radius:13px;
    background:linear-gradient(135deg,#126fe5,#318af0);
    color:#fff !important;
    font-size:1rem;
    font-weight:900;
    line-height:1;
    text-align:center;
    text-indent:0;
}

.housekeeping-room{
    min-width:0;
}

.housekeeping-room>div{
    min-width:0;
}

.housekeeping-room strong,
.housekeeping-room small{
    overflow-wrap:anywhere;
}

.enterprise-plan-bar[draggable="true"]{
    cursor:grab;
}

.enterprise-plan-bar.dragging{
    opacity:.45;
    cursor:grabbing;
}

.enterprise-room-row.drag-over .enterprise-timeline,
.enterprise-room-row.drag-over .enterprise-room-number,
.enterprise-room-row.drag-over .enterprise-room-category{
    background:#e9f4ff;
    box-shadow:inset 0 0 0 2px #126fe5;
}

.room-move-modal-card{
    width:min(720px,calc(100vw - 32px));
}

.room-move-summary{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:10px;
    margin:12px 0 18px;
}

.room-move-summary>div{
    padding:14px;
    border-radius:11px;
    background:#f4f7fb;
}

.room-move-summary span{
    display:block;
    margin-bottom:5px;
    color:#718198;
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
}

.room-move-modal-card form{
    display:grid;
    gap:14px;
}

.room-move-modal-card label{
    display:grid;
    gap:7px;
    font-weight:800;
}

.room-move-modal-card textarea{
    min-height:110px;
    padding:12px;
    border:1px solid #cad4e1;
    border-radius:11px;
    font:inherit;
}

.room-move-rule{
    display:grid;
    gap:5px;
    padding:14px;
    border-radius:11px;
    background:#fff5dc;
    color:#7a5300;
}

.room-move-rule span{
    font-size:.88rem;
    line-height:1.45;
}

.room-move-result{
    display:grid;
    gap:5px;
    padding:14px;
    border-radius:11px;
}

.room-move-result.success{
    background:#e8f7ef;
    color:#176c43;
}

.room-move-result.error{
    background:#fdebed;
    color:#a62935;
}

.room-move-result span{
    line-height:1.45;
}

.room-move-modal-card footer{
    display:flex;
    justify-content:flex-end;
    gap:9px;
}

.room-move-room{
    display:inline-grid;
    min-width:48px;
    place-items:center;
    padding:7px 10px;
    border-radius:9px;
    font-weight:900;
}

.room-move-room.old{
    background:#fff1db;
    color:#925900;
}

.room-move-room.new{
    background:#e5f6ec;
    color:#176c43;
}

html[data-theme="dark"] .room-move-summary>div{
    background:#223249;
}

html[data-theme="dark"] .room-move-modal-card textarea{
    background:#142236;
    border-color:#40536c;
    color:#edf5ff;
}

@media(max-width:650px){
    .room-move-summary{
        grid-template-columns:1fr;
    }

    .room-number-badge{
        min-width:56px;
        width:56px;
        height:48px;
    }
}

/* =========================================================
   Luca Smart PMS 1.6.1 — Housekeeping-Korrektur
   ========================================================= */

.housekeeping-filter-notice{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
    padding:15px 17px;
    border:1px solid #f0c36f;
    border-radius:13px;
    background:#fff7e4;
    color:#7a5300;
}

.housekeeping-filter-notice strong,
.housekeeping-filter-notice span{
    display:block;
}

.housekeeping-filter-notice span{
    margin-top:3px;
    font-size:.85rem;
}

.housekeeping-list-actions{
    display:flex;
    gap:8px;
}

.room-number-badge{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    min-width:70px !important;
    width:70px !important;
    height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    overflow:hidden !important;
    border-radius:14px !important;
    color:#fff !important;
    font-size:1.05rem !important;
    font-weight:900 !important;
    line-height:1 !important;
    text-align:center !important;
    text-indent:0 !important;
    white-space:nowrap !important;
}

.room-number-badge::before,
.room-number-badge::after{
    content:none !important;
    display:none !important;
}

.housekeeping-row-complete{
    min-height:86px;
}

.housekeeping-row-complete .housekeeping-room{
    overflow:visible;
}

.housekeeping-row-complete .housekeeping-status,
.housekeeping-row-complete .housekeeping-note,
.housekeeping-row-complete .housekeeping-actions{
    min-width:0;
}

html[data-theme="dark"] .housekeeping-filter-notice{
    border-color:#805f26;
    background:#3a3020;
    color:#ffd88a;
}

@media(max-width:900px){
    .housekeeping-filter-notice{
        align-items:flex-start;
        flex-direction:column;
    }

    .housekeeping-row-complete{
        grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr);
    }
}

@media(max-width:650px){
    .room-number-badge{
        min-width:64px !important;
        width:64px !important;
        height:54px !important;
    }

    .housekeeping-row-complete{
        grid-template-columns:1fr;
    }

    .housekeeping-list-actions{
        width:100%;
    }

    .housekeeping-list-actions .btn{
        width:100%;
    }
}

/* =========================================================
   Luca Smart PMS 1.7.0 — Front Office Workflow
   ========================================================= */

.task-stat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:13px;
    margin-bottom:18px;
}

.task-stat-grid a{
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:16px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
    text-decoration:none;
}

.task-stat-grid a.urgent{
    border-color:#efb2b7;
    background:#fff1f2;
}

.task-stat-grid span{
    color:var(--text-muted,#6f7f93);
    font-weight:800;
}

.task-stat-grid strong{
    color:#126fe5;
    font-size:2rem;
}

.task-stat-grid .urgent strong{
    color:#c92f3e;
}

.task-filter-grid{
    display:grid;
    grid-template-columns:2fr repeat(3,1fr) auto;
    gap:11px;
}

.task-filter-grid label{
    display:grid;
    gap:6px;
    font-size:.82rem;
    font-weight:800;
}

.task-filter-grid input,
.task-filter-grid select{
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cad4e1;
    border-radius:10px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
}

.task-list{
    display:grid;
    gap:9px;
}

.task-row{
    position:relative;
    display:grid;
    grid-template-columns:7px minmax(0,1fr) auto auto;
    align-items:center;
    gap:14px;
    padding:14px;
    overflow:hidden;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:13px;
    background:var(--surface,#fff);
}

.task-priority-indicator{
    align-self:stretch;
    border-radius:999px;
    background:#7b8ba0;
}

.priority-low .task-priority-indicator{background:#7b8ba0}
.priority-normal .task-priority-indicator{background:#2f80ed}
.priority-high .task-priority-indicator{background:#f59e0b}
.priority-urgent .task-priority-indicator{background:#d94350}

.task-title-line{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.task-main p{
    margin:7px 0;
    color:var(--text-muted,#6f7f93);
}

.task-meta{
    display:flex;
    gap:11px;
    flex-wrap:wrap;
    color:var(--text-muted,#6f7f93);
    font-size:.78rem;
}

.task-meta a{
    color:#126fe5;
    text-decoration:none;
    font-weight:750;
}

.task-priority{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
}

.task-priority.low{background:#edf0f4;color:#58687b}
.task-priority.normal{background:#e6f0ff;color:#155baa}
.task-priority.high{background:#fff1db;color:#925900}
.task-priority.urgent{background:#fde7e9;color:#a62935}

.task-actions{
    display:flex;
    gap:6px;
}

.task-modal-card{
    width:min(760px,calc(100vw - 32px));
}

.checkin-wizard-card{
    overflow:hidden;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:20px;
    background:var(--surface,#fff);
    box-shadow:var(--enterprise-shadow,0 12px 35px rgba(16,44,78,.08));
}

.checkin-steps{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:0;
    border-bottom:1px solid var(--enterprise-border,#dfe6ef);
    background:#f4f7fb;
}

.checkin-steps button{
    min-height:82px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:6px;
    padding:10px;
    border:0;
    border-right:1px solid var(--enterprise-border,#dfe6ef);
    background:transparent;
    color:#74859a;
    cursor:pointer;
}

.checkin-steps button:last-child{
    border-right:0;
}

.checkin-steps button span{
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#dfe6ef;
    font-weight:900;
}

.checkin-steps button strong{
    font-size:.75rem;
}

.checkin-steps button.active{
    color:#126fe5;
    background:#eaf3ff;
}

.checkin-steps button.active span{
    background:#126fe5;
    color:#fff;
}

.checkin-steps button.done{
    color:#176c43;
}

.checkin-steps button.done span{
    background:#22a06b;
    color:#fff;
}

.checkin-wizard-form>section{
    min-height:440px;
    padding:30px;
}

.checkin-wizard-form h2{
    margin:8px 0 20px;
    font-size:1.7rem;
}

.checkin-review-grid,
.checkin-final-summary{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:11px;
}

.checkin-review-grid>div,
.checkin-final-summary>div{
    padding:15px;
    border-radius:12px;
    background:#f4f7fb;
}

.checkin-review-grid span,
.checkin-final-summary span{
    display:block;
    margin-bottom:5px;
    color:#718198;
    font-size:.75rem;
    font-weight:800;
    text-transform:uppercase;
}

.wizard-note,
.wizard-success-note{
    margin-top:15px;
    padding:14px;
    border-radius:11px;
    background:#eaf3ff;
    color:#175da9;
}

.checkin-room-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
}

.checkin-room-option{
    cursor:pointer;
}

.checkin-room-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.checkin-room-option span{
    min-height:110px;
    display:grid;
    align-content:center;
    gap:5px;
    padding:15px;
    border:2px solid #d9e2ed;
    border-radius:13px;
    background:#fff;
}

.checkin-room-option input:checked+span{
    border-color:#126fe5;
    background:#eaf3ff;
    box-shadow:0 0 0 4px rgba(18,111,229,.1);
}

.checkin-room-option small,
.checkin-room-option em{
    color:#718198;
    font-style:normal;
}

.checkin-room-option em{
    color:#176c43;
    font-size:.78rem;
    font-weight:800;
}

.wizard-confirm-card{
    display:grid;
    gap:13px;
    padding:22px;
    border:1px solid #d9e2ed;
    border-radius:15px;
    background:#f8fafc;
}

.wizard-confirm-card p{
    margin:0;
    color:#66788f;
    line-height:1.55;
}

.wizard-task-check{
    margin-top:16px;
    padding:14px;
    border-radius:11px;
    background:#f4f7fb;
}

.checkin-wizard-footer{
    display:grid;
    grid-template-columns:auto 1fr auto auto;
    align-items:center;
    gap:10px;
    padding:17px 22px;
    border-top:1px solid var(--enterprise-border,#dfe6ef);
    background:#f7f9fc;
}

.checkin-wizard-footer>div{
    color:#718198;
    text-align:center;
    font-size:.82rem;
    font-weight:800;
}

.reservation-task-list{
    display:grid;
    gap:8px;
    margin-top:14px;
}

.reservation-task-list>div{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:9px;
    padding:11px;
    border-radius:10px;
    background:#f4f7fb;
}

.reservation-task-list small{
    color:#718198;
}

.dashboard-enterprise-card.tasks{
    background:linear-gradient(135deg,#283d62,#536f9d);
}

.dashboard-enterprise-card em{
    display:block;
    margin-top:3px;
    opacity:.75;
    font-size:.72rem;
    font-style:normal;
}

.dashboard-task-card{
    grid-column:1/-1;
}

.dashboard-task-list{
    display:grid;
    gap:8px;
}

.dashboard-task-item{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:11px;
    padding:11px;
    border-radius:10px;
    background:#f4f7fb;
    color:var(--text,#12243e);
    text-decoration:none;
}

.dashboard-task-item strong,
.dashboard-task-item small{
    display:block;
}

.dashboard-task-item small{
    margin-top:3px;
    color:#718198;
}

html[data-theme="dark"] .task-stat-grid a,
html[data-theme="dark"] .task-row,
html[data-theme="dark"] .checkin-wizard-card{
    background:#1d2c40;
    border-color:#34465d;
}

html[data-theme="dark"] .checkin-steps,
html[data-theme="dark"] .checkin-wizard-footer,
html[data-theme="dark"] .checkin-review-grid>div,
html[data-theme="dark"] .checkin-final-summary>div,
html[data-theme="dark"] .wizard-confirm-card,
html[data-theme="dark"] .wizard-task-check,
html[data-theme="dark"] .reservation-task-list>div,
html[data-theme="dark"] .dashboard-task-item{
    background:#223249;
}

html[data-theme="dark"] .checkin-room-option span{
    background:#1b2a3e;
    border-color:#40536c;
}

html[data-theme="dark"] .checkin-room-option input:checked+span{
    background:#203b5e;
    border-color:#58a5ff;
}

@media(max-width:1150px){
    .task-filter-grid{grid-template-columns:repeat(2,1fr)}
    .filter-search{grid-column:1/-1}
    .checkin-room-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:800px){
    .task-stat-grid{grid-template-columns:repeat(2,1fr)}
    .task-row{grid-template-columns:7px 1fr}
    .task-status,.task-actions{grid-column:2}
    .checkin-steps{grid-template-columns:repeat(3,1fr)}
    .checkin-review-grid,.checkin-final-summary{grid-template-columns:1fr}
}

@media(max-width:550px){
    .task-stat-grid{grid-template-columns:1fr}
    .task-filter-grid{grid-template-columns:1fr}
    .filter-search{grid-column:auto}
    .checkin-steps{grid-template-columns:repeat(2,1fr)}
    .checkin-room-grid{grid-template-columns:1fr}
    .checkin-wizard-form>section{padding:20px}
    .checkin-wizard-footer{grid-template-columns:1fr 1fr}
    .checkin-wizard-footer>div{grid-column:1/-1;grid-row:1}
}

/* =========================================================
   Luca Smart PMS 1.8.0 — Gästeprofile & Meldeschein
   ========================================================= */

.guest-filter-grid{
    display:grid;
    grid-template-columns:2fr 1fr auto;
    gap:11px;
}

.guest-filter-grid label{
    display:grid;
    gap:6px;
    font-size:.82rem;
    font-weight:800;
}

.guest-filter-grid input,
.guest-filter-grid select{
    min-height:46px;
    padding:10px 12px;
    border:1px solid #cad4e1;
    border-radius:10px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
}

.guest-profile-list{
    display:grid;
    gap:8px;
}

.guest-profile-row{
    display:grid;
    grid-template-columns:58px minmax(220px,1.6fr) repeat(5,minmax(90px,1fr));
    align-items:center;
    gap:13px;
    padding:13px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:13px;
    background:var(--surface,#fff);
    color:var(--text,#12243e);
    text-decoration:none;
}

.guest-profile-row.blocked{
    border-color:#e49aa1;
    background:#fff4f5;
}

.guest-avatar{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:linear-gradient(135deg,#126fe5,#60b5ff);
    color:#fff;
    font-weight:900;
}

.guest-profile-main strong,
.guest-profile-main small,
.guest-profile-row>div>span{
    display:block;
}

.guest-profile-main small,
.guest-profile-row>div>span{
    color:var(--text-muted,#6f7f93);
    font-size:.75rem;
}

.guest-profile-row>div>span{
    margin-bottom:4px;
    font-weight:800;
    text-transform:uppercase;
}

.guest-profile-layout{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(310px,.7fr);
    gap:18px;
}

.guest-profile-form{
    display:grid;
    gap:15px;
}

.guest-profile-form h2{
    margin:12px 0 0;
    padding-top:16px;
    border-top:1px solid var(--enterprise-border,#dfe6ef);
}

.guest-profile-form h2:first-of-type{
    margin-top:0;
    padding-top:0;
    border-top:0;
}

.preference-checks{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
}

.preference-checks label,
.guest-block-box>label:first-child{
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 12px;
    border-radius:10px;
    background:#f4f7fb;
}

.guest-block-box{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:10px;
    padding:13px;
    border-radius:12px;
    background:#fff1f2;
}

.payment-method-list{
    display:grid;
    gap:9px;
    margin-top:14px;
}

.payment-method-list>div{
    display:grid;
    gap:4px;
    padding:13px;
    border-radius:11px;
    background:#f4f7fb;
}

.payment-method-list span,
.payment-method-list small{
    color:#718198;
}

.security-note,
.pci-warning{
    display:grid;
    gap:4px;
    margin-top:13px;
    padding:13px;
    border-radius:11px;
    background:#e8f7ef;
    color:#176c43;
}

.payment-reference-box{
    display:grid;
    gap:14px;
    margin-top:16px;
    padding:17px;
    border:1px solid #cbd8e6;
    border-radius:14px;
    background:#f8fbff;
}

.payment-reference-box p{
    margin:5px 0 0;
    color:#65778e;
    line-height:1.5;
}

.registration-card-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:14px;
}

html[data-theme="dark"] .guest-profile-row,
html[data-theme="dark"] .payment-method-list>div,
html[data-theme="dark"] .preference-checks label,
html[data-theme="dark"] .payment-reference-box{
    background:#1d2c40;
    border-color:#40536c;
}

html[data-theme="dark"] .guest-block-box{
    background:#3c242a;
}

@media(max-width:1200px){
    .guest-profile-row{
        grid-template-columns:58px minmax(220px,1.6fr) repeat(3,minmax(90px,1fr));
    }
    .guest-profile-row>div:nth-last-child(-n+2){
        display:none;
    }
}

@media(max-width:900px){
    .guest-profile-layout{
        grid-template-columns:1fr;
    }
    .guest-profile-row{
        grid-template-columns:58px 1fr 100px;
    }
    .guest-profile-row>div:not(.guest-profile-main):not(.guest-avatar):last-child{
        display:block;
    }
    .guest-profile-row>div:nth-child(n+3):not(:last-child){
        display:none;
    }
}

@media(max-width:650px){
    .guest-filter-grid{
        grid-template-columns:1fr;
    }
    .guest-block-box{
        grid-template-columns:1fr;
    }
}

/* =========================================================
   Luca Smart PMS 1.9.0 — Card Validation & End of Day
   ========================================================= */

.card-reference-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px;
    border-radius:11px;
    background:#fff;
    border:1px solid #d8e2ed;
}

.card-reference-summary span,
.card-reference-summary strong,
.card-reference-summary small{
    display:block;
}

.card-reference-summary small{
    margin-top:4px;
    color:#718198;
}

.card-entry-modal-card{
    width:min(720px,calc(100vw - 32px));
}

.card-entry-form{
    display:grid;
    gap:14px;
}

.card-entry-form>label{
    display:grid;
    gap:7px;
    font-weight:800;
}

.card-entry-form input,
.card-entry-form select{
    min-height:48px;
    padding:11px 12px;
    border:1px solid #cad4e1;
    border-radius:10px;
    font:inherit;
}

.card-preview{
    min-height:210px;
    display:grid;
    align-content:space-between;
    padding:24px;
    border-radius:18px;
    background:linear-gradient(135deg,#0b2345,#176ec6);
    color:#fff;
    box-shadow:0 18px 38px rgba(11,35,69,.24);
}

.card-preview>span{
    font-weight:800;
    opacity:.88;
}

.card-preview>strong{
    margin:25px 0;
    font-size:1.55rem;
    letter-spacing:.08em;
}

.card-preview>div{
    display:flex;
    justify-content:space-between;
    gap:16px;
}

.card-validation-panel{
    display:grid;
    gap:5px;
    padding:14px;
    border-radius:11px;
    background:#f4f7fb;
    color:#5f7187;
}

.card-validation-panel.success{
    background:#e8f7ef;
    color:#176c43;
}

.card-validation-panel.error{
    background:#fdebed;
    color:#a62935;
}

.card-entry-form footer{
    display:flex;
    justify-content:flex-end;
    gap:8px;
}

.eod-date-form{
    display:flex;
    gap:8px;
    align-items:center;
}

.eod-date-form input{
    min-height:44px;
    padding:9px 11px;
    border:1px solid #cad4e1;
    border-radius:10px;
}

.eod-status-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:18px;
}

.eod-status-grid>div{
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:16px;
    background:var(--surface,#fff);
}

.eod-status-grid span{
    color:var(--text-muted,#6f7f93);
    font-weight:800;
}

.eod-status-grid strong{
    color:#126fe5;
    font-size:1.55rem;
}

.eod-layout{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);
    gap:18px;
}

.eod-check-list{
    display:grid;
    gap:9px;
    margin:16px 0;
}

.eod-check-list>div{
    display:grid;
    grid-template-columns:24px 1fr auto;
    align-items:center;
    gap:10px;
    padding:13px;
    border-radius:11px;
}

.eod-check-list i{
    width:18px;
    height:18px;
    display:grid;
    place-items:center;
    border-radius:50%;
}

.eod-check-list .ok{
    background:#e8f7ef;
    color:#176c43;
}

.eod-check-list .ok i{
    background:#22a06b;
}

.eod-check-list .ok i:after{
    content:"✓";
    color:#fff;
    font-style:normal;
    font-size:.7rem;
}

.eod-check-list .warning{
    background:#fff1db;
    color:#925900;
}

.eod-check-list .warning i{
    background:#f59e0b;
}

.eod-check-list .warning i:after{
    content:"!";
    color:#fff;
    font-style:normal;
    font-size:.7rem;
}

.eod-check-list .info{
    background:#eaf3ff;
    color:#175da9;
}

.eod-check-list .info i{
    background:#126fe5;
}

.eod-force-check{
    padding:13px;
    border-radius:10px;
    background:#fff1db;
    color:#925900;
}

.eod-completed-box{
    display:grid;
    gap:5px;
    margin-top:16px;
    padding:16px;
    border-radius:12px;
    background:#e8f7ef;
    color:#176c43;
}

.eod-issues{
    display:grid;
    gap:8px;
    margin:14px 0;
}

.eod-issues>div{
    padding:11px;
    border-radius:9px;
    background:#fff1db;
    color:#925900;
    font-weight:800;
}

.dashboard-enterprise-card.eod{
    background:linear-gradient(135deg,#384a63,#748ba8);
}

html[data-theme="dark"] .card-reference-summary,
html[data-theme="dark"] .eod-status-grid>div{
    background:#1d2c40;
    border-color:#40536c;
}

html[data-theme="dark"] .card-entry-form input,
html[data-theme="dark"] .card-entry-form select,
html[data-theme="dark"] .eod-date-form input{
    background:#142236;
    border-color:#40536c;
    color:#edf5ff;
}

@media(max-width:1100px){
    .eod-status-grid{grid-template-columns:repeat(2,1fr)}
    .eod-layout{grid-template-columns:1fr}
}

@media(max-width:650px){
    .eod-status-grid{grid-template-columns:1fr}
    .eod-date-form{align-items:stretch;flex-direction:column}
    .card-reference-summary{align-items:flex-start;flex-direction:column}
}

/* Luca Smart PMS 1.9.1 - End of Day Automation */
.eod-automation-list{display:grid;gap:10px;margin:18px 0}
.eod-automation-list>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:11px;padding:13px;border-radius:11px;background:#f4f7fb}
.eod-automation-list b{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#126fe5;color:#fff}
html[data-theme="dark"] .eod-automation-list>div{background:#223249}

/* Luca Smart PMS 1.10.0 - Mehrzimmer & Gruppenbuchungen */
.group-booking-form{display:grid;gap:18px}
.span-two{grid-column:span 2}
.group-room-lines{display:grid;gap:10px}
.group-room-line{display:grid;grid-template-columns:44px minmax(180px,1.4fr) minmax(180px,1.4fr) 110px 100px 130px auto;align-items:end;gap:10px;padding:13px;border:1px solid var(--enterprise-border,#dfe6ef);border-radius:13px;background:var(--surface,#fff)}
.group-room-line label{display:grid;gap:6px;font-size:.78rem;font-weight:800}
.group-room-line input,.group-room-line select{min-height:44px;padding:9px 10px;border:1px solid #cad4e1;border-radius:9px;background:var(--surface,#fff);color:var(--text,#12243e)}
.group-room-index{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#126fe5;color:#fff;font-weight:900}
.group-room-price{min-height:44px;display:grid;place-items:center;padding:8px;border-radius:9px;background:#eef5ff;color:#175da9;font-weight:900}
.group-booking-total{display:flex;justify-content:space-between;align-items:center;margin:16px 0;padding:16px;border-radius:12px;background:#0b2345;color:#fff}
.group-booking-total strong{font-size:1.5rem}
.group-booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.group-booking-summary>div{padding:17px;border:1px solid var(--enterprise-border,#dfe6ef);border-radius:15px;background:var(--surface,#fff)}
.group-booking-summary span{display:block;margin-bottom:5px;color:var(--text-muted,#6f7f93);font-size:.75rem;font-weight:800;text-transform:uppercase}
html[data-theme="dark"] .group-room-line,html[data-theme="dark"] .group-booking-summary>div{background:#1d2c40;border-color:#40536c}
html[data-theme="dark"] .group-room-line input,html[data-theme="dark"] .group-room-line select{background:#142236;border-color:#40536c;color:#edf5ff}
@media(max-width:1250px){.group-room-line{grid-template-columns:44px repeat(2,1fr) 100px 100px}.group-room-price{grid-column:2}.group-room-line>[data-remove-room]{grid-column:5}}
@media(max-width:800px){.group-booking-summary{grid-template-columns:repeat(2,1fr)}.group-room-line{grid-template-columns:44px 1fr}.group-room-line>*{grid-column:2}.group-room-index{grid-column:1;grid-row:1}.span-two{grid-column:auto}}
@media(max-width:520px){.group-booking-summary{grid-template-columns:1fr}}

/* Luca Smart PMS 1.10.1 - Gruppenpreise & Gruppenfrühstück */
.group-room-line.multi_room{
    grid-template-columns:44px minmax(200px,1.4fr) minmax(210px,1.3fr)
        110px 100px 130px auto;
}
.group-room-line.group{
    grid-template-columns:44px minmax(190px,1.2fr) minmax(150px,1fr)
        105px 95px minmax(190px,1.1fr) 125px auto;
}
.standard-rate-display{
    min-height:66px;
    display:grid;
    align-content:center;
    gap:4px;
    padding:10px 12px;
    border:1px solid #cbd8e6;
    border-radius:10px;
    background:#eef5ff;
}
.standard-rate-display span{
    color:#61758d;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
}
.standard-rate-display strong{
    color:#175da9;
}
.group-breakfast-option{
    min-height:66px;
    display:flex !important;
    align-items:center;
    gap:10px !important;
    padding:10px 12px;
    border:1px solid #e5c77d;
    border-radius:10px;
    background:#fff8e6;
    cursor:pointer;
}
.group-breakfast-option input{
    width:19px;
    height:19px;
    min-height:auto !important;
    accent-color:#126fe5;
}
.group-breakfast-option span,
.group-breakfast-option strong,
.group-breakfast-option small{
    display:block;
}
.group-breakfast-option small{
    margin-top:3px;
    color:#8a650e;
    font-size:.7rem;
}
.group-price-breakdown{
    display:grid;
    gap:8px;
    margin:16px 0;
    padding:15px;
    border-radius:13px;
    background:#f4f7fb;
}
.group-price-breakdown>div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    padding:8px 3px;
    border-bottom:1px solid #dbe4ee;
}
.group-price-breakdown>div:last-child{
    border-bottom:0;
}
.group-price-breakdown .grand{
    margin-top:3px;
    padding:13px;
    border-radius:10px;
    background:#0b2345;
    color:#fff;
}
.group-price-breakdown .grand strong{
    font-size:1.4rem;
}
html[data-theme="dark"] .standard-rate-display,
html[data-theme="dark"] .group-price-breakdown{
    background:#223249;
    border-color:#40536c;
}
html[data-theme="dark"] .group-breakfast-option{
    background:#3a3020;
    border-color:#805f26;
}
@media(max-width:1400px){
    .group-room-line.multi_room,
    .group-room-line.group{
        grid-template-columns:44px repeat(3,minmax(150px,1fr));
    }
    .group-room-line>*:nth-child(n+5){
        grid-column:auto;
    }
}
@media(max-width:850px){
    .group-room-line.multi_room,
    .group-room-line.group{
        grid-template-columns:44px 1fr;
    }
    .group-room-line.multi_room>*,
    .group-room-line.group>*{
        grid-column:2;
    }
    .group-room-line .group-room-index{
        grid-column:1;
        grid-row:1;
    }
}

/* Luca Smart PMS 1.10.2 - Dashboard Repair & Auto Assignment */
.auto-assignment-note{
    display:grid;
    gap:5px;
    margin-bottom:15px;
    padding:14px;
    border-radius:11px;
    background:#e8f7ef;
    color:#176c43;
}
.auto-assignment-note span{
    line-height:1.45;
}
.group-room-line.multi_room{
    grid-template-columns:44px minmax(190px,1.2fr) minmax(210px,1.3fr)
        105px 95px 125px auto;
}
@media(max-width:1250px){
    .group-room-line.multi_room{
        grid-template-columns:44px repeat(3,minmax(150px,1fr));
    }
}

/* Luca Smart PMS 1.11.0 - Zimmerblock, Popup und PM-Konto */
.booking-block-list{display:grid;gap:11px}
.booking-block-row{
    display:grid;
    grid-template-columns:44px minmax(180px,1.3fr) 105px minmax(170px,1.2fr)
        125px 110px minmax(180px,1.2fr) auto minmax(170px,1fr) 125px auto;
    align-items:end;
    gap:9px;
    padding:14px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:14px;
    background:var(--surface,#fff);
}
.booking-block-row label{display:grid;gap:6px;font-size:.76rem;font-weight:800}
.booking-block-row input,.booking-block-row select{
    min-height:44px;padding:9px 10px;border:1px solid #cad4e1;border-radius:9px;
    background:var(--surface,#fff);color:var(--text,#12243e)
}
.block-room-selection{
    min-height:44px;display:flex;align-items:center;padding:9px 11px;border-radius:9px;
    background:#eef5ff;color:#175da9;font-size:.78rem;font-weight:850
}
.pm-account-note{
    display:grid;gap:5px;margin-bottom:15px;padding:15px;border-radius:12px;
    background:linear-gradient(135deg,#e8f2ff,#eef8ff);color:#12549d;
    border:1px solid #bed8f3
}
.room-selection-modal-card{width:min(920px,calc(100vw - 32px))}
.room-selection-toolbar{
    display:grid;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:10px;
    padding:13px;border-radius:11px;background:#f4f7fb;margin-bottom:14px
}
.room-selection-toolbar span,.room-selection-toolbar strong{display:block}
.room-selection-toolbar span{font-size:.7rem;color:#718198;text-transform:uppercase;font-weight:800}
.room-selection-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
    max-height:480px;overflow:auto;padding:3px
}
.room-selection-option{cursor:pointer}
.room-selection-option input{position:absolute;opacity:0;pointer-events:none}
.room-selection-option span{
    min-height:104px;display:grid;align-content:center;gap:5px;padding:13px;
    border:2px solid #d9e2ed;border-radius:12px;background:#fff
}
.room-selection-option input:checked+span{
    border-color:#126fe5;background:#eaf3ff;box-shadow:0 0 0 3px rgba(18,111,229,.1)
}
.room-selection-option small,.room-selection-option em{
    color:#718198;font-style:normal;font-size:.75rem
}
.room-selection-option em{color:#176c43;font-weight:800}
.room-selection-message{margin-top:12px;padding:12px;border-radius:10px}
.room-selection-message.error{background:#fdebed;color:#a62935}
.room-selection-modal-card footer{
    display:flex;justify-content:flex-end;gap:8px;margin-top:15px
}
html[data-theme="dark"] .booking-block-row,
html[data-theme="dark"] .room-selection-toolbar,
html[data-theme="dark"] .room-selection-option span{
    background:#1d2c40;border-color:#40536c
}
html[data-theme="dark"] .pm-account-note{background:#203b5e;border-color:#416c9d;color:#b9dcff}
@media(max-width:1500px){
    .booking-block-row{grid-template-columns:44px repeat(4,minmax(145px,1fr))}
}
@media(max-width:950px){
    .room-selection-grid{grid-template-columns:repeat(2,1fr)}
    .booking-block-row{grid-template-columns:44px 1fr}
    .booking-block-row>*{grid-column:2}
    .booking-block-row .group-room-index{grid-column:1;grid-row:1}
}
@media(max-width:550px){
    .room-selection-grid{grid-template-columns:1fr}
    .room-selection-toolbar{grid-template-columns:1fr 1fr}
}

/* Luca Smart PMS 1.12.0 - Operations Foundation */
.maintenance-list{display:grid;gap:9px}
.maintenance-row{
    display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;
    gap:14px;padding:14px;border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:13px;background:var(--surface,#fff)
}
.maintenance-row p{margin:7px 0;color:var(--text-muted,#6f7f93)}
.maintenance-row small{color:var(--text-muted,#6f7f93)}
.dashboard-enterprise-card.maintenance{background:linear-gradient(135deg,#5f4428,#a77a43)}
.dashboard-enterprise-card.folios{background:linear-gradient(135deg,#176c43,#32a76f)}
html[data-theme="dark"] .maintenance-row{background:#1d2c40;border-color:#40536c}
@media(max-width:700px){
    .maintenance-row{grid-template-columns:1fr}
    .maintenance-row .task-actions{justify-content:flex-start}
}

/* Luca Smart PMS 1.12.1 - PM-Konten & No-Show */
.pm-floor-heading{
    margin-top:20px;
    background:linear-gradient(135deg,#1c3558,#315b8b);
    color:#fff;
}
.pm-room-plan-grid{
    display:grid;
    grid-template-columns:repeat(10,minmax(105px,1fr));
    gap:8px;
    padding:12px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-top:0;
    background:#eef3f9;
}
.pm-room-plan-card{
    min-height:90px;
    display:grid;
    align-content:space-between;
    gap:7px;
    padding:10px;
    border:1px solid #c9d5e3;
    border-radius:11px;
    background:#fff;
    color:#142a45;
    text-decoration:none;
}
.pm-room-plan-card>div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:6px;
}
.pm-room-plan-card strong{font-size:1.05rem}
.pm-room-plan-card small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#65778d;
}
.pm-room-plan-card em{
    color:#176c43;
    font-size:.7rem;
    font-style:normal;
    font-weight:800;
}
.pm-room-plan-card.status-occupied{
    border-color:#d99aa1;
    background:#fff0f2;
}
.pm-room-plan-card.status-occupied em{color:#a62935}
html[data-theme="dark"] .pm-room-plan-grid{background:#162438;border-color:#40536c}
html[data-theme="dark"] .pm-room-plan-card{background:#1d2c40;border-color:#40536c;color:#edf5ff}
@media(max-width:1400px){.pm-room-plan-grid{grid-template-columns:repeat(8,minmax(105px,1fr))}}
@media(max-width:1000px){.pm-room-plan-grid{grid-template-columns:repeat(5,minmax(105px,1fr))}}
@media(max-width:650px){.pm-room-plan-grid{grid-template-columns:repeat(2,minmax(105px,1fr))}}

/* Luca Smart PMS 1.12.2 - Gästeabrechnung */
.guest-profile-billing-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
    background:linear-gradient(135deg,#f5f9ff,#eaf4ff);
}
.guest-profile-billing-card p{margin-bottom:0;color:#65778d}
.guest-billing-mini-summary{
    display:flex;
    align-items:center;
    gap:18px;
}
.guest-billing-mini-summary>div span,
.guest-billing-mini-summary>div strong{
    display:block;
}
.guest-billing-mini-summary>div span{
    margin-bottom:4px;
    color:#718198;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
}
.guest-billing-layout{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(310px,.65fr);
    gap:18px;
}
.guest-billing-layout main{
    display:grid;
    gap:16px;
}
.guest-folio-card .section-head{
    align-items:flex-start;
}
.folio-balance{
    display:grid;
    justify-items:end;
    gap:5px;
}
.folio-balance span{
    color:#718198;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
}
.folio-balance strong{
    color:#126fe5;
    font-size:1.5rem;
}
html[data-theme="dark"] .guest-profile-billing-card{
    background:linear-gradient(135deg,#1d2c40,#203b5e);
}
@media(max-width:950px){
    .guest-billing-layout{grid-template-columns:1fr}
    .guest-profile-billing-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:650px){
    .guest-billing-mini-summary{
        width:100%;
        align-items:flex-start;
        flex-direction:column;
    }
    .folio-balance{justify-items:start}
}

/* Luca Smart PMS 1.13.0 – Reservierungsdetails */
.reservation-details-head{align-items:flex-start}
.reservation-detail-actions{max-width:780px;justify-content:flex-end}
.reservation-summary-strip{
    display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px
}
.reservation-summary-strip>div{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:16px 18px;border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:15px;background:var(--surface,#fff)
}
.reservation-summary-strip span{
    color:var(--text-muted,#6f7f93);font-size:.75rem;font-weight:850;text-transform:uppercase
}
.reservation-summary-strip strong{color:#126fe5;font-size:1.25rem}
.reservation-detail-quadrants{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:18px;align-items:start
}
.reservation-detail-panel{padding:0;overflow:hidden}
.reservation-detail-panel>summary{
    display:flex;align-items:center;justify-content:space-between;gap:15px;
    padding:20px 22px;cursor:pointer;list-style:none;user-select:none
}
.reservation-detail-panel>summary::-webkit-details-marker{display:none}
.reservation-detail-panel>summary h2{margin:3px 0 0}
.collapse-indicator{
    width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;
    border-radius:10px;background:#eaf3ff;color:#126fe5
}
.collapse-indicator:before{content:"＋";font-size:1.2rem;font-weight:900}
.reservation-detail-panel[open] .collapse-indicator:before{content:"−"}
.collapsible-panel-content{
    padding:0 22px 22px;border-top:1px solid var(--enterprise-border,#dfe6ef)
}
.guest-profile-detail-grid,.average-rate-facts{
    display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0
}
.guest-profile-detail-grid>div,.average-rate-facts>div{
    padding:13px;border-radius:11px;background:#f4f7fb
}
.guest-profile-detail-grid span,.average-rate-facts span{
    display:block;margin-bottom:5px;color:#718198;font-size:.7rem;
    font-weight:850;text-transform:uppercase
}
.guest-profile-detail-grid .span-two{grid-column:span 2}
.average-rate-hero{
    display:grid;gap:6px;margin:18px 0;padding:22px;border-radius:16px;
    background:linear-gradient(135deg,#0d4f9b,#1674db);color:#fff
}
.average-rate-hero span{font-size:.75rem;font-weight:850;text-transform:uppercase;opacity:.82}
.average-rate-hero strong{font-size:2.25rem}
.average-rate-hero small{opacity:.84}
.reservation-booking-facts{margin-top:18px}
.reservation-subsection{
    margin-top:18px;padding-bottom:18px;border-bottom:1px solid var(--enterprise-border,#dfe6ef)
}
.reservation-subsection-head{
    display:flex;align-items:flex-start;justify-content:space-between;gap:16px
}
.reservation-subsection h3{margin:4px 0 0;font-size:1.25rem}
.folio-inline-balance{display:grid;justify-items:end;gap:4px}
.folio-inline-balance span{
    color:#718198;font-size:.7rem;font-weight:850;text-transform:uppercase
}
.folio-inline-balance strong{color:#126fe5;font-size:1.35rem}
.folio-inline-postings{display:grid;gap:7px;margin:14px 0}
.folio-inline-postings>div{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px;border-radius:10px;background:#f4f7fb
}
.folio-inline-postings span,.folio-inline-postings strong,.folio-inline-postings small{display:block}
.folio-inline-postings small{margin-top:3px;color:#718198}
.reservation-nested-details{
    margin-top:14px;border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:11px;overflow:hidden
}
.reservation-nested-details>summary{
    display:flex;align-items:center;justify-content:space-between;padding:13px 14px;
    background:#f4f7fb;cursor:pointer;font-weight:850;list-style:none
}
.reservation-nested-details>summary::-webkit-details-marker{display:none}
.reservation-nested-details>summary em{
    min-width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
    background:#126fe5;color:#fff;font-style:normal;font-size:.75rem
}
.reservation-nested-details>div{padding:14px}
html[data-theme="dark"] .reservation-summary-strip>div,
html[data-theme="dark"] .guest-profile-detail-grid>div,
html[data-theme="dark"] .average-rate-facts>div,
html[data-theme="dark"] .folio-inline-postings>div,
html[data-theme="dark"] .reservation-nested-details>summary{
    background:#1d2c40;border-color:#40536c
}
@media(max-width:1100px){
    .reservation-detail-quadrants{grid-template-columns:1fr}
    .reservation-summary-strip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
    .reservation-summary-strip{grid-template-columns:1fr}
    .guest-profile-detail-grid,.average-rate-facts{grid-template-columns:1fr}
    .guest-profile-detail-grid .span-two{grid-column:auto}
    .reservation-subsection-head{flex-direction:column}
    .folio-inline-balance{justify-items:start}
}

[data-gastro-room-field][hidden],[data-gastro-pm-field][hidden]{display:none!important}

/* Luca Smart PMS 1.15.0 – Rechnungs- und Zahlungsmodul */
.folio-financial-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:18px;
}
.folio-financial-summary>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:14px;
    background:var(--surface,#fff);
}
.folio-financial-summary span{
    color:var(--text-muted,#6f7f93);
    font-size:.74rem;
    font-weight:850;
    text-transform:uppercase;
}
.folio-financial-summary strong{
    color:#126fe5;
    font-size:1.25rem;
}
.folio-professional-layout{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(300px,.65fr);
    gap:18px;
}
.folio-professional-layout main,
.folio-professional-layout aside{
    display:grid;
    gap:16px;
    align-content:start;
}
@media(max-width:1050px){
    .folio-professional-layout{grid-template-columns:1fr}
    .folio-financial-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
    .folio-financial-summary{grid-template-columns:1fr}
}

/* Luca Smart PMS 1.15.1 – Kompaktes Folio */
.compact-folio-head{align-items:flex-start}
.folio-compact-summary{
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px
}
.folio-compact-summary>div{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:13px 15px;border:1px solid var(--enterprise-border,#dfe6ef);
    border-radius:12px;background:var(--surface,#fff)
}
.folio-compact-summary span{
    color:var(--text-muted,#6f7f93);font-size:.7rem;font-weight:850;text-transform:uppercase
}
.folio-compact-summary strong{font-size:1.1rem;color:#126fe5}
.compact-folio-card{padding:16px}
.compact-folio-table th,.compact-folio-table td{padding:9px 10px}
.compact-folio-table .amount-negative{color:#176c43}
.compact-folio-table .amount-positive{color:#142a45}
.compact-folio-table tr.is-reversed{
    opacity:.52;text-decoration:line-through
}
.compact-action-modal{width:min(520px,calc(100vw - 28px))}
.invoice-launch-modal{width:min(560px,calc(100vw - 28px))}
.invoice-preview-warning,.invoice-original-ready{
    margin:14px 0;padding:14px;border-radius:11px
}
.invoice-preview-warning{background:#fff3d9;color:#7a5600}
.invoice-original-ready{background:#e7f7ef;color:#176c43}
.invoice-preview-warning strong,.invoice-original-ready strong{display:block;margin-bottom:5px}
@media(max-width:900px){
    .folio-compact-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
    .folio-compact-summary{grid-template-columns:1fr}
}

/* Luca Smart PMS 1.16.0 – Aufgeräumte Navigation */
.sidebar{
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
}
.sidebar-navigation{
    display:grid!important;
    gap:7px!important;
}
.sidebar-home-link{
    min-height:46px;
    font-size:15px!important;
    font-weight:850;
}
.sidebar-nav-group{
    overflow:hidden;
    border:1px solid transparent;
    border-radius:11px;
}
.sidebar-nav-group[open]{
    background:rgba(255,255,255,.045);
    border-color:rgba(255,255,255,.08);
}
.sidebar-nav-group>summary{
    min-height:43px;
    display:grid;
    grid-template-columns:23px 1fr 20px;
    align-items:center;
    gap:10px;
    padding:10px 11px;
    border-radius:9px;
    color:#cbd9ea;
    cursor:pointer;
    list-style:none;
    font-size:14px;
    font-weight:780;
    user-select:none;
}
.sidebar-nav-group>summary::-webkit-details-marker{
    display:none;
}
.sidebar-nav-group>summary:hover{
    background:rgba(255,255,255,.075);
    color:#fff;
}
.sidebar-nav-chevron{
    display:grid;
    place-items:center;
    font-size:20px;
    line-height:1;
    transition:transform .18s ease;
}
.sidebar-nav-group[open]>summary .sidebar-nav-chevron{
    transform:rotate(90deg);
}
.sidebar-nav-items{
    display:grid;
    gap:3px;
    padding:0 6px 7px 18px;
}
.sidebar nav .sidebar-nav-items a{
    min-height:38px;
    padding:8px 10px;
    border-radius:8px;
    font-size:13px;
}
.sidebar nav .sidebar-nav-items a .nav-icon{
    opacity:.88;
    font-size:13px;
}
.sidebar nav .sidebar-nav-items a.active{
    background:#1476dc;
    color:#fff;
    box-shadow:0 6px 15px rgba(0,0,0,.14);
}
.sidebar-shortcuts{
    margin-top:14px;
}
@media(max-width:800px){
    .sidebar-navigation{
        padding-bottom:12px;
    }
}

/* Luca Smart PMS 1.17.2 – Dashboard 1:1 Umsetzung */
.dashboard-icon-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
    margin:4px 0 22px;
}
.dashboard-icon-tile{
    position:relative;
    min-height:236px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:22px;
    padding:26px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    color:#102743;
    box-shadow:0 8px 24px rgba(26,52,84,.08);
    cursor:pointer;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.dashboard-icon-tile:hover,
.dashboard-icon-tile.active{
    transform:translateY(-2px);
    box-shadow:0 15px 34px rgba(26,52,84,.13);
}
.dashboard-icon-tile.active.tile-arrivals{border-color:#8fd7b2}
.dashboard-icon-tile.active.tile-inhouse{border-color:#a9c9f0}
.dashboard-icon-tile.active.tile-departures{border-color:#f1bf8b}
.dashboard-icon-tile.active.tile-reservations{border-color:#c6b0ef}
.dashboard-tile-count{
    position:absolute;
    top:17px;
    right:17px;
    min-width:32px;
    height:32px;
    display:grid;
    place-items:center;
    padding:0 8px;
    border-radius:999px;
    background:#f0f4f8;
    color:#102743;
    font-size:.8rem;
    font-weight:900;
}
.dashboard-tile-icon{
    width:106px;
    height:106px;
    display:grid;
    place-items:center;
    border-radius:50%;
}
.dashboard-tile-icon svg{
    width:58px;
    height:58px;
    fill:none;
    stroke:currentColor;
    stroke-width:3.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.dashboard-tile-label{
    font-size:1.28rem;
    font-weight:900;
    opacity:1;
    transform:none;
}
.tile-arrivals .dashboard-tile-icon{background:#daf5e7;color:#07975a}
.tile-inhouse .dashboard-tile-icon{background:#deebff;color:#126fe5}
.tile-departures .dashboard-tile-icon{background:#fff0df;color:#df6900}
.tile-reservations .dashboard-tile-icon{background:#ece3ff;color:#6936d7}

.dashboard-workspace{
    min-height:570px;
    border:1px solid #e2e8f0;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(26,52,84,.08);
    overflow:hidden;
}
.dashboard-empty-selection{
    min-height:570px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:12px;
    padding:34px;
    text-align:center;
}
.dashboard-empty-selection[hidden]{display:none!important}
.dashboard-empty-selection h2{
    margin:6px 0 0;
    color:#102743;
    font-size:1.55rem;
}
.dashboard-empty-selection p{
    max-width:520px;
    margin:0;
    color:#5e7390;
    font-size:1rem;
    line-height:1.55;
}
.dashboard-empty-icon{
    width:170px;
    height:150px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:radial-gradient(circle,#eaf2ff 0,#f7faff 66%,transparent 67%);
    color:#b5c7df;
}
.dashboard-empty-icon svg{
    width:108px;
    height:108px;
    fill:#d6e2f2;
    stroke:#b4c7df;
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.dashboard-dynamic-panel{
    padding:26px;
    animation:dashboardPanelIn .18s ease;
}
.dashboard-dynamic-panel[hidden]{display:none!important}
@keyframes dashboardPanelIn{
    from{opacity:0;transform:translateY(5px)}
    to{opacity:1;transform:none}
}
.dashboard-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
}
.dashboard-panel-title{
    display:flex;
    align-items:center;
    gap:15px;
}
.dashboard-panel-title h2{
    margin:0 0 5px;
    color:#102743;
    font-size:1.45rem;
}
.dashboard-panel-title p{margin:0;color:#5e7390}
.panel-icon{
    width:58px;
    height:58px;
    display:grid;
    place-items:center;
    border-radius:50%;
}
.panel-icon svg{
    width:34px;
    height:34px;
    fill:none;
    stroke:currentColor;
    stroke-width:3;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.panel-icon.arrivals{background:#daf5e7;color:#07975a}
.panel-icon.inhouse{background:#deebff;color:#126fe5}
.panel-icon.departures{background:#fff0df;color:#df6900}
.panel-icon.reservations{background:#ece3ff;color:#6936d7}
.dashboard-panel-toolbar{
    display:grid;
    grid-template-columns:minmax(280px,1fr) 240px;
    gap:14px;
    margin-bottom:15px;
}
.dashboard-search-field{
    position:relative;
}
.dashboard-search-field span{
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    color:#71839a;
    font-size:1.15rem;
}
.dashboard-panel-toolbar input,
.dashboard-panel-toolbar select{
    width:100%;
    min-height:45px;
    border:1px solid #d5deea;
    border-radius:10px;
    background:#fff;
    color:#102743;
}
.dashboard-panel-toolbar input{padding:10px 12px 10px 39px}
.dashboard-panel-toolbar select{padding:10px 12px}
.dashboard-live-table{
    border-collapse:separate;
    border-spacing:0;
    border:1px solid #e2e8f0;
    border-radius:12px;
    overflow:hidden;
}
.dashboard-live-table th{
    background:#f7f9fc;
    color:#102743;
    font-size:.75rem;
    font-weight:850;
}
.dashboard-live-table th,
.dashboard-live-table td{
    padding:12px 13px;
    white-space:nowrap;
    border-bottom:1px solid #e7edf4;
}
.dashboard-live-table tbody tr:last-child td{border-bottom:0}
.dashboard-row-actions{
    display:flex;
    align-items:center;
    gap:8px;
}
.dashboard-action-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:#284463;
    background:#f4f7fb;
}
.dashboard-action-icon:hover{background:#e7f0fc;color:#126fe5}
.dashboard-action-icon svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
html[data-theme="dark"] .dashboard-icon-tile,
html[data-theme="dark"] .dashboard-workspace,
html[data-theme="dark"] .dashboard-panel-toolbar input,
html[data-theme="dark"] .dashboard-panel-toolbar select{
    background:#1d2c40;
    border-color:#40536c;
    color:#edf5ff;
}
html[data-theme="dark"] .dashboard-empty-selection h2,
html[data-theme="dark"] .dashboard-panel-title h2{
    color:#edf5ff;
}
html[data-theme="dark"] .dashboard-live-table th{
    background:#23344b;
    color:#edf5ff;
}
@media(max-width:1100px){
    .dashboard-icon-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
    .dashboard-icon-grid{gap:11px}
    .dashboard-icon-tile{min-height:158px;padding:18px}
    .dashboard-tile-icon{width:76px;height:76px}
    .dashboard-tile-icon svg{width:43px;height:43px}
    .dashboard-tile-label{font-size:1rem}
    .dashboard-workspace,.dashboard-empty-selection{min-height:430px}
    .dashboard-panel-head{align-items:flex-start;flex-direction:column}
    .dashboard-panel-toolbar{grid-template-columns:1fr}
    .dashboard-dynamic-panel{padding:16px}
}


/* Luca Smart PMS 1.18.1 – Housekeeping-Benachrichtigungen */
.dashboard-housekeeping-alerts{
    margin-bottom:18px;padding:18px;border:1px solid #9fd9ba;border-radius:15px;
    background:#effbf5;box-shadow:0 7px 20px rgba(22,84,55,.08)
}
.dashboard-housekeeping-alerts[hidden]{display:none!important}
.dashboard-hk-alert-head{
    display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px
}
.dashboard-hk-alert-head h2{margin:3px 0 0}
.dashboard-hk-alert-count{
    min-width:35px;height:35px;display:grid;place-items:center;padding:0 8px;
    border-radius:999px;background:#07975a;color:#fff;font-weight:900
}
.dashboard-hk-alert-list{display:grid;gap:8px}
.dashboard-hk-alert-row{
    display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:11px;
    padding:11px;border-radius:11px;background:#fff;border:1px solid #d7ece1
}
.dashboard-hk-alert-icon{
    width:40px;height:40px;display:grid;place-items:center;border-radius:50%;
    background:#def6e9;color:#07975a;font-weight:950
}
.dashboard-hk-alert-row strong,.dashboard-hk-alert-row small{display:block}
.dashboard-hk-alert-row small{margin-top:4px;color:#60778c}
.dashboard-hk-alert-row button{
    min-height:34px;padding:7px 10px;border:0;border-radius:8px;
    background:#e9f0f6;color:#24415f;font-weight:850;cursor:pointer
}
@media(max-width:650px){
    .dashboard-hk-alert-row{grid-template-columns:36px 1fr}
    .dashboard-hk-alert-row button{grid-column:2;justify-self:start}
}
