/* Common navigation, searchable dropdowns, admin readability and structured apartment features. */
.drawer-links { gap:9px; padding:18px 0 20px; }
.drawer-links a,.drawer-logout button {
 min-height:50px; padding:10px 12px; gap:11px; border:1px solid #e0e9ed; border-radius:14px;
 background:#fff; color:#253d4b; font-size:14px; font-weight:800;
 transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.drawer-links a:hover,.drawer-logout button:hover { background:#f1f8fa; border-color:#b7d6df; color:#075e76; transform:translateX(-1px); }
.drawer-links a.is-current { background:#e8f6f5; color:#075e76; border-color:#9bcfcf; box-shadow:inset -3px 0 #078f91; }
.drawer-link-icon { display:grid; flex:0 0 38px; place-items:center; width:38px; height:36px; border:1px solid #dce8ed; border-radius:11px; background:#f5f9fb; color:#1a6d84; font-size:19px; line-height:1; }
.drawer-links a.is-current .drawer-link-icon { border-color:#badfdd; background:#d8efed; color:#075e76; }
.drawer-note { border:1px solid #e0eaee; background:#f7fafb; color:#526a76; font-size:12px; line-height:1.9; }
.app-drawer { width:min(370px,91vw); padding:22px 16px; border-left:1px solid #dbe7eb; }
.drawer-heading { gap:12px; padding-bottom:18px; border-bottom:1px solid #d9e5e9; }
.drawer-heading > div strong { font-size:19px; font-weight:900; color:#193542; }
.drawer-heading small { margin-top:4px; font-size:12px; color:#627985; }
.drawer-admin-links { padding-top:15px; }
.drawer-admin-links .drawer-link-icon { color:#405cc4; background:#f2f4ff; border-color:#dce2ff; }
.drawer-admin-links a.is-current { background:#eff2ff; color:#243b92; border-color:#bcc8fb; box-shadow:inset -3px 0 #536ed0; }
.drawer-admin-links a.is-current .drawer-link-icon { color:#243b92; background:#e0e6ff; border-color:#c3cef9; }
.drawer-landlord-links .drawer-link-icon { color:#17618b; background:#edf6ff; border-color:#d6e7fa; }
.drawer-landlord-links a.is-current { background:#e9f4ff; color:#144f7a; border-color:#b5d5f0; box-shadow:inset -3px 0 #2f7edb; }
.drawer-landlord-links a.is-current .drawer-link-icon { color:#144f7a; background:#d9ebfc; border-color:#b6d6f2; }
.drawer-logout { margin:6px 0 0; padding-top:7px; border-top:1px solid #e7eef1; }
.drawer-logout button { color:#9b2f40; background:#fff8f8; border-color:#f0d9dc; }
.drawer-logout .drawer-link-icon { color:#a83245; background:#fff0f2; border-color:#f2d3d8; }

.search-select { position:relative; display:block; width:100%; min-width:0; z-index:1; }
.search-select.is-open { z-index:90; }
.search-select-native {
 position:absolute!important; width:1px!important; height:1px!important; min-height:1px!important;
 padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important;
 clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; opacity:0!important; pointer-events:none!important;
}
.search-select-trigger {
 display:flex; width:100%; min-width:0; min-height:51px; align-items:center; justify-content:space-between;
 gap:12px; padding:11px 14px; border:1.5px solid #cbd9e0; border-radius:13px; background:#fff;
 color:#213a48; text-align:right; font:inherit; font-size:15px; font-weight:750; box-shadow:0 2px 5px rgba(18,43,57,.025); cursor:pointer;
}
.search-select-trigger:hover { border-color:#88b8c7; background:#fbfeff; }
.search-select-trigger:focus-visible { outline:3px solid rgba(7,143,145,.23); outline-offset:2px; border-color:#078f91; }
.search-select-trigger[aria-invalid="true"] { border-color:#c93d52; box-shadow:0 0 0 3px rgba(201,61,82,.1); }
.search-select-value { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-select-trigger:not(.has-value) .search-select-value { color:#7c8e97; font-weight:600; }
.search-select-chevron { display:grid; flex:0 0 27px; place-items:center; width:27px; height:27px; border-radius:8px; background:#edf5f7; color:#376575; font-size:19px; line-height:1; transition:transform .16s ease; }
.search-select.is-open .search-select-chevron { transform:rotate(180deg); }
.search-select-panel {
 position:absolute; z-index:100; top:calc(100% + 7px); inset-inline:0; padding:10px;
 border:1px solid #c9d9e1; border-radius:15px; background:#fff; box-shadow:0 16px 38px rgba(21,48,62,.18); text-align:right;
}
.search-select-panel[hidden] { display:none!important; }
.search-select-search {
 display:block; width:100%; min-height:44px; margin-bottom:8px; padding:10px 12px;
 border:1.5px solid #cbdce4; border-radius:11px; background:#f8fbfc; color:#1c3542; font:inherit; font-size:15px; outline-offset:2px;
}
.search-select-search:focus { border-color:#078f91; background:#fff; outline:2px solid rgba(7,143,145,.15); }
.search-select-list { display:grid; gap:4px; max-height:min(265px,38vh); overflow-y:auto; overscroll-behavior:contain; padding-inline:1px; scrollbar-width:thin; }
.search-select-option {
 display:block; width:100%; min-height:43px; padding:10px 12px; border:1px solid transparent; border-radius:10px;
 background:#fff; color:#304955; text-align:right; font:inherit; font-size:14px; font-weight:650; line-height:1.5; cursor:pointer;
}
.search-select-option:hover,.search-select-option:focus-visible { border-color:#d0e5eb; background:#f1f8fa; outline:none; }
.search-select-option.is-selected { border-color:#b3ded9; background:#eaf7f5; color:#075e76; font-weight:850; }
.search-select-empty { margin:0; padding:17px 10px; color:#728590; text-align:center; font-size:13px; }
@media(max-width:520px) { .search-select-trigger { min-height:51px; font-size:15px; } .search-select-search { min-height:46px; font-size:15px; } .search-select-option { min-height:45px; font-size:14px; } }

.detail-apartment-features { background:linear-gradient(180deg,#fff,#fbfdfe)!important; }
.detail-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.detail-feature-item { display:flex; flex-direction:column; justify-content:center; gap:7px; min-width:0; padding:12px; border:1.5px solid #dce7ec; border-radius:13px; background:#fff; }
.detail-feature-item>span { color:#526a76; font-size:12px; font-weight:750; line-height:1.65; }
.detail-feature-item>strong { color:#263f4b; font-size:14px; font-weight:900; line-height:1.65; overflow-wrap:anywhere; }
.detail-feature-item>strong.feature-yes { color:#147454; }
.detail-feature-item>strong.feature-no { color:#647782; }
.detail-feature-item.detail-feature-wide { grid-column:1/-1; background:#f8fbfd; border-color:#cbdde6; }
.detail-feature-item.detail-feature-wide>strong { white-space:pre-line; }
@media(min-width:560px) { .detail-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:360px) { .detail-feature-grid { grid-template-columns:1fr; } }

.admin-surface .workspace-page h1 { font-size:clamp(25px,4vw,32px); line-height:1.45; color:#172f3c; }
.admin-surface .workspace-page h2 { font-size:18px; line-height:1.55; }
.admin-surface .workspace-page p { line-height:1.9; }
.admin-surface .workspace-heading>div>p:not(.eyebrow) { font-size:14px; color:#566e7b; }
.admin-surface .workspace-form label,.admin-surface .review-actions label,.admin-surface .admin-role-form label { gap:8px; color:#29434f; font-size:14px; font-weight:800; }
.admin-surface .workspace-form input:not([type="checkbox"]):not([type="radio"]),.admin-surface .workspace-form textarea,.admin-surface .review-actions input,.admin-surface .admin-role-form select {
 min-height:49px; padding:11px 13px; border:1.5px solid #cbd9df; border-radius:12px; background:#fff; color:#1e3946; font:inherit; font-size:15px;
}
.admin-surface .workspace-form textarea { line-height:1.85; }
.admin-surface .stat-card,.admin-surface .admin-property-card,.admin-surface .admin-user-card { border-color:#d7e3e8; box-shadow:0 5px 18px rgba(18,43,57,.055); }

.detail-feature-item > strong.feature-unknown { color:#8a6b32; }

.admin-property-feature-summary { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.admin-property-feature-summary span { display:inline-flex; align-items:center; min-height:29px; padding:5px 9px; border:1px solid #d8e4e9; border-radius:9px; background:#f7fafb; color:#36515d; font-size:12px; font-weight:700; line-height:1.6; }
