/* Quiet hospitality: scoped home and navigation, shared readable body typography. */
@font-face{font-family:Inter;src:url('/vendor/fonts/inter/InterVariable-4.1.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-body:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;--font-caption:var(--font-body);--resident-line:#dedbd3;--resident-soft:#68645d;--resident-paper:#fffefa}
#section-dashboard [hidden],.sidebar [hidden]{display:none!important}
#section-dashboard{color:var(--graphite);font-size:16px;line-height:1.6}
#section-dashboard .page-header{height:auto;min-height:0;background:none;border:0;padding:48px 44px 12px;max-width:1256px;margin:auto}
#section-dashboard .page-content{max-width:1256px;padding:24px 44px 64px;margin:auto}
#section-dashboard .breadcrumb{font:500 12px/1.5 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--resident-soft);margin-bottom:12px}
#section-dashboard #dashboardGreeting{font:500 clamp(36px,4vw,52px)/1.12 var(--font-heading);letter-spacing:-.02em;text-transform:none;text-wrap:balance;color:var(--dark)}
#section-dashboard .dashboard-header-note{font:400 15px/1.65 var(--font-body);max-width:300px;color:var(--resident-soft);text-align:left;margin:0 0 3px}
#section-dashboard .dashboard-section-heading{font:500 26px/1.25 var(--font-heading);letter-spacing:0;text-transform:none;margin:0 0 18px;color:var(--dark)}
#section-dashboard .dashboard-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:34px}
#section-dashboard .dashboard-quick-action{position:relative;align-items:flex-start;text-align:left;justify-content:flex-start;gap:10px;border:1px solid var(--resident-line);border-radius:12px;background:var(--resident-paper);padding:24px 20px;min-height:172px;box-shadow:0 2px 10px #28231a03;transition:background .16s,border-color .16s}
#section-dashboard .dashboard-quick-action:hover{transform:none;box-shadow:none;background:#fff;border-color:#b7ad96!important}
#section-dashboard .dashboard-quick-action svg{width:25px;height:25px;flex-shrink:0;color:#7b6e53;margin-bottom:12px}
#section-dashboard .dashboard-quick-action-label{font:600 16px/1.4 var(--font-body);color:var(--dark);letter-spacing:0;text-transform:none}
#section-dashboard .dashboard-quick-action-meta{font:400 13px/1.5 var(--font-body);color:var(--resident-soft);letter-spacing:0;text-transform:none}
#section-dashboard .resident-action-arrow{position:absolute;right:18px;top:20px;font:18px var(--font-body);color:#827761}
#section-dashboard .ob-dash-card{border:1px solid var(--resident-line);border-radius:12px;background:#ece7dd;padding:18px 22px;margin:0 0 28px;box-shadow:none;transform:none}
#section-dashboard .ob-dash-title{font:500 12px/1.4 var(--font-body);letter-spacing:.04em;text-transform:none;color:var(--resident-soft)}
#section-dashboard .ob-dash-heading{font:500 17px/1.4 var(--font-body);letter-spacing:0;color:var(--dark)}
#section-dashboard .ob-dash-cta{font:500 13px/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:var(--ivory)}
#section-dashboard .ob-dash-text{font:400 12px/1.5 var(--font-body);color:var(--resident-soft)}
#section-dashboard .ob-dash-bar{height:3px;margin:12px 0 7px;background:#d6cfc0}
#section-dashboard .ob-dash-fill{background:#887550}
#section-dashboard .dashboard-data-status{font-size:14px;color:var(--resident-soft);border-radius:8px;margin-bottom:22px}
#section-dashboard .dashboard-data-status button{font:600 14px var(--font-body);min-height:44px;padding:8px 14px;margin-left:10px;color:var(--dark)}
.resident-day{margin:0 0 34px}.resident-day-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.resident-day-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--resident-line);border-radius:10px;padding:20px;background:#ede9e0;text-align:left;color:var(--dark);cursor:pointer;font:inherit;min-width:0}
.resident-day-copy{display:grid;gap:6px;min-width:0}.resident-day-copy strong{font:600 15px/1.5 var(--font-body)}.resident-day-copy>span{font:400 13px/1.6 var(--font-body);color:var(--resident-soft);overflow-wrap:anywhere}.resident-day-arrow{font-size:20px;flex-shrink:0}
#section-dashboard .dashboard-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0}
#section-dashboard .dashboard-feed-column{display:contents}
#section-dashboard .dashboard-panel{padding:24px;border:1px solid var(--resident-line);border-radius:12px;background:var(--resident-paper);min-width:0}
#section-dashboard .dashboard-panel .card,#section-dashboard .dashboard-announcement-card{border:0;border-bottom:1px solid var(--resident-line);border-radius:0;box-shadow:none;padding:16px 0;background:none;transform:none}
#section-dashboard .dashboard-event-title,#section-dashboard .announcement-title{font:500 16px/1.5 var(--font-body);letter-spacing:0;text-transform:none}
#section-dashboard .caption,#section-dashboard .announcement-date,#section-dashboard .dashboard-announcement-body{font:400 13px/1.6 var(--font-body);letter-spacing:0;text-transform:none;color:var(--resident-soft)}
#section-dashboard .resident-panel-link{font:500 14px/1.5 var(--font-body);display:flex;align-items:center;gap:12px;background:none;color:var(--dark);border:0;min-height:44px;padding:12px 0 0;cursor:pointer}
#section-dashboard .dashboard-notifications-section{margin-bottom:30px}
#section-dashboard .dashboard-notification-card{border-radius:10px;border:1px solid var(--resident-line);padding:20px;background:#f4ecdc}
#section-dashboard .dashboard-notification-title{font:500 17px/1.5 var(--font-body);letter-spacing:0;text-transform:none}
#section-dashboard .dashboard-notification-eyebrow{font:500 12px/1.5 var(--font-body);letter-spacing:.02em;text-transform:none}
.resident-concierge-row{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--resident-line);margin-top:34px;padding-top:28px}
.resident-concierge-row h3{font:500 26px/1.25 var(--font-heading);letter-spacing:0;text-transform:none;margin:0 0 8px}.resident-concierge-row p{font:400 14px/1.6 var(--font-body);color:var(--resident-soft)}
#section-dashboard .resident-concierge-row .dashboard-quick-action{min-height:54px;flex-direction:row;align-items:center;padding:14px 20px;gap:12px;background:var(--dark);border-color:var(--dark)}
#section-dashboard .resident-concierge-row .dashboard-quick-action-label{color:var(--ivory);font-size:14px}.resident-concierge-row .dashboard-quick-action-meta{display:none}
#section-dashboard :is(button,a):focus-visible{outline:2px solid #7d6943;outline-offset:4px}
#section-dashboard h2[tabindex="-1"]:focus{outline:none}
/* Navigation stays legible; sand is decorative rather than low-contrast small text. */
.sidebar{background:#1d1c19;color:#eae7df;font-family:var(--font-body)}
.sidebar-nav{padding:8px 16px 20px;scrollbar-color:#7d786d transparent}
.sidebar .nav-section-label{font:500 11px/1.5 var(--font-body);letter-spacing:.07em;text-transform:uppercase;color:#b5b0a5;padding:20px 12px 7px}
.sidebar .nav-item{font:450 14px/1.45 var(--font-body);letter-spacing:0;text-transform:none;color:#d4d0c7;min-height:44px;padding:11px 12px;gap:12px;border:0;border-radius:8px;margin:2px 0}
.sidebar .nav-item.active{background:#37342e;color:#fff9eb;border:0}.sidebar .nav-item:hover{background:#2d2b26;color:#fff9eb}
.sidebar .nav-item svg{width:19px;height:19px;opacity:1;flex-shrink:0}
.sidebar .nav-item:focus-visible,.sidebar a:focus-visible,.sidebar button:focus-visible{outline:2px solid #d8c79f;outline-offset:2px}
.sidebar-footer{padding:18px 22px;border-top:1px solid #ffffff16}.sidebar .resident-name{font-size:14px;letter-spacing:0;text-transform:none}.sidebar .resident-unit{font-size:11px;letter-spacing:.02em;color:#b5b0a5}
.sidebar-utility-link{font:450 12px var(--font-body);letter-spacing:0;text-transform:none;min-height:36px;color:#c8c3b8}
.resident-menu-close,.resident-bottom-nav{display:none}
@media(min-width:769px) and (max-width:1180px){#section-dashboard .dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}#section-dashboard .dashboard-header-row{align-items:flex-start;flex-direction:column;gap:14px}#section-dashboard .page-header{padding:36px 28px 8px}#section-dashboard .page-content{padding:22px 28px 48px}#section-dashboard .dashboard-feed-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:768px){
  .mobile-portal-bar{position:sticky;top:0;z-index:90;background:var(--ivory);border-color:var(--resident-line);min-height:62px;padding:8px 20px}
  .mobile-portal-bar .menu-toggle{font-size:0}.mobile-portal-bar .menu-toggle::after{content:'Menu';font:500 13px var(--font-body)}
  .resident-bottom-nav{position:fixed;display:flex;align-items:stretch;left:0;right:0;bottom:0;z-index:950;background:#fffefa;border-top:1px solid var(--resident-line);padding:7px 12px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 16px #1d1c1905}
  .resident-bottom-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:1;min-width:0;min-height:52px;padding:5px;border:0;background:none;color:var(--resident-soft);font:500 11px/1.3 var(--font-body);letter-spacing:0;text-transform:none;border-radius:8px}
  .resident-bottom-nav button[aria-current=page]{background:#eee8dc;color:var(--dark)}.resident-bottom-nav svg{width:21px;height:21px}
  .resident-bottom-nav button:focus-visible{outline:2px solid #7d6943;outline-offset:0}
  #portalView>.main{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  #section-dashboard .page-header{padding:30px 22px 6px}#section-dashboard .page-content{padding:22px 22px 36px}
  #section-dashboard .dashboard-header-row{align-items:flex-start;flex-direction:column;gap:14px}#section-dashboard .dashboard-header-note{font-size:14px;max-width:270px}
  #section-dashboard .dashboard-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:28px}
  #section-dashboard .dashboard-quick-action{padding:18px 14px;min-height:170px}#section-dashboard .dashboard-quick-action-label{font-size:15px}#section-dashboard .dashboard-quick-action-meta{font-size:12px}
  #section-dashboard .resident-action-arrow{right:12px;top:15px}
  #section-dashboard .dashboard-feed-grid{grid-template-columns:minmax(0,1fr);gap:18px}#section-dashboard .dashboard-panel{padding:20px}
  #section-dashboard .dashboard-section-heading{font-size:25px}.resident-day-items{grid-template-columns:minmax(0,1fr)}.resident-day-card{padding:18px}
  #section-dashboard .ob-dash-card{padding:16px}.ob-dash-summary{gap:12px}#section-dashboard .ob-dash-heading{font-size:15px}
  .resident-concierge-row{align-items:flex-start;flex-direction:column;gap:16px}.resident-concierge-row h3{font-size:25px}
  .sidebar{width:min(340px,88vw);left:-100vw;height:100dvh;z-index:1200;transition:none}.sidebar.open{left:0}
  .sidebar-overlay.active{z-index:1150;background:#17161273;backdrop-filter:blur(2px)}
  .resident-menu-close{position:absolute;display:grid;place-items:center;right:8px;top:8px;width:40px;height:40px;background:none;border:0;color:#eae7df;font:26px var(--font-body);cursor:pointer}
  .sidebar .sidebar-header{padding-right:45px}.sidebar .nav-item{min-height:48px;font-size:15px}.sidebar .nav-section-label{padding-top:16px}
  .concierge-widget{bottom:calc(82px + env(safe-area-inset-bottom));right:16px}.concierge-trigger{padding:11px 15px;font-size:15px;letter-spacing:0;border-radius:24px}
  #conciergePanel.louie-ui{max-height:calc(100dvh - 180px - env(safe-area-inset-top));width:min(440px,calc(100vw - 32px))}
  .toast{bottom:calc(95px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){#section-dashboard *, .sidebar{transition:none!important;scroll-behavior:auto!important}}
@media print{.resident-bottom-nav{display:none!important}}

.concierge-trigger{font:500 14px/1.4 var(--font-body);letter-spacing:0;border-radius:24px;padding:13px 18px}.concierge-trigger-label{font:inherit;letter-spacing:0;text-transform:none}
@media(max-width:768px){html{scroll-padding-bottom:110px}}
