:root{--gold:#F5B754;--blue:#195DB6;--ink:#101828;--muted:#667085;--line:#E6EAF0;--soft:#F7FAFE;--navy:#0F2B52}*{box-sizing:border-box}body{margin:0;background:var(--soft);color:var(--ink);font-family:Inter,Arial,sans-serif}.shell{
   display:flex;
   min-height:100vh
}
.sidebar{
   width:250px;
   background:#fff;
   border-right:1px solid var(--line);
   padding:24px 18px;
   display:flex;
   flex-direction:column;
   position:sticky;
   top:0;
   height:100vh;
   overflow-y:auto;
   scrollbar-width:thin
}
.sidebar::-webkit-scrollbar{width:6px}
.sidebar::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.sidebar::-webkit-scrollbar-track{background:transparent}
.brand img{
   width:145px;
   height:auto
}
.area{
   font-size:11px;
   text-transform:uppercase;
   letter-spacing:.12em;
   color:var(--muted);
   font-weight:800;
   margin:32px 10px 10px
}
.sidebar nav{
   display:grid;
   gap:5px
}
.sidebar nav a{
   padding:12px 12px;
   border-radius:10px;
   text-decoration:none;
   color:#344054;
   font-weight:700;
   font-size:14px
}
.sidebar nav a:hover{
   background:var(--soft);
   color:var(--blue)
}
.logout{
   margin-top:auto
}
.logout button{
   border:0;
   background:none;
   color:#667085;
   font-weight:700;
   cursor:pointer;
   padding:12px
}
.main{
   flex:1;
   min-width:0
}
.topbar{
   background:#fff;
   border-bottom:1px solid var(--line);
   padding:24px 36px;
   display:flex;
   align-items:center;
   justify-content:space-between
}
.eyebrow{
   font-size:11px;
   text-transform:uppercase;
   letter-spacing:.12em;
   font-weight:800;
   color:var(--blue)
}
h1{
   font-size:30px;
   letter-spacing:-.8px;
   margin:5px 0 0
}
h2{
   font-size:22px;
   margin:4px 0 8px
}
p{
   line-height:1.65
}
.muted{
   color:var(--muted)
}
.user-pill{
   border:1px solid var(--line);
   background:#fff;
   border-radius:999px;
   padding:10px 14px;
   font-size:13px;
   font-weight:700
}
.stats-grid{
   display:grid;
   grid-template-columns:repeat(4,1fr);
   gap:16px;
   padding:30px 36px 0
}
.stat,.panel{
   background:#fff;
   border:1px solid var(--line);
   border-radius:16px;
   box-shadow:0 8px 30px rgba(16,24,40,.04)
}
.stat{
   padding:20px
}
.stat strong{
   display:block;
   font-size:28px;
   margin-top:9px;
   letter-spacing:-.7px
}
.stat small{
   display:block;
   color:var(--muted);
   margin-top:5px
}
.panel{
   margin:30px 36px;
   padding:26px
}
.panel-head{
   display:flex;
   justify-content:space-between;
   align-items:flex-start;
   margin-bottom:20px
}
.quick-grid{
   display:grid;
   grid-template-columns:repeat(2,1fr);
   gap:12px
}
.quick-grid a{
   padding:18px;
   border:1px solid var(--line);
   border-radius:12px;
   text-decoration:none;
   color:var(--ink);
   font-weight:800
}
.quick-grid a:hover{
   border-color:#b7cff1;
   background:var(--soft)
}
.form-grid{
   display:grid;
   grid-template-columns:repeat(2,1fr);
   gap:16px
}
.form-grid .full{
   grid-column:1/-1
}
label{
   font-size:13px;
   font-weight:700;
   color:#344054;
   display:grid;
   gap:7px
}
input,select,textarea{
   width:100%;
   padding:12px 13px;
   border:1px solid #D0D5DD;
   border-radius:10px;
   background:#fff;
   font:inherit;
   color:var(--ink);
   outline:none
}
input:focus,select:focus,textarea:focus{
   border-color:var(--blue);
   box-shadow:0 0 0 3px rgba(25,93,182,.1)
}
.btn{
   display:inline-flex;
   border:0;
   border-radius:10px;
   padding:12px 17px;
   font:inherit;
   font-weight:800;
   text-decoration:none;
   cursor:pointer
}
.primary{
   background:var(--blue);
   color:#fff
}
.alert{
   padding:13px 15px;
   border-radius:10px;
   margin-bottom:18px;
   font-weight:600
}
.danger{
   background:#fff3f2;
   color:#b42318;
   border:1px solid #fecdca
}
.success{
   background:#ecfdf3;
   color:#027a48;
   border:1px solid #abefc6
}
.table-wrap{
   overflow:auto
}
table{
   width:100%;
   border-collapse:collapse;
   font-size:13px
}
th,td{
   text-align:left;
   padding:13px;
   border-bottom:1px solid var(--line);
   white-space:nowrap
}
th{
   color:var(--muted);
   font-size:11px;
   text-transform:uppercase;
   letter-spacing:.06em
}
.badge{
   display:inline-block;
   padding:5px 8px;
   border-radius:999px;
   background:#eef4fc;
   color:var(--blue);
   font-weight:800
}
.auth-page{
   min-height:100vh;
   display:grid;
   place-items:center;
   background:var(--soft)
}
.auth-card{
   width:min(440px,calc(100% - 32px));
   background:#fff;
   border:1px solid var(--line);
   border-radius:20px;
   padding:34px;
   box-shadow:0 18px 60px rgba(16,24,40,.08)
}
.auth-logo{
   width:160px;
   margin-bottom:28px
}
.auth-card h1{
   margin-top:8px
}
.auth-card form{
   display:grid;
   gap:16px;
   margin-top:22px
}
.back{
   display:block;
   margin-top:20px;
   text-decoration:none;
   color:var(--blue);
   font-weight:700;
   font-size:13px}@media(max-width:900px){.sidebar{width:210px}.stats-grid{grid-template-columns:repeat(2,1fr)}.topbar,.panel,.stats-grid{padding-left:22px;padding-right:22px}.panel{margin-left:22px;margin-right:22px}
}
@media(max-width:700px){.shell{display:block}
.sidebar{
   position:relative;
   width:100%;
   height:auto;
   border-right:0;
   border-bottom:1px solid var(--line)
}
.sidebar nav{
   display:flex;
   overflow:auto
}
.logout{
   display:none
}
.topbar{
   padding:20px
}
.stats-grid{
   padding:20px;
   grid-template-columns:1fr 1fr
}
.panel{
   margin:0 20px 20px
}
.form-grid,.quick-grid{
   grid-template-columns:1fr
}
.form-grid .full{
   grid-column:auto
}
h1{
   font-size:24px}
}

/* =====================================================
   PLATFORM 2.0 — list-first workflows, action modals and charts
===================================================== */
body.modal-open{overflow:hidden}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-head-copy h2{margin:4px 0 7px}.page-head-copy p{margin:0}.action-bar{display:flex;gap:10px;align-items:center}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn.danger{background:#fff;color:#b42318;border:1px solid #fecdca}.btn.small{padding:8px 11px;border-radius:8px;font-size:12px}.btn.primary:hover{background:#154f9c}.panel.compact{padding:22px}.table-actions{display:flex;gap:7px;align-items:center}.table-actions form{margin:0}.table-empty{padding:40px 20px;text-align:center;color:var(--muted)}
.platform-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}.platform-modal.open{opacity:1;pointer-events:auto}.modal-card{width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;background:#fff;border-radius:20px;border:1px solid rgba(255,255,255,.5);box-shadow:0 30px 90px rgba(15,23,42,.24);transform:translateY(12px) scale(.985);transition:transform .2s ease}.platform-modal.open .modal-card{transform:translateY(0) scale(1)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--line)}.modal-head h2{margin:4px 0 5px}.modal-head p{margin:0;color:var(--muted);font-size:13px}.modal-close{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:22px;line-height:1;cursor:pointer;color:#667085}.modal-body{padding:24px 26px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-actions .btn{min-width:110px}
.chart-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin:30px 36px 0}.chart-panel{margin:0}.chart-panel h3{font-size:17px;margin:3px 0}.chart-panel .muted{font-size:12px}.chart-bars{height:220px;display:flex;align-items:flex-end;gap:8px;margin-top:24px;padding:12px 2px 0;border-bottom:1px solid var(--line)}.chart-bar-wrap{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px}.chart-bar{width:100%;max-width:28px;min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#2c75d0,#195db6)}.chart-label{font-size:9px;color:#98a2b3;white-space:nowrap}.chart-value{font-size:9px;color:#667085;font-weight:700}.metric-bars{display:grid;gap:18px;margin-top:25px}.metric-row{display:grid;grid-template-columns:140px 1fr 90px;gap:12px;align-items:center;font-size:12px;font-weight:700}.metric-track{height:10px;background:#edf2f7;border-radius:99px;overflow:hidden}.metric-fill{height:100%;background:linear-gradient(90deg,#3aa4a0,#195db6);border-radius:99px}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.status-tile{border:1px solid var(--line);border-radius:14px;padding:16px;background:#fbfcfe}.status-tile strong{display:block;font-size:24px;margin-top:5px}.chart-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:15px;font-size:11px;color:var(--muted)}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#195db6;margin-right:5px}.quick-grid a{transition:transform .18s ease,box-shadow .18s ease}.quick-grid a:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(16,24,40,.06)}
@media(max-width:1050px){.chart-grid{grid-template-columns:1fr}.metric-row{grid-template-columns:120px 1fr 80px}}@media(max-width:700px){.page-head{align-items:flex-start;flex-direction:column}.action-bar{width:100%}.action-bar .btn{flex:1}.chart-grid{margin:20px}.chart-bars{height:190px}.modal-card{border-radius:16px}.modal-body,.modal-head{padding:20px}.status-grid{grid-template-columns:1fr}}


/* Phase 1 visual refinement */
.sidebar nav a{position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.sidebar nav a.active{background:#eef4fc;color:var(--blue);box-shadow:inset 3px 0 0 var(--blue)}.sidebar nav a.active:before{content:"";position:absolute;right:10px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--blue);transform:translateY(-50%)}
.topbar{position:sticky;top:0;z-index:50}.topbar>div:first-child{min-width:0}.topbar h1{line-height:1.1}.main{background:var(--soft)}
.panel.compact{box-shadow:0 10px 32px rgba(16,24,40,.045)}
.page-head{min-height:58px}.page-head .btn{white-space:nowrap;box-shadow:0 5px 14px rgba(25,93,182,.12)}
.table-wrap{border:1px solid var(--line);border-radius:13px}.table-wrap table{min-width:720px}.table-wrap th{background:#fbfcfe}.table-wrap tr:last-child td{border-bottom:0}.table-wrap tbody tr{transition:background .15s ease}.table-wrap tbody tr:hover{background:#fafcff}
.stats-grid{position:relative}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-18px;top:-18px;width:70px;height:70px;border-radius:50%;background:#eef4fc}.stat strong{position:relative;z-index:1}.stat .muted,.stat small{position:relative;z-index:1}
.chart-panel{box-shadow:0 10px 32px rgba(16,24,40,.045)}.chart-bars{background:linear-gradient(to top,rgba(16,24,40,.035) 1px,transparent 1px);background-size:100% 55px}.chart-bar{background:linear-gradient(180deg,#4c8bdc,#195db6);box-shadow:0 4px 10px rgba(25,93,182,.12)}
.status-tile{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.modal-card{scrollbar-width:thin}.modal-head{position:sticky;top:0;background:#fff;z-index:2}.modal-actions{position:sticky;bottom:0;background:#fff;padding-top:16px}
@media(max-width:700px){.topbar{position:relative}.table-wrap table{min-width:680px}.page-head .action-bar{width:auto}.page-head .action-bar .btn{flex:none}}

.status-meter{height:5px;background:#edf2f7;border-radius:99px;overflow:hidden;margin:10px 0 7px}.status-meter span{display:block;height:100%;border-radius:99px;background:#195db6}.status-meter.warning span{background:#d98a00}

/* =====================================================
   LANDLORD 2.0 — dashboard refinement
===================================================== */
.dashboard-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 36px 0}.dashboard-intro h2{font-size:26px;letter-spacing:-.5px;margin:5px 0 5px}.dashboard-intro p{margin:0}.dashboard-intro .btn{box-shadow:0 8px 20px rgba(25,93,182,.15)}
.landlord-stats{padding-top:20px;grid-template-columns:repeat(4,1fr)}.landlord-stats .stat{min-height:112px}.landlord-chart-grid{margin-top:20px}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.section-title h3{font-size:18px;margin:4px 0}.section-title .muted{margin:0}.chart-summary{font-size:15px;font-weight:800;white-space:nowrap}.chart-summary small{display:block;color:var(--muted);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-align:right;margin-top:3px}.chart-empty{height:190px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px;padding:30px}.utilization-pill{padding:7px 10px;border-radius:999px;background:#eef4fc;color:var(--blue);font-size:11px;font-weight:800;white-space:nowrap}.empty-state{display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;text-align:center;min-height:130px;color:var(--muted);font-size:12px}.empty-state strong{color:var(--ink);font-size:13px}.text-link{color:var(--blue);text-decoration:none;font-size:12px;font-weight:800;padding-top:5px}.upcoming-list{display:grid;gap:0;margin-top:16px}.upcoming-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.upcoming-item:last-child{border-bottom:0}.upcoming-item>div{display:grid;gap:4px;min-width:0}.upcoming-item strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-item span{font-size:11px;color:var(--muted)}.upcoming-item b{font-size:11px;white-space:nowrap}.landlord-actions{display:flex;align-items:center;justify-content:space-between;gap:30px}.landlord-actions>div:first-child{max-width:430px}.landlord-actions h2{font-size:19px}.landlord-actions p{margin-bottom:0}.landlord-actions .quick-grid{min-width:min(520px,50%);grid-template-columns:repeat(2,1fr)}.landlord-actions .quick-grid a{display:grid;gap:5px}.landlord-actions .quick-grid a span{font-size:11px;font-weight:500;color:var(--muted);line-height:1.5}
@media(max-width:1050px){.landlord-stats{grid-template-columns:repeat(2,1fr)}.landlord-actions{align-items:flex-start;flex-direction:column}.landlord-actions .quick-grid{width:100%;min-width:0}}
@media(max-width:700px){.dashboard-intro{padding:20px;align-items:flex-start;flex-direction:column}.dashboard-intro .btn{width:100%;justify-content:center}.landlord-stats{padding:0 20px;grid-template-columns:1fr 1fr}.landlord-actions{margin-left:20px;margin-right:20px}.landlord-actions .quick-grid{grid-template-columns:1fr}.section-title{gap:10px}.chart-summary{display:none}}

/* =========================================================
   LANDLORD FACILITIES
   ========================================================= */

.landlord-facilities-page {
    padding-bottom: 40px;
}

.landlord-facilities-head {
    padding: 30px 36px 0;
}

.landlord-facilities-head .page-head-copy {
    max-width: 720px;
}

.landlord-facilities-head h2 {
    font-size: 24px;
    letter-spacing: -.4px;
}

.landlord-facilities-head p {
    margin: 0;
}


/* Facility grid */

.landlord-facility-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    padding: 26px 36px 0;
}


/* Card */

.landlord-facility-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(16, 24, 40, .045);
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}



/* Image */

.facility-card-image {
    height: 205px;
    position: relative;
    overflow: hidden;
    background: #eef3f8;
}

.facility-card-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .3s ease;
}


.facility-card-image-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background:
        linear-gradient(
            135deg,
            #edf3fa 0%,
            #f7faff 100%
        );
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}


/* Status */

.facility-status {
    position: absolute;
    top: 14px;
    right: 14px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 7px 10px;

    background: rgba(255, 255, 255, .94);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 999px;

    font-size: 11px;
    font-weight: 800;

    box-shadow: 0 5px 16px rgba(16, 24, 40, .12);
}

.facility-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #98a2b3;
}

.facility-status.active {
    color: #027a48;
}

.facility-status.active .facility-status-dot {
    background: #12b76a;
}

.facility-status.pending {
    color: #b54708;
}

.facility-status.pending .facility-status-dot {
    background: #f79009;
}

.facility-status.suspended,
.facility-status.removed {
    color: #b42318;
}

.facility-status.suspended .facility-status-dot,
.facility-status.removed .facility-status-dot {
    background: #f04438;
}


/* Content */

.facility-card-content {
    padding: 20px;
}

.facility-card-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.facility-card-title-row h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.25;
    letter-spacing: -.25px;
}

.facility-parking-type {
    display: inline-block;
    margin-top: 7px;

    font-size: 11px;
    color: var(--muted);
    font-weight: 700;
}


/* Description */

.facility-description {
    margin: 13px 0 15px;

    color: var(--muted);
    font-size: 13px;
    line-height: 1.6;

    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;

    min-height: 42px;
}


/* Location */

.facility-location {
    display: flex;
    align-items: flex-start;
    gap: 8px;

    padding-bottom: 18px;

    color: #475467;
    font-size: 12px;
    line-height: 1.5;
}

.facility-info-icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;

    display: grid;
    place-items: center;

    color: var(--blue);
    font-size: 15px;
}


/* Metrics */

.facility-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.facility-metric {
    min-width: 0;
    padding: 15px 10px;
}

.facility-metric + .facility-metric {
    border-left: 1px solid var(--line);
}

.facility-metric-label {
    display: block;
    color: var(--muted);

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .055em;
}

.facility-metric strong {
    display: block;

    margin-top: 5px;

    font-size: 17px;
    letter-spacing: -.3px;
}

.facility-metric small {
    display: block;

    margin-top: 2px;

    color: var(--muted);
    font-size: 10px;
}


/* Capacity */

.facility-capacity {
    padding: 17px 0 15px;
}

.facility-capacity-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;

    margin-bottom: 8px;

    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.facility-capacity-head strong {
    color: var(--ink);
    font-size: 11px;
}

.facility-capacity-track {
    height: 7px;

    overflow: hidden;

    background: #edf1f6;
    border-radius: 999px;
}

.facility-capacity-fill {
    height: 100%;

    min-width: 0;

    background: var(--blue);
    border-radius: inherit;

    transition: width .25s ease;
}


/* Footer */

.facility-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 13px;

    border-top: 1px solid var(--line);
}

.facility-hours {
    display: flex;
    align-items: center;
    gap: 7px;

    color: var(--muted);
    font-size: 11px;
    font-weight: 600;
}

.facility-hours-icon {
    color: var(--blue);
    font-size: 14px;
}


/* Empty state */

.facility-empty-state {
    margin: 30px 36px;
    padding: 50px 30px;

    text-align: center;
}

.facility-empty-state h3 {
    margin: 14px 0 6px;
    font-size: 18px;
}

.facility-empty-state p {
    max-width: 470px;
    margin: 0 auto;
    font-size: 13px;
}

.facility-empty-icon {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    margin: 0 auto;

    border-radius: 14px;

    background: #eef4fc;
    color: var(--blue);

    font-size: 14px;
    font-weight: 800;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1200px) {

    .landlord-facility-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 760px) {

    .landlord-facilities-head {
        padding: 22px 20px 0;
    }

    .landlord-facility-grid {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .facility-card-image {
        height: 220px;
    }

    .facility-empty-state {
        margin: 20px;
    }

}

@media (max-width: 430px) {

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

    .facility-metric + .facility-metric {
        border-left: 0;
        border-top: 1px solid var(--line);
    }

}
/* =========================================================
   LANDLORD OVERVIEW PERIOD FILTER
   ========================================================= */

.landlord-dashboard-intro {
    margin-bottom: 18px;
}


/* Main filter container */

.landlord-overview-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    margin-bottom: 18px;
    padding: 16px 18px;

    background: #ffffff;

    border: 1px solid var(--line);
    border-radius: 14px;

    box-shadow: 0 5px 20px rgba(16, 24, 40, .035);
}


/* Left side */

.landlord-period-info {
    display: flex;
    flex-direction: column;
    gap: 3px;

    min-width: 150px;
}

.landlord-period-info .eyebrow {
    margin: 0;
}

.landlord-period-info strong {
    font-size: 14px;
    line-height: 1.3;
}


/* Form */

.landlord-period-form {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;

    flex-wrap: wrap;
}


/* Individual controls */

.period-select-wrap,
.period-date-wrap {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.period-select-wrap label,
.period-date-wrap label {
    color: var(--muted);

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .05em;
}


/* Select + date */

.period-select-wrap select,
.period-date-wrap input {
    height: 38px;

    padding: 0 12px;

    border: 1px solid var(--line);
    border-radius: 9px;

    background: #fff;

    color: var(--ink);

    font-family: inherit;
    font-size: 12px;
    font-weight: 600;

    outline: none;

    transition:
        border-color .15s ease,
        box-shadow .15s ease;
}

.period-select-wrap select {
    min-width: 130px;
}

.period-date-wrap input {
    min-width: 145px;
}


/* Focus */

.period-select-wrap select:focus,
.period-date-wrap input:focus {
    border-color: var(--blue);

    box-shadow:
        0 0 0 3px rgba(31, 105, 194, .10);
}


/* Apply */

.period-apply-btn {
    height: 38px;

    padding: 0 15px;

    white-space: nowrap;
}


/* =========================================================
   PERIOD-AWARE STATS
   ========================================================= */

.landlord-stats {
    margin-bottom: 22px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .landlord-overview-filter {
        align-items: flex-start;
        flex-direction: column;
    }

    .landlord-period-form {
        width: 100%;
        justify-content: flex-start;
    }

}


@media (max-width: 620px) {

    .landlord-overview-filter {
        padding: 15px;
    }

    .landlord-period-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .period-select-wrap,
    .period-date-wrap {
        width: 100%;
    }

    .period-select-wrap select,
    .period-date-wrap input {
        width: 100%;
        min-width: 0;
    }

    .period-apply-btn {
        width: 100%;
    }

}


@media (max-width: 420px) {

    .landlord-period-form {
        grid-template-columns: 1fr;
    }

}
/* Custom period controls */

.period-custom-fields {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.period-custom-fields .period-date-wrap {
    flex: 0 0 auto;
}

.period-custom-fields .period-apply-btn {
    flex: 0 0 auto;
}


@media (max-width: 620px) {

    .period-custom-fields {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .period-custom-fields .period-date-wrap {
        width: 100%;
    }

    .period-custom-fields .period-date-wrap input {
        width: 100%;
    }

    .period-custom-fields .period-apply-btn {
        width: 100%;
        grid-column: 1 / -1;
    }

}


@media (max-width: 420px) {

    .period-custom-fields {
        grid-template-columns: 1fr;
    }

    .period-custom-fields .period-apply-btn {
        grid-column: auto;
    }

}
/* =========================================================
   AVAILLOT LANDLORD OVERVIEW — MODERN DASHBOARD
   ========================================================= */

.landlord-dashboard {
    padding-bottom: 50px;
}


/* =========================================================
   HERO
   ========================================================= */

.landlord-dashboard-hero {
    padding: 30px 36px 22px;

    background:
        radial-gradient(
            circle at 75% 10%,
            rgba(47, 118, 205, .08),
            transparent 32%
        );
}

.landlord-hero-copy {
    max-width: 720px;
}

.landlord-hero-copy h2 {
    margin: 7px 0 6px;

    font-size: 28px;
    line-height: 1.15;

    letter-spacing: -.65px;
}

.landlord-hero-copy p {
    margin: 0;

    color: var(--muted);

    font-size: 14px;
}


/* =========================================================
   PERIOD CARD
   ========================================================= */

.overview-period-card {
    margin: 0 36px 18px;

    min-height: 76px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 22px;

    padding: 14px 18px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 14px;

    box-shadow:
        0 8px 25px rgba(16, 24, 40, .035);
}

.overview-period-heading {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 250px;
}

.overview-period-icon {
    width: 40px;
    height: 40px;

    display: grid;
    place-items: center;

    border-radius: 11px;

    background: #edf4fd;
    color: var(--blue);

    flex: 0 0 auto;
}

.overview-period-icon svg {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.overview-period-heading strong {
    display: block;

    font-size: 13px;
    line-height: 1.2;
}

.overview-period-heading span {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 11px;
}


/* =========================================================
   PERIOD FORM
   ========================================================= */

.overview-period-form {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;

    flex: 1;
}

.period-tabs {
    display: flex;
    align-items: center;

    padding: 3px;

    background: #f4f7fb;

    border: 1px solid #edf0f5;

    border-radius: 10px;
}

.period-tab {
    height: 34px;

    padding: 0 15px;

    border: 0;

    background: transparent;

    border-radius: 8px;

    color: #667085;

    font-family: inherit;

    font-size: 11px;
    font-weight: 700;

    cursor: pointer;

    white-space: nowrap;

    transition:
        background .16s ease,
        color .16s ease,
        box-shadow .16s ease;
}

.period-tab:hover {
    color: var(--ink);
}

.period-tab.active {
    background: #fff;

    color: var(--blue);

    box-shadow:
        0 2px 7px rgba(16, 24, 40, .08);
}


/* =========================================================
   CUSTOM DATE
   ========================================================= */

.custom-period-fields {
    display: flex;

    align-items: flex-end;

    gap: 8px;
}

.custom-date-field {
    display: flex;
    flex-direction: column;

    gap: 4px;
}

.custom-date-field label {
    color: var(--muted);

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.custom-date-field input {
    height: 34px;

    width: 135px;

    padding: 0 10px;

    border: 1px solid var(--line);

    border-radius: 8px;

    background: #fff;

    color: var(--ink);

    font-family: inherit;

    font-size: 11px;
    font-weight: 600;

    outline: none;
}

.custom-date-field input:focus {
    border-color: var(--blue);

    box-shadow:
        0 0 0 3px rgba(25, 93, 182, .08);
}

.custom-date-separator {
    color: #98a2b3;

    font-size: 14px;

    padding-bottom: 9px;
}

.custom-apply-button {
    height: 34px;

    padding: 0 14px;

    border: 0;

    border-radius: 8px;

    background: var(--blue);

    color: #fff;

    font-family: inherit;

    font-size: 11px;
    font-weight: 800;

    cursor: pointer;

    box-shadow:
        0 5px 12px rgba(25, 93, 182, .14);
}

.custom-apply-button:hover {
    background: #154f9c;
}

.selected-period-label {
    color: var(--muted);

    font-size: 11px;
    font-weight: 700;

    white-space: nowrap;
}


/* =========================================================
   KPI GRID
   ========================================================= */

.landlord-kpi-grid {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 14px;

    margin: 0 36px 18px;
}

.landlord-kpi-card {
    min-height: 132px;

    display: flex;

    gap: 12px;

    padding: 17px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 15px;

    box-shadow:
        0 8px 28px rgba(16, 24, 40, .035);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}



/* KPI icon */

.kpi-icon {
    width: 34px;
    height: 34px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 11px;
}

.kpi-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.kpi-green {
    background: #e9f8ef;
    color: #12a150;
}

.kpi-blue {
    background: #eaf2fd;
    color: #2875d1;
}

.kpi-purple {
    background: #f0eafd;
    color: #8255d7;
}

.kpi-orange {
    background: #fff0e7;
    color: #e9823b;
}

.kpi-teal {
    background: #e7f8f7;
    color: #149e99;
}

.kpi-pink {
    background: #fdebf4;
    color: #d94c91;
}


/* KPI content */

.kpi-content {
    min-width: 0;
}

.kpi-content > span {
    display: block;

    color: var(--muted);

    font-size: 11px;

    font-weight: 600;

    line-height: 1.25;
}

.kpi-content strong {
    display: block;

    margin-top: 7px;

    font-size: 22px;

    letter-spacing: -.5px;

    line-height: 1;
}

.kpi-content small {
    display: block;

    margin-top: 7px;

    color: var(--muted);

    font-size: 10px;
}


/* =========================================================
   CHART GRID
   ========================================================= */

.landlord-chart-grid-new {
    display: grid;

    grid-template-columns:
        1.45fr 1fr;

    gap: 18px;

    margin: 0 36px 18px;
}

.dashboard-chart-card,
.dashboard-info-card {
    background: #fff;

    border: 1px solid var(--line);

    border-radius: 16px;

    box-shadow:
        0 9px 30px rgba(16, 24, 40, .04);
}

.dashboard-chart-card {
    min-height: 350px;

    padding: 22px;
}

.dashboard-chart-header,
.dashboard-info-header {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 18px;
}

.dashboard-chart-title,
.dashboard-info-title {
    display: flex;

    align-items: flex-start;

    gap: 11px;

    min-width: 0;
}

.chart-title-icon {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    flex: 0 0 auto;

    border-radius: 10px;
}

.chart-title-icon.blue {
    background: #eaf2fd;
    color: var(--blue);
}

.chart-title-icon.teal {
    background: #e7f8f7;
    color: #149e99;
}

.chart-title-icon svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.dashboard-chart-title h3,
.dashboard-info-title h3 {
    margin: 1px 0 4px;

    font-size: 16px;

    line-height: 1.25;

    letter-spacing: -.2px;
}

.dashboard-chart-title p,
.dashboard-info-title p {
    margin: 0;

    color: var(--muted);

    font-size: 11px;

    line-height: 1.45;
}

.chart-total {
    text-align: right;

    white-space: nowrap;
}

.chart-total strong {
    display: block;

    font-size: 16px;

    letter-spacing: -.2px;
}

.chart-total span {
    display: block;

    margin-top: 3px;

    color: var(--muted);

    font-size: 9px;

    text-transform: uppercase;

    letter-spacing: .06em;

    font-weight: 700;
}


/* =========================================================
   LINE CHART
   ========================================================= */

.line-chart {
    position: relative;

    display: flex;

    height: 220px;

    margin-top: 22px;
}

.chart-y-axis {
    width: 42px;

    flex: 0 0 auto;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    padding: 4px 5px 8px 0;

    color: #98a2b3;

    font-size: 9px;

    text-align: right;
}

.chart-svg {
    width: 100%;

    height: 220px;

    overflow: visible;
}

.chart-grid-line {
    stroke: #edf1f6;

    stroke-width: 1;
}

.chart-line {
    stroke-width: 3;

    stroke-linecap: round;

    stroke-linejoin: round;
}

.blue-line {
    stroke: #2d78d4;
}

.chart-point {
    fill: #fff;

    stroke: #2d78d4;

    stroke-width: 3;
}

.chart-x-axis {
    display: flex;

    justify-content: space-between;

    gap: 10px;

    padding-left: 48px;

    margin-top: 5px;

    overflow: hidden;
}

.chart-x-axis span {
    min-width: 0;

    color: #98a2b3;

    font-size: 8px;

    white-space: nowrap;

    text-align: center;
}


/* =========================================================
   EMPTY CHART
   ========================================================= */

.chart-empty-modern {
    min-height: 245px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    color: var(--muted);
}

.empty-chart-icon {
    width: 46px;
    height: 46px;

    display: grid;
    place-items: center;

    margin-bottom: 12px;

    border-radius: 14px;

    background: #edf4fd;

    color: var(--blue);
}

.empty-chart-icon svg {
    width: 21px;
    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}

.chart-empty-modern strong {
    color: var(--ink);

    font-size: 12px;
}

.chart-empty-modern span {
    max-width: 300px;

    margin-top: 5px;

    font-size: 10px;

    line-height: 1.5;
}


/* =========================================================
   LOWER GRID
   ========================================================= */

.landlord-bottom-grid {
    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    gap: 18px;

    margin: 0 36px;
}

.dashboard-info-card {
    padding: 22px;
}

.dashboard-link {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding-top: 4px;

    color: var(--blue);

    text-decoration: none;

    font-size: 10px;

    font-weight: 800;

    white-space: nowrap;
}

.dashboard-link span {
    font-size: 15px;

    line-height: 1;
}


/* =========================================================
   FACILITY UTILIZATION
   ========================================================= */

.facility-utilization-list {
    display: grid;

    gap: 15px;

    margin-top: 21px;
}

.facility-utilization-item {
    display: flex;

    align-items: center;

    gap: 12px;

    padding-bottom: 15px;

    border-bottom: 1px solid #f0f2f5;
}

.facility-utilization-item:last-child {
    border-bottom: 0;

    padding-bottom: 0;
}

.facility-preview {
    width: 72px;
    height: 62px;

    flex: 0 0 auto;

    overflow: hidden;

    border-radius: 11px;

    background: #edf3f9;
}

.facility-preview img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;
}

.facility-preview-placeholder {
    width: 100%;
    height: 100%;

    display: grid;
    place-items: center;

    background: #edf4fd;

    color: var(--blue);

    font-size: 16px;

    font-weight: 800;
}

.facility-utilization-main {
    min-width: 0;

    flex: 1;
}

.facility-name-row {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 12px;
}

.facility-name-row > div {
    min-width: 0;
}

.facility-name-row strong {
    display: block;

    font-size: 12px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

.facility-name-row span {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 10px;
}

.facility-percent {
    font-size: 12px !important;

    white-space: nowrap;
}

.facility-location-small {
    display: flex;

    align-items: center;

    gap: 5px;

    margin-top: 7px;

    color: var(--muted);

    font-size: 9px;
}

.facility-location-small svg {
    width: 12px;
    height: 12px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}

.facility-progress {
    height: 7px;

    margin-top: 8px;

    overflow: hidden;

    background: #edf2f7;

    border-radius: 99px;
}

.facility-progress span {
    display: block;

    height: 100%;

    background:
        linear-gradient(
            90deg,
            #36aaa5,
            #195db6
        );

    border-radius: inherit;
}

.facility-summary {
    margin-top: 18px;

    padding: 13px 14px;

    background: #f5f8fc;

    border-radius: 11px;
}

.facility-summary strong {
    display: block;

    font-size: 11px;
}

.facility-summary span {
    display: block;

    margin-top: 3px;

    color: var(--muted);

    font-size: 9px;
}


/* =========================================================
   RESERVATIONS
   ========================================================= */

.reservation-list {
    display: grid;

    margin-top: 17px;
}

.reservation-item {
    display: flex;

    align-items: center;

    gap: 11px;

    padding: 13px 0;

    border-bottom: 1px solid #f0f2f5;
}

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

.reservation-date {
    width: 42px;
    height: 44px;

    flex: 0 0 auto;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    background: #edf4fd;

    border-radius: 10px;

    color: var(--blue);
}

.reservation-date strong {
    font-size: 15px;

    line-height: 1;
}

.reservation-date span {
    margin-top: 3px;

    font-size: 8px;

    text-transform: uppercase;

    font-weight: 800;
}

.reservation-main {
    min-width: 0;

    flex: 1;
}

.reservation-main strong {
    display: block;

    font-size: 11px;

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;
}

.reservation-main span {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 9px;
}

.reservation-spaces {
    color: var(--ink);

    font-size: 11px;

    font-weight: 800;

    white-space: nowrap;
}

.reservation-spaces span {
    color: var(--muted);

    font-size: 9px;

    font-weight: 500;
}


/* =========================================================
   EMPTY STATES
   ========================================================= */

.modern-empty-state {
    min-height: 145px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 20px;
}

.modern-empty-icon {
    width: 42px;
    height: 42px;

    display: grid;
    place-items: center;

    margin-bottom: 10px;

    border-radius: 12px;

    background: #edf4fd;

    color: var(--blue);

    font-size: 13px;

    font-weight: 800;
}

.calendar-empty-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}

.modern-empty-state strong {
    color: var(--ink);

    font-size: 11px;
}

.modern-empty-state span {
    margin-top: 4px;

    color: var(--muted);

    font-size: 9px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1250px) {

    .landlord-kpi-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}

@media (max-width: 1100px) {

    .overview-period-card {
        align-items: flex-start;

        flex-direction: column;
    }

    .overview-period-form {
        width: 100%;

        justify-content: flex-start;
    }

    .landlord-chart-grid-new,
    .landlord-bottom-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 800px) {

    .landlord-dashboard-hero {
        padding: 24px 22px 18px;
    }

    .overview-period-card {
        margin-left: 22px;
        margin-right: 22px;
    }

    .landlord-kpi-grid {
        margin-left: 22px;
        margin-right: 22px;

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .landlord-chart-grid-new,
    .landlord-bottom-grid {
        margin-left: 22px;
        margin-right: 22px;
    }

}

@media (max-width: 620px) {

    .landlord-kpi-grid {
        grid-template-columns: 1fr;
    }

    .overview-period-form {
        flex-direction: column;

        align-items: stretch;
    }

    .period-tabs {
        width: 100%;

        overflow-x: auto;
    }

    .period-tab {
        flex: 1;
    }

    .custom-period-fields {
        display: grid;

        grid-template-columns:
            1fr 1fr;

        width: 100%;
    }

    .custom-date-field input {
        width: 100%;
    }

    .custom-date-separator {
        display: none;
    }

    .custom-apply-button {
        grid-column: 1 / -1;
    }

    .selected-period-label {
        display: none;
    }

}

@media (max-width: 450px) {

    .overview-period-card {
        margin-left: 15px;
        margin-right: 15px;

        padding: 14px;
    }

    .landlord-kpi-grid,
    .landlord-chart-grid-new,
    .landlord-bottom-grid {
        margin-left: 15px;
        margin-right: 15px;
    }

    .landlord-dashboard-hero {
        padding-left: 15px;
        padding-right: 15px;
    }

    .dashboard-chart-card,
    .dashboard-info-card {
        padding: 17px;
    }

    .facility-preview {
        width: 60px;
        height: 55px;
    }

}

/* =========================================================
   AVAILLOT — FACILITIES VISUAL REFINEMENT V2
   Safe overrides: existing PHP/data structure remains unchanged.
   ========================================================= */

.landlord-facilities-page {
    padding: 0 0 48px;
}

.landlord-facilities-head {
    padding: 30px 36px 6px;
}

.landlord-facilities-head .eyebrow {
    font-size: 10px;
    letter-spacing: .12em;
}

.landlord-facilities-head h2 {
    margin-top: 6px;
    font-size: 26px;
    line-height: 1.15;
    letter-spacing: -.55px;
}

.landlord-facilities-head p {
    max-width: 680px;
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.55;
}

/* Give the facility area a cleaner, dashboard-like grid. */
.landlord-facility-grid {
    grid-template-columns: repeat(3, minmax(300px, 1fr));
    gap: 18px;
    padding: 22px 36px 0;
    align-items: start;
}

/* Refined card */
.landlord-facility-card {
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(16, 24, 40, .045);
}


/* Image becomes a stronger visual anchor. */
.facility-card-image {
    height: 190px;
    background: linear-gradient(135deg, #edf3fa, #f7faff);
}

.facility-card-image img {
    object-position: center;
}


.facility-card-image::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 58px;
    background: linear-gradient(to top, rgba(15, 43, 82, .14), transparent);
    pointer-events: none;
}

/* Status badge */
.facility-status {
    top: 12px;
    right: 12px;
    padding: 6px 9px;
    gap: 6px;
    font-size: 10px;
    backdrop-filter: blur(8px);
}

.facility-status-dot {
    width: 6px;
    height: 6px;
}

/* Content */
.facility-card-content {
    padding: 18px;
}

.facility-card-title-row h3 {
    font-size: 17px;
    line-height: 1.3;
}

.facility-parking-type {
    margin-top: 5px;
    font-size: 10px;
    text-transform: capitalize;
}

.facility-description {
    margin: 11px 0 13px;
    min-height: 40px;
    font-size: 12px;
    line-height: 1.55;
}

.facility-location {
    gap: 7px;
    padding-bottom: 15px;
    font-size: 11px;
}

.facility-info-icon {
    width: 17px;
    height: 17px;
    font-size: 14px;
}

/* Metrics get a slightly stronger hierarchy. */
.facility-metrics {
    background: #fbfcfe;
    border-radius: 10px;
    border: 1px solid #edf0f4;
    overflow: hidden;
}

.facility-metric {
    padding: 13px 10px;
}

.facility-metric + .facility-metric {
    border-left-color: #e8edf3;
}

.facility-metric-label {
    font-size: 9px;
}

.facility-metric strong {
    margin-top: 4px;
    font-size: 18px;
}

.facility-metric small {
    font-size: 9px;
}

/* Availability */
.facility-capacity {
    padding: 15px 0 13px;
}

.facility-capacity-head {
    margin-bottom: 7px;
    font-size: 10px;
}

.facility-capacity-head strong {
    font-size: 10px;
}

.facility-capacity-track {
    height: 6px;
}

.facility-capacity-fill {
    background: linear-gradient(90deg, #2875d1, #195db6);
}

/* Footer */
.facility-card-footer {
    padding-top: 12px;
}

.facility-hours {
    font-size: 10px;
}

.facility-hours-icon {
    font-size: 13px;
}

/* Empty state */
.facility-empty-state {
    margin: 22px 36px;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(16, 24, 40, .035);
}

/* Two-column layout on medium screens. */
@media (max-width: 1250px) {
    .landlord-facility-grid {
        grid-template-columns: repeat(2, minmax(300px, 1fr));
    }
}

/* Tablet */
@media (max-width: 800px) {
    .landlord-facilities-head {
        padding: 24px 22px 4px;
    }

    .landlord-facility-grid {
        grid-template-columns: 1fr;
        padding: 20px 22px 0;
    }

    .facility-card-image {
        height: 210px;
    }

    .facility-empty-state {
        margin: 20px 22px;
    }
}

/* Mobile */
@media (max-width: 620px) {
    .landlord-facilities-head {
        padding: 22px 20px 2px;
    }

    .landlord-facilities-head h2 {
        font-size: 23px;
    }

    .landlord-facility-grid {
        padding: 18px 20px 0;
    }

    .facility-card-content {
        padding: 17px;
    }

    .facility-card-image {
        height: 200px;
    }
}

@media (max-width: 430px) {
    .facility-metrics {
        grid-template-columns: repeat(3, 1fr);
    }

    .facility-metric {
        padding: 12px 7px;
    }

    .facility-metric strong {
        font-size: 16px;
    }

    .facility-metric small {
        font-size: 8px;
    }

    .facility-metric + .facility-metric {
        border-left: 1px solid var(--line);
        border-top: 0;
    }
}

/* =========================================================
   LANDLORD BOOKINGS
   ========================================================= */

.landlord-bookings-page {
    padding-bottom: 40px;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.landlord-bookings-head {
    padding: 30px 36px 0;
}

.landlord-bookings-head .page-head-copy {
    max-width: 720px;
}

.landlord-bookings-head h2 {
    font-size: 26px;
    letter-spacing: -.5px;
}

.landlord-bookings-head p {
    margin: 0;
}


/* =========================================================
   SUMMARY GRID
   ========================================================= */

.booking-summary-grid {
    display: grid;

    grid-template-columns:
        repeat(6, minmax(0, 1fr));

    gap: 12px;

    padding: 24px 36px 18px;
}


.booking-summary-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: 11px;

    min-width: 0;

    padding: 15px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 14px;

    box-shadow:
        0 5px 20px rgba(16, 24, 40, .035);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}




.booking-summary-icon {
    width: 34px;
    height: 34px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 10px;
}


.booking-summary-icon svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.booking-summary-icon.blue {
    background: #edf4fd;
    color: #2874c6;
}

.booking-summary-icon.orange {
    background: #fff3e8;
    color: #d97822;
}

.booking-summary-icon.green {
    background: #eaf8f0;
    color: #15945d;
}

.booking-summary-icon.purple {
    background: #f1edff;
    color: #8057d9;
}

.booking-summary-icon.teal {
    background: #e9f8f7;
    color: #179b9a;
}

.booking-summary-icon.red {
    background: #fff0f1;
    color: #d9535f;
}


.booking-summary-copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
}


.booking-summary-copy > span {
    color: #64748b;

    font-size: 10px;

    font-weight: 600;

    white-space: nowrap;
}


.booking-summary-copy strong {
    margin-top: 2px;

    color: var(--ink);

    font-size: 19px;

    line-height: 1.1;

    letter-spacing: -.3px;
}


.booking-summary-copy small {
    margin-top: 3px;

    color: #98a2b3;

    font-size: 8px;

    white-space: nowrap;
}


/* =========================================================
   MAIN BOOKINGS PANEL
   ========================================================= */

.landlord-bookings-panel {
    margin: 0 36px;

    padding: 0;

    overflow: hidden;

    box-shadow:
        0 10px 32px rgba(16, 24, 40, .045);
}


.booking-panel-head {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 22px 22px 18px;
}


.booking-panel-head h3 {
    margin: 3px 0 3px;

    font-size: 17px;

    letter-spacing: -.25px;
}


.booking-panel-head p {
    margin: 0;

    font-size: 10px;
}


.booking-count {
    display: flex;

    align-items: baseline;

    gap: 5px;

    padding: 8px 11px;

    background: #f6f8fb;

    border: 1px solid #edf1f5;

    border-radius: 9px;
}


.booking-count strong {
    color: var(--ink);

    font-size: 13px;
}


.booking-count span {
    color: #98a2b3;

    font-size: 9px;
}


/* =========================================================
   TABLE
   ========================================================= */

.landlord-bookings-table-wrap {
    margin: 0 22px 22px;

    border-radius: 12px;

    overflow-x: auto;
}


.landlord-bookings-table {
    width: 100%;

    min-width: 1080px;

    border-collapse: separate;

    border-spacing: 0;
}


.landlord-bookings-table th {
    padding: 12px 13px;

    background: #f8fafc;

    border-bottom: 1px solid var(--line);

    color: #667085;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .065em;

    text-transform: uppercase;

    white-space: nowrap;
}


.landlord-bookings-table td {
    padding: 14px 13px;

    border-bottom: 1px solid #eef1f5;

    vertical-align: middle;
}


.landlord-bookings-table tbody tr {
    transition:
        background .15s ease;
}


.landlord-bookings-table tbody tr:hover {
    background: #fafcff;
}


.landlord-bookings-table tbody tr:last-child td {
    border-bottom: 0;
}


/* =========================================================
   BOOKING REFERENCE
   ========================================================= */

.booking-reference {
    display: flex;

    align-items: center;

    gap: 9px;

    min-width: 125px;
}


.booking-reference-icon {
    width: 30px;
    height: 30px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 8px;

    background: #edf4fd;

    color: var(--blue);
}


.booking-reference-icon svg {
    width: 14px;
    height: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.booking-reference strong {
    display: block;

    color: var(--ink);

    font-size: 10px;

    font-weight: 800;
}


.booking-reference small {
    display: block;

    margin-top: 2px;

    color: #98a2b3;

    font-size: 8px;
}


/* =========================================================
   CUSTOMER
   ========================================================= */

.booking-customer {
    display: flex;

    align-items: center;

    gap: 8px;

    min-width: 135px;
}


.booking-avatar {
    width: 29px;
    height: 29px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 50%;

    background: #edf4fd;

    color: var(--blue);

    font-size: 10px;

    font-weight: 800;
}


.booking-customer > span:last-child {
    color: var(--ink);

    font-size: 10px;

    font-weight: 650;

    white-space: nowrap;
}


/* =========================================================
   FACILITY
   ========================================================= */

.booking-facility {
    min-width: 140px;
}


.booking-facility strong {
    display: block;

    color: var(--ink);

    font-size: 10px;

    font-weight: 700;

    white-space: nowrap;
}


.booking-facility small {
    display: block;

    margin-top: 2px;

    color: #98a2b3;

    font-size: 8px;
}


/* =========================================================
   DATE / TIME
   ========================================================= */

.booking-date {
    min-width: 100px;
}


.booking-date strong {
    display: block;

    color: var(--ink);

    font-size: 9px;

    font-weight: 700;

    white-space: nowrap;
}


.booking-date small {
    display: block;

    margin-top: 3px;

    color: #98a2b3;

    font-size: 8px;

    white-space: nowrap;
}


/* =========================================================
   MONEY
   ========================================================= */

.booking-money {
    min-width: 85px;
}


.booking-money strong {
    display: block;

    color: var(--ink);

    font-size: 10px;

    font-weight: 800;

    white-space: nowrap;
}


.booking-money small {
    display: block;

    margin-top: 2px;

    color: #98a2b3;

    font-size: 8px;

    white-space: nowrap;
}


.booking-money.earnings strong {
    color: #168653;
}


/* =========================================================
   STATUS
   ========================================================= */

.booking-status {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 6px 9px;

    border-radius: 999px;

    font-size: 8px;

    font-weight: 800;

    white-space: nowrap;
}


.booking-status-dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;
}


/* Pending */

.booking-status.pending {
    background: #fff5e8;
    color: #b96812;
}


/* Confirmed */

.booking-status.confirmed {
    background: #eaf8f0;
    color: #168653;
}


/* Active */

.booking-status.active {
    background: #edf4fd;
    color: #2169b5;
}


/* Completed */

.booking-status.completed {
    background: #edf8f7;
    color: #168c8a;
}


/* Cancelled */

.booking-status.cancelled {
    background: #fff0f1;
    color: #c84b56;
}


/* Default */

.booking-status.default {
    background: #f1f3f6;
    color: #667085;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.booking-empty-state {
    min-height: 320px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 40px 20px;
}


.booking-empty-icon {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    margin-bottom: 12px;

    border-radius: 14px;

    background: #edf4fd;

    color: var(--blue);
}


.booking-empty-icon svg {
    width: 21px;
    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.booking-empty-state h3 {
    margin: 0;

    color: var(--ink);

    font-size: 13px;
}


.booking-empty-state p {
    max-width: 320px;

    margin: 6px 0 0;

    color: #98a2b3;

    font-size: 9px;

    line-height: 1.55;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1200px) {

    .booking-summary-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


@media (max-width: 700px) {

    .landlord-bookings-head {
        padding: 24px 20px 0;
    }

    .booking-summary-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        padding: 20px;
    }

    .landlord-bookings-panel {
        margin: 0 20px;
    }

    .booking-panel-head {
        padding: 18px;
    }

    .landlord-bookings-table-wrap {
        margin: 0 18px 18px;
    }

}
/* =========================================================
   LANDLORD CALENDAR
   ========================================================= */

.landlord-calendar-page {
    padding-bottom: 40px;
}

.landlord-calendar-head {
    margin-bottom: 24px;
}


/* =========================================================
   CALENDAR PANEL
   ========================================================= */

.calendar-panel {
    margin: 0 36px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(16,24,40,.045);
    overflow: hidden;
}


/* =========================================================
   TOOLBAR
   ========================================================= */

.calendar-toolbar {
    min-height: 76px;
    padding: 18px 22px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid var(--line);
}

.calendar-navigation {
    display: flex;
    align-items: center;
    gap: 7px;
}

.calendar-nav-btn,
.calendar-today-btn {
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    border-radius: 9px;
    transition: .18s ease;
}

.calendar-nav-btn {
    width: 36px;
    font-size: 17px;
}

.calendar-today-btn {
    padding: 0 13px;
}

.calendar-nav-btn:hover,
.calendar-today-btn:hover {
    border-color: #b7cff1;
    background: var(--soft);
    color: var(--blue);
}

.calendar-heading {
    text-align: center;
}

.calendar-heading h3 {
    margin: 0;
    font-size: 18px;
    letter-spacing: -.25px;
}

.calendar-view-switch {
    display: flex;
    justify-content: flex-end;
}

.calendar-view {
    padding: 8px 12px;
    border: 1px solid var(--line);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.calendar-view:first-child {
    border-radius: 8px 0 0 8px;
}

.calendar-view:last-child {
    border-radius: 0 8px 8px 0;
}

.calendar-view.active {
    background: #eef4fc;
    color: var(--blue);
    border-color: #d7e5f7;
}


/* =========================================================
   LEGEND
   ========================================================= */

.calendar-legend {
    padding: 12px 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    border-bottom: 1px solid var(--line);
    background: #fbfcfe;
}

.calendar-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

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

.booking-dot {
    background: var(--blue);
}

.blackout-dot {
    background: #d98a00;
}


/* =========================================================
   CALENDAR GRID
   ========================================================= */

.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-weekday {
    min-height: 40px;
    padding: 12px 10px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    color: var(--muted);
    background: #fbfcfe;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.calendar-weekday:nth-child(7) {
    border-right: 0;
}

.calendar-day {
    min-height: 145px;
    padding: 10px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #fff;
    transition: background .15s ease;
}

.calendar-day:nth-child(7n) {
    border-right: 0;
}

.calendar-day:hover {
    background: #fafcff;
}

.calendar-day-muted {
    background: #fbfcfe;
}

.calendar-day-muted .calendar-day-number {
    color: #98a2b3;
}

.calendar-day-today {
    background: #f8fbff;
}

.calendar-day-number {
    min-height: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 7px;
    color: var(--ink);
    font-size: 12px;
    font-weight: 800;
}

.calendar-day-today .calendar-day-number > span {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--blue);
    color: #fff;
    border-radius: 50%;
}

.calendar-day-number small {
    color: var(--blue);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}


/* =========================================================
   CALENDAR EVENTS
   ========================================================= */

.calendar-events {
    display: grid;
    gap: 5px;
}

.calendar-event {
    padding: 7px 8px;
    border-radius: 7px;
    overflow: hidden;
    cursor: default;
}

.booking-event {
    background: #eef4fc;
    border-left: 3px solid var(--blue);
}

.blackout-event {
    background: #fff7e8;
    border-left: 3px solid #d98a00;
}

.calendar-event-title {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.booking-event .calendar-event-title {
    color: var(--blue);
}

.blackout-event .calendar-event-title {
    color: #a15c00;
}

.calendar-event-facility {
    margin-top: 2px;
    color: var(--ink);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.calendar-event-meta {
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.calendar-more {
    padding: 3px 5px;
    color: var(--blue);
    font-size: 9px;
    font-weight: 800;
}


/* =========================================================
   UPCOMING
   ========================================================= */

.upcoming-calendar-panel {
    margin: 22px 36px 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(16,24,40,.045);
    padding: 24px;
}

.upcoming-calendar-panel .section-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 18px;
}

.upcoming-calendar-panel .section-title h3 {
    margin: 4px 0 5px;
    font-size: 18px;
}

.upcoming-calendar-panel .section-title p {
    margin: 0;
    font-size: 12px;
}

.calendar-count {
    padding: 7px 10px;
    border-radius: 999px;
    background: #f7f9fc;
    color: var(--muted);
    border: 1px solid var(--line);
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.upcoming-calendar-list {
    display: grid;
}

.upcoming-calendar-item {
    display: flex;
    gap: 16px;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
}

.upcoming-calendar-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.upcoming-calendar-date {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eef4fc;
    color: var(--blue);
}

.upcoming-calendar-date strong {
    font-size: 17px;
    line-height: 1;
}

.upcoming-calendar-date span {
    margin-top: 3px;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.upcoming-calendar-main {
    flex: 1;
    min-width: 0;
}

.upcoming-calendar-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.upcoming-calendar-title-row > div {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.upcoming-calendar-title-row strong {
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.calendar-event-type {
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.booking-type {
    background: #eef4fc;
    color: var(--blue);
}

.blackout-type {
    background: #fff7e8;
    color: #a15c00;
}

.upcoming-status {
    padding: 4px 8px;
    border-radius: 999px;
    background: #f7f9fc;
    color: var(--muted);
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.upcoming-calendar-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 6px;
    color: var(--muted);
    font-size: 10px;
}

.upcoming-calendar-reason {
    margin-top: 6px;
    color: var(--muted);
    font-size: 10px;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.calendar-empty-state {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    color: var(--muted);
}

.calendar-empty-icon {
    width: 42px;
    height: 42px;
    margin-bottom: 4px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #eef4fc;
    color: var(--blue);
}

.calendar-empty-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.calendar-empty-state strong {
    color: var(--ink);
    font-size: 13px;
}

.calendar-empty-state span {
    font-size: 10px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .calendar-panel {
        margin-left: 22px;
        margin-right: 22px;
    }

    .upcoming-calendar-panel {
        margin-left: 22px;
        margin-right: 22px;
    }

    .calendar-day {
        min-height: 125px;
    }

}


@media (max-width: 800px) {

    .calendar-toolbar {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .calendar-navigation {
        order: 2;
    }

    .calendar-heading {
        order: 1;
    }

    .calendar-view-switch {
        order: 3;
        justify-content: center;
    }

    .calendar-grid {
        overflow-x: auto;
    }

    .calendar-weekday,
    .calendar-day {
        min-width: 120px;
    }

}


@media (max-width: 600px) {

    .landlord-calendar-page {
        padding-bottom: 20px;
    }

    .calendar-panel {
        margin: 0 20px;
        border-radius: 13px;
    }

    .upcoming-calendar-panel {
        margin: 20px;
        padding: 18px;
        border-radius: 13px;
    }

    .calendar-legend {
        padding: 10px 15px;
    }

    .calendar-day {
        min-height: 115px;
        padding: 8px;
    }

    .upcoming-calendar-title-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .upcoming-calendar-title-row > div {
        flex-wrap: wrap;
    }

}
/* =========================================================
   LANDLORD PAYOUTS
   ========================================================= */

.landlord-payouts-page {
    padding-bottom: 40px;
}


/* =========================================================
   PAGE HEADER
   ========================================================= */

.landlord-payouts-head {
    padding: 30px 36px 0;
}

.landlord-payouts-head h2 {
    font-size: 26px;
    letter-spacing: -.5px;
}

.landlord-payouts-head p {
    margin: 0;
}


/* =========================================================
   SUMMARY
   ========================================================= */

.payout-summary-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;

    padding: 24px 36px 20px;
}


.payout-summary-card {
    display: flex;

    align-items: center;

    gap: 13px;

    min-height: 92px;

    padding: 17px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 14px;

    box-shadow:
        0 6px 24px rgba(16,24,40,.04);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}




.payout-summary-icon {
    width: 40px;
    height: 40px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 11px;
}


.payout-summary-icon svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.payout-summary-icon.green {
    background: #eaf8f0;
    color: #15945d;
}


.payout-summary-icon.blue {
    background: #edf4fd;
    color: #2874c6;
}


.payout-summary-icon.orange {
    background: #fff3e8;
    color: #d97822;
}


.payout-summary-copy {
    min-width: 0;

    display: flex;

    flex-direction: column;
}


.payout-summary-copy span {
    color: #64748b;

    font-size: 11px;

    font-weight: 650;
}


.payout-summary-copy strong {
    margin-top: 3px;

    color: var(--ink);

    font-size: 22px;

    line-height: 1.1;

    letter-spacing: -.4px;
}


.payout-summary-copy small {
    margin-top: 4px;

    color: #98a2b3;

    font-size: 9px;
}


/* =========================================================
   PAYOUT HISTORY PANEL
   ========================================================= */

.landlord-payout-history {
    margin: 0 36px;

    padding: 0;

    overflow: hidden;

    box-shadow:
        0 10px 32px rgba(16,24,40,.045);
}


.payout-history-head {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 23px 22px 18px;
}


.payout-history-head h3 {
    margin: 4px 0 4px;

    font-size: 18px;

    letter-spacing: -.25px;
}


.payout-history-head p {
    margin: 0;

    font-size: 11px;
}


.payout-count {
    display: flex;

    align-items: baseline;

    gap: 5px;

    padding: 8px 11px;

    background: #f7f9fc;

    border: 1px solid #edf1f5;

    border-radius: 9px;
}


.payout-count strong {
    color: var(--ink);

    font-size: 13px;
}


.payout-count span {
    color: #98a2b3;

    font-size: 9px;
}


/* =========================================================
   TABLE
   ========================================================= */

.landlord-payout-table-wrap {
    margin: 0 22px 22px;

    border-radius: 12px;

    overflow-x: auto;
}


.landlord-payout-table {
    width: 100%;

    min-width: 760px;

    border-collapse: separate;

    border-spacing: 0;
}


.landlord-payout-table th {
    padding: 12px 14px;

    background: #f8fafc;

    border-bottom: 1px solid var(--line);

    color: #667085;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: .065em;

    text-transform: uppercase;

    white-space: nowrap;
}


.landlord-payout-table td {
    padding: 15px 14px;

    border-bottom: 1px solid #eef1f5;

    vertical-align: middle;
}


.landlord-payout-table tbody tr {
    transition:
        background .15s ease;
}


.landlord-payout-table tbody tr:hover {
    background: #fafcff;
}


.landlord-payout-table tbody tr:last-child td {
    border-bottom: 0;
}


/* =========================================================
   REFERENCE
   ========================================================= */

.payout-reference {
    display: flex;

    align-items: center;

    gap: 10px;

    min-width: 180px;
}


.payout-reference-icon {
    width: 31px;
    height: 31px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 8px;

    background: #edf4fd;

    color: var(--blue);
}


.payout-reference-icon svg {
    width: 14px;
    height: 14px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.payout-reference strong {
    display: block;

    color: var(--ink);

    font-size: 10px;

    font-weight: 800;

    white-space: nowrap;
}


.payout-reference small {
    display: block;

    margin-top: 2px;

    color: #98a2b3;

    font-size: 8px;
}


/* =========================================================
   AMOUNT
   ========================================================= */

.payout-amount strong {
    color: var(--ink);

    font-size: 12px;

    font-weight: 800;

    white-space: nowrap;
}


/* =========================================================
   STATUS
   ========================================================= */

.payout-status {
    display: inline-flex;

    align-items: center;

    gap: 6px;

    padding: 6px 9px;

    border-radius: 999px;

    font-size: 8px;

    font-weight: 800;

    white-space: nowrap;
}


.payout-status-dot {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: currentColor;
}


.payout-status.completed {
    background: #eaf8f0;
    color: #168653;
}


.payout-status.pending {
    background: #fff5e8;
    color: #b96812;
}


.payout-status.processing {
    background: #edf4fd;
    color: #2169b5;
}


.payout-status.failed,
.payout-status.cancelled {
    background: #fff0f1;
    color: #c84b56;
}


.payout-status.default {
    background: #f1f3f6;
    color: #667085;
}


/* =========================================================
   DATES
   ========================================================= */

.payout-date {
    min-width: 100px;
}


.payout-date strong {
    display: block;

    color: var(--ink);

    font-size: 10px;

    font-weight: 700;

    white-space: nowrap;
}


.payout-date small {
    display: block;

    margin-top: 3px;

    color: #98a2b3;

    font-size: 8px;

    white-space: nowrap;
}


.payout-not-processed {
    color: #98a2b3;

    font-size: 9px;

    font-weight: 600;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.payout-empty-state {
    min-height: 300px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 40px 20px;
}


.payout-empty-icon {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    margin-bottom: 12px;

    border-radius: 14px;

    background: #edf4fd;

    color: var(--blue);
}


.payout-empty-icon svg {
    width: 21px;
    height: 21px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.payout-empty-state strong {
    color: var(--ink);

    font-size: 13px;
}


.payout-empty-state span {
    max-width: 350px;

    margin-top: 5px;

    color: #98a2b3;

    font-size: 9px;

    line-height: 1.55;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 850px) {

    .payout-summary-grid {
        grid-template-columns:
            repeat(3, minmax(180px, 1fr));

        overflow-x: auto;
    }

}


@media (max-width: 700px) {

    .landlord-payouts-head {
        padding: 24px 20px 0;
    }

    .payout-summary-grid {
        grid-template-columns: 1fr;

        padding: 20px;
    }

    .landlord-payout-history {
        margin: 0 20px;
    }

    .payout-history-head {
        padding: 18px;
    }

    .landlord-payout-table-wrap {
        margin: 0 18px 18px;
    }

}
/* =========================================================
   LANDLORD EARNINGS
   ========================================================= */

.landlord-earnings-page {
    padding-bottom: 40px;
}


/* =========================================================
   HEADER
   ========================================================= */

.earnings-page-header {
    padding: 30px 36px 4px;
}

.earnings-page-header h2 {
    margin: 4px 0 4px;
    font-size: 26px;
    letter-spacing: -.5px;
}

.earnings-page-header p {
    margin: 0;
}


/* =========================================================
   PERIOD PANEL
   ========================================================= */

.earnings-period-panel {
    margin: 20px 36px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 14px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 14px;

    box-shadow:
        0 7px 25px rgba(16,24,40,.04);
}


.earnings-period-info {
    display: flex;
    align-items: center;
    gap: 11px;
}


.earnings-period-icon {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    background: #edf4fd;

    color: var(--blue);

    border-radius: 10px;
}


.earnings-period-icon svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.earnings-period-info strong {
    display: block;

    color: var(--ink);

    font-size: 11px;
}


.earnings-period-info span {
    display: block;

    margin-top: 2px;

    color: #8a96a8;

    font-size: 9px;
}


.earnings-period-controls {
    display: flex;

    align-items: center;

    gap: 10px;
}


.earnings-period-tabs {
    display: flex;

    align-items: center;

    padding: 3px;

    background: #f5f7fa;

    border: 1px solid #e9edf2;

    border-radius: 9px;
}


.earnings-period-tab {
    border: 0;

    background: transparent;

    color: #64748b;

    padding: 7px 10px;

    border-radius: 7px;

    font-size: 9px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background .15s ease,
        color .15s ease,
        box-shadow .15s ease;
}


.earnings-period-tab:hover {
    color: var(--blue);
}


.earnings-period-tab.active {
    background: #fff;

    color: var(--blue);

    box-shadow:
        0 2px 7px rgba(16,24,40,.08);
}


/* =========================================================
   CUSTOM DATE
   ========================================================= */

.earnings-custom-fields {
    display: flex;

    align-items: end;

    gap: 7px;
}


.earnings-custom-fields label {
    display: flex;

    flex-direction: column;

    gap: 4px;
}


.earnings-custom-fields label span {
    color: #7b8798;

    font-size: 8px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .04em;
}


.earnings-custom-fields input {
    height: 34px;

    padding: 0 9px;

    border: 1px solid #dfe5ec;

    border-radius: 8px;

    background: #fff;

    color: var(--ink);

    font-size: 9px;

    outline: none;
}


.earnings-custom-fields input:focus {
    border-color: var(--blue);

    box-shadow:
        0 0 0 3px rgba(37,99,235,.08);
}


.earnings-date-separator {
    color: #98a2b3;

    padding-bottom: 8px;

    font-size: 11px;
}


.earnings-apply-btn {
    height: 34px;

    padding: 0 13px;

    border: 0;

    border-radius: 8px;

    background: var(--blue);

    color: #fff;

    font-size: 9px;

    font-weight: 800;

    cursor: pointer;
}


.earnings-apply-btn:hover {
    filter: brightness(.96);
}


/* =========================================================
   SUMMARY
   ========================================================= */

.earnings-summary-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 13px;

    margin: 0 36px 18px;
}


.earnings-summary-card {
    min-height: 91px;

    display: flex;

    align-items: center;

    gap: 11px;

    padding: 16px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 13px;

    box-shadow:
        0 6px 22px rgba(16,24,40,.035);
}


.earnings-card-icon {
    width: 38px;
    height: 38px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 10px;

    font-size: 14px;

    font-weight: 800;
}


.earnings-card-icon.blue {
    background: #edf4fd;
    color: #2874c6;
}


.earnings-card-icon.green {
    background: #eaf8f0;
    color: #15945d;
}


.earnings-card-icon.purple {
    background: #f2edff;
    color: #7b4bd3;
}


.earnings-card-icon.orange {
    background: #fff2e7;
    color: #d97925;
}


.earnings-card-label {
    display: block;

    color: #718096;

    font-size: 9px;

    font-weight: 650;
}


.earnings-summary-card strong {
    display: block;

    margin-top: 3px;

    color: var(--ink);

    font-size: 20px;

    line-height: 1.1;

    letter-spacing: -.3px;
}


.earnings-summary-card small {
    display: block;

    margin-top: 4px;

    color: #98a2b3;

    font-size: 8px;
}


/* =========================================================
   MAIN REVENUE PANEL
   ========================================================= */

.earnings-main-panel {
    margin: 0 36px 18px;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 8px 28px rgba(16,24,40,.04);
}


.earnings-panel-header {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 20px;

    padding: 21px 22px 14px;
}


.earnings-panel-header h3 {
    margin: 4px 0 3px;

    font-size: 17px;

    letter-spacing: -.25px;
}


.earnings-panel-header p {
    margin: 0;

    font-size: 9px;
}


.earnings-panel-total {
    text-align: right;
}


.earnings-panel-total strong {
    display: block;

    color: var(--ink);

    font-size: 16px;
}


.earnings-panel-total span {
    display: block;

    margin-top: 2px;

    color: #98a2b3;

    font-size: 8px;

    text-transform: uppercase;

    letter-spacing: .03em;
}


/* =========================================================
   CHART
   ========================================================= */

.earnings-chart {
    height: 245px;

    display: flex;

    align-items: stretch;

    gap: 8px;

    padding: 20px 22px 12px;

    border-top: 1px solid #f0f2f5;
}


.earnings-chart-column {
    flex: 1;

    min-width: 24px;

    display: flex;

    flex-direction: column;

    justify-content: flex-end;

    align-items: center;

    gap: 5px;
}


.earnings-chart-value {
    min-height: 11px;

    color: #8792a3;

    font-size: 7px;

    white-space: nowrap;

    opacity: .9;
}


.earnings-chart-bar-wrap {
    width: 100%;

    max-width: 36px;

    flex: 1;

    display: flex;

    align-items: flex-end;

    justify-content: center;

    border-bottom: 1px solid #e9edf2;
}


.earnings-chart-bar {
    width: 72%;

    min-height: 4px;

    background: var(--blue);

    border-radius: 5px 5px 2px 2px;

    transition:
        height .25s ease,
        opacity .15s ease;
}


.earnings-chart-bar:hover {
    opacity: .8;
}


.earnings-chart-label {
    color: #8a96a8;

    font-size: 7px;

    white-space: nowrap;
}


/* =========================================================
   EMPTY CHART
   ========================================================= */

.earnings-empty-chart {
    min-height: 245px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 35px;
}


.earnings-empty-icon {
    width: 45px;
    height: 45px;

    display: grid;
    place-items: center;

    margin-bottom: 11px;

    border-radius: 13px;

    background: #edf4fd;

    color: var(--blue);
}


.earnings-empty-icon svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

    stroke-linecap: round;

    stroke-linejoin: round;
}


.earnings-empty-icon.small {
    width: 40px;
    height: 40px;

    border-radius: 11px;
}


.earnings-empty-icon.small svg {
    width: 17px;
    height: 17px;
}


.earnings-empty-chart strong,
.earnings-small-empty strong {
    color: var(--ink);

    font-size: 10px;
}


.earnings-empty-chart span,
.earnings-small-empty span {
    max-width: 340px;

    margin-top: 4px;

    color: #98a2b3;

    font-size: 8px;

    line-height: 1.5;
}


/* =========================================================
   LOWER GRID
   ========================================================= */

.earnings-lower-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(0, .9fr);

    gap: 18px;

    margin: 0 36px;
}


.earnings-detail-panel {
    min-width: 0;

    background: #fff;

    border: 1px solid var(--line);

    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 7px 25px rgba(16,24,40,.035);
}


.earnings-detail-header {
    padding: 19px 20px 14px;

    border-bottom: 1px solid #eef1f5;
}


.earnings-detail-header h3 {
    margin: 4px 0 3px;

    font-size: 15px;
}


.earnings-detail-header p {
    margin: 0;

    font-size: 8px;
}


/* =========================================================
   FACILITY EARNINGS
   ========================================================= */

.facility-earnings-list {
    padding: 5px 20px;
}


.facility-earnings-row {
    padding: 14px 0;

    border-bottom: 1px solid #f0f2f5;
}


.facility-earnings-row:last-child {
    border-bottom: 0;
}


.facility-earnings-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;
}


.facility-earnings-top div {
    min-width: 0;
}


.facility-earnings-top div strong {
    display: block;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    color: var(--ink);

    font-size: 9px;
}


.facility-earnings-top div span {
    display: block;

    margin-top: 3px;

    color: #98a2b3;

    font-size: 8px;
}


.facility-earnings-top > strong {
    color: var(--ink);

    font-size: 10px;

    white-space: nowrap;
}


.facility-earnings-progress {
    height: 5px;

    margin-top: 8px;

    overflow: hidden;

    background: #edf1f5;

    border-radius: 99px;
}


.facility-earnings-progress div {
    height: 100%;

    background: var(--blue);

    border-radius: inherit;
}


/* =========================================================
   RECENT EARNINGS
   ========================================================= */

.recent-earnings-list {
    padding: 5px 20px;
}


.recent-earnings-row {
    display: flex;

    align-items: center;

    gap: 10px;

    padding: 12px 0;

    border-bottom: 1px solid #f0f2f5;
}


.recent-earnings-row:last-child {
    border-bottom: 0;
}


.recent-earnings-icon {
    width: 32px;
    height: 32px;

    flex: 0 0 auto;

    display: grid;
    place-items: center;

    border-radius: 9px;

    background: #eaf8f0;

    color: #15945d;

    font-size: 11px;

    font-weight: 800;
}


.recent-earnings-info {
    min-width: 0;

    flex: 1;
}


.recent-earnings-info strong {
    display: block;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    color: var(--ink);

    font-size: 9px;
}


.recent-earnings-info span {
    display: block;

    margin-top: 3px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;

    color: #98a2b3;

    font-size: 7px;
}


.recent-earnings-amount {
    text-align: right;

    white-space: nowrap;
}


.recent-earnings-amount strong {
    display: block;

    color: var(--ink);

    font-size: 10px;
}


.recent-earnings-amount span {
    display: block;

    margin-top: 2px;

    color: #98a2b3;

    font-size: 7px;
}


/* =========================================================
   SMALL EMPTY STATE
   ========================================================= */

.earnings-small-empty {
    min-height: 220px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 25px;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1050px) {

    .earnings-summary-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .earnings-period-panel {
        align-items: flex-start;

        flex-direction: column;
    }

    .earnings-period-controls {
        width: 100%;

        justify-content: space-between;
    }

}


@media (max-width: 850px) {

    .earnings-lower-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 650px) {

    .earnings-page-header {
        padding: 24px 20px 4px;
    }

    .earnings-period-panel {
        margin: 18px 20px;
    }

    .earnings-period-controls {
        flex-direction: column;

        align-items: stretch;
    }

    .earnings-period-tabs {
        width: 100%;

        overflow-x: auto;
    }

    .earnings-period-tab {
        flex: 1;

        white-space: nowrap;
    }

    .earnings-custom-fields {
        width: 100%;

        flex-wrap: wrap;
    }

    .earnings-summary-grid {
        grid-template-columns: 1fr;

        margin: 0 20px 18px;
    }

    .earnings-main-panel {
        margin: 0 20px 18px;
    }

    .earnings-lower-grid {
        margin: 0 20px;
    }

    .earnings-chart {
        overflow-x: auto;

        min-width: 500px;
    }

}

/* Admin overview — uses the same shared shell as every admin page */
.admin-overview{background:#f7f9fc;min-height:calc(100vh - 89px);padding:26px 36px 50px}.overview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.overview-heading h2{font-size:30px;letter-spacing:-.9px;margin:4px 0 5px}.overview-heading p{margin:0;font-size:13px}.overview-viewing{margin-top:5px!important;color:#0f766e!important}.overview-actions{display:flex;gap:10px;align-items:center}.facility-filter select{min-width:190px}.overview-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:18px;align-items:start}.facility-panel,.dashboard-panel{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 7px 25px rgba(16,24,40,.035)}.facility-panel{padding:18px;position:sticky;top:18px}.facility-panel-head{display:flex;justify-content:space-between;align-items:center}.facility-count,.panel-chip{font-size:10px;font-weight:800;color:#0f766e;background:#eaf8f6;border-radius:999px;padding:5px 8px}.facility-panel p{font-size:11px;line-height:1.5;margin:7px 0 12px}.facility-panel input{font-size:12px;padding:10px 11px}.facility-list{margin-top:10px;max-height:560px;overflow:auto}.facility-item{display:flex;align-items:center;gap:10px;padding:11px 8px;text-decoration:none;color:var(--ink);border-bottom:1px solid #edf1f5;border-left:3px solid transparent}.facility-item:hover{background:#f8fafc}.facility-item.selected{background:#eef9f7;border-left-color:#1ba99e}.facility-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#eff4f9;color:#1769d2;font-size:9px;font-weight:900;flex:0 0 auto}.facility-item strong,.facility-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facility-item strong{font-size:11px}.facility-item small{font-size:9px;color:#98a2b3;margin-top:2px}.overview-main{min-width:0}.overview-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.overview-kpi{position:relative;min-height:102px;padding:16px 17px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 7px 25px rgba(16,24,40,.035)}.overview-kpi:after{content:"";position:absolute;right:0;top:0;width:30px;height:30px;border-radius:0 12px 0 18px;background:#eff9f7}.overview-kpi span{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:800;color:#6b7f96}.overview-kpi strong{display:block;font-size:23px;letter-spacing:-.5px;margin:8px 0 3px}.overview-kpi small{font-size:9px;color:#7d8ea3}.overview-kpi.attention strong{color:#e35d5d}.overview-grid-two{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:18px;margin-bottom:18px}.dashboard-panel{padding:18px;min-width:0}.dashboard-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.dashboard-panel-head h3{font-size:15px;margin:0 0 4px}.dashboard-panel-head p{font-size:10px;color:#8b98aa;margin:0}.text-link{font-size:11px;font-weight:800;color:var(--blue);text-decoration:none}.bar-chart{height:205px;display:grid;grid-template-columns:repeat(14,minmax(18px,1fr));align-items:end;gap:7px;padding:10px 4px 0;border-bottom:1px solid #edf1f5}.bar-col{height:190px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0}.bar-value{font-size:8px;color:#7f8da0;height:15px;white-space:nowrap}.bar{width:70%;min-height:4px;border-radius:5px 5px 2px 2px;background:#9aa9bb}.bar-col small{font-size:7px;color:#8f9bad;margin-top:7px;white-space:nowrap}.chart-empty{font-size:10px;color:#9aa5b5;text-align:center;margin-top:-105px;position:relative}.live-panel{min-height:273px}.activity-list{max-height:210px;overflow:auto}.activity-item{padding:10px 0;border-bottom:1px solid #edf1f5;font-size:10px;line-height:1.5;color:#52637a}.activity-item small{display:block;color:#98a2b3;font-size:8px;margin-bottom:2px}.activity-item strong{color:#44566e}.danger-item strong{color:#e35d5d}.panel-empty{min-height:180px;display:grid;place-items:center;text-align:center;color:#9aa5b5;font-size:10px}.lower-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr)}.reservation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.reservation-stat{border:1px solid #e9eef3;border-radius:10px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:2px 10px}.reservation-stat span{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.05em;color:#8492a4;font-weight:800}.reservation-stat strong{display:block;font-size:16px;margin-top:4px}.reservation-stat>b{align-self:end;font-size:11px;color:#0f766e}.progress{grid-column:1/-1;height:4px;background:#eef2f5;border-radius:99px;overflow:hidden;margin-top:5px}.progress i{display:block;height:100%;background:#2aa99f;border-radius:inherit}.event-list{display:grid}.event-item{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f5;text-decoration:none;color:var(--ink)}.event-item:last-child{border-bottom:0}.event-item strong{display:block;font-size:11px}.event-item small{display:block;color:#8d99a9;font-size:9px;margin-top:3px}.event-item>span{font-size:8px;font-weight:800;color:#65768b;white-space:nowrap}.overview-grid-three{display:grid;grid-template-columns:1.1fr .85fr 1.1fr;gap:18px}.attention-panel,.payout-panel,.control-panel{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:110px}.attention-panel h3,.payout-panel h3,.control-panel h3{font-size:15px;margin:5px 0}.attention-panel p,.payout-panel p{font-size:9px;color:#8d99a9;margin:0}.small{padding:9px 11px;font-size:10px}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:190px}.quick-actions a{border:1px solid #e5eaf0;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800;text-decoration:none;color:#47586d}@media(max-width:1100px){.overview-layout{grid-template-columns:1fr}.facility-panel{position:static}.facility-list{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}.overview-kpis{grid-template-columns:repeat(2,1fr)}.overview-grid-three{grid-template-columns:1fr 1fr}.control-panel{grid-column:1/-1}}@media(max-width:760px){.admin-overview{padding:20px}.overview-heading{align-items:flex-start;flex-direction:column}.overview-actions{width:100%}.facility-filter{flex:1}.facility-filter select{width:100%}.overview-kpis,.overview-grid-two,.lower-grid,.overview-grid-three{grid-template-columns:1fr}.facility-list{grid-template-columns:1fr}.bar-chart{min-width:620px}.revenue-panel{overflow:auto}.quick-actions{width:100%}.attention-panel,.payout-panel,.control-panel{align-items:flex-start;flex-direction:column}}
.module-placeholder{margin:30px 36px;min-height:280px;display:flex;flex-direction:column;justify-content:center}.module-placeholder h2{margin:6px 0}.module-placeholder p{max-width:720px}.module-placeholder .eyebrow{margin-bottom:2px}

/* Phase 2 — Facilities + Pricing & Inventory */
.module-page{padding:30px 36px 50px;max-width:1600px;margin:0 auto}.module-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.module-hero h2{font-size:30px;letter-spacing:-.8px;margin:5px 0 5px}.module-hero p{margin:0;font-size:13px}.module-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.module-stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:0 8px 28px rgba(16,24,40,.035)}.module-stats span{display:block;text-transform:uppercase;letter-spacing:.07em;font-size:9px;font-weight:800;color:#6b7f96}.module-stats strong{display:block;font-size:24px;letter-spacing:-.5px;margin:7px 0 3px}.module-stats small{font-size:10px;color:#8997a9}.module-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.module-toolbar h3{font-size:18px;margin:4px 0 3px}.module-toolbar p{margin:0;font-size:11px}.facility-filters{display:flex;align-items:center;gap:8px}.facility-filters input{min-width:220px}.facility-filters select{min-width:130px}.btn.ghost{background:transparent;color:var(--muted);border:0}.facility-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.facility-card{border:1px solid var(--line);border-radius:14px;padding:17px;background:#fff;transition:transform .15s ease,box-shadow .15s ease}.facility-card-top{display:flex;align-items:flex-start;gap:11px}.facility-card-icon{width:38px;height:38px;border-radius:11px;background:#eef5fd;color:var(--blue);display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}.facility-card-title{min-width:0;flex:1}.facility-card-title h4,.pricing-location h4{font-size:14px;margin:1px 0 3px}.facility-card-title p,.pricing-location p{font-size:10px;color:#8a97a8;margin:0}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800;background:#eef4fc;color:var(--blue);white-space:nowrap}.status-pill.active{background:#ecfdf3;color:#027a48}.status-pill.suspended,.status-pill.removed{background:#fff1f0;color:#b42318}.status-pill.pending,.status-pill.draft{background:#fff7e8;color:#9a6700}.facility-card-meta{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:10px;border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;margin:15px 0;padding:12px 0}.facility-card-meta span{font-size:10px;color:#53647a}.facility-card-meta b{display:block;text-transform:uppercase;font-size:8px;color:#98a2b3;letter-spacing:.06em;margin-bottom:3px}.inventory-meter>div{display:flex;justify-content:space-between;font-size:9px;color:#6f7f92}.inventory-meter>div strong{color:#344054}.inventory-meter>i,.inventory-summary>i{display:block;height:5px;background:#edf1f5;border-radius:99px;overflow:hidden;margin:7px 0 5px}.inventory-meter i b,.inventory-summary i b{display:block;height:100%;background:#2aa99f;border-radius:inherit}.inventory-meter small{font-size:9px;color:#94a0af}.facility-card-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:14px}.pricing-list{display:grid;gap:10px}.pricing-row{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(180px,1fr) minmax(310px,1fr);align-items:center;gap:22px;border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff}.pricing-location{display:flex;gap:11px;align-items:flex-start;min-width:0}.pricing-location>div:last-child{min-width:0}.pricing-location .status-pill{margin-top:7px}.inventory-summary>span{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:800;color:#8997a9}.inventory-summary strong{display:block;font-size:20px;margin:3px 0}.inventory-summary small{display:block;color:#8b98a9;font-size:9px}.pricing-edit{display:flex;align-items:flex-end;gap:8px;justify-content:flex-end}.pricing-edit label{font-size:9px;text-transform:uppercase;letter-spacing:.05em}.pricing-edit input{min-width:105px;padding:9px 10px;font-size:12px}.pricing-note{margin-top:16px;padding:12px 14px;border-radius:10px;background:#f7fafc;border:1px solid #e7edf3;display:flex;gap:10px;align-items:flex-start}.pricing-note strong{font-size:10px;white-space:nowrap}.pricing-note span{font-size:10px;color:#738196;line-height:1.5}.module-empty{grid-column:1/-1;padding:50px 20px;text-align:center;border:1px dashed #d9e0e8;border-radius:12px;color:#8b98a9}.module-empty strong,.module-empty span{display:block}.module-empty strong{color:#47586d;margin-bottom:4px}.module-empty span{font-size:11px}.facilities-page .alert,.pricing-page .alert{margin-bottom:18px}.facilities-panel,.pricing-panel{padding:22px}.facilities-panel .module-toolbar{align-items:center}.pricing-panel .module-toolbar{align-items:center}
@media(max-width:1050px){.module-stats{grid-template-columns:repeat(2,1fr)}.facility-cards{grid-template-columns:1fr}.pricing-row{grid-template-columns:1fr 1fr}.pricing-edit{justify-content:flex-start;grid-column:1/-1}.module-toolbar{align-items:flex-start;flex-direction:column}.facility-filters{width:100%;flex-wrap:wrap}.facility-filters input{flex:1;min-width:180px}}
@media(max-width:700px){.module-page{padding:22px 20px 40px}.module-hero{align-items:flex-start;flex-direction:column}.module-hero .btn{width:100%;justify-content:center}.module-stats{grid-template-columns:1fr 1fr}.facility-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.facility-filters input{grid-column:1/-1;width:100%;min-width:0}.facility-filters button,.facility-filters a{width:100%;justify-content:center}.pricing-row{grid-template-columns:1fr}.pricing-edit{grid-column:auto;display:grid;grid-template-columns:1fr 1fr auto}.pricing-edit label{min-width:0}.pricing-edit input{min-width:0}.pricing-note{flex-direction:column}.facility-card-meta{grid-template-columns:1fr 1fr}.facility-card-meta span:last-child{grid-column:1/-1}}

/* Shared full notification list */
.notifications-list{display:flex;flex-direction:column;gap:10px}.notification-item{display:flex;align-items:flex-start;gap:14px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:.18s ease}.notification-item.unread{border-color:#cfe0f8;background:#fbfdff;box-shadow:0 4px 14px rgba(25,93,182,.05)}.notification-item:hover{border-color:#c4d3e4}.notification-item .notification-row-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:6px;flex:0 0 8px}.notification-item strong{display:block;font-size:13px;color:var(--ink)}.notification-item p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.55}.notification-item small{color:#98a2b3;font-size:10px}.notification-item form{display:block;margin:0}.notification-item .btn{white-space:nowrap}

/* Refunded bookings (grouped with "Cancelled / Refunded") */
.booking-status.refunded{background:#f4f3ff;color:#6941c6}
.booking-status.refunded .booking-status-dot{background:#6941c6}

/* Summary / KPI / facility cards are informational only - never interactive. */
.landlord-facility-card,.landlord-kpi-card,.booking-summary-card,.reservation-summary-card,.payout-summary-card,.overview-kpi,.stat{cursor:default}

/* =====================================================================
   FACILITY LISTS - four columns (landlord + admin)
   4 columns >= 1400px, 3 columns >= 1100px, 2 columns >= 720px, otherwise 1.
   ===================================================================== */
.landlord-facility-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:22px 32px 0;align-items:stretch}
.facility-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1399px){.landlord-facility-grid,.facility-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1099px){.landlord-facility-grid,.facility-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.landlord-facility-grid{padding:20px 22px 0}}
@media(max-width:719px){.landlord-facility-grid,.facility-cards{grid-template-columns:1fr}.landlord-facility-grid{padding:18px 16px 0}}

/* landlord card, tuned for the narrower column */
.landlord-facility-card{display:flex;flex-direction:column;min-width:0}
.landlord-facility-card .facility-card-image{height:165px;flex:0 0 auto}
.landlord-facility-card .facility-card-content{display:flex;flex-direction:column;flex:1;padding:16px}
.landlord-facility-card .facility-card-title-row h3{font-size:16px}
.landlord-facility-card .facility-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.9em}
.landlord-facility-card .facility-location{overflow-wrap:anywhere}
.landlord-facility-card .facility-metric{padding:11px 8px}
.landlord-facility-card .facility-metric strong{font-size:16px}
.landlord-facility-card .facility-metric small{font-size:9px;line-height:1.35;overflow-wrap:anywhere}
.landlord-facility-card .facility-card-footer{margin-top:auto;flex-wrap:wrap;gap:8px}

/* admin card */
.facility-card{display:flex;flex-direction:column;min-width:0}
.facility-card-actions{margin-top:auto;padding-top:14px}
.facility-card-meta{display:flex;flex-wrap:wrap;gap:12px 18px}
.facility-card-meta span{flex:1 1 40%;min-width:0;overflow-wrap:anywhere}
.facility-card-actions{flex-wrap:wrap}
.facility-card-actions form{margin:0}
.facility-card-actions .btn{white-space:nowrap}
.facility-card.is-highlighted{border-color:#195db6;box-shadow:0 0 0 4px rgba(25,93,182,.16),0 14px 34px rgba(16,24,40,.08);animation:facPulse 1.6s ease 2}
@keyframes facPulse{50%{box-shadow:0 0 0 9px rgba(25,93,182,.10),0 14px 34px rgba(16,24,40,.08)}}
