/* Shared refinements approved in September; keyboard focus stays visible. */
.input:hover { border-color:#b8c8be; box-shadow:none; }
.input:focus { box-shadow:none; }
.input:focus-visible { outline:2px solid #24634b; outline-offset:2px; }
.legal-alpha-notice { display:flex; gap:16px; padding:22px 24px; margin:0 0 32px; border:1px solid #dda49e; border-left:4px solid #ac423b; border-radius:8px; background:#fff3f1; color:#74312d; }
.legal-alpha-notice > span { display:grid; place-items:center; flex:0 0 24px; height:24px; border:1px solid #bf6861; border-radius:50%; font-weight:700; }
.legal-alpha-notice strong { font-size:.94rem; color:#8c3933; }
.legal-alpha-notice p { font-size:.86rem; line-height:1.7; margin:6px 0 0; max-width:880px; }
.proposal-ui .billing-plan-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 36px; margin-top:24px; }
.proposal-ui .billing-plan-meta > span { display:flex; align-items:baseline; justify-content:space-between; gap:18px; padding:15px 0; border-bottom:1px solid #cbd7bf; border-radius:0; background:none; }
.proposal-ui .billing-plan-meta small { margin:0; line-height:1.5; }
.proposal-ui .billing-plan-meta strong { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; margin-left:auto; }
.account-closure { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:44px; padding:28px 0 0; border-top:1px solid #dccbc6; }
.account-closure .eyebrow { color:#9a574a; }
.account-closure h2 { margin:8px 0; font-size:1.45rem; }
.account-closure p { margin:0; max-width:660px; font-size:.88rem; color:#726e68; line-height:1.7; }
.account-closure .button { white-space:nowrap; flex-shrink:0; }
.proposal-ui .recovery-revised { padding:64px 0 88px; }
.proposal-ui .recovery-revised .password-recovery-layout { max-width:960px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:70px; }
.proposal-ui .recovery-revised .password-recovery-copy { padding:0; }
.proposal-ui .recovery-revised .password-recovery-copy h1 { font-size:clamp(2.15rem,3.8vw,3.4rem); }
.proposal-ui .recovery-revised .password-recovery-copy p { color:#647260; line-height:1.85; font-size:.94rem; }
.proposal-ui .recovery-revised .password-recovery-card { padding:38px; border-top:4px solid #296b4f; border-radius:12px; box-shadow:0 16px 50px #183d2c09; }
.proposal-ui .recovery-revised .password-recovery-card-icon { width:48px; height:48px; margin-bottom:30px; border-radius:12px; background:#eaf1e0; }
.proposal-ui .recovery-revised .password-recovery-card h2 { margin:12px 0 28px; font-size:1.65rem; }
.proposal-ui .recovery-revised .password-recovery-card form { margin-top:24px; }
.proposal-ui .lost-page-revised { min-height:70vh; padding:70px 0; background:#f4f7ef; }
.proposal-ui .lost-page-revised .lost-page-glow, .proposal-ui .lost-page-revised .lost-orbit { display:none; }
.proposal-ui .lost-page-revised .lost-page-layout { gap:80px; align-items:center; }
.proposal-ui .lost-page-revised h1 { font-size:clamp(2.7rem,5vw,5rem); }
.proposal-ui .lost-page-revised h1 em { color:#4e7446; }
.proposal-ui .lost-page-revised .lost-balance { padding:40px; background:#e5edda; border:1px solid #ccd9bb; border-radius:20px; }
.proposal-ui .lost-page-revised .lost-ledger { transform:none; background:#fff; border:1px solid #cfdbc3; border-radius:12px; box-shadow:0 16px 40px #31512b15; }
.proposal-ui .lost-page-revised .lost-secret { margin-bottom:0; }
.proposal-ui .lost-page-revised .lost-page-layout > * { min-width:0; }
.proposal-ui .lost-page-revised .lost-balance { display:flex; flex-direction:column; gap:22px; min-width:0; min-height:0; }
.proposal-ui .lost-page-revised .lost-ledger { width:100%; min-width:0; max-width:400px; }
.proposal-ui .lost-page-revised.is-balanced .lost-ledger { transform:none; box-shadow:none; }
.proposal-ui .lost-page-revised .lost-secret { position:static; display:block; width:100%; margin:0; padding:20px; animation:none; box-shadow:none; background:#f7fbf0; font-size:.82rem; line-height:1.75; }
.proposal-ui .lost-page-revised .lost-secret > span { float:left; margin-right:12px; font-size:1.3rem; }
.proposal-ui .lost-page-revised .lost-secret > strong { display:block; margin-bottom:6px; }
.proposal-ui .lost-page-revised .lost-secret small { display:block; margin-top:12px; padding-top:12px; border-top:1px solid #d7e3cc; font-size:.72rem; }
@media(max-width:700px) {
 .proposal-ui .billing-plan-meta { grid-template-columns:minmax(0,1fr); }
 .account-closure { flex-direction:column; align-items:stretch; }
 .account-closure .button { align-self:flex-start; }
 .proposal-ui .recovery-revised { padding:32px 0 50px; }
 .proposal-ui .recovery-revised .password-recovery-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .proposal-ui .recovery-revised .password-recovery-card { padding:26px; }
 .proposal-ui .lost-page-revised .lost-page-layout { gap:35px; grid-template-columns:minmax(0,1fr); }
 .proposal-ui .lost-page-revised .lost-balance { padding:22px; }
 .legal-alpha-notice { padding:18px; }
}

/* The approved bell menu is shared across all regular pages. */
.notification-menu-panel { width:min(440px,calc(100vw - 32px)); border:1px solid #c7d7ba; border-radius:12px; box-shadow:0 16px 50px #183d2c24; background:#fbfdf7; }
.notification-menu-panel > header { padding:22px; border-bottom:1px solid var(--proposal-line,#d9e0d2); background:#f0f5e8; }
.notification-menu-panel > header strong { font:1.45rem Georgia,serif; }
.notification-menu-panel > header small { text-transform:uppercase; font-size:.62rem; letter-spacing:.1em; margin-bottom:6px; }
.notification-menu-list { max-height:420px; }
.notification-menu-list > article { padding:18px 20px; gap:12px; background:transparent; border-bottom:1px solid #e0e8d8; }
.notification-menu-list > article.is-unread { background:#f2f7e9; border-left:3px solid #719b53; }
.notification-menu-list strong { font-size:.8rem; font-weight:550; line-height:1.5; }
.notification-menu-list p { font-size:.76rem; line-height:1.65; }
.notification-menu-list small { font-size:.65rem; color:#6d7d61; }
.notification-menu-panel footer { padding:17px 22px; border-top:1px solid var(--proposal-line,#d9e0d2); background:#fff; font-size:.8rem; }
.notification-menu-panel footer a { color:#315e3b; font-size:.8rem; font-weight:550; }
