/* Resident and visitor pages only. Keep staff/official layouts unchanged. */
body.resident-ui { background: #f5f7fa; color: #243247; line-height: 1.6; }
.resident-ui .site-header { border-bottom: 2px solid #efc13c; box-shadow: none; }
.resident-ui .public-header-container { max-width: 1080px; gap: 18px; }
.resident-ui .main-navigation { gap: 2px; }
.resident-ui .main-navigation a, .resident-ui .navigation-logout button { min-height: 44px; padding: 10px; font-size: 14px; font-weight: 600; }
.resident-ui .resident-menu-toggle { display: none; }

.resident-ui .container, .resident-ui .profile-main { width: min(900px, calc(100% - 32px)); }
.resident-ui .container { margin-top: 28px; margin-bottom: 40px; }
.resident-ui .container:has(> h1), .resident-ui .profile-card, .resident-ui .request-result,
.resident-ui .tracking-header, .resident-ui .tracking-form { border: 1px solid #dce3ed; box-shadow: none; border-radius: 10px; }
.resident-ui .tracking-header { text-align: left; border-radius: 10px 10px 0 0; padding: 24px; }
.resident-ui .tracking-form { border-radius: 0 0 10px 10px; border-top: 0; padding: 24px; }
.resident-ui .container:has(> h1) { padding: 26px; }
.resident-ui .notice, .resident-ui .profile-notice { border-radius: 6px; font-size: 14px; line-height: 1.6; }
.resident-ui .profile-main { padding: 28px 0 48px; }
.resident-ui .profile-card { padding: 24px; margin-bottom: 18px; }
.resident-ui .profile-heading { margin-bottom: 20px; align-items: center; }

.resident-ui .profile-eyebrow { display: none; }
.resident-ui .profile-section-heading { padding-bottom: 14px; margin-bottom: 18px; }

.resident-ui .profile-edit-shortcut { box-shadow: none; }
.resident-ui .login-container, .resident-ui .registration-container { border: 1px solid #dce3ed; border-radius: 10px; box-shadow: none; margin-top: 28px; }
.resident-ui .profile-details { gap: 18px; }
.resident-ui .profile-detail dt { text-transform: none; letter-spacing: 0; font-size: 13px; }
.resident-ui .profile-detail dd { overflow-wrap: anywhere; }
.resident-ui .resident-form-section { grid-column: 1 / -1; margin: 10px 0 0; padding-top: 18px; border-top: 1px solid #e1e7ef; font-size: 18px; color: #073b78; }
.resident-ui .resident-form-section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.resident-ui .form-grid, .resident-ui .profile-form-grid { gap: 18px; }
.resident-ui input:not([type='hidden']):not([type='checkbox']):not([type='radio']),
.resident-ui select, .resident-ui textarea { font-size: 16px; }
.resident-ui input:not([type='hidden']):not([type='checkbox']):not([type='radio']), .resident-ui select { min-height: 44px; }
.resident-ui :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #3780c8; outline-offset: 3px; }
.resident-ui .hero { padding: 42px 0 32px; background: #fff; }
.resident-ui .hero-container { display: block; width: min(900px, calc(100% - 32px)); }
.resident-ui .hero-content { max-width: 700px; }
.resident-ui .hero-content h1 {  margin: 10px 0 14px; }
.resident-ui .hero-content > p { max-width: 640px; font-size: 16px; }
.resident-ui .hero-actions { margin-top: 22px; gap: 12px; }
.resident-ui .button { min-height: 44px; padding: 11px 18px; box-shadow: none; border-radius: 7px; }
.resident-ui .guest-note { font-size: 14px; margin-top: 16px; }
.resident-ui .process-section { padding: 28px 0; background: transparent; }
.resident-ui .section-container { width: min(900px, calc(100% - 32px)); }
.resident-ui .section-heading { margin-bottom: 18px; text-align: left; }
.resident-ui .process-section .eyebrow { display: none; }
.resident-ui .process-list { gap: 12px; }
.resident-ui .process-list li { padding: 16px; border: 1px solid #dce3ed; border-radius: 8px; box-shadow: none; background: #fff; }
.resident-ui .process-list li > span { width: 30px; height: 30px; flex: 0 0 30px; font-size: 14px; }
.resident-ui .resident-account-strip { width: min(900px, calc(100% - 32px)); margin: 0 auto 32px; padding: 18px 0; border-top: 1px solid #dce3ed; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.resident-ui .resident-account-strip p { flex: 1 1 300px; margin: 0; font-size: 14px; }
.resident-ui .public-notices { padding: 22px 0; }
.resident-ui .public-notice { box-shadow: none; }
.resident-ui .site-footer { padding: 20px 0; }
.resident-ui [hidden] { display: none !important; }
@media (max-width: 900px) {
  .resident-ui .site-header { position: static; }
  .resident-ui .public-header-container { flex-direction: row; flex-wrap: wrap; padding: 12px 0; }
  .resident-ui .main-navigation { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .resident-ui .main-navigation a { text-align: center; }
  .resident-ui .resident-menu-toggle:not([hidden]) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 14px; background: #f1f6fc; border: 1px solid #cad9e9; border-radius: 7px; color: #073b78; font: inherit; }
}
@media (max-width: 600px) {
  .resident-ui .container:has(> h1), .resident-ui .profile-card, .resident-ui .tracking-header, .resident-ui .tracking-form { padding: 18px; }
  .resident-ui .tracking-form, .resident-ui .form-grid, .resident-ui .profile-form-grid { grid-template-columns: minmax(0, 1fr); }
  .resident-ui .hero { padding: 28px 0; }
  .resident-ui .hero-actions { display: grid; grid-template-columns: 1fr; }
  .resident-ui .hero-actions .button { text-align: center; }
  .resident-ui .profile-heading { align-items: flex-start; flex-wrap: wrap; gap: 14px; }
  .resident-ui .process-list { grid-template-columns: 1fr; }
  .resident-ui .brand-text strong { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { html:has(body.resident-ui) { scroll-behavior: auto; } }
