/* Entry and resident screens share the workspace's quiet surfaces and large controls. */
.entry-eyebrow { margin:0 0 8px; color:var(--link); font-size:.8rem; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.entry-muted { color:var(--text-secondary); line-height:1.6; }
.resident-page main.resident-shell { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:28px 0 64px; }
.resident-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 28px; }
.resident-heading h1 { margin:0; color:var(--text-primary); font-size:clamp(1.7rem,3.2vw,2.3rem); font-weight:760; line-height:1.2; letter-spacing:-.035em; }
.resident-heading p:not(.entry-eyebrow) { margin:10px 0 0; color:var(--text-secondary); line-height:1.55; }
.entry-primary,.entry-secondary { display:inline-flex; flex:none; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:12px 20px; border:1px solid var(--border); border-radius:12px; color:var(--text-primary); background:var(--surface); text-decoration:none; font-size:1rem; font-weight:700; line-height:1.4; }
.entry-primary { color:#fff!important; border-color:var(--primary); background:var(--primary); }
.entry-secondary:hover { border-color:var(--link); color:var(--link); }
.entry-primary:hover { background:var(--primary-strong); }
.resident-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
.resident-shortcuts a { display:flex; align-items:center; gap:16px; min-width:0; padding:23px; border:1px solid var(--border); border-radius:16px; color:var(--text-primary); background:var(--surface); text-decoration:none; transition:border-color .16s ease,background .16s ease; }
.resident-shortcuts a:hover { border-color:var(--link); background:var(--accent-soft); }
.resident-shortcuts a>span:first-child { display:grid; place-items:center; flex:none; width:44px; height:44px; border-radius:12px; background:var(--accent-soft); color:var(--link); font-size:1.3rem; }
.resident-shortcuts a>span:last-child { margin-left:auto; color:var(--text-secondary); }
.resident-shortcuts strong { display:block; font-size:1.05rem; }
.resident-shortcuts small { display:block; margin-top:5px; color:var(--text-secondary); font-size:.9rem; line-height:1.5; }
.entry-disclosure { border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--text-primary); }
.entry-disclosure>summary { min-height:56px; padding:18px 22px; cursor:pointer; font-weight:700; line-height:1.4; }
.entry-disclosure[open]>summary { border-bottom:1px solid var(--border); }
.entry-disclosure-content { padding:20px 22px; }
.resident-page .org-info { padding:0; margin:0 0 34px; box-shadow:none; }
.entry-org-details { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin:0; }
.entry-org-details dt { color:var(--text-secondary); font-size:.9rem; }
.entry-org-details dd { margin:6px 0 0; overflow-wrap:anywhere; color:var(--text-primary); }
.resident-page .events-title { margin:32px 0 20px; color:var(--text-primary); font-size:1.25rem; text-align:left; }
.resident-page .events { gap:20px; }
.resident-page .employees,.resident-page .contacts { margin-top:0; }
.resident-page .event-card { box-shadow:none; border-radius:16px; }
.resident-page .event-card .event-date { display:block; font-size:.88rem; }
.resident-page .event-id { display:none; }
.resident-page .event-description { font-size:1rem; line-height:1.65; }
.resident-notify-prompt { position:static; max-width:1120px; margin:0 auto 28px; padding:0 24px; }
.resident-notify-prompt .notify-modal { width:auto; max-width:none; padding:20px 24px; border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--text-primary); box-shadow:none; text-align:left; }
.resident-notify-prompt .notify-modal p { margin:0; color:var(--text-primary); }
.entry-empty { grid-column:1/-1; margin:12px 0; padding:24px; border:1px dashed var(--border); border-radius:14px; color:var(--text-secondary); background:var(--surface); line-height:1.6; }
.resident-page .personal-section { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr); gap:20px; align-items:start; }
.resident-page .personal-section>.personal-card { min-width:0; margin:0; padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:none; }
.resident-page .personal-section>.personal-card h2 { margin:0 0 16px; font-size:1.2rem; }
.resident-page .personal-section>.personal-arrears-card { grid-column:1; grid-row:1/span 3; }
.resident-page .personal-section>.personal-info-card { grid-column:2; }
.resident-page .personal-section>.personal-notify-card { grid-column:2; }
.resident-page .personal-section>.personal-settings-card { grid-column:2; padding:0; }
.entry-debt-breakdown { margin-bottom:10px; border-bottom:1px solid var(--border); }
.entry-debt-breakdown>summary { padding:0 0 10px; min-height:38px; color:var(--link); font-weight:650; cursor:pointer; }
.entry-debt-breakdown>div { padding-bottom:8px; }
html[data-theme] body.resident-page .personal-arrears-card .debt-line { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:8px 0; border:0!important; border-bottom:1px solid var(--border)!important; border-radius:0; background:transparent!important; box-shadow:none!important; }
html[data-theme] body.resident-page .personal-arrears-card .debt-line:last-child { border-bottom:0!important; }
html[data-theme] body.resident-page .personal-arrears-card .debt-line .name { color:var(--text-primary)!important; font-weight:600; line-height:1.5; }
html[data-theme] body.resident-page .personal-arrears-card .debt-line .amount { flex:none; max-width:52%; margin:0; padding:0!important; border:0!important; border-radius:0; background:transparent!important; color:var(--text-primary)!important; font-size:1rem; font-weight:700; line-height:1.5; text-align:right; font-variant-numeric:tabular-nums; }
html[data-theme] body.resident-page .personal-arrears-card .debt-line .amount.personal-credit-amount { color:var(--success)!important; }
.resident-page .personal-debt-summary { padding:0; margin:0; background:none; border:0; }
.resident-page .personal-debt-summary>div { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 16px; padding:8px 0; }
.resident-page .personal-debt-summary span { color:var(--text-secondary); }
.resident-page .personal-debt-summary strong { color:var(--text-primary); font-size:1.15rem; font-variant-numeric:tabular-nums; }
html[data-theme] body.resident-page .personal-debt-summary .personal-debt-total { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:6px 14px; margin:10px 0 0; padding:10px 14px!important; border:1px solid var(--neon-border,var(--border)); border-radius:12px; background:var(--accent-soft)!important; }
html[data-theme] body.resident-page .personal-debt-total strong { max-width:100%; margin-left:auto; color:var(--link); font-size:clamp(1.15rem,2.6vw,1.35rem); line-height:1.3; letter-spacing:-.015em; overflow-wrap:anywhere; white-space:normal; text-align:right; }
.resident-page .personal-card .btn-pay { display:block; width:100%; max-width:none; margin:24px 0 0; min-height:48px; border:1px solid var(--border); border-radius:12px; background:var(--surface-secondary); color:var(--text-secondary); font-size:1rem; box-shadow:none; }
.resident-page .personal-card .btn-pay:disabled { opacity:1; }
html .resident-page .personal-section .personal-card.personal-arrears-card .btn-pay:disabled { color:var(--text-secondary)!important; background:var(--surface-secondary)!important; border:1px solid var(--border-strong)!important; box-shadow:none!important; opacity:1!important; cursor:not-allowed; }
.resident-page .personal-debt-note { margin:14px 0 0; color:var(--text-secondary); font-size:.9rem; line-height:1.6; }
.resident-page .personal-card label { display:block; margin:16px 0 7px; color:var(--text-primary); font-weight:600; }
.resident-page .personal-settings-card input { display:block; width:100%; min-height:48px; padding:11px 13px; border:1px solid var(--border-strong); border-radius:10px; background:var(--input-bg); color:var(--text-primary); font-size:1rem; }
.resident-page .personal-card .switch-container label { margin:0; }
.resident-page .personal-info-card .info-grid { grid-template-columns:minmax(75px,.6fr) minmax(0,1.5fr); gap:14px; }
.resident-page .personal-info-card .info-grid>.label,.resident-page .personal-info-card .info-grid>.value { min-width:0; max-width:100%; margin:0; line-height:1.5; overflow-wrap:anywhere; white-space:normal; }
.resident-page .personal-card .notify-description { font-size:1rem; line-height:1.65; }
.entry-org-search { display:grid; gap:8px; max-width:560px; margin:0 0 24px; color:var(--text-secondary); font-weight:600; }
.entry-org-search input { width:100%; min-height:50px; padding:12px 16px; border:1px solid var(--border-strong); border-radius:12px; color:var(--text-primary); background:var(--input-bg); font:inherit; }
.entry-org-search input:focus { outline:3px solid var(--accent-soft); border-color:var(--link); }
[data-entry-org][hidden],.staff-workspace-card[hidden],#entry-org-empty[hidden] { display:none!important; }
.login-page .login-container { width:min(460px,calc(100% - 32px)); padding:32px; border:1px solid var(--border); border-radius:22px; background:var(--surface); box-shadow:0 14px 60px color-mix(in srgb,var(--text-primary) 5%,transparent); }
.login-page .login-brand { margin-bottom:28px; }
.login-page .login-brand-name small { font-size:.85rem; color:var(--text-secondary); }
.login-page .login-container h1 { margin:0 0 24px; font-size:1.75rem; text-align:left; letter-spacing:-.03em; }
.login-page .login-mode-tabs { margin:0 0 24px; padding:4px; border:1px solid var(--border); border-radius:12px; background:var(--surface-secondary); }
.login-page .login-mode-button { min-height:46px; border-radius:9px; font-size:1rem; }
.login-page .login-form .neon-label { color:var(--text-primary); font-size:.95rem; }
.login-page .login-form .neon-input { min-height:50px; border:1px solid var(--border-strong); border-radius:11px; color:var(--text-primary); background:var(--input-bg); font-size:1rem; box-shadow:none; }
.login-page .neon-button { min-height:50px; margin-top:14px; border-radius:11px; color:#fff; background:var(--primary); box-shadow:none; font-size:1rem; }
.login-page #forgot-link { min-height:44px; margin-top:12px; border:0; background:none; color:var(--link); font-size:.95rem; }
.login-page .login-footer { display:grid; gap:8px; margin-top:24px; padding-top:20px; border-top:1px solid var(--border); }
.login-page .login-footer a { padding:4px; margin:0; text-align:left; color:var(--text-secondary); font-size:.85rem; }
.login-organization .login-organization-list { display:grid; gap:10px; }
.login-organization .login-organization-list button { display:flex; justify-content:space-between; align-items:center; gap:18px; width:100%; min-height:68px; padding:16px; border:1px solid var(--border); border-radius:12px; color:var(--text-primary); background:var(--surface); font-size:1rem; text-align:left; }
.login-organization .login-organization-list button:hover { border-color:var(--link); background:var(--accent-soft); }
.login-organization .login-organization-list button strong { overflow-wrap:anywhere; }
.login-organization .login-organization-list button span { flex:none; color:var(--link); font-size:.85rem; }
.login-organization>p { line-height:1.6; }
.login-organization>a { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; color:var(--link); }
.staff-workspaces-page .staff-workspaces-shell { width:min(1040px,calc(100% - 48px)); padding-block:42px 64px; }
.staff-workspaces-page .staff-workspaces-header { margin-bottom:30px; }
.staff-workspaces-page .staff-workspaces-header h1 { margin:0; font-size:clamp(1.7rem,3vw,2.3rem); letter-spacing:-.035em; }
.staff-workspaces-page .staff-workspaces-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.staff-workspaces-page .staff-workspace-card { padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--surface); box-shadow:none; }
.staff-workspaces-page .staff-workspace-card h2 { margin:20px 0; font-size:1.2rem; }
.staff-workspaces-page .staff-workspace-card.current { border-color:var(--link); }
.staff-workspaces-page .staff-workspace-mark { background:var(--accent-soft); color:var(--link); }
.staff-workspaces-page .staff-workspace-card button { min-height:48px; border-radius:11px; background:var(--primary); color:#fff; }
.admin-dashboard .organizations-heading { align-items:center; margin-bottom:28px; }
.admin-dashboard .organizations-heading h1 { font-size:clamp(1.7rem,3vw,2.3rem); letter-spacing:-.035em; }
.admin-dashboard .organization-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.admin-dashboard .organization-picker>a { min-height:90px; display:flex; justify-content:space-between; align-items:center; gap:20px; padding:24px; border:1px solid var(--border); border-radius:14px; background:var(--surface); color:var(--text-primary); box-shadow:none; }
.admin-dashboard .organization-picker>a:hover { border-color:var(--link); background:var(--accent-soft); }
.admin-dashboard .organization-picker>a strong { font-size:1.08rem; overflow-wrap:anywhere; }
.admin-dashboard .organization-picker>a span { color:var(--link); }
@media(max-width:700px) {
  .resident-page main.resident-shell { width:calc(100% - 32px); margin-top:0; padding-top:18px; }
  .staff-workspaces-page .staff-workspaces-shell { width:calc(100% - 32px); padding-top:24px; }
  .resident-heading { align-items:flex-start; flex-direction:column; gap:18px; }
  .resident-heading>.entry-primary,.resident-heading>.entry-secondary { width:100%; }
  .resident-shortcuts,.resident-page .personal-section,.staff-workspaces-page .staff-workspaces-grid,.admin-dashboard .organization-picker { grid-template-columns:minmax(0,1fr); }
  .resident-shortcuts a { padding:18px; }
  .resident-page .personal-section>.personal-card { grid-column:auto; grid-row:auto; padding:20px; }
  .resident-page .personal-section>.personal-settings-card { padding:0; }
  .resident-page .personal-info-card .info-grid { grid-template-columns:minmax(0,1fr); gap:4px; }
  .resident-page .personal-info-card .info-grid>.value { margin-bottom:14px; }
  .resident-page .personal-info-card .info-grid>.value:last-child { margin-bottom:0; }
  .entry-org-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .resident-page .employees,.resident-page .contacts { grid-template-columns:minmax(0,1fr); }
  .login-page .login-container { padding:26px 22px; margin-block:24px; }
  .resident-notify-prompt { padding-inline:16px; }
  .staff-workspaces-page .staff-workspaces-header { align-items:flex-start; gap:20px; }
  .staff-workspaces-page .staff-workspaces-header-actions { justify-content:flex-start; }
  .admin-dashboard .organizations-heading { gap:20px; align-items:flex-start; }
}
@media(prefers-reduced-motion:reduce) { .resident-shortcuts a { transition:none; } }

/* Organization information stays visible, with clear labels and no disclosure control. */
.resident-page .org-info.resident-org-overview { padding:clamp(22px,3vw,34px); text-align:center; }
.resident-org-heading { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:22px; }
.resident-page .resident-org-heading h1 { margin:0; color:var(--text-primary); font-size:clamp(1.2rem,2.6vw,1.6rem); font-weight:750; line-height:1.3; }
.resident-org-icon { display:grid; place-items:center; width:46px; height:46px; flex:none; border:1px solid var(--border); border-radius:14px; background:var(--accent-soft); color:var(--link); }
.resident-org-icon svg { width:25px; height:25px; }
html[data-theme] body.resident-page .resident-org-overview .org-description { max-width:70ch; margin:0 auto 24px; padding-bottom:24px; border-bottom:1px solid var(--border); color:var(--text-primary)!important; text-align:center; font-size:1rem; font-weight:400!important; line-height:1.7; }
.resident-org-overview .entry-org-details { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 28px; }
.resident-org-overview .entry-org-details>div:last-child { grid-column:1/-1; }
.resident-org-overview .entry-org-details dt { font-size:.85rem; font-weight:650; text-align:center; }
.resident-org-overview .entry-org-details dd { margin-top:7px; font-size:1rem; line-height:1.5; font-variant-numeric:tabular-nums; text-align:center; }
@media(max-width:700px) {
  .resident-org-overview .entry-org-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .resident-org-overview .entry-org-details>div:last-child { grid-column:auto; }
}
@media(max-width:420px) {
  .resident-org-overview .entry-org-details { grid-template-columns:minmax(0,1fr); }
}
