
/* ==========================================================
   InnPilot v1.7.5 – Zentrales Design System
   ========================================================== */

:root{
    --ip-font: Inter, "Segoe UI", Arial, sans-serif;

    --ip-navy-950:#071b2c;
    --ip-navy-900:#0a2340;
    --ip-navy-800:#153654;
    --ip-navy-700:#244a68;

    --ip-gold-600:#b98625;
    --ip-gold-500:#d5a33d;
    --ip-gold-300:#ead39d;
    --ip-gold-100:#fff5dd;

    --ip-green-700:#287252;
    --ip-green-100:#e7f4ed;
    --ip-red-700:#a33e3e;
    --ip-red-100:#fdeaea;
    --ip-blue-700:#285f93;
    --ip-blue-100:#e7f0fa;
    --ip-orange-700:#936714;
    --ip-orange-100:#fff1d2;

    --ip-bg:#f5f7fa;
    --ip-surface:#ffffff;
    --ip-surface-muted:#f7f9fb;
    --ip-line:#e3e8ed;
    --ip-text:#14283b;
    --ip-muted:#687789;

    --ip-radius-xs:7px;
    --ip-radius-sm:9px;
    --ip-radius-md:12px;
    --ip-radius-lg:15px;

    --ip-shadow-sm:0 4px 14px rgba(15,38,60,.06);
    --ip-shadow-md:0 8px 26px rgba(15,38,60,.08);

    --ip-space-1:4px;
    --ip-space-2:8px;
    --ip-space-3:12px;
    --ip-space-4:16px;
    --ip-space-5:20px;
    --ip-space-6:24px;

    --ip-control-height:38px;
    --ip-transition:160ms ease;
}

/* Basis */
html,
body{
    font-family:var(--ip-font)!important;
    color:var(--ip-text)!important;
    background:var(--ip-bg)!important;
}
button,
input,
select,
textarea,
table{
    font-family:var(--ip-font)!important;
}
h1,h2,h3,h4,h5,h6{
    font-family:var(--ip-font)!important;
    color:var(--ip-navy-900);
    letter-spacing:-.02em;
}
h1{font-weight:800}
h2{font-weight:800}
h3{font-weight:750}
h4,h5,h6{font-weight:700}
p{color:var(--ip-muted)}

/* Kopfbereiche */
.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:var(--ip-space-4);
    margin-bottom:var(--ip-space-4)!important;
}
.section-head h2{
    margin:3px 0 0!important;
    font-size:24px!important;
    line-height:1.15!important;
}
.section-head p{
    margin:6px 0 0!important;
    font-size:11px!important;
    line-height:1.5!important;
}
.eyebrow{
    color:var(--ip-gold-600)!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:1.1px!important;
    text-transform:uppercase!important;
}

/* Einheitliche Karten */
.panel,
.modern-card,
.auth-card,
.guest-summary article,
.task-summary article,
.cash-kpis article,
.extension-card,
.extension-summary article,
.dashboard-finance-strip article,
.modern-kpis article{
    background:var(--ip-surface)!important;
    border:1px solid var(--ip-line)!important;
    border-radius:var(--ip-radius-md)!important;
    box-shadow:var(--ip-shadow-sm)!important;
}
.panel,
.modern-card{
    padding:var(--ip-space-4)!important;
}
.panel-head,
.modern-card-head,
.settings-section-head,
.extension-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:var(--ip-space-3);
}
.panel-head h3,
.modern-card h3,
.settings-section h3,
.extension-section h3{
    margin:0!important;
    font-size:16px!important;
    line-height:1.25!important;
}

/* Buttons */
.btn-primary,
.btn-secondary,
.danger-button,
.table-edit,
.icon-button,
.task-complete-button,
.task-delete-button,
.cash-pay-button,
.cash-reopen-button,
.checkin-button,
.checkout-button{
    min-height:var(--ip-control-height)!important;
    border-radius:var(--ip-radius-sm)!important;
    padding:0 13px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
    transition:
        transform var(--ip-transition),
        box-shadow var(--ip-transition),
        background var(--ip-transition),
        border-color var(--ip-transition)!important;
    cursor:pointer;
}
.btn-primary{
    border:1px solid var(--ip-navy-900)!important;
    background:var(--ip-navy-900)!important;
    color:#fff!important;
}
.btn-primary:hover{
    background:var(--ip-navy-800)!important;
    border-color:var(--ip-navy-800)!important;
    box-shadow:0 5px 14px rgba(10,35,64,.15)!important;
    transform:translateY(-1px);
}
.btn-secondary,
.table-edit{
    border:1px solid var(--ip-line)!important;
    background:#fff!important;
    color:var(--ip-navy-900)!important;
}
.btn-secondary:hover,
.table-edit:hover{
    border-color:#c8d1d9!important;
    background:var(--ip-surface-muted)!important;
    transform:translateY(-1px);
}
.danger-button,
.task-delete-button{
    border:1px solid var(--ip-red-100)!important;
    background:var(--ip-red-100)!important;
    color:var(--ip-red-700)!important;
}
.btn-primary.compact,
.btn-secondary.compact,
.table-edit,
.icon-button{
    min-height:31px!important;
    padding:0 10px!important;
    font-size:9px!important;
}

/* Formulare */
label{
    gap:6px!important;
    color:#526174!important;
    font-size:10px!important;
    font-weight:800!important;
}
input,
select,
textarea{
    min-height:var(--ip-control-height)!important;
    padding:8px 11px!important;
    border:1px solid #dbe2e8!important;
    border-radius:var(--ip-radius-sm)!important;
    background:#fbfcfd!important;
    color:var(--ip-text)!important;
    font-size:11px!important;
    outline:none!important;
    transition:border-color var(--ip-transition),box-shadow var(--ip-transition),background var(--ip-transition)!important;
}
textarea{
    min-height:76px!important;
    line-height:1.45!important;
}
input:focus,
select:focus,
textarea:focus{
    background:#fff!important;
    border-color:var(--ip-gold-500)!important;
    box-shadow:0 0 0 3px rgba(213,163,61,.13)!important;
}
input:disabled,
select:disabled,
textarea:disabled{
    background:#f0f3f6!important;
    color:#8b97a3!important;
}
.form-grid{
    gap:var(--ip-space-3)!important;
}
.form-grid.two{
    gap:var(--ip-space-3) var(--ip-space-4)!important;
}

/* Tabellen */
.responsive-table{
    overflow:auto;
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-sm);
}
.booking-table,
.guest-list-table,
.invoice-items-table{
    width:100%;
    border-collapse:separate!important;
    border-spacing:0!important;
}
.booking-table thead,
.guest-list-table thead,
.invoice-items-table thead{
    position:sticky;
    top:0;
    z-index:3;
    background:#f2f5f7!important;
}
.booking-table th,
.guest-list-table th,
.invoice-items-table th{
    padding:10px 11px!important;
    color:var(--ip-navy-900)!important;
    border-bottom:1px solid var(--ip-line)!important;
    font-size:8px!important;
    font-weight:900!important;
    letter-spacing:.45px!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
}
.booking-table td,
.guest-list-table td,
.invoice-items-table td{
    padding:10px 11px!important;
    border-bottom:1px solid #edf0f3!important;
    color:#34475a!important;
    font-size:10px!important;
    vertical-align:middle!important;
}
.booking-table tbody tr,
.guest-list-table tbody tr,
.invoice-items-table tbody tr{
    transition:background var(--ip-transition)!important;
}
.booking-table tbody tr:hover,
.guest-list-table tbody tr:hover,
.invoice-items-table tbody tr:hover{
    background:#fafbf8!important;
}
.booking-table tbody tr:last-child td,
.guest-list-table tbody tr:last-child td,
.invoice-items-table tbody tr:last-child td{
    border-bottom:0!important;
}

/* Status-Badges */
.pill,
.guest-badge,
.extension-status,
.task-priority,
.task-category,
.task-overdue,
.cash-method,
.reception-type{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:24px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    font-size:7px!important;
    font-weight:900!important;
    line-height:1!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
    white-space:nowrap!important;
}
.pill.available,
.pill.clean,
.pill.invoice-paid,
.pill.stay-checked_in{
    background:var(--ip-green-100)!important;
    color:var(--ip-green-700)!important;
}
.pill.occupied,
.pill.card{
    background:var(--ip-blue-100)!important;
    color:var(--ip-blue-700)!important;
}
.pill.arrival,
.pill.reserved,
.pill.invoice-open,
.pill.stay-reserved{
    background:var(--ip-orange-100)!important;
    color:var(--ip-orange-700)!important;
}
.pill.cleaning,
.pill.dirty{
    background:#fff0cd!important;
    color:#9b6f16!important;
}
.pill.blocked,
.pill.invoice-cancelled,
.pill.stay-checked_out{
    background:#eceff2!important;
    color:#626d78!important;
}
.pill.error,
.pill.overdue{
    background:var(--ip-red-100)!important;
    color:var(--ip-red-700)!important;
}

/* Meldungen */
.alert,
.flash,
.success-box{
    border-radius:var(--ip-radius-sm)!important;
    border:1px solid transparent!important;
    padding:10px 13px!important;
    font-size:10px!important;
    box-shadow:none!important;
}
.alert.success,
.flash.success,
.success-box{
    background:var(--ip-green-100)!important;
    color:var(--ip-green-700)!important;
    border-color:#cce7d8!important;
}
.alert.error,
.flash.error{
    background:var(--ip-red-100)!important;
    color:var(--ip-red-700)!important;
    border-color:#f1caca!important;
}

/* Sidebar */
.modern-sidebar{
    background:#fff!important;
    border-right:1px solid var(--ip-line)!important;
    box-shadow:3px 0 18px rgba(14,36,56,.04)!important;
}
.modern-sidebar nav a,
.modern-sidebar .sidebar-admin-links a{
    min-height:39px!important;
    padding:0 20px!important;
    border-left:3px solid transparent!important;
    border-radius:0!important;
    color:#42566a!important;
    font-size:11px!important;
    font-weight:750!important;
    transition:background var(--ip-transition),color var(--ip-transition),border-color var(--ip-transition)!important;
}
.modern-sidebar nav a:hover,
.modern-sidebar nav a.active,
.modern-sidebar .sidebar-admin-links a:hover,
.modern-sidebar .sidebar-admin-links a.active{
    background:#faf7f0!important;
    color:var(--ip-navy-900)!important;
    border-left-color:var(--ip-gold-500)!important;
}
.sidebar-footer{
    border-top:1px solid var(--ip-line)!important;
}
.sidebar-logout{
    color:var(--ip-red-700)!important;
}

/* Topbar */
.modern-topbar{
    background:#fff!important;
    border-bottom:1px solid var(--ip-line)!important;
    box-shadow:0 3px 14px rgba(14,36,56,.04)!important;
}
.modern-topbar h1{
    color:var(--ip-navy-900)!important;
    font-size:19px!important;
}

/* Modale */
.modal-backdrop{
    backdrop-filter:blur(3px);
}
.modal-card{
    border:1px solid var(--ip-line)!important;
    border-radius:var(--ip-radius-lg)!important;
    box-shadow:0 24px 70px rgba(7,27,44,.22)!important;
}
.modal-close{
    width:32px!important;
    height:32px!important;
    border-radius:50%!important;
    border:1px solid var(--ip-line)!important;
    background:#fff!important;
    color:var(--ip-muted)!important;
}

/* Karten-Hover nur bei interaktiven Karten */
.room-card,
.guest-card,
.extension-card,
.task-card,
.cash-invoice-card{
    transition:transform var(--ip-transition),box-shadow var(--ip-transition),border-color var(--ip-transition)!important;
}
.room-card:hover,
.extension-card:hover,
.task-card:hover,
.cash-invoice-card:hover{
    transform:translateY(-1px);
    box-shadow:var(--ip-shadow-md)!important;
}

/* Einheitliche Abstände */
.modern-dashboard,
.settings-content,
.task-list,
.cash-invoice-list{
    gap:var(--ip-space-3)!important;
}
.grid-2,
.modern-dashboard-grid,
.task-layout,
.invoice-editor-grid{
    gap:var(--ip-space-4)!important;
}

/* Fokus sichtbar */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
    outline:2px solid var(--ip-gold-500)!important;
    outline-offset:2px!important;
}

/* Mobile */
@media(max-width:700px){
    .section-head{
        display:grid!important;
    }
    .panel,
    .modern-card{
        padding:14px!important;
    }
}


/* InnPilot v1.7.6 – Mitarbeiterverwaltung Pro */
.staff-pro-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
.staff-pro-kpis article{
    background:var(--ip-surface);
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-md);
    box-shadow:var(--ip-shadow-sm);
    padding:16px;
    display:grid;
    gap:5px;
}
.staff-pro-kpis span{
    color:var(--ip-navy-900);
    font-size:9px;
    font-weight:850;
}
.staff-pro-kpis strong{
    color:var(--ip-gold-500);
    font-size:28px;
}
.staff-pro-kpis small{
    color:var(--ip-muted);
    font-size:9px;
}
.staff-pro-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:14px;
    align-items:start;
}
.staff-pro-main,
.staff-pro-side{
    display:grid;
    gap:14px;
}
.staff-pro-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin-bottom:12px;
}
.staff-pro-toolbar h3{
    margin:4px 0 0;
}
.staff-pro-filters{
    display:grid;
    grid-template-columns:minmax(180px,1fr) 140px 140px auto;
    gap:7px;
    width:min(760px,100%);
}
.staff-pro-person{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:190px;
}
.staff-pro-person>span{
    width:32px;
    height:32px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    background:var(--ip-navy-900);
    color:#fff;
    font-size:10px;
    font-weight:900;
}
.staff-pro-person div{
    display:grid;
    gap:2px;
}
.staff-pro-person strong{
    color:var(--ip-navy-900);
    font-size:10px;
}
.staff-pro-person small{
    color:var(--ip-muted);
    font-size:8px;
}
.staff-role,
.staff-status{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:0 8px;
    border-radius:999px;
    font-size:7px;
    font-weight:900;
    white-space:nowrap;
}
.staff-role.role-admin{
    background:var(--ip-blue-100);
    color:var(--ip-blue-700);
}
.staff-role.role-reception{
    background:#e8f1ff;
    color:#2466ad;
}
.staff-role.role-housekeeping{
    background:var(--ip-green-100);
    color:var(--ip-green-700);
}
.staff-role.role-technical{
    background:#f0eafb;
    color:#6a4d9d;
}
.staff-status.active{
    background:var(--ip-green-100);
    color:var(--ip-green-700);
}
.staff-status.off_duty,
.staff-status.inactive{
    background:#edf0f3;
    color:#66717c;
}
.staff-status.vacation{
    background:var(--ip-orange-100);
    color:var(--ip-orange-700);
}
.staff-pro-actions{
    display:flex;
    gap:6px;
    justify-content:flex-end;
}
.staff-pro-actions form{
    margin:0;
}
.staff-bottom-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.absence-mini-list{
    display:grid;
    gap:7px;
    margin-top:12px;
}
.absence-mini-list>div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-sm);
    background:var(--ip-surface-muted);
}
.absence-mini-list span{
    display:grid;
    gap:2px;
    font-size:9px;
}
.absence-mini-list strong{
    color:var(--ip-navy-900);
    font-size:10px;
}
.absence-mini-list small{
    color:var(--ip-muted);
    font-size:8px;
}
.staff-calendar-card{
    position:sticky;
    top:82px;
}
.staff-calendar-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:13px;
}
.staff-calendar-head h3{
    margin:0;
}
.staff-calendar-head strong{
    color:var(--ip-navy-900);
    font-size:11px;
}
.staff-calendar-weekdays,
.staff-calendar-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
}
.staff-calendar-weekdays{
    margin-bottom:6px;
}
.staff-calendar-weekdays span{
    text-align:center;
    color:var(--ip-muted);
    font-size:8px;
    font-weight:850;
}
.staff-calendar-grid div{
    min-height:31px;
    display:grid;
    place-items:center;
    border-radius:7px;
    color:#394c60;
    font-size:9px;
    cursor:default;
}
.staff-calendar-grid div.outside{
    color:#b2bac2;
}
.staff-calendar-grid div.has-absence{
    background:var(--ip-orange-100);
    color:var(--ip-orange-700);
    font-weight:900;
}
.staff-calendar-grid div.today{
    background:var(--ip-navy-900);
    color:#fff;
    font-weight:900;
}
.staff-calendar-grid div.today.has-absence{
    box-shadow:0 0 0 3px var(--ip-gold-300);
}
.staff-calendar-legend{
    display:flex;
    gap:13px;
    flex-wrap:wrap;
    margin-top:13px;
    padding-top:10px;
    border-top:1px solid var(--ip-line);
}
.staff-calendar-legend span{
    display:flex;
    align-items:center;
    gap:5px;
    color:var(--ip-muted);
    font-size:8px;
}
.staff-calendar-legend i{
    width:10px;
    height:10px;
    border-radius:3px;
}
.staff-calendar-legend i.today{
    background:var(--ip-navy-900);
}
.staff-calendar-legend i.vacation{
    background:var(--ip-gold-300);
}
.role-overview{
    display:grid;
    gap:2px;
    margin-top:12px;
}
.role-overview div{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 2px;
    border-bottom:1px solid var(--ip-line);
}
.role-overview div:last-child{
    border-bottom:0;
}
.role-overview span{
    color:#405267;
    font-size:9px;
}
.role-overview strong{
    color:var(--ip-navy-900);
    font-size:10px;
}
.staff-modal-card{
    width:min(760px,calc(100vw - 30px));
}
.absence-modal-card{
    width:min(610px,calc(100vw - 30px));
}
@media(max-width:1250px){
    .staff-pro-layout{
        grid-template-columns:1fr;
    }
    .staff-calendar-card{
        position:static;
    }
    .staff-pro-side{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:900px){
    .staff-pro-kpis{
        grid-template-columns:1fr 1fr;
    }
    .staff-pro-toolbar{
        display:grid;
    }
    .staff-pro-filters{
        grid-template-columns:1fr 1fr;
        width:100%;
    }
}
@media(max-width:700px){
    .staff-pro-side,
    .staff-bottom-grid,
    .staff-pro-kpis{
        grid-template-columns:1fr;
    }
    .staff-pro-filters{
        grid-template-columns:1fr;
    }
}


/* InnPilot v1.7.7 – Housekeeping Compact */
.hk-all-section .hk-section-title{
    margin-bottom:10px!important;
}
.hk-section-title h3{
    margin:3px 0 0!important;
    font-size:20px!important;
}
.housekeeping-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
}
.housekeeping-card.hk-pro-card{
    min-height:0!important;
    padding:13px 14px!important;
    gap:9px!important;
    border-radius:12px!important;
    border-left-width:4px!important;
    align-content:start!important;
}
.housekeeping-card-head{
    gap:8px!important;
    align-items:flex-start!important;
}
.housekeeping-room-number{
    font-size:8px!important;
    letter-spacing:.55px!important;
}
.housekeeping-card h3{
    margin:3px 0 0!important;
    font-size:14px!important;
    line-height:1.2!important;
}
.housekeeping-status{
    min-height:21px!important;
    padding:0 7px!important;
    font-size:6px!important;
}
.hk-card-meta{
    min-height:22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
}
.hk-card-guest{
    margin-left:auto!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
}
.hk-card-guest span{
    font-size:7px!important;
    text-transform:uppercase!important;
    letter-spacing:.4px!important;
}
.hk-card-guest strong{
    font-size:9px!important;
}
.housekeeping-priority{
    min-height:21px!important;
    padding:0 7px!important;
    font-size:6px!important;
}
.hk-task-progress{
    display:grid!important;
    gap:5px!important;
}
.hk-task-progress-head{
    font-size:8px!important;
}
.hk-task-progress-head strong{
    font-size:8px!important;
}
.hk-task-track{
    height:5px!important;
    border-radius:999px!important;
}
.hk-checklist{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:6px!important;
}
.hk-check-item.hk-check-compact{
    min-height:42px!important;
    padding:5px!important;
    border-radius:8px!important;
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    cursor:pointer!important;
    overflow:hidden!important;
}
.hk-check-item.hk-check-compact input{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:0!important;
    cursor:pointer!important;
}
.hk-check-icon{
    width:25px!important;
    height:25px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #ccd5dc!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#738292!important;
    font-size:12px!important;
    transition:all var(--ip-transition)!important;
}
.hk-check-item.hk-check-compact small{
    display:none!important;
}
.hk-check-item.hk-check-compact:hover .hk-check-icon{
    border-color:var(--ip-gold-500)!important;
    transform:translateY(-1px)!important;
}
.hk-check-item.hk-check-compact.done{
    background:#eef8f2!important;
}
.hk-check-item.hk-check-compact.done .hk-check-icon{
    border-color:#85c7a4!important;
    background:var(--ip-green-100)!important;
    color:var(--ip-green-700)!important;
}
.hk-check-item.hk-check-compact.done .hk-check-icon::after{
    content:'✓';
    position:absolute;
    right:4px;
    bottom:3px;
    width:13px;
    height:13px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--ip-green-700);
    color:#fff;
    font-size:7px;
    font-weight:900;
}
.housekeeping-note-label{
    gap:4px!important;
    font-size:8px!important;
}
.housekeeping-note-label textarea{
    min-height:44px!important;
    max-height:70px!important;
    padding:7px 9px!important;
    font-size:9px!important;
}
.housekeeping-actions{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
}
.housekeeping-actions button{
    min-height:30px!important;
    padding:0 7px!important;
    border-radius:8px!important;
    font-size:8px!important;
}
.housekeeping-actions button:disabled{
    opacity:.55!important;
}
.hk-pro-toolbar{
    padding:9px 11px!important;
    margin-bottom:12px!important;
    gap:8px!important;
}
.hk-filter-tabs{
    gap:5px!important;
}
.hk-filter-tabs button{
    min-height:30px!important;
    padding:0 9px!important;
    font-size:8px!important;
}
.hk-pro-progress{
    padding:10px 12px!important;
    margin-bottom:12px!important;
}
.hk-pro-progress-head h3{
    font-size:18px!important;
}
.hk-pro-progress-numbers strong{
    font-size:17px!important;
}
.housekeeping-loading{
    padding:35px!important;
}
@media(min-width:1500px){
    .housekeeping-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}
@media(max-width:1150px){
    .housekeeping-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:700px){
    .housekeeping-grid{
        grid-template-columns:1fr!important;
    }
    .housekeeping-card.hk-pro-card{
        padding:12px!important;
    }
}


/* InnPilot v1.8.0 – Rollen & Zugriffe */
.reception-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.reception-kpis article{
    background:var(--ip-surface);
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-md);
    box-shadow:var(--ip-shadow-sm);
    padding:16px;
    display:grid;
    gap:5px;
}
.reception-kpis span{
    color:var(--ip-navy-900);
    font-size:9px;
    font-weight:850;
}
.reception-kpis strong{
    color:var(--ip-gold-500);
    font-size:28px;
}
.reception-kpis small{
    color:var(--ip-muted);
    font-size:9px;
}
.reception-dashboard-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 290px;
    gap:14px;
}
.reception-side-stack{
    display:grid;
    gap:14px;
    align-content:start;
}
.reception-side-value{
    color:var(--ip-gold-500);
    font-size:38px;
    font-weight:850;
    margin:12px 0 4px;
}
.reception-quicklinks{
    display:grid;
    gap:7px;
    margin-top:12px;
}
.reception-quicklinks a{
    min-height:38px;
    display:flex;
    align-items:center;
    padding:0 11px;
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-sm);
    color:var(--ip-navy-900);
    background:var(--ip-surface-muted);
    font-size:9px;
    font-weight:800;
}
.reception-quicklinks a:hover{
    border-color:var(--ip-gold-500);
    background:#fffaf0;
}
.reception-sidebar .pilot-chip{
    color:var(--ip-blue-700);
    background:var(--ip-blue-100);
}
.technical-sidebar .pilot-chip{
    color:#6a4d9d;
    background:#f0eafb;
}
@media(max-width:1050px){
    .reception-kpis{
        grid-template-columns:1fr 1fr;
    }
    .reception-dashboard-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:650px){
    .reception-kpis{
        grid-template-columns:1fr;
    }
}


/* InnPilot v1.8.2 – Mobile Rollenansichten */

/* Mobile controls only for operational roles */
.mobile-sidebar-toggle,
.mobile-sidebar-overlay{
    display:none;
}

/* Housekeeping and technical: desktop remains usable, mobile is primary */
@media(max-width:900px){
    body.role-housekeeping .app-shell,
    body.role-technical .app-shell{
        display:block!important;
        min-height:100vh;
    }

    body.role-housekeeping .modern-sidebar,
    body.role-technical .modern-sidebar{
        position:fixed!important;
        top:0!important;
        left:0!important;
        bottom:0!important;
        width:min(290px,86vw)!important;
        height:100vh!important;
        z-index:1000!important;
        transform:translateX(-105%);
        transition:transform 180ms ease!important;
        box-shadow:12px 0 35px rgba(7,27,44,.22)!important;
        overflow-y:auto!important;
    }

    body.role-housekeeping.mobile-sidebar-open .modern-sidebar,
    body.role-technical.mobile-sidebar-open .modern-sidebar{
        transform:translateX(0);
    }

    body.role-housekeeping .mobile-sidebar-toggle,
    body.role-technical .mobile-sidebar-toggle{
        display:inline-grid!important;
        place-items:center;
        width:38px!important;
        height:38px!important;
        min-width:38px!important;
        padding:0!important;
        border:1px solid var(--ip-line)!important;
        border-radius:10px!important;
        background:#fff!important;
        color:var(--ip-navy-900)!important;
        font-size:18px!important;
        cursor:pointer;
    }

    body.role-housekeeping .mobile-sidebar-overlay,
    body.role-technical .mobile-sidebar-overlay{
        position:fixed!important;
        inset:0!important;
        z-index:999!important;
        background:rgba(7,27,44,.42)!important;
        backdrop-filter:blur(2px);
    }

    body.role-housekeeping .content,
    body.role-technical .content{
        width:100%!important;
        min-width:0!important;
    }

    body.role-housekeeping .modern-topbar,
    body.role-technical .modern-topbar{
        position:sticky!important;
        top:0!important;
        z-index:100!important;
        min-height:58px!important;
        height:58px!important;
        padding:0 12px!important;
        gap:10px!important;
    }

    body.role-housekeeping .topbar-title,
    body.role-technical .topbar-title{
        gap:8px!important;
        min-width:0!important;
    }

    body.role-housekeeping .topbar-menu-icon,
    body.role-technical .topbar-menu-icon{
        display:none!important;
    }

    body.role-housekeeping .modern-topbar h1,
    body.role-technical .modern-topbar h1{
        font-size:17px!important;
        white-space:nowrap!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
    }

    body.role-housekeeping .user-box,
    body.role-technical .user-box{
        margin-left:auto!important;
        gap:7px!important;
    }

    body.role-housekeeping .user-box>div:last-child,
    body.role-technical .user-box>div:last-child,
    body.role-housekeeping .topbar-bell,
    body.role-technical .topbar-bell{
        display:none!important;
    }

    body.role-housekeeping .user-avatar,
    body.role-technical .user-avatar{
        width:34px!important;
        height:34px!important;
        font-size:11px!important;
    }

    body.role-housekeeping .page-content,
    body.role-technical .page-content{
        padding:10px!important;
    }

    body.role-housekeeping .section-head,
    body.role-technical .section-head{
        margin-bottom:10px!important;
    }

    body.role-housekeeping .section-head h2,
    body.role-technical .section-head h2{
        font-size:21px!important;
    }

    body.role-housekeeping .section-head p,
    body.role-technical .section-head p{
        font-size:10px!important;
    }

    /* Housekeeping cards touch-friendly */
    body.role-housekeeping .housekeeping-grid{
        grid-template-columns:1fr!important;
        gap:9px!important;
    }

    body.role-housekeeping .housekeeping-card.hk-pro-card{
        padding:12px!important;
        gap:9px!important;
        border-radius:12px!important;
    }

    body.role-housekeeping .housekeeping-card h3{
        font-size:15px!important;
    }

    body.role-housekeeping .housekeeping-status,
    body.role-housekeeping .housekeeping-priority{
        min-height:24px!important;
        padding:0 8px!important;
        font-size:7px!important;
    }

    body.role-housekeeping .hk-checklist{
        grid-template-columns:repeat(5,minmax(0,1fr))!important;
        gap:5px!important;
    }

    body.role-housekeeping .hk-check-item.hk-check-compact{
        min-height:48px!important;
    }

    body.role-housekeeping .hk-check-icon{
        width:30px!important;
        height:30px!important;
        font-size:14px!important;
    }

    body.role-housekeeping .housekeeping-note-label textarea{
        min-height:52px!important;
        max-height:90px!important;
        font-size:10px!important;
    }

    body.role-housekeeping .housekeeping-actions{
        grid-template-columns:1fr 1fr 1fr!important;
        gap:5px!important;
    }

    body.role-housekeeping .housekeeping-actions button{
        min-height:38px!important;
        font-size:9px!important;
    }

    body.role-housekeeping .hk-pro-toolbar{
        position:sticky!important;
        top:68px!important;
        z-index:50!important;
        display:grid!important;
        gap:8px!important;
        padding:8px!important;
        background:#fff!important;
        border-radius:10px!important;
        box-shadow:var(--ip-shadow-sm)!important;
    }

    body.role-housekeeping .hk-filter-tabs{
        display:grid!important;
        grid-template-columns:repeat(4,1fr)!important;
        gap:4px!important;
    }

    body.role-housekeeping .hk-filter-tabs button{
        min-height:36px!important;
        padding:0 5px!important;
        font-size:8px!important;
    }

    body.role-housekeeping .hk-pro-progress{
        padding:9px 10px!important;
    }

    /* Technical task view: mobile cards instead of cramped table-like layout */
    body.role-technical .task-summary{
        grid-template-columns:repeat(2,1fr)!important;
        gap:8px!important;
    }

    body.role-technical .task-summary article{
        padding:11px!important;
    }

    body.role-technical .task-summary strong{
        font-size:23px!important;
    }

    body.role-technical .task-layout{
        display:block!important;
    }

    body.role-technical .task-toolbar{
        display:grid!important;
        gap:9px!important;
    }

    body.role-technical .task-filter{
        display:grid!important;
        grid-template-columns:repeat(3,1fr)!important;
        gap:5px!important;
    }

    body.role-technical .task-filter a{
        min-height:36px!important;
        display:grid!important;
        place-items:center!important;
        padding:0 5px!important;
        text-align:center!important;
        font-size:8px!important;
    }

    body.role-technical .task-card{
        grid-template-columns:1fr!important;
        gap:10px!important;
        padding:12px!important;
    }

    body.role-technical .task-card h4{
        font-size:16px!important;
    }

    body.role-technical .task-card p{
        font-size:11px!important;
    }

    body.role-technical .task-meta{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:5px!important;
    }

    body.role-technical .task-meta span{
        min-height:31px!important;
        display:flex!important;
        align-items:center!important;
        font-size:8px!important;
    }

    body.role-technical .task-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        min-width:0!important;
    }

    body.role-technical .task-actions form,
    body.role-technical .task-actions button{
        width:100%!important;
    }

    body.role-technical .task-complete-button,
    body.role-technical .btn-secondary{
        min-height:40px!important;
        font-size:10px!important;
    }

    /* Profile/settings on mobile */
    body.role-housekeeping .settings-layout,
    body.role-technical .settings-layout{
        grid-template-columns:1fr!important;
    }

    body.role-housekeeping .settings-nav,
    body.role-technical .settings-nav{
        position:static!important;
        display:flex!important;
        overflow-x:auto!important;
        padding:7px!important;
    }

    body.role-housekeeping .settings-nav a,
    body.role-technical .settings-nav a{
        white-space:nowrap!important;
    }
}

/* Very small phones */
@media(max-width:480px){
    body.role-housekeeping .hk-checklist{
        grid-template-columns:repeat(5,1fr)!important;
    }

    body.role-housekeeping .hk-check-icon{
        width:27px!important;
        height:27px!important;
    }

    body.role-housekeeping .housekeeping-actions{
        grid-template-columns:1fr!important;
    }

    body.role-technical .task-meta{
        grid-template-columns:1fr!important;
    }
}

/* Admin and reception intentionally remain desktop-oriented */
@media(max-width:900px){
    body.role-admin .app-shell,
    body.role-reception .app-shell{
        min-width:1080px!important;
    }

    body.role-admin,
    body.role-reception{
        overflow-x:auto!important;
    }
}


/* InnPilot v1.8.3a – Haustechnik im Admin-Cockpit */
.technical-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}
.technical-kpis article{
    background:var(--ip-surface);
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-md);
    box-shadow:var(--ip-shadow-sm);
    padding:15px;
    display:grid;
    gap:5px;
}
.technical-kpis span{color:var(--ip-navy-900);font-size:9px;font-weight:850}
.technical-kpis strong{color:var(--ip-gold-500);font-size:27px}
.technical-kpis small{color:var(--ip-muted);font-size:8px}
.technical-task-list{display:grid;gap:9px}
.technical-task-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:12px;
    border:1px solid var(--ip-line);
    border-left:4px solid var(--ip-gold-500);
    border-radius:var(--ip-radius-sm);
    background:#fff;
}
.technical-task-card.priority-high{border-left-color:var(--ip-red-700)}
.technical-task-card.priority-low{border-left-color:var(--ip-green-700)}
.technical-task-card h4{margin:6px 0 3px;font-size:14px}
.technical-task-card p{margin:0 0 7px;font-size:10px}
.technical-task-tags,.technical-task-meta{display:flex;gap:6px;flex-wrap:wrap}
.technical-task-tags span,.technical-task-meta span{
    padding:4px 7px;
    border-radius:999px;
    background:var(--ip-surface-muted);
    color:var(--ip-muted);
    font-size:7px;
    font-weight:800;
}
.technical-task-tags span.overdue{
    background:var(--ip-red-100);
    color:var(--ip-red-700);
}


/* InnPilot v1.8.4a – Wartungsplan */
.maintenance-kpis{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:14px;
}
.maintenance-kpis article{
    background:var(--ip-surface);
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-md);
    box-shadow:var(--ip-shadow-sm);
    padding:15px;
    display:grid;
    gap:5px;
}
.maintenance-kpis span{font-size:9px;font-weight:850;color:var(--ip-navy-900)}
.maintenance-kpis strong{font-size:27px;color:var(--ip-gold-500)}
.maintenance-kpis small{font-size:8px;color:var(--ip-muted)}
.maintenance-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:14px;
    align-items:start;
}
.maintenance-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin-bottom:12px;
}
.maintenance-toolbar h3{margin:4px 0 0}
.maintenance-filters{
    display:flex;
    gap:5px;
    flex-wrap:wrap;
}
.maintenance-filters a{
    min-height:31px;
    display:inline-flex;
    align-items:center;
    padding:0 9px;
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-sm);
    background:#fff;
    color:var(--ip-muted);
    font-size:8px;
    font-weight:850;
}
.maintenance-filters a.active{
    background:var(--ip-navy-900);
    border-color:var(--ip-navy-900);
    color:#fff;
}
.maintenance-list{display:grid;gap:9px}
.maintenance-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:13px;
    border:1px solid var(--ip-line);
    border-left:4px solid var(--ip-gold-500);
    border-radius:var(--ip-radius-sm);
    background:#fff;
}
.maintenance-card.overdue{border-left-color:var(--ip-red-700);background:#fffafa}
.maintenance-card.soon{border-left-color:var(--ip-orange-700)}
.maintenance-card.priority-high{box-shadow:0 0 0 1px rgba(163,62,62,.12)}
.maintenance-card h4{margin:7px 0 4px;font-size:15px}
.maintenance-card p{margin:0 0 8px;font-size:10px;line-height:1.45}
.maintenance-tags,.maintenance-meta{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.maintenance-tags span,.maintenance-meta span{
    padding:4px 7px;
    border-radius:999px;
    background:var(--ip-surface-muted);
    color:var(--ip-muted);
    font-size:7px;
    font-weight:800;
}
.maintenance-tags span.danger{background:var(--ip-red-100);color:var(--ip-red-700)}
.maintenance-tags span.warning{background:var(--ip-orange-100);color:var(--ip-orange-700)}
.maintenance-actions{
    display:grid;
    gap:6px;
    min-width:105px;
}
.maintenance-actions form,.maintenance-actions button{width:100%}
.maintenance-history-panel{
    position:sticky;
    top:82px;
}
.maintenance-history-list{
    display:grid;
    gap:8px;
    margin-top:12px;
}
.maintenance-history-list>div{
    padding:9px;
    border:1px solid var(--ip-line);
    border-radius:var(--ip-radius-sm);
    background:var(--ip-surface-muted);
    display:grid;
    gap:3px;
}
.maintenance-history-list strong{font-size:9px;color:var(--ip-navy-900)}
.maintenance-history-list span,.maintenance-history-list small{font-size:8px;color:var(--ip-muted)}
.maintenance-history-list p{margin:3px 0 0;font-size:8px}
.maintenance-modal-card{width:min(760px,calc(100vw - 30px))}
.maintenance-complete-modal{width:min(520px,calc(100vw - 30px))}
.maintenance-interval-fields{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:6px;
}
.technical-head-actions{
    margin-left:auto;
}
@media(max-width:1100px){
    .maintenance-layout{grid-template-columns:1fr}
    .maintenance-history-panel{position:static}
}
@media(max-width:900px){
    body.role-technical .maintenance-kpis{
        grid-template-columns:repeat(2,1fr)!important;
        gap:8px!important;
    }
    body.role-technical .maintenance-kpis article{padding:11px!important}
    body.role-technical .maintenance-card{
        grid-template-columns:1fr!important;
        padding:12px!important;
    }
    body.role-technical .maintenance-actions{
        grid-template-columns:1fr;
        min-width:0;
    }
    body.role-technical .maintenance-actions button{
        min-height:40px!important;
    }
    body.role-technical .maintenance-toolbar{
        display:grid!important;
    }
    body.role-technical .maintenance-filters{
        display:grid!important;
        grid-template-columns:repeat(2,1fr)!important;
    }
    body.role-technical .maintenance-filters a{
        justify-content:center!important;
        min-height:36px!important;
    }
}


/* InnPilot v1.8.4b – Wartungsaufgaben-Automatik */
.technical-date-groups{
    display:grid;
    gap:16px;
}
.technical-date-group{
    display:grid;
    gap:8px;
}
.technical-date-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding-bottom:7px;
    border-bottom:1px solid var(--ip-line);
}
.technical-date-heading h4{
    margin:0;
    font-size:13px;
    color:var(--ip-navy-900);
}
.technical-date-heading span{
    min-width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:var(--ip-surface-muted);
    color:var(--ip-muted);
    font-size:8px;
    font-weight:900;
}
.technical-date-group.overdue .technical-date-heading h4{
    color:var(--ip-red-700);
}
.technical-date-group.today .technical-date-heading h4{
    color:var(--ip-orange-700);
}
.technical-task-card.maintenance-generated{
    border-left-color:#6a4d9d;
    background:#fcfaff;
}
.technical-task-tags .maintenance-tag{
    background:#f0eafb;
    color:#6a4d9d;
}
@media(max-width:900px){
    body.role-technical .technical-date-groups{
        gap:13px!important;
    }
    body.role-technical .technical-date-heading{
        position:sticky!important;
        top:68px!important;
        z-index:20!important;
        padding:8px!important;
        border:1px solid var(--ip-line)!important;
        border-radius:9px!important;
        background:#fff!important;
        box-shadow:var(--ip-shadow-sm)!important;
    }
}


/* InnPilot v1.8.4c – Defektmeldung Housekeeping */
.housekeeping-actions{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.housekeeping-actions .report-defect{
    border-color:#ead39d!important;
    background:#fff5dd!important;
    color:#8a6118!important;
}
.housekeeping-actions .report-defect:hover{
    border-color:var(--ip-gold-500)!important;
    background:#ffefc7!important;
}
.housekeeping-defect-modal{
    width:min(560px,calc(100vw - 24px));
}
.housekeeping-defect-modal>p{
    margin:5px 0 14px;
    color:var(--ip-navy-900);
    font-size:11px;
    font-weight:800;
}
.housekeeping-defect-actions{
    display:flex;
    justify-content:flex-end;
    gap:7px;
}
@media(max-width:900px){
    body.role-housekeeping .housekeeping-actions{
        grid-template-columns:repeat(2,1fr)!important;
    }
    body.role-housekeeping .housekeeping-actions button{
        min-height:40px!important;
    }
    body.role-housekeeping .housekeeping-defect-modal{
        width:calc(100vw - 20px)!important;
        max-height:calc(100vh - 20px)!important;
        overflow-y:auto!important;
        padding:15px!important;
    }
    body.role-housekeeping .housekeeping-defect-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
    }
    body.role-housekeeping .housekeeping-defect-actions button{
        width:100%!important;
        min-height:42px!important;
    }
}


/* InnPilot v1.8.4d – Checklisten-Beschriftung & Technik-Fälligkeiten */
.hk-check-item.hk-check-compact{
    min-height:62px!important;
    align-content:center!important;
    gap:4px!important;
    padding:5px 3px!important;
}
.hk-check-item.hk-check-compact small{
    display:block!important;
    width:100%!important;
    color:#5d6d7e!important;
    font-size:6.5px!important;
    font-weight:750!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
}
.hk-check-item.hk-check-compact.done small{
    color:var(--ip-green-700)!important;
}
.task-due-today,
.technical-task-tags .due-today{
    display:inline-flex!important;
    align-items:center!important;
    min-height:24px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    background:var(--ip-blue-100)!important;
    color:var(--ip-blue-700)!important;
    font-size:7px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.35px!important;
}
.technical-direct-actions{
    display:grid;
    gap:6px;
    min-width:135px;
}
.technical-direct-actions form,
.technical-direct-actions button,
.technical-direct-actions a{
    width:100%!important;
}
@media(max-width:900px){
    body.role-housekeeping .hk-check-item.hk-check-compact{
        min-height:72px!important;
    }
    body.role-housekeeping .hk-check-item.hk-check-compact small{
        font-size:7px!important;
    }
    body.role-technical .technical-direct-actions{
        min-width:0!important;
        width:100%!important;
    }
    body.role-technical .technical-direct-actions button,
    body.role-technical .technical-direct-actions a{
        min-height:42px!important;
    }
}
@media(max-width:480px){
    body.role-housekeeping .hk-checklist{
        grid-template-columns:repeat(3,1fr)!important;
    }
    body.role-housekeeping .hk-check-item.hk-check-compact{
        min-height:74px!important;
    }
}

/* InnPilot v1.9.0a – Rezeption Cockpit */
.reception-cockpit{display:grid;gap:14px}
.reception-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;border-radius:15px;background:linear-gradient(135deg,var(--ip-navy-900),var(--ip-navy-800));color:#fff;box-shadow:var(--ip-shadow-md)}
.reception-welcome h2{margin:4px 0;color:#fff;font-size:27px}
.reception-welcome p{margin:0;color:rgba(255,255,255,.75)}
.reception-clock{display:grid;justify-items:end}.reception-clock strong{font-size:30px}.reception-clock span{font-size:10px;color:rgba(255,255,255,.7)}
.reception-pro-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.reception-pro-kpis a{display:grid;gap:5px;padding:14px;background:#fff;border:1px solid var(--ip-line);border-radius:var(--ip-radius-md);box-shadow:var(--ip-shadow-sm)}
.reception-pro-kpis span{font-size:8px;font-weight:850;color:var(--ip-navy-900)}.reception-pro-kpis strong{font-size:25px;color:var(--ip-gold-500)}.reception-pro-kpis small{font-size:8px;color:var(--ip-muted)}
.reception-cockpit-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.reception-cockpit-side{display:grid;gap:14px;align-content:start}
.reception-today-list,.reception-action-list{display:grid;gap:7px;margin-top:12px}
.reception-today-list article,.reception-action-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--ip-line);border-radius:var(--ip-radius-sm);background:#fff}
.reception-action-list article{grid-template-columns:minmax(0,1fr) auto auto}
.reception-today-list article>div:nth-child(2),.reception-action-list article>div{display:grid;gap:2px}.reception-today-list strong,.reception-action-list strong{font-size:10px;color:var(--ip-navy-900)}.reception-today-list span,.reception-action-list span{font-size:8px;color:var(--ip-muted)}
.reception-event-time{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--ip-gold-100);color:var(--ip-gold-600);font-size:9px;font-weight:900}
.reception-task-mini{display:grid;gap:6px;margin-top:10px}.reception-task-mini a{display:grid;gap:2px;padding:8px;border:1px solid var(--ip-line);border-radius:8px}.reception-task-mini strong{font-size:9px;color:var(--ip-navy-900)}.reception-task-mini span{font-size:7px;color:var(--ip-muted)}
.reception-room-table td:first-child{display:grid;gap:2px}.reception-room-table td:first-child small{font-size:7px;color:var(--ip-muted)}
@media(max-width:1250px){.reception-pro-kpis{grid-template-columns:repeat(3,1fr)}.reception-cockpit-grid{grid-template-columns:1fr}}

/* InnPilot v1.9.0b – Reservierungen Pro */
.reservation-filterbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.reservation-filterbar a{min-height:31px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--ip-line);border-radius:var(--ip-radius-sm);background:#fff;color:var(--ip-muted);font-size:8px;font-weight:850}
.reservation-filterbar a.active{background:var(--ip-navy-900);border-color:var(--ip-navy-900);color:#fff}
.pill.reservation-confirmed{background:var(--ip-green-100)!important;color:var(--ip-green-700)!important}
.pill.reservation-pending{background:var(--ip-orange-100)!important;color:var(--ip-orange-700)!important}
.pill.reservation-blocked{background:#eceff2!important;color:#626d78!important}
.pill.reservation-cancelled{background:var(--ip-red-100)!important;color:var(--ip-red-700)!important}
.booking-table td small{display:block;margin-top:3px;font-size:7px;color:var(--ip-muted)}
.booking-table .booking-action-group{display:flex;gap:5px;flex-wrap:wrap}
.booking-table .booking-action-group form{margin:0}
#bookingModal .modal-card{width:min(780px,calc(100vw - 30px))}
#bookingModal .modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* InnPilot v1.9.1 – Live Sync */
[data-live-value]{
    transition:background 180ms ease,color 180ms ease,transform 180ms ease;
    border-radius:6px;
}
[data-live-value].live-value-updated{
    background:var(--ip-gold-100);
    color:var(--ip-gold-600)!important;
    transform:scale(1.08);
}
#receptionLiveClock{
    min-width:96px;
    font-variant-numeric:tabular-nums;
}
#receptionLiveTasks,
#receptionLiveTodayBookings,
#receptionLiveRoomRows{
    transition:opacity 160ms ease;
}
