:root{--brand:#4f46e5;--brand-dark:#4338ca;--brand-mid:#6366f1;--brand-light:#a5b4fc;--brand-soft:#eef2ff;--green:var(--brand);--green-dark:var(--brand-dark);--green-mid:var(--brand-mid);--green-light:var(--brand-light);--green-soft:var(--brand-soft);--ink:#0f172a;--text:#334155;--muted:#64748b;--muted-soft:#94a3b8;--line:#e2e8f0;--line-strong:#cbd5e1;--surface:#fff;--white:#fff;--tint:#f8fafc;--subtle:#f1f5f9;--paper:#f8fafc;--deep:#fff;--nav-fg:#334155;--nav-fg-muted:#64748b;--nav-active-bg:#eef2ff;--nav-active-fg:#4338ca;--nav-line:#e2e8f0;--aqua:#0891b2;--navy:#475569;--sand:#d97706;--coral:#e11d48;--danger:#e11d48;--danger-soft:#fff1f2;--ok-wash:#f0fdf4;--ok-fill:#dcfce7;--ok-line:#bbf7d0;--ok-text:#15803d;--warn-wash:#fffbeb;--warn-fill:#fef3c7;--warn-line:#fde68a;--warn-text:#b45309;--bad-wash:#fff1f2;--bad-fill:#ffe4e6;--bad-line:#fecdd3;--bad-text:#be123c;--info-wash:#eff6ff;--info-fill:#dbeafe;--info-line:#bfdbfe;--info-text:#1d4ed8;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 12px #0f172a12;--shadow-lg:0 12px 32px #0f172a1a;--shadow:var(--shadow-md);--ring:0 0 0 3px #4f46e529;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:48px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--ui-zoom:1.16}*{box-sizing:border-box}html{background:var(--paper);zoom:var(--ui-zoom)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit}button{color:inherit}.app-shell{min-height:calc(100vh / var(--ui-zoom));grid-template-columns:280px 1fr;display:grid}.sidebar{border-right:1px solid var(--nav-line);width:280px;height:calc(100vh / var(--ui-zoom));z-index:60;padding:var(--sp-6) var(--sp-5);background:var(--deep);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.brand,.sidebar nav button,.sidebar nav a,.phase-card,.sidebar-foot,.sidebar-signout{width:100%}.brand{gap:var(--sp-3);padding-bottom:var(--sp-2);flex-shrink:0;align-items:center;display:flex}.brand>div{flex:1;min-width:0}.brand strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.25;display:block;overflow:hidden}.brand small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.brand-mark{border-radius:var(--r-md);color:#fff;background:var(--green);letter-spacing:.05em;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:grid}.brand div,.sidebar-foot div{gap:var(--sp-1);flex-direction:column;display:flex}.brand strong{color:var(--ink);font-size:18px}.brand small,.sidebar-foot small{color:var(--nav-fg-muted);font-size:12px}.nav-group .nav-label{margin:0 0 var(--sp-1);padding-left:var(--sp-3);letter-spacing:.08em;font-size:11px;font-weight:600}.nav-label{color:var(--muted-soft);letter-spacing:.15em;margin:32px 8px 12px;font-size:12px;font-weight:800}.sidebar nav{gap:var(--sp-2);flex-direction:column;display:flex}.sidebar nav button,.sidebar nav a{gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);color:var(--nav-fg);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:flex-start;text-decoration:none;transition:all .2s;display:flex}.sidebar nav button:hover,.sidebar nav button.active,.sidebar nav a:hover,.sidebar nav a.active{background:var(--nav-active-bg);color:var(--nav-active-fg)}.nav-icon{color:var(--muted-soft);flex-shrink:0;place-items:center;margin-top:2px;display:grid}.sidebar nav a:hover .nav-icon{color:var(--text)}.sidebar nav a.active .nav-icon{color:var(--brand)}.nav-copy{gap:var(--sp-1);flex-direction:column;min-width:0;display:flex}.nav-copy b{font-size:14px;font-weight:500;line-height:1.3}.nav-copy small{color:var(--nav-fg-muted);text-transform:none;letter-spacing:0;font-size:12px;line-height:1.35}.sidebar nav a.active .nav-copy small{color:var(--brand-mid)}.nav-groups{gap:var(--sp-5);flex-direction:column;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.phase-card{padding:var(--sp-4);border:1px solid var(--nav-line);border-radius:var(--r-md);background:var(--tint);margin-top:auto}.phase-card small{color:var(--muted);letter-spacing:.12em;font-size:10px;font-weight:800}.phase-card strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:22px;font-weight:500;display:block}.phase-card div{border-radius:var(--r-lg);background:var(--subtle);height:4px;margin:12px 0 8px;overflow:hidden}.phase-card i{background:var(--brand);height:100%;display:block}.phase-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.sidebar-foot{gap:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--nav-line);flex-shrink:0;align-items:center;margin-top:auto;display:flex}.sidebar-foot>div{flex:1;min-width:0}.sidebar-foot strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;display:block;overflow:hidden}.sidebar-foot>span{width:36px;height:36px;color:var(--muted);background:var(--subtle);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:800;display:grid}.sidebar-foot strong{color:var(--ink);font-size:14px}.sidebar-signout{border-radius:var(--r-sm);width:32px;height:32px;color:var(--muted-soft);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;margin:0;padding:0;transition:all .15s;display:grid}.sidebar-signout:hover{color:var(--ink);background:var(--subtle)}.nav-groups{min-height:0;margin:0 calc(var(--sp-2) * -1);padding:0 var(--sp-2);scrollbar-width:thin;flex:1;overflow-y:auto}@media (max-height:640px){.nav-groups{gap:var(--sp-3)}.sidebar nav button,.sidebar nav a{padding:var(--sp-1) var(--sp-3)}.sidebar .nav-copy small{display:none}}main{grid-column:2;min-width:0}.topbar{z-index:40;height:86px;padding:0 var(--sp-7);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd6;justify-content:space-between;align-items:center;display:flex;top:0}.topbar-note{color:var(--muted);margin:2px 0 0;font-size:13px}.topbar h1{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:3px 0 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:28px;font-weight:500}.content{padding:var(--sp-7)}.intro{justify-content:space-between;align-items:flex-end;gap:var(--sp-6);margin-bottom:28px;display:flex}.intro h2{max-width:850px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:12px 0 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:36px;font-weight:500;line-height:1.08}.intro p{max-width:850px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.compact-intro{align-items:center}.eyebrow,.section-kicker{color:var(--green);letter-spacing:.15em;margin:0;font-size:10px;font-weight:800}.primary,.secondary{min-height:42px;padding:0 var(--sp-4);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;font-size:12px;font-weight:800}.primary{color:#fff;background:var(--green)}.primary:hover{background:var(--green-dark)}.secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.secondary:hover{border-color:var(--muted-soft)}.compact{min-height:34px;padding:0 var(--sp-3);font-size:10px}button:disabled{opacity:.55;cursor:wait}.text-button,.link-button,.sort-button{cursor:pointer;background:0 0;border:0;padding:0}.text-button{color:var(--green);font-weight:800}.link-button{color:var(--green);font-size:12px;font-weight:700}.top-button{z-index:80;padding:var(--sp-3) var(--sp-4);color:#fff;background:var(--brand);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:999px;font-size:11px;font-weight:800;position:fixed;bottom:22px;right:22px}.danger{padding:var(--sp-2) var(--sp-3);border:1px solid var(--bad-line);border-radius:var(--r-sm);color:var(--bad-text);background:var(--bad-wash);cursor:pointer;font-size:10px;font-weight:800}.source-pill{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);align-items:center;display:flex}.source-pill>span{background:var(--green-mid);width:8px;height:8px;box-shadow:var(--ring);border-radius:50%}.source-pill div{gap:var(--sp-1);flex-direction:column;display:flex}.source-pill small{color:var(--muted);letter-spacing:.12em;font-size:10px;font-weight:800}.source-pill strong{font-size:11px}.detail-tags{align-items:flex-start;gap:var(--sp-1);flex-direction:column;display:flex}.detail-tags span,.service-chip{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);color:#fff;white-space:nowrap;background:#1475ad;font-size:10px;display:inline-block}.detail-tags span.aqua{background:var(--aqua)}.detail-tags span.warning{color:var(--warn-text);background:var(--warn-fill)}.detail-tags span.bed-tag{color:var(--info-text);background:var(--info-fill)}.gender-pill,.available-badge,.unit-status,.reservation-status{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);white-space:nowrap;font-size:10px;font-weight:800;display:inline-block}.gender-pill.female{color:#9d3f72;background:var(--bad-fill)}.gender-pill.male{color:var(--info-text);background:var(--info-fill)}.gender-pill.mixed,.gender-pill.unspecified{color:var(--warn-text);background:var(--warn-fill)}.available-badge.now{color:var(--green-dark);background:var(--ok-fill)}.available-badge.upcoming{color:var(--info-text);background:var(--info-fill)}.unit-status.active{color:var(--green-dark);background:var(--ok-fill)}.unit-status.return-planned,.unit-status.surrendered{color:var(--bad-text);background:var(--bad-fill)}.reservation-status{color:var(--green);background:var(--ok-fill)}.status-select{height:31px;padding:0 var(--sp-2);border-radius:var(--r-sm);border:1px solid #0000;font-size:10px;font-weight:800}.status-select.occupied{color:var(--green-dark);background:var(--ok-fill)}.status-select.vacant{color:var(--info-text);background:var(--info-fill)}.status-select.special-use{color:var(--warn-text);background:var(--warn-fill)}.payment-status{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);font-size:10px;font-weight:800;display:inline-block}.payment-status.unpaid{color:var(--text);background:#eeeae8}.payment-status.admin-fee{color:var(--warn-text);background:var(--warn-fill)}.payment-status.partial{color:var(--info-text);background:var(--info-fill)}.payment-status.full{color:var(--green-dark);background:var(--ok-fill)}.directory-header{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:24px;display:flex}.directory-header h1{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:28px;font-weight:500}.directory-header p{color:var(--muted);margin:4px 0 0;font-size:14px}.directory-header-actions{gap:var(--sp-3);flex-shrink:0;display:flex}.directory-filters{margin-bottom:16px}.directory-filters .inline-filters{max-width:none}.metrics-container{border-radius:var(--r-md);box-shadow:var(--shadow-md);flex-direction:row;width:100%;margin-bottom:28px;display:flex;overflow:hidden}.metric-card{padding:var(--sp-6);align-items:center;gap:var(--sp-5);border-top:8px solid;flex:1;min-height:120px;display:flex}.metric-icon{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-icon svg{width:100%;height:100%}.metric-content{flex-direction:column;justify-content:center;display:flex}.metric-label{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.metric-value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:36px;font-weight:500;line-height:1.1}.metric-note{color:var(--muted);margin:0;font-size:11px}.tone-green{border-top-color:var(--green,var(--green-mid));background-color:var(--ok-fill)}.tone-green .metric-icon{color:var(--green,var(--green-mid))}.tone-navy{border-top-color:var(--navy,#263959);background-color:var(--paper)}.tone-navy .metric-icon{color:var(--navy,var(--info-text))}.tone-sand{border-top-color:var(--sand,#d2ae75);background-color:var(--warn-wash)}.tone-sand .metric-icon{color:var(--sand,var(--warn-line))}.tone-coral{border-top-color:var(--coral,#e37e67);background-color:var(--bad-wash)}.tone-coral .metric-icon{color:var(--coral,var(--bad-line))}.directory-table-container{width:100%;margin-bottom:32px}.modern-property-table{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--line);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.mpt-header{column-gap:var(--sp-4);background:var(--tint);padding:var(--sp-4) var(--sp-6);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);grid-template-columns:2.5fr 1fr 1fr 1fr 1.5fr 1fr;font-size:12px;font-weight:600;display:grid}.mpt-row{column-gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);cursor:pointer;border-bottom:1px solid #f3f4f6;grid-template-columns:2.5fr 1fr 1fr 1fr 1.5fr 1fr;align-items:center;transition:background-color .2s;display:grid}.mpt-row:last-child{border-bottom:none}.mpt-row:hover{background:var(--info-wash)}.mpt-row.unit-row{border-left:4px solid var(--line);background:#fafafa;padding-left:64px}.mpt-row.unit-row:hover{background:var(--paper)}.room-filter-row{background:var(--info-wash);border-left:4px solid var(--info-line);cursor:default;align-items:center;padding:var(--sp-3) var(--sp-6) var(--sp-3) 96px!important;display:flex!important}.room-filter-row:hover{background:var(--info-wash)!important}.inline-filters{gap:var(--sp-3);width:100%;max-width:500px;display:flex}.search-input-wrapper{flex:1;position:relative}.search-icon{width:16px;height:16px;color:var(--muted-soft);position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input-wrapper input{width:100%;padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-7);border:1px solid var(--line-strong);border-radius:var(--r-sm);outline:none;font-size:13px;transition:border-color .2s}.search-input-wrapper input:focus,.inline-filters select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.inline-filters select{padding:var(--sp-2) var(--sp-6) var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background-color:var(--surface);color:var(--info-text);cursor:pointer;outline:none;font-size:13px}.mpt-row.room-row{background:var(--surface);border-left:4px solid var(--info-line);cursor:default;padding-left:96px}.mpt-row.room-row:hover{background:var(--surface)}.mpt-row.empty-result .mpt-cell{text-align:center;color:var(--muted-soft);padding:var(--sp-5) 0}.mpt-cell{color:var(--info-text);font-size:14px}.mpt-property{align-items:center;gap:var(--sp-4);display:flex}.mpt-property img{border-radius:var(--r-sm);object-fit:cover;border:1px solid var(--line);width:44px;height:44px}.hostel-avatar{border-radius:var(--r-sm);background:var(--ok-fill);width:44px;height:44px;color:var(--green-dark);letter-spacing:.02em;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.mpt-header,.mpt-row.hostel-row{grid-template-columns:2.2fr .7fr 1fr .9fr 1.1fr 1fr .8fr 1.5fr}.mpt-cell-stacked{gap:var(--sp-1);flex-direction:column;display:flex}.mpt-cell-stacked small{color:var(--muted-soft);font-size:11px}.hostel-action-cell{align-items:center;gap:var(--sp-2);display:flex}.icon-btn{line-height:1;padding:var(--sp-2)!important}.mpt-property .info{gap:var(--sp-1);flex-direction:column;display:flex}.mpt-property .info strong{color:var(--info-text);font-size:14px;font-weight:600}.mpt-property .info span{color:var(--muted);font-size:12px}.status-badge{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:999px;font-size:12px;font-weight:600;display:inline-flex}.status-badge:before{content:"";border-radius:50%;width:6px;height:6px;display:block}.status-badge.available{background:var(--info-fill);color:var(--green)}.status-badge.available:before{background:#0e7490}.status-badge.occupied{background:var(--paper);color:var(--info-text)}.status-badge.occupied:before{background:#4b5563}.status-badge.unavailable{background:var(--bad-fill);color:var(--bad-text)}.status-badge.unavailable:before{background:#991b1b}.status-badge.partial{background:var(--warn-fill);color:var(--bad-text)}.status-badge.partial:before{background:#d97706}.mpt-row.unit-summary-row{padding:var(--sp-2) var(--sp-6) var(--sp-3) 64px;border-left:4px solid var(--line);align-items:center;gap:var(--sp-2) var(--sp-4);cursor:pointer;background:#fafafa;flex-wrap:wrap;display:flex!important}.mpt-row.unit-summary-row:hover{background:var(--paper)}.unit-summary-content{align-items:center;gap:var(--sp-2) var(--sp-3);flex-wrap:wrap;display:flex}.unit-summary-count{color:var(--info-text);font-size:13px;font-weight:600}.unit-summary-chip{align-items:center;gap:var(--sp-1);font-size:12px;font-weight:600;display:inline-flex}.unit-summary-chip:before{content:"";border-radius:50%;width:6px;height:6px;display:block}.unit-summary-chip.available{color:var(--green-dark)}.unit-summary-chip.available:before{background:var(--green-dark)}.unit-summary-chip.occupied{color:var(--info-text)}.unit-summary-chip.occupied:before{background:#4b5563}.unit-summary-chip.unavailable{color:var(--bad-text)}.unit-summary-chip.unavailable:before{background:#991b1b}.unit-summary-available-rooms{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.unit-summary-label{color:var(--muted);font-size:12px}.room-chip-row{gap:var(--sp-2);flex-wrap:wrap;display:flex}.room-chip{padding:var(--sp-1) var(--sp-2);cursor:pointer;border:none;border-radius:999px;align-items:center;font-size:11px;font-weight:700;transition:transform .1s,filter .1s;display:inline-flex}.room-chip:hover{filter:brightness(.96);transform:translateY(-1px)}.room-chip.available{background:var(--info-fill);color:var(--green)}.room-chip.unavailable{background:var(--bad-fill);color:var(--bad-text)}.room-chip.ending-soon{background:var(--warn-fill);color:var(--bad-text)}.occupant-cell{align-items:center;gap:var(--sp-2);color:var(--info-text);font-size:13px;font-weight:500;display:flex}.occupant-avatar{background:var(--info-fill);width:28px;height:28px;color:var(--info-text);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.action-cell{justify-content:flex-start;display:flex}.mpt-reserve-btn{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);font-size:12px}.mpt-reserve-btn.disabled{opacity:.6;cursor:not-allowed;background:var(--paper);color:var(--muted-soft);border:1px solid var(--line)}.room-overview-backdrop{z-index:90;padding:var(--sp-6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#06272f6b;place-items:stretch stretch;display:grid;position:fixed;inset:0;overflow:auto}.room-overview-panel{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--subtle);width:min(1480px,100%);min-height:calc(100vh - 44px);box-shadow:var(--shadow-lg);margin:0 auto;overflow:hidden}.room-overview-header{z-index:5;justify-content:space-between;align-items:flex-start;gap:var(--sp-6);padding:var(--sp-6) var(--sp-6) var(--sp-5);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;display:flex;position:sticky;top:0}.room-overview-header small,.room-card-heading small{color:var(--green);letter-spacing:.12em;margin-top:8px;font-size:12px;font-weight:800;display:block}.room-overview-header h2{color:var(--green-dark);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:4px 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:clamp(1.7rem,2.4vw,2.5rem)}.room-overview-header p{color:var(--muted);margin:0}.room-close{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);width:42px;height:42px;color:var(--green-dark);cursor:pointer;flex:0 0 42px;place-items:center;font-size:28px;display:grid}.room-hero-card{gap:var(--sp-6);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);grid-template-columns:220px minmax(0,1fr);margin:24px 28px 16px;display:grid}.room-photo-cover{border-radius:var(--r-lg);background:linear-gradient(145deg, var(--ok-fill), var(--warn-fill));min-height:148px;position:relative;overflow:hidden}.room-photo-cover img,.room-photo-grid img{object-fit:cover;width:100%;height:100%}.room-photo-placeholder{align-content:center;place-items:center;gap:var(--sp-2);height:100%;min-height:148px;color:var(--muted);display:grid}.room-photo-placeholder span{color:var(--green);letter-spacing:.18em;font-weight:900}.photo-count{padding:var(--sp-1) var(--sp-2);color:#fff;background:#082b33d1;border-radius:999px;font-size:12px;font-weight:800;position:absolute;bottom:10px;right:10px}.room-hero-main{align-content:center;gap:var(--sp-6);display:grid}.room-title-line{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);display:flex}.room-title-line h3{color:var(--green-dark);margin:0 0 8px;font-size:28px}.room-type-pill,.room-availability{min-height:30px;padding:var(--sp-1) var(--sp-3);border-radius:999px;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.room-type-pill{background:var(--info-wash);color:var(--info-text)}.room-availability.vacant{background:var(--ok-fill);color:var(--green)}.room-availability.occupied{background:var(--bad-fill);color:var(--bad-text)}.room-hero-facts{grid-template-columns:repeat(5,minmax(110px,1fr));gap:0;display:grid}.room-hero-facts>span{padding:0 var(--sp-4);border-left:1px solid var(--line)}.room-hero-facts>span:first-child{border-left:0;padding-left:0}.room-hero-facts small,.room-stat-grid small{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.room-hero-facts strong{color:var(--green-dark)}.room-stat-grid{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 28px 16px;display:grid}.room-stat-grid article{align-items:center;gap:var(--sp-4);min-height:118px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);display:flex}.room-stat-grid strong{color:var(--green-dark);font-size:18px;display:block}.room-stat-grid p{color:var(--muted);margin:4px 0 0;font-size:12px}.room-stat-icon{background:var(--ok-fill);width:54px;height:54px;color:var(--green);border-radius:50%;flex:0 0 54px;place-items:center;font-weight:900;display:grid}.room-overview-layout{gap:var(--sp-4);padding:0 var(--sp-6) var(--sp-7);grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);display:grid}.room-main-column,.room-side-column{align-content:start;gap:var(--sp-4);display:grid}.room-content-card{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.room-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);margin-bottom:16px;display:flex}.room-card-heading h3{color:var(--green-dark);margin:4px 0 0;font-size:16px}.room-card-heading>span{color:var(--muted);font-size:13px}.room-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.amenity-grid{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.amenity-tile{gap:var(--sp-1) var(--sp-2);min-height:76px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--tint);text-align:left;cursor:pointer;grid-template-rows:auto auto;grid-template-columns:34px 1fr;align-items:center;display:grid}.amenity-tile>span{border-radius:var(--r-sm);background:var(--paper);width:34px;height:34px;color:var(--muted);grid-row:1/span 2;place-items:center;font-weight:900;display:grid}.amenity-tile b{color:var(--green-dark);font-size:13px}.amenity-tile small{color:var(--muted);font-size:12px}.amenity-tile.included{border-color:var(--ok-line);background:var(--ok-wash)}.amenity-tile.included>span{background:var(--ok-fill);color:var(--green)}.amenity-tile.included small{color:var(--green)}.room-bed-table{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.room-bed-table>div{gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--line);grid-template-columns:1fr 1fr .8fr;display:grid}.room-bed-table>div:first-child{border-top:0}.room-bed-table code{color:var(--green-dark);font-weight:800}.room-bed-table span{color:var(--muted);font-size:13px}.room-notes-field,.room-photo-upload{gap:var(--sp-2);color:var(--green);font-size:13px;font-weight:800;display:grid}.room-notes-field textarea{resize:vertical;min-height:112px}.room-photo-grid{gap:var(--sp-2);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid}.room-photo-grid a,.room-photo-empty{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--paper);overflow:hidden}.room-photo-empty{color:var(--muted);grid-column:1/-1;place-items:center;font-size:13px;display:grid}.room-save-bar{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;display:flex;position:sticky;bottom:16px}.modal-backdrop,.drawer-backdrop{z-index:100;padding:var(--sp-5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#04181d99;place-items:center;display:grid;position:fixed;inset:0}.drawer-backdrop{place-items:stretch end;padding:0}.modal{width:min(660px,100%);max-height:calc(90vh / var(--ui-zoom));padding:var(--sp-6);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow);overflow:auto}.reservation-modal{width:min(760px,100%)}.wide-modal{width:min(900px,100%)}.modal-head,.drawer-head,.section-title{justify-content:space-between;align-items:flex-start;gap:var(--sp-5);display:flex}.modal-head{margin-bottom:20px}.modal-head small,.drawer-head small{color:var(--green);letter-spacing:.14em;font-size:10px;font-weight:800}.modal-head h2,.drawer-head h2{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:5px 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:28px;font-weight:500}.modal-head p,.drawer-head p{color:var(--muted);margin:0;font-size:10px}.modal-head>button,.drawer-head>button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:50%;width:32px;height:32px;font-size:18px}.unit-drawer{width:min(680px,100%);height:calc(100vh / var(--ui-zoom));padding:var(--sp-6);background:var(--subtle);overflow:auto;box-shadow:-18px 0 50px #06232a33}.student-drawer{width:min(820px,100%)}.drawer-head{z-index:3;padding:var(--sp-6);border-bottom:1px solid var(--line);background:var(--surface);margin:-24px -24px 16px;position:sticky;top:-24px}.drawer-section{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:16px}.drawer-section .section-title{align-items:center;margin-bottom:16px}.drawer-section .section-title h3{font-size:18px}.drawer-subsection{padding-top:var(--sp-4);border-top:1px dashed var(--line);margin-top:16px}.drawer-subsection:first-of-type{border-top:none;margin-top:0;padding-top:0}.drawer-subsection h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.subsection-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:8px;display:flex}.subsection-head h4{margin:0}.drawer-tabs{z-index:4;gap:var(--sp-2);padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:1fr 1fr;margin:0 0 16px;display:grid;position:sticky;top:81px}.drawer-tabs button{padding:var(--sp-2);border-radius:var(--r-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:10px;font-weight:800}.drawer-tabs button.active{color:#fff;background:var(--green)}.filters,.pricing-controls{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--tint);align-items:end;display:grid}.filters{gap:var(--sp-3)}.pricing-controls{gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);grid-template-columns:repeat(4,minmax(130px,1fr))}.availability-filters{grid-template-columns:minmax(190px,1.6fr) repeat(4,minmax(105px,1fr)) auto}.mobile-availability{display:none}.unit-filters{grid-template-columns:minmax(250px,1fr) 200px}.filters label,.form-grid label,.service-form label,.pricing-controls label,.utility-fields label,.inspection-fields label{gap:var(--sp-2);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;flex-direction:column;font-size:10px;font-weight:800;display:flex}.filters input,.filters select,.form-grid input,.form-grid select,.service-form input,.service-form select,.room-list select,.pricing-controls input,.pricing-controls select{width:100%;height:39px;padding:0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);text-transform:none;letter-spacing:0;outline:0;font-size:11px}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus,.service-form input:focus,.service-form select:focus,.pricing-controls input:focus,.pricing-controls select:focus{border-color:var(--green-mid);box-shadow:var(--ring)}.form-grid{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.form-grid .wide{grid-column:1/-1}.reservation-steps{gap:var(--sp-2);margin-bottom:8px;display:flex}.reservation-steps span{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--paper);color:var(--muted);text-align:center;letter-spacing:.02em;flex:1;font-size:11px;font-weight:700}.reservation-steps span.active{background:var(--green);color:#fff}.reservation-steps span.done{background:var(--ok-fill);color:var(--green)}.form-actions{justify-content:flex-end;gap:var(--sp-2);padding-top:var(--sp-2);display:flex}.billing-preview-table{max-height:50vh;margin:var(--sp-4) 0}.field-note{color:var(--muted);text-transform:none;letter-spacing:0;font-size:10px;font-weight:400}.room-details-group{margin:16px 0 -2px}.auto-address-note{color:var(--muted);text-transform:none;letter-spacing:0;margin:4px 0 0;font-size:11px;font-weight:400}.unit-code-input{align-items:stretch;display:flex}.unit-code-prefix{padding:0 0 0 var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm) 0 0 var(--r-sm);background:var(--paper);color:var(--text);white-space:nowrap;border-right:0;align-items:center;font-size:13px;font-weight:700;display:flex}.unit-code-input .unit-code-prefix+input{border-radius:0 var(--r-sm) var(--r-sm) 0}textarea{resize:vertical;min-height:92px}.form-grid textarea{width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);font:inherit}.checkbox-field{padding-top:var(--sp-6);align-items:center;gap:var(--sp-2)!important;flex-direction:row!important;display:flex!important}.checkbox-field input{width:17px!important;height:17px!important}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:940px}th{padding:var(--sp-3) var(--sp-4);color:var(--muted);background:var(--tint);border-bottom:1px solid var(--line);letter-spacing:.1em;text-align:left;text-transform:uppercase;white-space:nowrap;font-size:10px}td{padding:var(--sp-4);border-bottom:1px solid var(--line);color:var(--green-dark);vertical-align:middle;font-size:10px}tbody tr:hover{background:var(--ok-wash)}td strong{color:var(--ink);font-size:10px;display:block}td small{color:var(--muted);margin-top:4px;font-size:10px;display:block}td em{color:var(--muted-soft)}code{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:var(--green);background:var(--paper);white-space:nowrap;font-family:Consolas,monospace;font-size:10px;display:inline-block}.reset-button{white-space:nowrap;align-self:end;height:39px}.module-metrics,.dash-stats{border-radius:var(--r-md);width:100%;box-shadow:var(--shadow-md);flex-flow:wrap;gap:0;margin-bottom:28px;display:flex;overflow:hidden}.module-metrics>article,.module-metrics>.stat-filter,.dash-stats>.dash-stat{min-width:0;min-height:120px;padding:var(--sp-6);text-align:left;border:0;border-top:8px solid;border-radius:0;flex-direction:column;flex:200px;justify-content:center;display:flex}.module-metrics>article>strong,.module-metrics>.stat-filter>strong,.dash-stats>.dash-stat>strong{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;order:2;margin-bottom:4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:36px;font-weight:500;line-height:1.1}.module-metrics>article>span,.module-metrics>.stat-filter>small,.dash-stats>.dash-stat .dash-stat-head small{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;order:1;margin-bottom:8px;font-size:11px;font-weight:600}.dash-stats>.dash-stat>span{color:var(--muted);order:3;font-size:11px}.dash-stats>.dash-stat .dash-stat-head{order:1}.dash-stats>.dash-stat .dash-stat-head small{order:0;margin-bottom:0}.module-metrics>:nth-child(4n+1),.dash-stats>:nth-child(4n+1){border-top-color:var(--green,var(--green-mid));background-color:var(--ok-fill)}.module-metrics>:nth-child(4n+2),.dash-stats>:nth-child(4n+2){border-top-color:var(--navy,#263959);background-color:var(--paper)}.module-metrics>:nth-child(4n+3),.dash-stats>:nth-child(4n+3){border-top-color:var(--sand,#d2ae75);background-color:var(--warn-wash)}.module-metrics>:nth-child(4n+4),.dash-stats>:nth-child(4n+4){border-top-color:var(--coral,#e37e67);background-color:var(--bad-wash)}.module-metrics>.stat-filter{cursor:pointer;transition:box-shadow .15s}.module-metrics>.stat-filter:hover{box-shadow:inset 0 0 0 2px #26766159}.module-metrics>.stat-filter.active{box-shadow:inset 0 0 0 2px var(--green)}.dash-stats>.dash-stat.feature{color:var(--ink);border-top-color:var(--green,var(--green-mid));background-image:none}.dash-stats>.dash-stat.feature>span,.dash-stats>.dash-stat.feature .dash-stat-head small{color:var(--muted)}.dash-stats>.dash-stat .dash-stat-head button{color:var(--ink);border-color:#0f172a2e}@media (max-width:1000px){.module-metrics>article,.module-metrics>.stat-filter,.dash-stats>.dash-stat{min-height:104px;padding:var(--sp-4) var(--sp-5);flex-basis:45%}}.dash-welcome{margin-bottom:16px}.dash-welcome h2{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:8px 0 4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:32px}.dash-welcome p{color:var(--muted);margin:0;font-size:13px}.dash-stats{gap:var(--sp-4);grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px;display:grid}.dash-stat{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.dash-stat.feature{color:var(--brand);background:linear-gradient(150deg, var(--green) 0%, var(--green-dark) 100%);border-color:#0000}.dash-stat-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.dash-stat-head small{color:var(--muted);letter-spacing:.1em;font-size:10px;font-weight:800}.dash-stat.feature .dash-stat-head small{color:var(--brand)}.dash-stat-head button{border:1px solid var(--line);width:26px;height:26px;color:var(--ink);cursor:pointer;background:0 0;border-radius:50%;font-size:12px;line-height:1}.dash-stat.feature .dash-stat-head button{color:#fff;border-color:#ffffff59}.dash-stat strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:8px 0 4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:36px;font-weight:500;line-height:1;display:block}.dash-stat strong.money{font-size:28px}.announcement-priority{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-right:8px;font-size:11px;font-weight:600}.module-metrics>article>strong.is-long,.module-metrics>.stat-filter>strong.is-long,.dash-stats>.dash-stat>strong.is-long,.dash-stat strong.is-long{font-size:22px}.dash-stat span{color:var(--muted);font-size:11px}.dash-stat.feature span{color:var(--brand)}.dash-row-a,.dash-row-b{gap:var(--sp-4);margin-bottom:16px;display:grid}.dash-row-a{grid-template-columns:1.5fr 1fr 1fr}.dash-row-b{grid-template-columns:1.3fr 1fr 1.3fr}.dash-card{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;display:flex}.dash-card-head{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:16px;display:flex}.dash-card-head h3{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px}.dash-count{min-width:24px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-lg);color:var(--green);background:var(--green-soft);text-align:center;font-size:12px;font-weight:800}.dash-count.warn{color:var(--bad-text);background:var(--bad-fill)}.dash-list{gap:var(--sp-2);display:grid}.dash-list.tight{gap:var(--sp-1)}.dash-list-row{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--tint);text-align:left;cursor:pointer;display:flex}.dash-list-row:hover{border-color:var(--green);background:var(--green-soft)}.dash-list-row>span{min-width:0}.dash-list-row b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.dash-list-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.dash-list-row code{font-size:10px}.dash-list-row i{color:var(--muted);font-style:normal}.dash-bars{gap:var(--sp-2);align-items:flex-end;height:150px;margin-bottom:16px;display:flex}.dash-bar{align-items:center;gap:var(--sp-2);flex-direction:column;flex:1;height:100%;display:flex}.dash-bar-track{flex-direction:column;justify-content:flex-end;width:100%;height:100%;display:flex;position:relative}.dash-bar-total{border-radius:var(--r-sm);background:#e4eae7;flex-direction:column;justify-content:flex-end;width:100%;min-height:6px;display:flex;overflow:hidden}.dash-bar-fill{border-radius:var(--r-sm);background:linear-gradient(180deg, var(--green-mid) 0%, var(--green-dark) 100%);width:100%}.dash-bar-track b{color:var(--ink);font-size:10px;font-weight:800;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.dash-bar small{color:var(--muted);font-size:11px;font-weight:700}.dash-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.dash-table th{padding:var(--sp-2) var(--sp-1);border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;font-size:10px}.dash-table td{padding:var(--sp-2) var(--sp-1);border-bottom:1px solid var(--line);font-size:12px}.dash-money-total{padding:var(--sp-4);border-radius:var(--r-md);background:var(--green-soft);margin-bottom:12px}.dash-money-total small{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:800}.dash-money-total strong{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:4px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:28px;display:block}.dash-money-row{padding:var(--sp-2) var(--sp-1);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;font-size:12px;display:flex}.dash-money-row b{font-variant-numeric:tabular-nums}.dash-legend{gap:var(--sp-2);color:var(--muted);align-items:center;font-size:11px;display:flex}.dash-legend i{vertical-align:middle;border-radius:3px;width:9px;height:9px;margin-right:3px;display:inline-block}.dash-legend i.in{background:var(--green-dark)}.dash-legend i.out{background:var(--muted-soft)}.dash-grouped{gap:var(--sp-2);align-items:flex-end;height:170px;display:flex}.dash-group{align-items:center;gap:var(--sp-1);flex-direction:column;flex:1;height:100%;display:flex}.dash-group-bars{gap:var(--sp-1);flex:1;justify-content:center;align-items:flex-end;width:100%;display:flex}.gbar{border-radius:var(--r-sm) var(--r-sm) 0 0;width:42%;min-height:3px}.gbar.in{background:var(--green-dark)}.gbar.out{background:var(--muted-soft)}.login-shell{min-height:calc(100vh / var(--ui-zoom));padding:var(--sp-6);background:var(--deep);place-items:center;display:grid}.login-card{width:min(420px,100%);padding:var(--sp-7);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.login-brand{gap:var(--sp-3);align-items:center;margin-bottom:24px;display:flex}.login-brand strong{font-size:16px;display:block}.login-brand small{color:var(--muted);font-size:11px}.login-card h1{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0 0 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:28px}.login-intro{color:var(--muted);margin:0 0 20px;font-size:13px}.login-card form{gap:var(--sp-4);display:grid}.login-card label{gap:var(--sp-2);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700;display:grid}.login-card input{padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);font-size:14px}.login-card button{padding:var(--sp-3);border-radius:var(--r-sm);color:#fff;background:var(--green);cursor:pointer;border:none;margin-top:4px;font-size:14px;font-weight:700}.login-card button:disabled{opacity:.6;cursor:progress}.login-error{padding:var(--sp-2) var(--sp-3);border:1px solid var(--bad-line);border-radius:var(--r-sm);color:var(--bad-text);background:var(--bad-wash);margin-bottom:16px;font-size:13px}.login-foot,.login-checking{color:var(--muted);text-align:center;margin:16px 0 0;font-size:11px}.login-checking{font-size:13px}.portal-shell{min-height:calc(100vh / var(--ui-zoom));background:var(--paper)}.portal-bar{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;display:flex}.portal-bar .login-brand{margin-bottom:0}.portal-body{padding:var(--sp-7) var(--sp-6)}.portal-card{max-width:720px;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.portal-card h1{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:8px 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:32px}.portal-card>p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.portal-note{padding:var(--sp-4);border-radius:var(--r-md);background:var(--green-soft);margin-top:24px}.portal-note strong{letter-spacing:.08em;text-transform:uppercase;font-size:12px}.portal-note ul{padding-left:var(--sp-4);color:var(--ink);margin:8px 0 0;font-size:13px;line-height:1.9}.panel{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.workspace{overflow:clip}.workspace-tabs{gap:var(--sp-2);padding:var(--sp-3);border-bottom:1px solid var(--line);background:var(--paper);display:flex}.workspace-tabs button{min-height:38px;padding:0 var(--sp-4);border-radius:var(--r-sm);color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;font-size:11px;font-weight:800}.workspace-tabs button:hover,.workspace-tabs button.active{color:var(--ink);border-color:var(--line);background:var(--surface)}.workspace-tabs-secondary{padding:var(--sp-2) var(--sp-3);background:var(--tint);border-bottom:1px solid var(--line)}.workspace-tabs-secondary button{min-height:30px;padding:0 var(--sp-3);font-size:10px}.workspace-tabs span{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:#fff;background:var(--green);margin-left:5px;font-size:10px}.drawer-records-tabs{border-radius:var(--r-sm);flex-wrap:wrap;margin-bottom:12px}.drawer-records-tabs button{padding:0 var(--sp-3)}.section-heading{justify-content:space-between;align-items:center;gap:var(--sp-6);padding:var(--sp-6) var(--sp-6) var(--sp-4);display:flex}.section-heading small,.section-title small{color:var(--green);letter-spacing:.14em;font-size:10px;font-weight:800}.section-heading h3,.section-title h3{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:5px 0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:22px;font-weight:500}.section-heading p{color:var(--muted);margin:0;font-size:11px}.result-bubble{flex-direction:column;align-items:flex-end;display:flex}.result-bubble strong{color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:32px;font-weight:500}.result-bubble span{color:var(--muted);font-size:10px}.loading,.placeholder{min-height:calc((100vh / var(--ui-zoom)) - 86px);padding:var(--sp-7);text-align:center;align-content:center;place-items:center;display:grid}.loading>span{border:3px solid var(--line);border-top-color:var(--green);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:var(--sp-8) var(--sp-5);text-align:center}.empty-state>span{border-radius:var(--r-md);width:46px;height:46px;color:var(--green);background:var(--green-soft);place-items:center;margin:0 auto 13px;font-weight:900;display:grid}.empty-state h3{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0 0 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:22px}.empty-state p{max-width:430px;color:var(--muted);margin:0 auto 16px;font-size:11px}.error-banner,.notice-banner{border-radius:var(--r-sm);font-size:11px}.error-banner{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--bad-line);color:var(--bad-text);background:var(--bad-wash);margin:16px 32px 0;display:flex}.notice-banner{z-index:500;padding:var(--sp-3) var(--sp-4);color:#fff;background:var(--green);box-shadow:var(--shadow-lg);font-weight:800;position:fixed;top:18px;left:50%}.notice-banner.blocked{background:#b91c1c}.standard-charge-breakdown{gap:var(--sp-2);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--tint);flex-direction:column;display:flex}.standard-charge-breakdown>small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-weight:800}.standard-charge-breakdown ul{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.standard-charge-breakdown li{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px dashed var(--line);display:flex}.standard-charge-breakdown li span{color:var(--ink);flex-direction:column;display:flex}.standard-charge-breakdown li span small{color:var(--muted);font-weight:500}.standard-charge-total{padding-top:var(--sp-1);justify-content:space-between;align-items:baseline;font-weight:800;display:flex}.standard-charge-total strong{font-size:var(--text-base)}.reservation-grid{gap:var(--sp-4);padding:0 var(--sp-6) var(--sp-6);grid-template-columns:repeat(3,1fr);display:grid}.reservation-grid article{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:#fcfdfb}.reservation-grid h4{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:16px 0 5px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px}.reservation-grid p{color:var(--muted);margin:0;font-size:10px}.reservation-grid ul{gap:var(--sp-2);flex-wrap:wrap;margin:16px 0;padding:0;list-style:none;display:flex}.reservation-grid li{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:var(--green);background:var(--paper);font-size:10px}.reservation-match{gap:var(--sp-1);flex-direction:column;min-width:145px;display:flex}.reservation-match>span{padding:var(--sp-2);border-radius:var(--r-sm);background:var(--warn-fill)}.reservation-match b,.reservation-match small{color:var(--warn-text);font-size:10px;display:block}.rate-display{align-items:flex-start;gap:var(--sp-1);flex-direction:column;display:flex}.rate-display .original-rate,.original-rate{color:var(--muted-soft);text-decoration:line-through}.promo-price{color:var(--bad-text)!important;font-size:13px!important}.pricing-preview{padding:var(--sp-5) var(--sp-6) var(--sp-6)}.preview-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pricing-preview table{border:1px solid var(--line);min-width:800px}.pricing-preview input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}.data-notes{gap:var(--sp-3);grid-template-columns:repeat(3,1fr);margin-top:24px;display:grid}.data-notes article{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);display:flex}.data-notes p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.5}.ticket-status{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-md);font-size:10px;font-weight:800;display:inline-block}.ticket-status.submitted{color:var(--info-text);background:var(--info-fill)}.ticket-status.attended,.ticket-status.in-progress{color:var(--warn-text);background:var(--warn-fill)}.conversation{gap:var(--sp-2);flex-direction:column;display:flex}.conversation article{max-width:88%;padding:var(--sp-3);border-radius:var(--r-sm);background:var(--paper)}.conversation article.student-message{border-bottom-left-radius:2px;align-self:flex-start}.conversation article.staff-message{background:var(--ok-fill);border-bottom-right-radius:2px;align-self:flex-end}.attachment-list strong{margin-bottom:8px;display:block}.attachment-list-compact{margin-top:8px}.attachment-thumb-grid{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:8px;display:grid}.attachment-thumb-grid:first-of-type{margin-top:0}.attachment-group-label{letter-spacing:.08em;color:var(--muted);grid-column:1/-1}.attachment-thumb{border:1px solid var(--line);border-radius:var(--r-md);background:#10201f;margin:0;position:relative;overflow:hidden}.attachment-thumb a,.attachment-thumb img,.attachment-thumb video{width:100%;height:120px;display:block}.attachment-thumb img,.attachment-thumb video{object-fit:cover;background:#10201f}.attachment-thumb .attachment-delete{padding:var(--sp-1) var(--sp-2);background:#ffffffeb;font-size:10px;position:absolute;top:6px;right:6px}.announcement-list{gap:var(--sp-4);grid-template-columns:repeat(2,1fr);display:grid}.announcement-list article{padding:var(--sp-5);border:1px solid var(--line);border-left:4px solid var(--muted-soft);border-radius:var(--r-sm);background:var(--surface)}.announcement-list .pin-toggle{margin-left:12px}.operational-rates{padding:0 var(--sp-6) var(--sp-6)}.rate-card-grid{gap:var(--sp-2);grid-template-columns:repeat(5,1fr);display:grid}.rate-card-grid form{gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--tint);flex-direction:column;display:flex}.rate-card-grid h4{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:0 0 3px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}.sticky-tabs{background:var(--paper);box-shadow:0 1px 0 var(--line)}.sticky-filters{border-bottom:1px solid var(--line)}.hostel-grid{gap:var(--sp-4);grid-template-columns:repeat(5,1fr);margin-bottom:28px;display:grid}.hostel-card{min-width:0;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);cursor:pointer;text-align:left}.hostel-card:hover,.hostel-card.selected{border-color:var(--green-light);box-shadow:var(--ring)}.hostel-card-top{justify-content:space-between;align-items:center;display:flex}.hostel-card h3{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:16px 0 8px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:22px;font-weight:500}.hostel-card p{height:47px;color:var(--muted);margin:0;font-size:10px;line-height:1.7;overflow:hidden}@media print{.sidebar,.topbar,.intro,.workspace-tabs,.button-row,.modal-head button,.top-button{display:none!important}.modal-backdrop{background:var(--surface);padding:0;display:block;position:static}.modal{width:100%;max-height:none;box-shadow:none}}@media (max-width:1250px){.dash-stats,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-row-a,.dash-row-b{grid-template-columns:1fr}.hostel-grid{grid-template-columns:repeat(3,1fr)}.availability-filters{grid-template-columns:repeat(4,1fr)!important}.availability-filters .search{grid-column:span 2}.reservation-grid{grid-template-columns:repeat(2,1fr)}.service-form{grid-template-columns:1fr 1fr}.rate-card-grid,.lot-grid{grid-template-columns:repeat(3,1fr)}.quick-payment{grid-template-columns:1fr 1fr}.quick-payment button{grid-column:1/-1}.payment-form{grid-template-columns:1fr 1fr}.payment-form button{grid-column:1/-1}.pricing-controls{grid-template-columns:repeat(3,minmax(130px,1fr))}.service-form.expanded{grid-template-columns:1fr 1fr}.room-row{grid-template-columns:70px 1fr}.room-row select{grid-column:1/-1}.split-registers{grid-template-columns:1fr 1fr}.settings-grid{grid-template-columns:1fr}}@media (max-width:1180px){.room-hero-facts{row-gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr))}.room-hero-facts>span:nth-child(4){border-left:0;padding-left:0}.room-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-overview-layout{grid-template-columns:1fr}}@media (max-width:1024px){.metrics-container{flex-direction:column}.metric-card{border-top-width:0;border-left-style:solid;border-left-width:8px;min-height:auto}}@media (max-width:900px){:root{--ui-zoom:1}.app-shell{grid-template-columns:1fr}main{grid-column:1}.sidebar{width:auto;height:auto;padding:var(--sp-4);z-index:auto;position:relative;overflow:visible}.nav-copy small,.phase-card,.nav-label,.nav-mark,.source-pill{display:none}.brand{padding-bottom:var(--sp-3);padding-right:44px}.sidebar-foot{top:var(--sp-4);right:var(--sp-4);border:0;width:auto;margin:0;padding:0;position:absolute}.sidebar-foot>span,.sidebar-foot>div{display:none}.nav-groups,.nav-group{display:contents}.sidebar nav{grid-template-columns:repeat(5,1fr);display:grid}.sidebar nav button,.sidebar nav a{padding:var(--sp-2) var(--sp-1);justify-content:center}.nav-copy b{text-align:center;font-size:11px}.topbar{height:72px;padding:0 var(--sp-4)}.content{padding:var(--sp-5) var(--sp-4)}.intro{flex-direction:column;align-items:flex-start}.intro h2{font-size:32px}.hostel-grid{grid-template-columns:1fr 1fr}.workspace-tabs{overflow:auto}.workspace-tabs button{flex:none}.section-heading{flex-direction:column;align-items:flex-start}.availability-filters{grid-template-columns:1fr 1fr!important}.unit-filters{grid-template-columns:1fr}.search{grid-column:1/-1!important}.data-notes{grid-template-columns:1fr}.room-list article{grid-template-columns:60px 1fr}.room-list select{grid-column:1/-1}.availability-summary{grid-template-columns:repeat(3,1fr);width:100%}.inventory-rule{flex-direction:column;align-items:flex-start}.payment-mix{justify-content:flex-start}.pricing-controls{grid-template-columns:1fr 1fr!important}.module-metrics{grid-template-columns:1fr 1fr}.split-registers,.announcement-list,.report-list,.expanded-grid{grid-template-columns:1fr}.rate-card-grid,.lot-grid{grid-template-columns:1fr 1fr}.editable-room{grid-template-columns:1fr 1fr!important}.asset-actions{flex-wrap:wrap}}@media (max-width:760px){.room-overview-backdrop{padding:0}.room-overview-panel{border:0;border-radius:0;min-height:100vh}.room-overview-header,.room-hero-card,.room-stat-grid,.room-overview-layout{margin-left:16px;margin-right:16px}.room-overview-header{padding:var(--sp-4);margin:0}.room-hero-card,.room-hero-facts,.room-stat-grid,.amenity-grid,.room-edit-grid{grid-template-columns:1fr}.room-hero-facts>span{padding:var(--sp-2) 0;border-top:1px solid var(--line);border-left:0}.room-hero-facts>span:first-child{border-top:0}.room-overview-layout{padding:0 0 var(--sp-6)}.room-bed-table>div{grid-template-columns:1fr}}@media (max-width:620px){.sidebar nav{grid-template-columns:1fr 1fr}.topbar-note{color:var(--muted);margin:2px 0 0;font-size:13px}.topbar h1{font-size:22px}.hostel-grid,.reservation-grid{grid-template-columns:1fr}.availability-filters,.form-grid,.unit-form .form-grid{grid-template-columns:1fr!important}.form-grid .wide{grid-column:auto}.asset-list,.service-form{grid-template-columns:1fr}.modal-backdrop{padding:var(--sp-2)}.modal{padding:var(--sp-4)}.module-content{padding-top:var(--sp-2)}.sales-overview,.desktop-availability{display:none}.hostel-workspace{border-radius:var(--r-sm);margin-top:0}.sticky-filters{box-shadow:none;position:relative;top:auto}.mobile-availability{gap:var(--sp-2);padding:var(--sp-3);background:#f3f1f1;flex-direction:column;display:flex}.availability-card{gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line-strong);border-left:4px solid var(--green-mid);border-radius:var(--r-sm);background:var(--ok-wash);flex-direction:column;display:flex}.availability-card .card-title{justify-content:space-between;gap:var(--sp-2);display:flex}.availability-card code{color:var(--info-text);background:0 0;font-size:18px;font-weight:800}.availability-card p{color:var(--muted);margin:3px 0 0;font-size:10px}.mobile-card-grid{gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.mobile-card-grid>div{gap:var(--sp-1);flex-direction:column;display:flex}.mobile-card-grid small,.mobile-reservation>small{color:var(--muted);font-size:10px}.mobile-card-grid strong{font-size:10px}.mobile-reservation{padding:var(--sp-2);border-radius:var(--r-sm);background:var(--warn-fill)}.mobile-reservation p{color:var(--warn-text)}.availability-summary{padding:0 var(--sp-4) var(--sp-3);grid-template-columns:1fr}.module-metrics,.report-grid{grid-template-columns:1fr 1fr}.module-metrics strong{font-size:22px}.rate-card-grid,.lot-grid,.charge-grid,.pricing-controls,.editable-room,.bed-config form,.bed-config label{grid-template-columns:1fr!important}.drawer-tabs{top:81px}.quick-payment,.reservation-money{grid-template-columns:1fr}.total-payable,.modal-total,.cycle-banner,.payment-review>div{flex-direction:column;align-items:flex-start}.ticket-summary{grid-template-columns:1fr}.report-list article{grid-template-columns:auto 1fr}.report-list article button{grid-column:1/-1}.top-button{bottom:12px;right:12px}.inventory-rule{padding:var(--sp-3) var(--sp-4)}.payment-form,.service-form.expanded,.bed-config{grid-template-columns:1fr}.pricing-controls,.pricing-preview{padding:var(--sp-4)}.service-form .service-wide{grid-column:auto}.gender-vacancy{grid-template-columns:repeat(3,1fr)}.settings-grid{padding:var(--sp-3)}.stat-filter strong{font-size:18px}.asset-list article,.service-list article{flex-wrap:wrap;align-items:flex-start}.asset-actions{width:100%;margin-left:0}.report-filters{grid-template-columns:1fr!important}}.reservation-page{--reservation-green:var(--green);--reservation-green-dark:var(--green-dark);--reservation-green-soft:var(--green-soft);--reservation-navy:var(--ink);--reservation-text:var(--text);--reservation-muted:var(--muted);--reservation-border:var(--line);--reservation-surface:var(--surface);--reservation-background:var(--subtle);--reservation-danger:var(--danger);--reservation-danger-soft:var(--danger-soft);gap:var(--sp-6);width:100%;color:var(--reservation-navy);display:grid}.reservation-hero{justify-content:space-between;align-items:center;gap:var(--sp-7);min-height:190px;padding:var(--sp-7);background:radial-gradient(circle at 75% 50%, #def1e9cc, transparent 32%), linear-gradient(135deg, var(--surface) 0%, var(--ok-wash) 100%);border:1px solid var(--reservation-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:flex;position:relative;overflow:hidden}.reservation-hero:after{content:"";filter:blur(6px);background:#ddf0e88c;border-radius:50%;width:300px;height:160px;position:absolute;bottom:-65px;right:16%}.reservation-hero-copy{z-index:2;max-width:780px;position:relative}.reservation-eyebrow-row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:8px;display:flex}.reservation-eyebrow{color:var(--reservation-green);letter-spacing:.14em;font-size:12px;font-weight:800}.reservation-result-count{min-height:26px;padding:var(--sp-1) var(--sp-2);color:var(--reservation-green-dark);background:var(--reservation-green-soft);border:1px solid var(--ok-fill);border-radius:999px;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.reservation-hero h3{color:var(--reservation-navy);letter-spacing:-.035em;margin:0;font-size:clamp(28px,2.3vw,40px);font-weight:750;line-height:1.15}.reservation-hero p{max-width:750px;color:var(--reservation-text);margin:12px 0 0;font-size:16px;line-height:1.65}.reservation-hero-side{z-index:2;align-items:center;gap:var(--sp-6);flex-shrink:0;display:flex;position:relative}.reservation-illustration{width:225px;height:120px;position:relative}.illustration-calendar{width:115px;height:92px;padding:var(--sp-6) var(--sp-4) var(--sp-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);position:absolute;bottom:5px;left:10px;transform:rotate(2deg)}.illustration-calendar:before{content:"";background:var(--ok-line);border-radius:var(--r-sm) var(--r-sm) 0 0;width:100%;height:20px;position:absolute;top:0;left:0}.illustration-calendar-hooks{z-index:2;justify-content:space-between;width:72px;display:flex;position:absolute;top:-6px;left:20px}.illustration-calendar-hooks i{background:var(--muted);border:2px solid var(--surface);border-radius:var(--r-sm);width:6px;height:18px}.illustration-calendar-grid{gap:var(--sp-2);grid-template-columns:repeat(4,1fr);display:grid}.illustration-calendar-grid i{background:var(--ok-fill);border-radius:2px;height:8px}.illustration-calendar-grid i:nth-child(6),.illustration-calendar-grid i:nth-child(10){background:var(--green-mid)}.illustration-checklist{width:86px;min-height:100px;padding:var(--sp-6) var(--sp-3) var(--sp-3);background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);border:4px solid #d89d37;position:absolute;bottom:7px;right:10px;transform:rotate(7deg)}.illustration-clip{background:var(--muted);border-radius:4px 4px 2px 2px;width:34px;height:18px;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.illustration-checklist>div:not(.illustration-clip){align-items:center;gap:var(--sp-2);margin-bottom:8px;display:flex}.illustration-checklist span{color:#fff;background:var(--green-light);border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;font-weight:800;display:grid}.illustration-checklist i{background:var(--ok-fill);border-radius:99px;flex:1;height:4px}.reservation-btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:42px;padding:var(--sp-2) var(--sp-4);color:var(--reservation-navy);font:inherit;white-space:nowrap;cursor:pointer;background:var(--surface);border:1px solid var(--reservation-border);border-radius:var(--r-sm);font-size:13px;font-weight:750;line-height:1;transition:border-color .16s,background .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}.reservation-btn:hover:not(:disabled){transform:translateY(-1px)}.reservation-btn:focus-visible{outline-offset:2px;outline:3px solid #18785c33}.reservation-btn:disabled{cursor:not-allowed;opacity:.55}.reservation-btn-primary{min-height:46px;padding-inline:var(--sp-5);color:#fff;background:var(--reservation-green);border-color:var(--reservation-green);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.reservation-btn-primary:hover:not(:disabled){background:var(--reservation-green-dark);border-color:var(--reservation-green-dark)}.reservation-btn-secondary:hover:not(:disabled){color:var(--reservation-green-dark);background:var(--ok-wash);border-color:var(--ok-line)}.reservation-btn-convert{color:var(--reservation-green-dark);background:var(--reservation-green-soft);border-color:var(--ok-line)}.reservation-btn-convert:hover:not(:disabled){color:#fff;background:var(--reservation-green);border-color:var(--reservation-green)}.reservation-btn-danger{color:var(--reservation-danger);background:var(--reservation-danger-soft);border-color:var(--bad-line)}.reservation-btn-danger:hover:not(:disabled){color:#fff;background:var(--reservation-danger);border-color:var(--reservation-danger)}.reservation-btn-cancel{color:var(--bad-text);background:var(--warn-fill);border-color:var(--warn-line)}.reservation-btn-cancel:hover:not(:disabled){color:#fff;background:#b45309;border-color:#b45309}.reservation-button-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:17px;height:17px}.reservation-filter-panel{gap:var(--sp-6);padding:var(--sp-6);background:var(--surface);border:1px solid var(--reservation-border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1.1fr) minmax(260px,1fr);display:grid}.reservation-field{gap:var(--sp-2);min-width:0;display:grid}.reservation-field>span{color:var(--green-mid);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.reservation-input-control{min-width:0;position:relative}.reservation-input-control input,.reservation-input-control select{width:100%;height:48px;padding:0 var(--sp-4);color:var(--reservation-navy);font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;font-size:14px;font-weight:600;transition:border-color .16s,box-shadow .16s,background .16s}.reservation-input-control input::placeholder{color:var(--muted-soft);font-weight:500}.reservation-input-control input:hover,.reservation-input-control select:hover{border-color:var(--line-strong)}.reservation-input-control input:focus,.reservation-input-control select:focus{background:var(--surface);border-color:var(--reservation-green);box-shadow:var(--ring)}.reservation-input-control.has-icon input{padding-left:var(--sp-8)}.reservation-input-control.has-icon>svg{z-index:1;fill:none;stroke:#71848a;stroke-linecap:round;stroke-width:1.8px;pointer-events:none;width:19px;height:19px;position:absolute;top:50%;left:15px;transform:translateY(-50%)}.reservation-card-grid{gap:var(--sp-5);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;display:grid}.reservation-card{background:var(--surface);border:1px solid var(--reservation-border);border-radius:var(--r-lg);min-width:0;box-shadow:var(--shadow-lg);flex-direction:column;transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;overflow:hidden}.reservation-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.reservation-card.is-converted{border-color:var(--ok-line)}.reservation-card-header{padding:var(--sp-6) var(--sp-6) 0}.reservation-badges{align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:16px;display:flex}.reservation-reference{min-height:27px;padding:var(--sp-1) var(--sp-2);color:var(--green);background:var(--ok-fill);border:1px solid var(--line);border-radius:var(--r-sm);align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:750;display:inline-flex}.reservation-payment-status,.reservation-converted-label{min-height:27px;padding:var(--sp-1) var(--sp-2);border:1px solid #0000;border-radius:999px;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.reservation-payment-status.unpaid{color:var(--bad-text);background:var(--bad-wash);border-color:var(--bad-fill)}.reservation-payment-status.partial,.reservation-payment-status.admin-fee{color:var(--warn-text);background:var(--warn-fill);border-color:var(--warn-line)}.reservation-payment-status.full,.reservation-payment-status.paid,.reservation-converted-label{color:var(--green-dark);background:var(--ok-fill);border-color:var(--ok-line)}.reservation-card-title{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.reservation-card-title h4{min-width:0;color:var(--reservation-navy);letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:28px;font-weight:760;line-height:1.2;overflow:hidden}.reservation-main-meta{align-items:center;gap:var(--sp-2);color:var(--reservation-text);flex-wrap:wrap;margin:8px 0 0;font-size:12px;line-height:1.5;display:flex}.reservation-main-meta strong{color:var(--green);font-weight:750}.reservation-main-meta i,.reservation-payment-item i{background:var(--muted-soft);border-radius:50%;flex:0 0 3px;width:3px;height:3px}.reservation-preferences{gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);flex-wrap:wrap;display:flex}.reservation-chip{min-height:27px;padding:var(--sp-1) var(--sp-2);color:var(--green);background:var(--ok-wash);border:1px solid var(--line);border-radius:999px;align-items:center;font-size:11px;font-weight:650;display:inline-flex}.reservation-commitment{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);border:1px solid;margin:0 24px;display:flex}.reservation-commitment-icon{border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;display:grid}.reservation-commitment-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:15px;height:15px}.reservation-commitment>div:last-child{gap:var(--sp-1);display:grid}.reservation-commitment strong{font-size:14px;line-height:1.35}.reservation-commitment span{color:var(--reservation-text);font-size:12px;line-height:1.45}.reservation-commitment.assigned,.reservation-commitment.committed{color:var(--green-dark);background:var(--ok-wash);border-color:var(--ok-line)}.reservation-commitment.assigned .reservation-commitment-icon,.reservation-commitment.committed .reservation-commitment-icon{color:#fff;background:var(--green-mid)}.reservation-commitment.enquiry{color:var(--info-text);background:var(--info-wash);border-color:var(--info-fill)}.reservation-commitment.enquiry .reservation-commitment-icon{color:var(--info-text);background:var(--info-fill)}.reservation-commitment.cancelled{color:var(--bad-text);background:var(--bad-wash);border-color:var(--warn-line)}.reservation-commitment.cancelled .reservation-commitment-icon{color:#fff;background:#c97a45}.reservation-money-summary{background:var(--subtle);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 24px 0;display:grid;overflow:hidden}.reservation-money-summary>div{gap:var(--sp-2);min-width:0;padding:var(--sp-3) var(--sp-4);display:grid}.reservation-money-summary>div+div{border-left:1px solid var(--line)}.reservation-money-summary span{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:10px;font-weight:750}.reservation-money-summary strong{color:var(--reservation-navy);text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;overflow:hidden}.reservation-money-summary strong.paid{color:var(--reservation-green)}.reservation-money-summary strong.outstanding{color:var(--bad-text)}.reservation-money-summary strong.settled{color:var(--reservation-green)}.reservation-payment-history{padding:var(--sp-4) var(--sp-6) var(--sp-5)}.reservation-subheading{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:8px;display:flex}.reservation-subheading>span:first-child{color:var(--reservation-navy);font-size:12px;font-weight:800}.reservation-subheading>span:last-child{color:var(--reservation-muted);font-size:11px;font-weight:650}.reservation-payment-list{gap:var(--sp-2);display:grid}.reservation-payment-item{align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2);color:var(--reservation-text);background:var(--tint);border:1px solid var(--line);border-radius:var(--r-sm);flex-wrap:wrap;font-size:11px;line-height:1.4;display:flex}.reservation-payment-item strong{color:var(--reservation-navy)}.reservation-payment-date-icon{width:22px;height:22px;color:var(--green);background:var(--paper);border-radius:var(--r-sm);flex:0 0 22px;place-items:center;display:grid}.reservation-payment-date-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:13px;height:13px}.reservation-no-payments{padding:var(--sp-3);color:var(--muted);background:var(--tint);border:1px dashed var(--line);border-radius:var(--r-sm);font-size:11px;line-height:1.45}.reservation-card-footer{padding:var(--sp-4) var(--sp-6) var(--sp-6);background:var(--tint);border-top:1px solid var(--line);margin-top:auto}.reservation-quick-payment{gap:var(--sp-2);padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:minmax(0,1fr) minmax(110px,.75fr) auto;align-items:end;display:grid}.reservation-quick-payment label{gap:var(--sp-2);min-width:0;display:grid}.reservation-quick-payment label>span{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:10px;font-weight:800}.reservation-quick-payment select,.reservation-quick-payment input{width:100%;min-width:0;height:40px;padding:0 var(--sp-3);color:var(--reservation-navy);font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);outline:none;font-size:12px;font-weight:600}.reservation-quick-payment input::placeholder{color:var(--muted-soft);font-weight:500}.reservation-quick-payment select:focus,.reservation-quick-payment input:focus{border-color:var(--reservation-green);box-shadow:var(--ring)}.reservation-reference-field{grid-column:1/3}.reservation-btn-add-payment{min-height:86px;color:var(--reservation-green-dark);background:var(--reservation-green-soft);border-color:var(--ok-line);grid-area:1/3/3;align-self:stretch}.reservation-btn-add-payment:hover:not(:disabled){color:#fff;background:var(--reservation-green);border-color:var(--reservation-green)}.reservation-card-actions{justify-content:space-between;align-items:center;gap:var(--sp-2);margin-top:16px;display:flex}.reservation-main-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.reservation-results-footer{padding:var(--sp-1);color:var(--reservation-text);font-size:13px}.reservation-results-footer strong{color:var(--reservation-navy)}.reservation-empty-state{min-height:320px;padding:var(--sp-8) var(--sp-6);text-align:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--r-lg);place-content:center;justify-items:center;display:grid}.reservation-empty-icon{width:58px;height:58px;color:var(--reservation-green);background:var(--reservation-green-soft);border-radius:var(--r-lg);place-items:center;margin-bottom:16px;display:grid}.reservation-empty-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:28px;height:28px}.reservation-empty-state h4{color:var(--reservation-navy);margin:0;font-size:22px}.reservation-empty-state p{max-width:440px;color:var(--reservation-text);margin:8px 0 20px;font-size:13px;line-height:1.6}@media (max-width:1450px){.reservation-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1050px){.reservation-hero{align-items:flex-start}.reservation-illustration{display:none}.reservation-filter-panel{grid-template-columns:1fr}}@media (max-width:760px){.reservation-page{gap:var(--sp-4)}.reservation-hero{min-height:auto;padding:var(--sp-6) var(--sp-5);display:grid}.reservation-hero-side,.reservation-btn-primary{width:100%}.reservation-filter-panel{gap:var(--sp-4);padding:var(--sp-4)}.reservation-card-grid{grid-template-columns:1fr}.reservation-card-header,.reservation-preferences,.reservation-payment-history{padding-right:var(--sp-4);padding-left:var(--sp-4)}.reservation-commitment,.reservation-money-summary{margin-left:16px;margin-right:16px}.reservation-money-summary{grid-template-columns:1fr}.reservation-money-summary>div+div{border-top:1px solid var(--line);border-left:0}.reservation-card-footer{padding:var(--sp-4)}.reservation-quick-payment{grid-template-columns:1fr}.reservation-reference-field,.reservation-btn-add-payment{grid-area:auto}.reservation-btn-add-payment{min-height:42px}.reservation-card-actions{flex-direction:column;align-items:stretch}.reservation-main-actions{grid-template-columns:1fr;display:grid}.reservation-card-actions .reservation-btn{width:100%}}.pricing-page{--pricing-primary:var(--green);--pricing-primary-dark:var(--green-dark);--pricing-primary-soft:var(--green-soft);--pricing-text:var(--ink);--pricing-muted:var(--muted);--pricing-border:var(--line);--pricing-border-dark:var(--line);--pricing-background:var(--subtle);--pricing-danger:var(--danger);--pricing-danger-soft:var(--danger-soft);gap:var(--sp-4);color:var(--pricing-text);display:grid}.pricing-page,.pricing-page *{box-sizing:border-box}.pricing-hero{min-height:108px;padding:var(--sp-2) var(--sp-5);justify-content:space-between;align-items:center;display:flex;overflow:hidden}.pricing-hero-content{min-width:0}.pricing-hero-content small{color:var(--pricing-primary);letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.pricing-hero-content h3{color:var(--pricing-text);letter-spacing:-.035em;margin:0;font-size:clamp(23px,2vw,30px);font-weight:760}.pricing-hero-content p{color:var(--pricing-muted);margin:8px 0 0;font-size:14px;line-height:1.5}.pricing-hero-art{flex:0 0 255px;height:92px;margin-left:32px;position:relative}.pricing-hero-art:before{border-radius:80px 80px var(--r-lg) var(--r-lg);content:"";background:radial-gradient(circle at 22% 70%,#0088611a 0 16px,#0000 17px),radial-gradient(circle at 82% 62%,#00886114 0 19px,#0000 20px),linear-gradient(135deg,#00886108,#00886117);width:230px;height:70px;position:absolute;bottom:0;right:0}.hero-building,.hero-document,.hero-discount{z-index:1;box-shadow:var(--shadow-lg);place-items:center;font-weight:800;display:grid;position:absolute}.hero-building{border:5px solid var(--ok-line);border-radius:var(--r-sm) var(--r-sm) 4px 4px;background:var(--ok-wash);width:68px;height:62px;color:var(--pricing-primary);font-size:32px;bottom:10px;right:130px}.hero-document{border-radius:var(--r-sm);background:var(--surface);width:62px;height:72px;color:var(--pricing-primary);border:4px solid #ad866e;font-size:28px;bottom:7px;right:58px}.hero-discount{border-radius:var(--r-md);color:#fff;background:#f5a734;width:48px;height:42px;font-size:22px;bottom:1px;right:19px;transform:rotate(-6deg)}.pricing-card{border:1px solid var(--pricing-border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.pricing-editor{padding:var(--sp-6)}.pricing-filter-grid{gap:var(--sp-4);grid-template-columns:repeat(5,minmax(150px,1fr));display:grid}.pricing-field{gap:var(--sp-2);min-width:0;display:grid}.pricing-field-label{color:var(--info-text);font-size:12px;font-weight:700}.pricing-control{border:1px solid var(--pricing-border-dark);border-radius:var(--r-sm);background:var(--surface);align-items:center;min-width:0;min-height:53px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex;overflow:hidden}.pricing-control:hover{border-color:var(--line-strong)}.pricing-control:focus-within{border-color:var(--pricing-primary);box-shadow:var(--ring)}.pricing-control-icon{color:var(--muted);flex:0 0 48px;place-items:center;font-size:18px;display:grid}.pricing-money-icon{font-size:16px;font-weight:800}.pricing-control select,.pricing-control input{width:100%;min-width:0;height:51px;padding:0 var(--sp-4) 0 0;color:var(--pricing-text);font:inherit;background:0 0;border:0;outline:0;font-size:14px;font-weight:650}.pricing-control select{cursor:pointer}.pricing-control input::placeholder{color:var(--muted-soft);font-weight:500}.pricing-rate-control{padding-left:var(--sp-2)}.pricing-rate-prefix{border-radius:var(--r-sm);background:var(--paper);height:36px;color:var(--info-text);flex:0 0 50px;place-items:center;font-size:13px;font-weight:800;display:grid}.pricing-rate-control input{padding-left:var(--sp-4)}.pricing-default-area{padding:var(--sp-4);border:1px solid var(--pricing-border-dark);border-radius:var(--r-md);background:var(--pricing-primary-soft);margin-top:16px}.default-area-heading{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.default-area-heading>div{gap:var(--sp-1);display:grid}.default-area-heading strong{font-size:14px}.default-area-heading small{color:var(--pricing-muted);font-size:12px}.default-status{padding:var(--sp-2);background:var(--surface);border:1px solid var(--pricing-border-dark);color:var(--pricing-primary-dark);white-space:nowrap;border-radius:999px;font-size:12px;font-weight:750}.pricing-default-checkbox{align-items:center;gap:var(--sp-2);color:var(--pricing-text);cursor:pointer;margin-top:12px;font-size:13px;display:flex}.pricing-default-checkbox input{width:16px;height:16px;accent-color:var(--pricing-primary);cursor:pointer}.pricing-promotion-area{padding:var(--sp-4);border:1px solid var(--bad-fill);border-radius:var(--r-md);background:var(--bad-wash);margin-top:16px}.promotion-area-heading{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:16px;display:flex}.promotion-area-heading>div{gap:var(--sp-1);display:grid}.promotion-area-heading strong{font-size:14px}.promotion-area-heading small{color:var(--pricing-muted);font-size:12px}.promotion-status{padding:var(--sp-2);background:var(--bad-wash);color:var(--bad-text);border-radius:999px;font-size:11px;font-weight:750}.pricing-promotion-grid{gap:var(--sp-4);grid-template-columns:repeat(2,minmax(180px,280px));display:grid}.pricing-action-row{align-items:stretch;gap:var(--sp-4);grid-template-columns:minmax(240px,1fr) minmax(260px,330px) minmax(270px,320px);margin-top:20px;display:grid}.pricing-select-all{justify-content:center;align-items:center;gap:var(--sp-3);min-height:52px;padding:var(--sp-2) var(--sp-4);cursor:pointer;border:1px solid var(--pricing-border-dark);border-radius:var(--r-sm);background:var(--surface);transition:border-color .16s,background .16s;display:flex}.pricing-select-all:hover{border-color:var(--muted-soft);background:var(--ok-wash)}.pricing-select-all.is-checked{border-color:var(--ok-line);background:var(--pricing-primary-soft)}.pricing-select-all input,.pricing-table input[type=checkbox]{cursor:pointer;width:17px;height:17px;accent-color:var(--pricing-primary);margin:0}.pricing-select-all>span{gap:var(--sp-1);display:grid}.pricing-select-all strong{font-size:13px}.pricing-select-all small{color:var(--pricing-muted);font-size:11px}.pricing-confirm-button,.pricing-end-promotion-button{justify-content:center;align-items:center;gap:var(--sp-2);min-height:52px;padding:0 var(--sp-4);cursor:pointer;border-radius:var(--r-sm);font:inherit;font-size:13px;font-weight:750;transition:transform .15s,background .15s,border-color .15s,opacity .15s;display:inline-flex}.pricing-confirm-button{border:1px solid var(--pricing-primary);background:linear-gradient(135deg, var(--pricing-primary), var(--green-dark));box-shadow:var(--shadow-md);color:#fff}.pricing-confirm-button:hover:not(:disabled){background:linear-gradient(135deg, var(--green), var(--pricing-primary-dark));transform:translateY(-1px)}.pricing-end-promotion-button{border:1px solid var(--bad-line);background:var(--surface);color:var(--pricing-danger)}.pricing-end-promotion-button:hover:not(:disabled){border-color:var(--pricing-danger);background:var(--pricing-danger-soft)}.pricing-confirm-button:disabled,.pricing-end-promotion-button:disabled{cursor:not-allowed;box-shadow:none;opacity:.48}.pricing-button-icon{font-size:18px;line-height:1}.pricing-preview-card{padding:0 var(--sp-5) var(--sp-3)}.pricing-preview-header{justify-content:space-between;align-items:center;gap:var(--sp-5);min-height:66px;display:flex}.pricing-preview-title{align-items:center;gap:var(--sp-3);display:flex}.pricing-preview-icon{background:var(--pricing-primary-soft);width:40px;height:40px;color:var(--pricing-primary);border-radius:50%;flex:0 0 40px;place-items:center;font-size:22px;font-weight:800;display:grid}.pricing-preview-title>div{gap:var(--sp-1);display:grid}.pricing-preview-title strong{font-size:16px}.pricing-preview-title small{color:var(--pricing-muted);font-size:11px}.pricing-preview-count{align-items:center;gap:var(--sp-2);color:var(--info-text);font-size:12px;display:flex}.pricing-preview-count>strong{color:var(--pricing-text);font-size:14px}.selected-count{padding:var(--sp-1) var(--sp-2);background:var(--pricing-primary-soft);color:var(--pricing-primary);border-radius:999px;margin-left:8px;font-size:11px;font-weight:750}.pricing-table-wrap{border:1px solid var(--pricing-border);border-radius:var(--r-md);background:var(--surface);overflow-x:auto}.pricing-table{border-collapse:collapse;table-layout:auto;width:100%;min-width:960px}.pricing-table th,.pricing-table td{padding:var(--sp-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.pricing-table th{background:var(--tint);color:var(--info-text);letter-spacing:.025em;text-transform:uppercase;font-size:10px;font-weight:800}.pricing-table td{color:var(--info-text);font-size:12px}.pricing-table tbody tr{transition:background .15s}.pricing-table tbody tr:hover,.pricing-table tbody tr.is-selected{background:var(--ok-wash)}.pricing-table tbody tr:last-child td{border-bottom:0}.pricing-checkbox-column{width:52px;text-align:center!important}.pricing-unit-cell{align-items:center;gap:var(--sp-2);display:flex}.pricing-unit-cell strong{font-weight:700}.pricing-unit-icon{color:var(--pricing-primary);font-size:18px}.pricing-room-type{padding:var(--sp-1) var(--sp-2);background:var(--paper);color:var(--info-text);border-radius:999px;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.pricing-promotion-price{gap:var(--sp-1);display:grid}.pricing-promotion-price strong{color:var(--bad-text)}.pricing-promotion-price small{color:var(--pricing-muted);font-size:10px}.pricing-no-promotion{color:var(--pricing-danger);font-weight:700}.pricing-new-price{color:var(--pricing-primary)}.pricing-empty-state{height:170px;text-align:center!important;white-space:normal!important}.pricing-empty-state>*{display:block}.pricing-empty-state strong{margin-top:8px;font-size:14px}.pricing-empty-state span{color:var(--pricing-muted);margin-top:5px}.pricing-empty-icon{color:var(--brand);font-size:28px}.pricing-rates-section{min-width:0}@media (max-width:1250px){.pricing-filter-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.pricing-action-row{grid-template-columns:1fr 1fr}.pricing-select-all{grid-column:1/-1;justify-content:flex-start}}@media (max-width:820px){.pricing-hero{min-height:auto;padding:var(--sp-2) var(--sp-1)}.pricing-hero-art{display:none}.pricing-editor{padding:var(--sp-4)}.pricing-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-promotion-grid{grid-template-columns:1fr 1fr}.pricing-action-row{grid-template-columns:1fr}.pricing-select-all{grid-column:auto}.pricing-preview-header{padding:var(--sp-4) 0;align-items:flex-start}.pricing-preview-title small{display:none}.pricing-preview-count{flex-wrap:wrap;justify-content:flex-end}}@media (max-width:560px){.pricing-filter-grid,.pricing-promotion-grid{grid-template-columns:1fr}.pricing-editor{padding:var(--sp-4);border-radius:var(--r-md)}.pricing-preview-card{padding-right:var(--sp-3);padding-left:var(--sp-3)}.pricing-preview-header{gap:var(--sp-2);display:grid}.pricing-preview-count{padding-left:var(--sp-8);justify-content:flex-start}.promotion-area-heading{align-items:flex-start}}.hostel-directory,.unit-directory,.selected-hostel-card{--directory-green:var(--green);--directory-green-dark:var(--green-dark);--directory-green-soft:var(--green-soft);--directory-ink:var(--ink);--directory-text:var(--text);--directory-muted:var(--muted);--directory-line:var(--line);--directory-surface:var(--surface);--directory-subtle:var(--subtle)}.hostel-directory *,.unit-directory *,.selected-hostel-card *{box-sizing:border-box}.hostel-directory{border:1px solid var(--directory-line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.hostel-directory-title{justify-content:space-between;align-items:center;gap:var(--sp-6);padding:var(--sp-6);border-bottom:1px solid var(--directory-line);display:flex}.hostel-directory-title>div{min-width:0}.hostel-directory-title small,.unit-directory-heading small,.selected-hostel-main small{color:var(--directory-green);letter-spacing:.085em;margin-bottom:8px;font-size:10px;font-weight:850;display:block}.hostel-directory-title h3,.unit-directory-heading h3,.selected-hostel-main h3{color:var(--directory-ink);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:780}.hostel-directory-title p,.unit-directory-heading p,.selected-hostel-main p{color:var(--directory-muted);margin:8px 0 0;font-size:12px;line-height:1.5}.hostel-directory-count{padding:var(--sp-2) var(--sp-3);background:var(--directory-green-soft);color:var(--directory-green-dark);border-radius:999px;flex:none;font-size:11px;font-weight:800}.hostel-directory-scroll{overflow-x:auto}.hostel-directory-table{min-width:1160px}.hostel-directory-header,.hostel-directory-row{align-items:center;column-gap:var(--sp-6);grid-template-columns:minmax(330px,2.15fr) 105px 145px 175px 175px 130px 135px;display:grid}.hostel-directory-header{min-height:48px;padding:0 var(--sp-6);border-bottom:1px solid var(--directory-line);background:var(--tint);color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:10px;font-weight:850}.hostel-directory-row{min-height:108px;padding:var(--sp-4) var(--sp-6);cursor:pointer;border-bottom:1px solid var(--directory-line);background:var(--surface);outline:0;transition:background .15s,box-shadow .15s}.hostel-directory-row:last-child{border-bottom:0}.hostel-directory-row:hover,.hostel-directory-row:focus-visible{z-index:1;background:var(--ok-wash);box-shadow:inset 4px 0 0 var(--directory-green);position:relative}.hostel-directory-property{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.hostel-directory-badge,.selected-hostel-badge,.unit-directory-badge{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);width:60px;height:60px;color:var(--info-text);letter-spacing:.02em;flex:0 0 60px;place-items:center;font-size:16px;font-weight:750;display:grid}.hostel-directory-property>div{gap:var(--sp-2);min-width:0;display:grid}.hostel-directory-property strong{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:780;overflow:hidden}.hostel-directory-property small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.hostel-directory-number,.hostel-directory-copy{gap:var(--sp-1);min-width:0;display:grid}.hostel-directory-number strong{color:var(--directory-ink);font-size:22px;font-weight:760}.hostel-directory-number small,.hostel-directory-copy small{color:var(--directory-muted);font-size:10px}.hostel-directory-copy>strong{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:720;overflow:hidden}.hostel-directory-status{align-items:center;gap:var(--sp-2);width:fit-content;min-height:29px;padding:var(--sp-2) var(--sp-3);white-space:nowrap;border-radius:999px;font-size:10px;font-weight:800;display:inline-flex}.hostel-directory-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.hostel-directory-status.available{background:var(--ok-fill);color:var(--green-dark)}.hostel-directory-status.inactive{background:var(--bad-fill);color:var(--bad-text)}.hostel-directory-services,.unit-directory-services{align-items:center;gap:var(--sp-2);display:flex}.hostel-directory-services>span,.unit-directory-services>span{gap:var(--sp-1);min-width:58px;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--tint);display:grid}.hostel-directory-services b,.unit-directory-services b{color:var(--green-dark);font-size:12px}.hostel-directory-services small,.unit-directory-services small{color:var(--muted);font-size:10px}.hostel-directory-action,.unit-directory-action{justify-content:flex-end;display:flex}.hostel-directory-open,.unit-directory-open{justify-content:center;align-items:center;gap:var(--sp-2);min-height:39px;padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--green-dark);font:inherit;white-space:nowrap;font-size:10px;font-weight:800;transition:transform .15s,border-color .15s,background .15s,color .15s;display:inline-flex}.hostel-directory-row:hover .hostel-directory-open,.hostel-directory-row:focus-visible .hostel-directory-open,.unit-directory-open:hover{border-color:var(--directory-green);background:var(--directory-green);color:#fff;transform:translateY(-1px)}.unit-directory-open{cursor:pointer}.hostel-directory-empty,.unit-directory-empty{align-content:center;place-items:center;gap:var(--sp-2);min-height:250px;padding:var(--sp-7);text-align:center;display:grid}.hostel-directory-empty>span,.unit-directory-empty>span{border-radius:var(--r-md);background:var(--directory-green-soft);width:54px;height:54px;color:var(--directory-green);place-items:center;margin-bottom:3px;font-size:13px;font-weight:850;display:grid}.hostel-directory-empty strong,.unit-directory-empty strong{color:var(--directory-ink);font-size:16px}.hostel-directory-empty p,.unit-directory-empty p{color:var(--directory-muted);margin:0 0 8px;font-size:11px}.hostel-unit-stage{gap:var(--sp-4);display:grid}.hostel-unit-navigation{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:34px;display:flex}.hostel-unit-navigation>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.hostel-unit-navigation>span b{padding:0 var(--sp-1);color:var(--muted-soft)}.hostel-back-button{align-items:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-3);cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--green-dark);font:inherit;font-size:11px;font-weight:780;transition:border-color .15s,background .15s;display:inline-flex}.hostel-back-button:hover{border-color:var(--line-strong);background:var(--ok-wash)}.selected-hostel-card{align-items:center;gap:var(--sp-6);padding:var(--sp-5) var(--sp-6);border:1px solid var(--directory-line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);grid-template-columns:minmax(300px,1fr) minmax(440px,.9fr);display:grid}.selected-hostel-main{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.selected-hostel-main>div{min-width:0}.selected-hostel-main h3{font-size:18px}.selected-hostel-main p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.selected-hostel-badge{border-color:var(--ok-line);background:var(--directory-green-soft);color:var(--directory-green-dark)}.selected-hostel-stats{gap:var(--sp-2);grid-template-columns:repeat(4,minmax(90px,1fr));display:grid}.selected-hostel-stats>span{align-content:center;gap:var(--sp-1);min-height:68px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--tint);display:grid}.selected-hostel-stats small{color:var(--directory-muted);letter-spacing:.025em;text-transform:uppercase;font-size:10px;font-weight:700}.selected-hostel-stats strong{color:var(--directory-ink);font-size:18px}.unit-directory{border:1px solid var(--directory-line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.unit-directory-heading{justify-content:space-between;align-items:center;gap:var(--sp-6);padding:var(--sp-5) var(--sp-6) var(--sp-4);border-bottom:1px solid var(--directory-line);display:flex}.unit-directory-heading>div{min-width:0}.unit-directory-heading>span{padding:var(--sp-2);background:var(--paper);color:var(--text);border-radius:999px;flex:none;font-size:10px;font-weight:750}.unit-directory-toolbar{gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--directory-line);background:var(--surface);display:grid}.unit-directory-toolbar--nested{grid-template-columns:minmax(0,1fr) 190px 190px}.unit-directory-toolbar label{gap:var(--sp-2);min-width:0;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:800;display:grid}.unit-directory-control{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);align-items:center;min-height:46px;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.unit-directory-control:hover{border-color:var(--line-strong)}.unit-directory-control:focus-within{border-color:var(--directory-green);box-shadow:var(--ring)}.unit-directory-control input,.unit-directory-control select{width:100%;min-width:0;height:44px;padding:0 var(--sp-4);color:var(--directory-ink);font:inherit;text-transform:none;background:0 0;border:0;outline:0;font-size:13px;font-weight:650}.unit-directory-search-icon{flex:0 0 42px;width:42px;height:44px;position:relative}.unit-directory-search-icon:before{border:1.8px solid var(--muted);content:"";border-radius:50%;width:10px;height:10px;position:absolute;top:14px;left:15px}.unit-directory-search-icon:after{transform-origin:0;background:var(--muted);content:"";border-radius:999px;width:6px;height:1.8px;position:absolute;top:25px;left:25px;transform:rotate(45deg)}.unit-directory-search .unit-directory-control input{padding-left:0}.unit-directory-clear{cursor:pointer;background:var(--paper);width:34px;height:34px;color:var(--text);font:inherit;border:0;border-radius:50%;flex:0 0 34px;margin-right:8px;font-size:12px;font-weight:800}.unit-directory-clear:hover{background:#e5ebe8}.unit-directory-summary{justify-content:space-between;align-items:center;gap:var(--sp-5);padding:var(--sp-3) var(--sp-6);border-bottom:1px solid var(--directory-line);background:var(--directory-subtle);display:flex}.unit-directory-summary>div{align-items:baseline;gap:var(--sp-2);display:flex}.unit-directory-summary strong{color:var(--directory-ink);font-size:16px}.unit-directory-summary span{color:var(--directory-muted);font-size:11px}.unit-filter-reset{min-height:30px;padding:0 var(--sp-2);cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--green-dark);font:inherit;font-size:10px;font-weight:760}.unit-filter-reset:disabled{cursor:default;opacity:.45}.unit-directory-scroll{overflow-x:auto}.unit-directory-table{min-width:1180px}.unit-directory-header,.unit-directory-row{align-items:center;column-gap:var(--sp-6);grid-template-columns:minmax(320px,2.15fr) minmax(190px,1.25fr) 120px 145px 170px 150px 120px;display:grid}.unit-directory-header{min-height:48px;padding:0 var(--sp-6);border-bottom:1px solid var(--directory-line);background:var(--tint);color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:10px;font-weight:850}.unit-directory-row{min-height:108px;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--directory-line);background:var(--surface);transition:background .15s,box-shadow .15s}.unit-directory-row:last-child{border-bottom:0}.unit-directory-row:hover{z-index:1;background:var(--ok-wash);box-shadow:inset 4px 0 0 var(--directory-green);position:relative}.unit-directory-property{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.unit-directory-property-copy{gap:var(--sp-2);min-width:0;display:grid}.unit-directory-name-line{align-items:center;gap:var(--sp-2);min-width:0;display:flex}.unit-directory-name-line strong{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:780;overflow:hidden}.unit-directory-name-line code{min-height:24px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);background:var(--paper);color:var(--text);align-items:center;font-family:inherit;font-size:10px;font-weight:800;display:inline-flex}.unit-directory-property-copy>small{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.unit-directory-owner,.unit-directory-surrender{gap:var(--sp-1);min-width:0;display:grid}.unit-directory-owner strong,.unit-directory-surrender strong{color:var(--green-dark);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:720;overflow:hidden}.unit-directory-owner small,.unit-directory-surrender small{color:var(--directory-muted);font-size:10px}.unit-directory .gender-pill{min-height:28px;padding:var(--sp-1) var(--sp-2);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.unit-directory-status{align-items:center;gap:var(--sp-2);width:fit-content;min-height:30px;padding:var(--sp-2) var(--sp-3);background:var(--ok-fill);color:var(--green-dark);white-space:nowrap;border-radius:999px;font-size:10px;font-weight:800;display:inline-flex}.unit-directory-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.unit-directory-status.return-planned{background:var(--warn-fill);color:var(--warn-text)}.unit-directory-status.surrendered,.unit-directory-status.inactive{background:var(--bad-fill);color:var(--bad-text)}@media (max-width:1100px){.selected-hostel-card{grid-template-columns:1fr}.selected-hostel-stats{grid-template-columns:repeat(4,minmax(100px,1fr))}}@media (max-width:900px){.hostel-directory-title,.unit-directory-heading{align-items:flex-start}.unit-directory-toolbar--nested{grid-template-columns:1fr 1fr}.unit-directory-search{grid-column:1/-1}}@media (max-width:700px){.hostel-directory,.unit-directory{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.hostel-directory-title,.unit-directory-heading,.unit-directory-toolbar,.unit-directory-summary,.selected-hostel-card{border:1px solid var(--directory-line);border-radius:var(--r-md);background:var(--surface)}.hostel-directory-title,.unit-directory-heading{gap:var(--sp-3);display:grid}.hostel-directory-count,.unit-directory-heading>span{width:fit-content}.hostel-unit-navigation{align-items:flex-start}.hostel-unit-navigation>span{display:none}.selected-hostel-card{padding:var(--sp-4)}.selected-hostel-main{align-items:flex-start}.selected-hostel-stats{grid-template-columns:1fr 1fr}.unit-directory-toolbar--nested{grid-template-columns:1fr}.unit-directory-search{grid-column:auto}.unit-directory-summary{margin-top:8px}.hostel-directory-scroll,.unit-directory-scroll{overflow:visible}.hostel-directory-table,.unit-directory-table{min-width:0}.hostel-directory-header,.unit-directory-header{display:none}.hostel-directory-body,.unit-directory-body{gap:var(--sp-2);display:grid}.hostel-directory-row,.unit-directory-row{gap:var(--sp-4) var(--sp-3);min-height:0;padding:var(--sp-4);border:1px solid var(--directory-line);border-radius:var(--r-md);grid-template-columns:1fr 1fr}.hostel-directory-row:hover,.hostel-directory-row:focus-visible,.unit-directory-row:hover{box-shadow:none}.hostel-directory-property,.unit-directory-property,.unit-directory-owner,.hostel-directory-action,.unit-directory-action{grid-column:1/-1}.hostel-directory-open,.unit-directory-open{width:100%}}@media (max-width:480px){.hostel-directory-title,.unit-directory-heading,.unit-directory-toolbar,.unit-directory-summary{padding-right:var(--sp-4);padding-left:var(--sp-4)}.selected-hostel-main{display:grid}.selected-hostel-stats{grid-template-columns:1fr}.unit-directory-summary{align-items:flex-start}}.student-hostel-page{--student-green:#1f8068;--student-green-dark:#176752;--student-green-soft:#edf8f4;--student-text:#123641;--student-muted:#6d7d87;--student-border:var(--line);--student-surface:#fff;--student-soft:#f7f9f8;gap:var(--sp-5);display:grid}.student-hostel-page,.student-hostel-page *{box-sizing:border-box}.student-directory-intro{align-items:center}.student-directory-intro h2{max-width:890px}.student-directory-metrics{margin-bottom:2px}.student-hostel-directory-panel{padding:0;overflow:hidden}.student-hostel-list-header,.student-hostel-row{align-items:center;column-gap:var(--sp-6);grid-template-columns:minmax(360px,2.2fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(100px,.7fr) minmax(110px,.8fr) minmax(130px,.8fr);display:grid}.student-hostel-list-header{min-height:58px;padding:0 var(--sp-6);border-bottom:1px solid var(--student-border);background:var(--tint);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.student-hostel-row{min-height:112px;padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--line);background:var(--student-surface);transition:background .16s,box-shadow .16s}.student-hostel-row:last-child{border-bottom:0}.student-hostel-row:hover{z-index:1;background:var(--ok-wash);box-shadow:inset 4px 0 0 var(--student-green);position:relative}.student-hostel-property{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.student-hostel-avatar{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);width:60px;height:60px;color:var(--info-text);letter-spacing:.03em;flex:0 0 60px;place-items:center;font-size:18px;font-weight:700;display:grid}.student-hostel-avatar.large{border-color:var(--ok-line);background:var(--student-green-soft);width:72px;height:72px;color:var(--student-green-dark);flex-basis:72px;font-size:22px}.student-hostel-property>div{min-width:0}.student-hostel-property strong{color:var(--info-text);margin-bottom:4px;font-size:16px;display:block}.student-hostel-property p{max-width:560px;color:var(--info-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;line-height:1.45;overflow:hidden}.student-hostel-property small{color:var(--muted);margin-top:8px;font-size:11px;font-weight:650;display:block}.student-hostel-stat{gap:var(--sp-1);display:grid}.student-hostel-stat strong{color:var(--info-text);font-size:18px;font-weight:760}.student-hostel-stat small{color:var(--muted);font-size:11px}.student-hostel-action{justify-content:flex-start;display:flex}.student-hostel-action button{min-width:116px}.student-selected-hostel{gap:var(--sp-3);display:grid}.student-back-button{cursor:pointer;width:fit-content;color:var(--student-green-dark);font:inherit;background:0 0;border:0;padding:0;font-size:13px;font-weight:750}.student-back-button:hover{text-decoration:underline}.student-selected-hostel-card{align-items:center;gap:var(--sp-4);min-height:112px;padding:var(--sp-5) var(--sp-6);border:1px solid var(--student-border);border-radius:var(--r-lg);background:linear-gradient(90deg, #1f80680e, transparent 38%), var(--surface);box-shadow:var(--shadow-lg);display:flex}.student-selected-hostel-copy{min-width:0}.student-selected-hostel-copy>small{color:var(--student-green);letter-spacing:.1em;font-size:10px;font-weight:850}.student-selected-hostel-copy h3{color:var(--student-text);letter-spacing:-.02em;margin:5px 0 4px;font-size:22px}.student-selected-hostel-copy p{color:var(--student-muted);margin:0;font-size:13px;line-height:1.45}.student-selected-hostel-total{min-width:120px;padding-left:var(--sp-6);border-left:1px solid var(--student-border);text-align:right;margin-left:auto;display:grid}.student-selected-hostel-total small{color:var(--student-muted);font-size:11px}.student-selected-hostel-total strong{color:var(--student-text);margin-top:2px;font-size:32px}.student-filter-panel{padding:0;overflow:hidden}.student-filter-panel .workspace-tabs{padding:0 var(--sp-5);border-bottom:1px solid var(--student-border)}.student-second-level-filters{gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-5);grid-template-columns:minmax(320px,1.8fr) repeat(3,minmax(160px,.8fr));display:grid}.student-second-level-filters label{gap:var(--sp-2);min-width:0;color:var(--text);font-size:11px;font-weight:750;display:grid}.student-second-level-filters input,.student-second-level-filters select{width:100%;min-width:0;min-height:48px;padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--info-text);font:inherit;outline:none;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.student-second-level-filters input:focus,.student-second-level-filters select:focus{border-color:var(--student-green);box-shadow:var(--ring)}.student-search-field{grid-column:auto}.student-reset-button{grid-column:1/-1;width:100%;min-height:44px}.student-results-panel{padding:0;overflow:hidden}.student-results-heading{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:70px;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--student-border);display:flex}.student-results-heading>div{gap:var(--sp-1);display:grid}.student-results-heading small{color:var(--student-green);letter-spacing:.09em;font-size:10px;font-weight:850}.student-results-heading h3{color:var(--student-text);margin:0;font-size:16px}.student-results-heading>span{padding:var(--sp-2);background:var(--student-green-soft);color:var(--student-green-dark);border-radius:999px;font-size:11px;font-weight:750}.student-table-wrap{border:0;border-radius:0}.student-table-wrap table{min-width:1180px}.student-table-wrap th,.student-table-wrap td{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.student-table-wrap td:last-child,.student-table-wrap th:last-child{text-align:right}.student-empty-state{place-content:center;gap:var(--sp-2);text-align:center;min-height:190px;display:grid}.student-empty-state strong{color:var(--student-text);font-size:16px}.student-empty-state span{color:var(--student-muted);font-size:12px}.student-pagination{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:66px;padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--student-border);color:var(--muted);font-size:12px;display:flex}.student-pagination-buttons{align-items:center;gap:var(--sp-2);display:flex}.student-page-button{cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);width:36px;height:36px;color:var(--text);font:inherit;place-items:center;font-size:12px;font-weight:700;display:grid}.student-page-button:hover{border-color:var(--muted-soft);color:var(--student-green-dark)}.student-page-button.active{border-color:var(--student-green);background:var(--student-green-soft);color:var(--student-green-dark);box-shadow:inset 0 0 0 1px #1f80681f}.student-pagination-ellipsis{min-width:24px;color:var(--muted);text-align:center}.student-hostel-scope-note{padding:var(--sp-3) var(--sp-4);border:1px solid var(--ok-line);border-radius:var(--r-sm);background:var(--student-green-soft);color:var(--student-green-dark);font-size:12px}@media (max-width:1250px){.student-hostel-list-header,.student-hostel-row{column-gap:var(--sp-4);grid-template-columns:minmax(320px,2fr) repeat(4,minmax(88px,.7fr)) minmax(122px,.8fr)}.student-second-level-filters{grid-template-columns:repeat(2,minmax(220px,1fr))}.student-search-field{grid-column:1/-1}}@media (max-width:920px){.student-hostel-list-header{display:none}.student-hostel-list{gap:var(--sp-3);padding:var(--sp-4);display:grid}.student-hostel-row{gap:var(--sp-4);min-height:auto;padding:var(--sp-4);border:1px solid var(--student-border);border-radius:var(--r-md);grid-template-columns:repeat(4,minmax(0,1fr))}.student-hostel-property,.student-hostel-action{grid-column:1/-1}.student-hostel-action button{width:100%}.student-selected-hostel-card{align-items:flex-start}.student-selected-hostel-total{min-width:96px}.student-results-heading{align-items:flex-start}}@media (max-width:650px){.student-hostel-page{gap:var(--sp-4)}.student-hostel-row{grid-template-columns:repeat(2,minmax(0,1fr))}.student-hostel-property{align-items:flex-start}.student-hostel-property p{white-space:normal}.student-selected-hostel-card{grid-template-columns:auto 1fr;display:grid}.student-selected-hostel-total{padding:var(--sp-3) 0 0;border-top:1px solid var(--student-border);text-align:left;border-left:0;grid-column:1/-1;margin:0}.student-second-level-filters{padding:var(--sp-4);grid-template-columns:1fr}.student-search-field,.student-reset-button{grid-column:auto}.student-results-heading{display:grid}.student-results-heading>span{width:fit-content}.student-pagination{flex-direction:column;align-items:flex-start}.student-pagination-buttons{width:100%;padding-bottom:var(--sp-1);overflow-x:auto}}.table-v2 .v2-toolbar{align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--tint);flex-wrap:wrap;display:flex}.table-v2 .v2-search{align-items:center;gap:var(--sp-2);min-width:220px;height:46px;padding:0 var(--sp-4);border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:260px;display:flex}.table-v2 .v2-search svg{color:var(--muted);flex:none}.table-v2 .v2-search input{color:var(--ink);font-size:var(--text-sm);background:0 0;border:0;outline:0;flex:1}.table-v2 .v2-pill-select{height:46px;padding:0 var(--sp-4);border:1px solid var(--line);color:var(--ink);background:var(--surface);font-size:var(--text-sm);border-radius:999px;font-weight:700}.table-v2 .v2-pill-select:focus,.table-v2 .v2-search input:focus{outline:0}.table-v2 .v2-search:focus-within{border-color:var(--green-mid);box-shadow:var(--ring)}.table-v2 .v2-reset{height:46px;padding:0 var(--sp-5);border:1px solid var(--line);color:var(--ink);background:var(--surface);font-size:var(--text-sm);cursor:pointer;border-radius:999px;font-weight:700}.table-v2 .v2-reset:hover{border-color:var(--muted-soft)}.table-v2 .v2-date-field{align-items:center;gap:var(--sp-2);height:46px;padding:0 var(--sp-4);border:1px solid var(--line);background:var(--surface);font-size:var(--text-sm);color:var(--ink);border-radius:999px;font-weight:700;display:flex}.table-v2 .v2-date-field input{color:var(--ink);font-size:var(--text-sm);background:0 0;border:0;outline:0}.table-v2 .v2-btn-primary{align-items:center;gap:var(--sp-2);height:46px;padding:0 var(--sp-6);color:#fff;background:var(--green);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;border:0;border-radius:999px;font-weight:700;display:inline-flex}.table-v2 .v2-btn-primary:hover{background:var(--green-dark)}.table-v2 table{border-collapse:collapse;width:100%;min-width:880px}.table-v2 th{padding:var(--sp-4) var(--sp-5);color:var(--text);background:var(--tint);border-bottom:1px solid var(--line);font-size:var(--text-xs);letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;font-weight:800}.table-v2 td{padding:var(--sp-4) var(--sp-5);color:var(--green-dark);border-bottom:1px solid var(--line);font-size:var(--text-base);vertical-align:middle}.table-v2 td strong{color:var(--ink);font-size:var(--text-base);display:block}.table-v2 td small{color:var(--muted);font-size:var(--text-xs);margin-top:4px;display:block}.table-v2 code{padding:var(--sp-2);border-radius:var(--r-sm);color:var(--green);background:var(--paper);font-family:Consolas,monospace;font-size:var(--text-sm);white-space:nowrap;display:inline-block}.table-v2 tbody tr.v2-row-clickable{cursor:pointer}.table-v2 tbody tr.v2-row-clickable:hover,.table-v2 tbody tr.v2-row-expanded{background:var(--ok-wash)}.table-v2 .v2-row-lead{align-items:center;gap:var(--sp-3);display:flex}.table-v2 .v2-chevron{border:1px solid var(--line);border-radius:var(--r-sm);width:30px;height:30px;color:var(--muted);background:var(--surface);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:transform .15s,color .15s,border-color .15s;display:inline-flex}.table-v2 .v2-chevron.expanded{border-color:var(--green-light);color:var(--green);transform:rotate(90deg)}.table-v2 .status-pill{padding:var(--sp-2) var(--sp-4);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;font-weight:800;display:inline-flex}.table-v2 .status-pill.status-available,.table-v2 .status-pill.status-active,.table-v2 .status-pill.status-current{color:var(--green-dark);background:var(--ok-fill)}.table-v2 .status-pill.status-reserved,.table-v2 .status-pill.status-due{color:var(--bad-text);background:var(--bad-fill)}.table-v2 .status-pill.status-rented,.table-v2 .status-pill.status-advance{color:var(--info-text);background:var(--info-fill)}.table-v2 .status-pill.status-inactive,.table-v2 .status-pill.status-ended,.table-v2 .status-pill.status-closed,.table-v2 .status-pill.status-moved-out,.table-v2 .status-pill.status-terminated{color:var(--text);background:var(--paper)}.table-v2 .status-pill.status-submitted{color:var(--info-text);background:var(--info-fill)}.table-v2 .status-pill.status-attended,.table-v2 .status-pill.status-in-progress,.table-v2 .status-pill.status-waiting-parts{color:var(--warn-text);background:var(--warn-fill)}.table-v2 .status-pill.status-completed{color:var(--green-dark);background:var(--ok-fill)}.table-v2 .status-pill.status-return-planned{color:var(--bad-text);background:var(--bad-fill)}.table-v2 .status-pill.status-surrendered{color:var(--text);background:var(--paper)}.table-v2 .status-pill.status-full,.table-v2 .status-pill.status-paid,.table-v2 .status-pill.status-approved{color:var(--green-dark);background:var(--ok-fill)}.table-v2 .status-pill.status-unpaid{color:var(--text);background:#eeeae8}.table-v2 .status-pill.status-admin-fee{color:var(--warn-text);background:var(--warn-fill)}.table-v2 .status-pill.status-partial{color:var(--info-text);background:var(--info-fill)}.table-v2 .status-pill.status-pending{color:var(--bad-text);background:var(--bad-fill)}.table-v2 .v2-pending-badge{padding:var(--sp-2) var(--sp-4);background:var(--bad-fill);color:var(--bad-text);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;flex:none;font-weight:800}table.finance-invoices{table-layout:fixed;width:100%;min-width:0}.finance-invoices th:first-child,.finance-invoices td:first-child{width:15%}.finance-invoices th:nth-child(2),.finance-invoices td:nth-child(2){width:19%}.finance-invoices th:nth-child(3),.finance-invoices td:nth-child(3){width:24%}.finance-invoices th:nth-child(4),.finance-invoices td:nth-child(4){width:18%}.finance-invoices th:nth-child(5),.finance-invoices td:nth-child(5){width:9%}.finance-invoices th:nth-child(6),.finance-invoices td:nth-child(6){width:8%}.finance-invoices th:nth-child(7),.finance-invoices td:nth-child(7){width:7%}.finance-invoices td:not(:hover){overflow:hidden}.table-v2 .v2-expand-panel .conversation{max-height:340px;padding-right:var(--sp-1);overflow-y:auto}.table-v2 .v2-expand-row td{background:var(--subtle);border-bottom:2px solid var(--line);padding:0}.table-v2 .v2-expand-panel{padding:var(--sp-6)}.table-v2 .v2-add-panel{padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--subtle);margin:0 24px 24px}.table-v2 .v2-add-panel:first-child,.table-v2 .v2-toolbar+.v2-add-panel{margin-top:24px}.table-v2 .v2-expand-panel .form-grid,.table-v2 .v2-add-panel .form-grid{gap:var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}.table-v2 .v2-expand-panel .form-grid .wide,.table-v2 .v2-add-panel .form-grid .wide{grid-column:1/-1}.table-v2 .v2-expand-panel label,.table-v2 .v2-add-panel label{gap:var(--sp-2);color:var(--muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;font-weight:800;display:flex}.table-v2 .v2-expand-panel input,.table-v2 .v2-expand-panel select,.table-v2 .v2-expand-panel textarea,.table-v2 .v2-add-panel input,.table-v2 .v2-add-panel select,.table-v2 .v2-add-panel textarea{height:46px;padding:0 var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);font-size:var(--text-base)}.table-v2 .v2-expand-panel textarea,.table-v2 .v2-add-panel textarea{height:auto;min-height:88px;padding:var(--sp-2) var(--sp-4)}.table-v2 .v2-expand-panel input:focus,.table-v2 .v2-expand-panel select:focus,.table-v2 .v2-add-panel input:focus,.table-v2 .v2-add-panel select:focus{border-color:var(--green-mid);box-shadow:var(--ring)}.table-v2 .v2-panel-heading{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--text-lg);margin:0 0 20px;font-weight:500}.table-v2 .v2-panel-actions{justify-content:flex-end;align-items:center;gap:var(--sp-3);padding-top:var(--sp-5);border-top:1px dashed var(--line-strong);margin-top:20px;display:flex}.table-v2 .v2-panel-actions .v2-danger-zone{align-items:center;gap:var(--sp-3);flex:1;display:flex}.table-v2 .v2-panel-actions .v2-danger-zone span{color:var(--muted);font-size:var(--text-sm)}.table-v2 .v2-btn-ghost,.table-v2 .v2-btn-danger{height:44px;padding:0 var(--sp-4);font-size:var(--text-sm);cursor:pointer;border-radius:999px;font-weight:700}.table-v2 .v2-btn-ghost{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.table-v2 .v2-btn-ghost:hover{border-color:var(--muted-soft)}.table-v2 .v2-btn-danger{color:var(--bad-text);background:var(--bad-fill);border:1px solid var(--bad-line)}.table-v2 .v2-btn-danger:hover{background:var(--bad-fill)}.table-v2 td>strong,.table-v2 td>small,.table-v2 td>code{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:block;overflow:hidden}.table-v2 tbody td:hover{z-index:20;background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);position:relative}.table-v2 tbody td:hover>strong,.table-v2 tbody td:hover>small,.table-v2 tbody td:hover>code{white-space:normal;text-overflow:clip;max-width:none;overflow:visible}@media (max-width:1100px){.table-v2 .v2-expand-panel .form-grid,.table-v2 .v2-add-panel .form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.table-v2 .v2-toolbar{flex-direction:column;align-items:stretch}.table-v2 .v2-expand-panel .form-grid,.table-v2 .v2-add-panel .form-grid{grid-template-columns:1fr}.table-v2 .v2-add-panel{margin:0 16px 16px}}.meter-hostel-tabs{flex-wrap:wrap}.meter-hostel-tabs button{align-items:center;gap:var(--sp-2);display:inline-flex}.meter-hostel-tabs .tab-count{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:#fff;background:var(--muted);margin-left:0;font-size:10px;font-weight:800}.meter-hostel-tabs button.active .tab-count{background:var(--green)}.meter-toolbar{align-items:center;gap:var(--sp-3);padding:var(--sp-4) 0;flex-wrap:wrap;display:flex}.meter-toolbar .v2-search{align-items:center;gap:var(--sp-2);min-width:200px;height:42px;padding:0 var(--sp-4);border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:240px;display:flex}.meter-toolbar .v2-search svg{color:var(--muted);flex:none}.meter-toolbar .v2-search input{font-size:var(--text-sm);background:0 0;border:0;outline:0;flex:1}.inline-field{align-items:center;gap:var(--sp-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:800;display:inline-flex}.inline-field input{height:42px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--ink);background:var(--surface);font-size:var(--text-sm);text-transform:none;letter-spacing:0}.inline-check{align-items:center;gap:var(--sp-2);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;display:inline-flex}.inline-check input{width:16px;height:16px;accent-color:var(--green)}.meter-entry-wrap{max-height:62vh;overflow:auto}.meter-entry-table{border-collapse:collapse;width:100%}.meter-entry-table thead th{z-index:2;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);color:var(--muted);background:var(--paper);letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800;position:sticky;top:0}.meter-entry-table thead th.entry-col{color:var(--ink);background:var(--green-soft)}.meter-entry-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line);font-size:var(--text-sm);white-space:nowrap}.meter-entry-table td.reading-past{color:var(--muted);font-variant-numeric:tabular-nums}.meter-entry-table td.entry-col{padding:var(--sp-1) var(--sp-2);background:#e8f1ed80}.meter-entry-table td.entry-col input{width:120px;height:34px;padding:0 var(--sp-2);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.meter-entry-table td.entry-col input:focus{border-color:var(--green);outline:2px solid var(--green-soft)}.meter-entry-table tr.reading-saved td.entry-col input{border-color:var(--green)}.meter-entry-table .reading-warn{color:var(--coral)}.meter-entry-footer{gap:var(--sp-3);padding:var(--sp-4) 0 0;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.meter-entry-footer strong{color:var(--ink);font-size:var(--text-sm);display:block}.meter-entry-footer small{color:var(--muted)}@media (max-width:720px){.meter-entry-table td.entry-col input{width:92px}}.document-tile{justify-content:center;gap:var(--sp-1);height:120px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);background:var(--subtle);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.document-tile:hover{border-color:var(--green);background:var(--green-soft)}.document-tile-kind{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:#fff;background:var(--navy);letter-spacing:.06em;align-self:flex-start;font-size:10px;font-weight:800}.document-tile-name{-webkit-line-clamp:3;line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;font-weight:700;display:-webkit-box;overflow:hidden}.document-tile small{color:var(--muted);font-size:10px}.attachment-thumb:has(.document-tile){background:0 0}.attachment-thumb .document-tile{border:0;border-radius:0;height:120px;display:flex}.room-document-list{gap:var(--sp-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:16px;display:grid}.billing-summary{gap:var(--sp-1);background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px;display:grid;overflow:hidden}.billing-summary>div{gap:var(--sp-1);padding:var(--sp-4);background:var(--surface);flex-direction:column;display:flex}.billing-summary small{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:800}.billing-summary b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.billing-summary b.figure-in{color:var(--green)}.billing-summary b.figure-out{color:var(--coral)}.billing-summary span{color:var(--muted);font-size:11px;line-height:1.5}.billing-invoice-list{gap:var(--sp-2);flex-direction:column;display:flex}.billing-invoice{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.billing-invoice.open{border-color:var(--green)}.billing-invoice-head{align-items:center;gap:var(--sp-4);width:100%;padding:var(--sp-3) var(--sp-4);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;display:flex}.billing-invoice-head:hover{background:var(--tint)}.billing-invoice-head:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.billing-invoice-id{gap:var(--sp-1);flex-direction:column;flex:auto;min-width:0;display:flex}.billing-invoice-id code{color:var(--ink);font-size:12px;font-weight:700}.billing-invoice-figures{gap:var(--sp-1);text-align:right;flex-direction:column;flex:none;align-items:flex-end;display:flex}.billing-invoice-figures b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.billing-invoice-head small{color:var(--muted);font-size:11px;line-height:1.5}.billing-chevron{border-radius:var(--r-sm);border:1px solid var(--line);width:22px;height:22px;color:var(--muted);flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.billing-invoice-body{padding:var(--sp-1) var(--sp-4) var(--sp-4);border-top:1px dashed var(--line)}.billing-invoice-body h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px;font-size:10px;font-weight:800}.billing-invoice-body .billing-mini-table{border-collapse:collapse;width:100%;min-width:0;font-size:13px}.billing-mini-table td{padding:var(--sp-2) 0;border-bottom:1px solid var(--line)}.billing-mini-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.billing-mini-table .billing-total-row td{border-bottom:0;border-top:1px solid var(--line);padding-top:var(--sp-2);color:var(--ink);font-weight:700}.billing-payment-list{gap:var(--sp-2);flex-direction:column;display:flex}.billing-payment{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--tint);flex-wrap:wrap;display:flex}.billing-payment-amount{gap:var(--sp-1);flex-direction:column;flex:none;display:flex}.billing-payment-amount b{color:var(--green);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.billing-payment-meta{gap:var(--sp-1);flex-direction:column;flex:160px;min-width:0;display:flex}.billing-payment-meta b{color:var(--ink);font-size:12px;font-weight:700}.billing-payment small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.billing-payment .muted{color:var(--muted);font-size:11px}@media (max-width:640px){.billing-invoice-head{flex-wrap:wrap}.billing-invoice-figures{text-align:left;align-items:flex-start}}.rate-now{gap:var(--sp-1);background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:16px;display:grid;overflow:hidden}.rate-now>div{gap:var(--sp-1);padding:var(--sp-4);background:var(--surface);flex-direction:column;display:flex}.rate-now small{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:800}.rate-now b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.rate-now span{color:var(--muted);font-size:11px;line-height:1.5}.rate-timeline{gap:var(--sp-2);flex-direction:column;margin-bottom:16px;display:flex}.rate-entry{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;display:flex}.rate-entry.live{border-left-color:var(--green);background:var(--ok-wash)}.rate-entry.scheduled{border-left-color:var(--sand);border-style:dashed dashed dashed solid}.rate-entry-date{gap:var(--sp-1);flex-direction:column;flex:none;min-width:108px;display:flex}.rate-entry-date b{color:var(--ink);font-size:12px;font-weight:700}.rate-entry-figures{gap:var(--sp-1);flex-direction:column;flex:170px;min-width:0;display:flex}.rate-entry-figures b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.rate-entry small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}.rate-entry.live .rate-entry-date small{color:var(--green);font-weight:700}.rate-entry.scheduled .rate-entry-date small{color:var(--sand);font-weight:700}.rate-entry .muted{color:var(--muted);font-size:11px}.rate-form-current{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--ok-wash);margin:0;font-size:13px}.rate-form-current b{color:var(--ink);font-variant-numeric:tabular-nums}.field-note.rate-up{color:var(--coral)}.field-note.rate-down{color:var(--green)}.move-summary{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--r-sm);background:var(--ok-wash)}.move-summary>small{color:var(--muted);letter-spacing:.08em;margin-bottom:8px;font-size:10px;font-weight:800;display:block}.move-summary ul{padding-left:var(--sp-4);margin:0;font-size:13px;line-height:1.8}.move-summary li b{color:var(--ink);font-variant-numeric:tabular-nums}.move-summary li.up b{color:var(--coral)}.move-summary li.down b{color:var(--green)}.move-summary .field-note{padding-top:var(--sp-2);border-top:1px dashed var(--line);margin:8px 0 0}.deposit-ledger{gap:var(--sp-1);background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:4px 0 24px;display:grid;overflow:hidden}.deposit-ledger>div{gap:var(--sp-1);padding:var(--sp-4);background:var(--surface);flex-direction:column;display:flex}.deposit-ledger small{color:var(--muted);letter-spacing:.08em;font-size:10px;font-weight:800}.deposit-ledger b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.deposit-ledger b.figure-in{color:var(--green)}.deposit-ledger b.figure-out{color:var(--coral)}.deposit-ledger span{color:var(--muted);font-size:11px;line-height:1.5}.deposit-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:24px 0 8px;font-size:10px;font-weight:800}.deposit-section-note{max-width:70ch;color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.6}.panel .figure-in{color:var(--green)}.panel .figure-out{color:var(--coral)}.billing-credit-note{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:var(--r-sm);background:var(--ok-wash);margin:0 0 16px;font-size:13px;line-height:1.6}.billing-credit-note b{color:var(--green);font-variant-numeric:tabular-nums}.tenancy-timeline{gap:var(--sp-2);flex-direction:column;margin-bottom:16px;display:flex}.tenancy-entry{align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:var(--r-sm);background:var(--surface);flex-wrap:wrap;display:flex}.tenancy-entry.current{border-left-color:var(--green);background:var(--ok-wash)}.tenancy-when{gap:var(--sp-1);flex-direction:column;flex:none;min-width:130px;display:flex}.tenancy-when b{color:var(--ink);font-size:13px;font-weight:700}.tenancy-figures{gap:var(--sp-1);flex-direction:column;flex:200px;min-width:0;display:flex}.tenancy-figures b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.tenancy-entry small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:1.5}
