/* One shared scale for the resident workspace. Premium typography, compact tasks. */
#portalView .section>.page-header{padding-top:26px;padding-bottom:8px;min-height:0;height:auto;gap:12px}
#portalView .section>.page-header h2{font-size:34px;line-height:1.2;letter-spacing:-.015em}
#portalView .section>.page-header .breadcrumb{display:none}
#portalView .section>.page-header :is(.dining-header-desc,.dashboard-header-note){display:none}
#portalView .section>.page-content{padding-top:16px}
#portalView .section>.page-header p{margin-top:6px}
#portalView #dashboardGreeting{font-size:38px}
#portalView .ob-dash-cta{min-height:44px;border-radius:8px;padding:10px 16px}
#portalView .resident-status-badge{font:500 12px/1.5 var(--font-body);letter-spacing:0;text-transform:none;padding:5px 10px;border-radius:20px;background:#eeeae2;color:#625d55;white-space:nowrap}
#portalView .resident-status-badge::first-letter{text-transform:uppercase}
#portalView .resident-status-badge:is([data-maintenance-status=submitted],[data-maintenance-status=open]){background:#e9eeef;color:#435b65}
#portalView .resident-status-badge:is([data-maintenance-status=acknowledged],[data-maintenance-status=in_progress],[data-maintenance-status=awaiting_parts]){background:#f2ead9;color:#735f39}
#portalView .resident-status-badge:is([data-maintenance-status=scheduled],[data-maintenance-status=completed]){background:#e8efe6;color:#3e5b3d}
#section-dining #diningRestaurantContext{margin-bottom:14px;padding-bottom:14px}
#section-dining #diningRestaurantContext>div>span{display:none}
#section-dining #diningRestaurantContext h3{font-size:28px;margin:0 0 6px}
#section-dining #diningPrimaryTabs{margin-bottom:14px}
#section-dining #diningRestaurantDetails{font-size:14px;margin:8px 0 16px}
#section-dining #diningRestaurantDetails>summary{cursor:pointer;min-height:36px;display:list-item;width:fit-content;padding:6px 0}
#section-dining #diningRestaurantDetails[open]{padding-bottom:12px;border-bottom:1px solid var(--resident-line)}
#section-dining #diningRestaurantDetails .dining-program{margin-top:12px}
#section-dining .dining-ordering-summary{font:400 14px/1.6 var(--font-body);color:var(--resident-soft)}
#section-dining .dining-discovery-bar{padding:0 0 14px;background:none}
#section-dining .dining-menu-tools{gap:12px}
#section-dining .dining-menu-filters{margin-bottom:0}
#portalSidebar .sidebar-header{padding-top:24px;padding-bottom:22px}
#portalSidebar .resident-nav-group{margin:4px 0;color:#d4d0c7}
#portalSidebar .resident-nav-group>summary{font:500 15px/1.5 var(--font-body);padding:13px 12px;border-radius:8px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
#portalSidebar .resident-nav-group>summary::after{content:'›';font-size:20px;line-height:1}
#portalSidebar .resident-nav-group[open]>summary::after{transform:rotate(90deg)}
#portalSidebar .resident-nav-group>summary::-webkit-details-marker{display:none}
#portalSidebar .resident-nav-group.is-current>summary{color:#fff9eb;background:#2d2b26}
#portalSidebar .resident-nav-group>summary:focus-visible{outline:2px solid #d8c79f;outline-offset:2px}
#portalSidebar .resident-nav-children{padding:4px 0 8px 10px;border-left:1px solid #ffffff20;margin-left:12px}
#portalSidebar .resident-nav-children .nav-item{font-size:13px;padding:9px 10px;min-height:42px}
#portalSidebar .resident-nav-children .nav-item svg{width:17px;height:17px}
#portalView .main{padding-bottom:84px}
#residentActivityBar{position:fixed;bottom:0;left:260px;right:0;z-index:940;display:flex;justify-content:center;gap:12px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:var(--resident-paper);border-top:1px solid var(--resident-line)}
#residentActivityBar button,#residentActivityDialog button{font:500 14px/1.5 var(--font-body);color:var(--dark);background:transparent;border:0;border-radius:8px;min-height:44px;padding:10px 14px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}
#residentActivityBar button:hover,#residentActivityDialog button:hover{background:#eeeae2}
#residentActivityBar [hidden],#residentActivityDialog [hidden],.resident-bottom-nav [hidden]{display:none!important}
.resident-activity-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:1px 6px;border-radius:12px;background:#eeeae2;color:#625d55;font:500 12px/1.5 var(--font-body)}
.resident-activity-count.needs-attention{background:#f2ead9;color:#735f39}
#residentActivityDialog{margin:auto;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;padding:24px;border:1px solid var(--resident-line);border-radius:14px;background:var(--resident-paper);color:var(--dark)}
#residentActivityDialog::backdrop{background:#14141460}
#residentActivityDialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}
#residentActivityDialog h2{font:500 30px/1.2 var(--font-heading);text-transform:none;letter-spacing:0}
#residentActivityDialog>p{font:400 14px/1.6 var(--font-body);color:var(--resident-soft);margin:12px 0}
#residentActivityItems>button{width:100%;justify-content:space-between;border-bottom:1px solid var(--resident-line);border-radius:0;padding:16px 0}
.resident-activity-copy{display:grid;gap:4px}
.resident-activity-detail{font:400 12px/1.5 var(--font-body);color:var(--resident-soft)}
#residentActivityDialog [data-activity-refresh]{margin-top:14px;text-decoration:underline;text-underline-offset:4px}
#residentActivityBar button:focus-visible,#residentActivityDialog button:focus-visible{outline:2px solid #7d6943;outline-offset:2px}
#conciergeWidget #conciergeTrigger{display:none!important}
#conciergeWidget{bottom:82px}
.toast{bottom:88px}
html{scroll-padding-bottom:100px}
@media(min-width:769px) and (max-width:1000px){#residentActivityBar{gap:0;padding-left:8px;padding-right:8px}#residentActivityBar button{font-size:13px;padding:10px}}
@media(max-width:768px){
 #portalView .section>.page-header{padding-top:20px;padding-bottom:6px}
 #portalView .section>.page-header h2,#portalView #dashboardGreeting{font-size:30px}
 #portalView .section>.page-content{padding-top:12px}
 #residentActivityBar{display:none}
 #portalView .resident-bottom-nav{gap:2px}
 #portalView .resident-bottom-nav button{font-size:12px;flex-direction:row;flex-wrap:wrap;gap:4px}
 #portalView .main{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 #section-dining #diningRestaurantContext>div{flex-basis:100%}
 #section-dining #diningRestaurantContext h3{font-size:26px}
 #section-dining .dining-menu-search-field{width:100%}
}
@media(prefers-reduced-motion:reduce){#portalSidebar .resident-nav-group>summary::after{transition:none}}

@media(min-width:769px) and (max-width:1024px){#residentActivityBar{left:220px}}
#portalSidebar .resident-emergency-link{margin-bottom:12px;color:#e8d4be}

#portalSidebar .nav-count-badge{border-radius:12px;min-width:22px;padding:2px 6px;background:#eeeae2;color:#625d55;font:500 11px/1.4 var(--font-body)}

/* One page frame across every resident destination. Cards and headings share its edges. */
:root{--resident-page-width:1120px;--resident-page-gutter:44px;--resident-form-width:800px}
#portalView>.main>.section{width:100%;max-width:none;margin-inline:0}
#portalView>.main>.section>:is(.page-header,.page-content){box-sizing:border-box;width:100%;max-width:var(--resident-page-width);margin-inline:auto;padding-inline:var(--resident-page-gutter);min-width:0}
/* Lists use the frame; catalog item cards retain their own grid sizes. */
#portalView #maintenanceList,#portalView #maintenanceDetail,
#portalView .amenities-bookings-sheet,#portalView #diningOrdersTab,
#portalView #announcementsList,#portalView #announcementsStatus,#portalView .announcements-toolbar{width:100%;max-width:none;margin-inline:0}
/* Task and reading surfaces remain comfortable without drifting away from the page edge. */
#portalView #newRequestForm,#portalView #newPostForm,#portalView #communityPostDetail,
#portalView #amenityBookingWorkspace,#portalView #diningCheckoutView{width:100%;max-width:var(--resident-form-width);margin-inline:0}
#section-dining #orderDetail>.card{margin-inline:0!important}
#portalView :is(.maintenance-card-description,.announcement-reading,.community-post-body,.community-detail-body){max-width:72ch}
@media(max-width:1000px){:root{--resident-page-gutter:26px}}
@media(max-width:600px){:root{--resident-page-gutter:20px}}
