:root{--ink:#1f2933;--muted:#667085;--line:#dce7e8;--panel:#fff;--page:#eef5f3;--green:#226b55;--green-dark:#194f40;--blue:#244a5f;--gold:#b89042;--danger:#b14b42;--shadow:0 18px 44px rgba(21,45,56,.12);--soft:0 8px 18px rgba(21,45,56,.08)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,rgba(34,107,85,.10),transparent 360px),linear-gradient(180deg,#fbfdfc,var(--page))}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}.resident-header{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.resident-brand{display:flex;align-items:center;gap:12px}.resident-brand img{width:78px;height:auto;display:block}.resident-brand strong{display:block;font-size:18px}.resident-brand span{display:block;color:var(--muted);font-size:12px;font-weight:700}.resident-header nav{display:flex;gap:8px}.resident-header nav a{padding:9px 13px;border-radius:999px;background:#f4f8f8;color:var(--blue);font-weight:800}.resident-page{max-width:1240px;margin:0 auto;padding:26px}.welcome-panel{display:grid;grid-template-columns:1.4fr .6fr;gap:20px;align-items:stretch;margin-bottom:20px}.welcome-panel>div,.welcome-card,.auth-panel,.resident-card,.section-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:22px;box-shadow:var(--soft)}.welcome-panel>div{padding:36px}.eyebrow{margin:0 0 6px;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}h1,h2,p{margin:0}h1{font-size:42px;line-height:1.06}h2{font-size:20px}p{color:var(--muted);line-height:1.55}.status-pill{display:inline-flex;margin-top:18px;padding:10px 13px;border-radius:999px;background:#f4f8f8;border:1px solid var(--line);color:var(--blue);font-weight:800}.welcome-card{display:flex;flex-direction:column;justify-content:center;padding:28px;background:linear-gradient(135deg,#173d34,#244a5f);color:#fff}.welcome-card strong{font-size:24px;line-height:1.2}.welcome-card span{color:#d9ece8;margin-top:10px;line-height:1.5}.login-area{display:grid;place-items:center}.auth-panel{width:min(540px,100%);padding:18px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.auth-tabs button,.auth-form button,.logout-button,.resident-contact-form button{min-height:42px;border:0;border-radius:12px;font-weight:900}.auth-tabs button{background:#f4f8f8;color:var(--blue)}.auth-tabs button.active,.auth-form button,.resident-contact-form button{background:linear-gradient(135deg,var(--green),var(--blue));color:#fff}.auth-form{display:none;gap:12px}.auth-form.active{display:grid}label{display:grid;gap:6px;color:#475467;font-weight:800}input,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;min-height:42px;padding:0 12px}textarea{min-height:110px;padding:10px 12px;resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-message{font-weight:800;color:var(--blue)}.hidden{display:none!important}.resident-dashboard{display:grid;grid-template-columns:280px 1fr;gap:20px;align-items:start}.resident-side{display:grid;gap:14px;position:sticky;top:92px}.profile-card{text-align:center;padding:22px}.profile-card img{width:136px;height:auto;margin:0 auto 12px;display:block}.profile-card h2{margin-bottom:6px}.resident-menu{display:grid;gap:8px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:10px;box-shadow:var(--soft)}.resident-menu button{min-height:42px;border:0;border-radius:12px;text-align:left;padding:0 13px;background:transparent;color:var(--blue);font-weight:900}.resident-menu button.active,.resident-menu button:hover{background:linear-gradient(135deg,var(--green),var(--blue));color:#fff}.logout-button{background:#fff;border:1px solid var(--line);color:var(--danger);box-shadow:var(--soft)}.resident-main{min-width:0}.resident-main-head{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--soft);padding:24px;margin-bottom:14px}.portal-alert{display:none;margin-bottom:14px;padding:14px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:800}.portal-alert.show{display:block}.portal-tab{display:none}.portal-tab.active{display:block}.section-card{padding:22px}.section-card>p{margin:6px 0 16px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:14px}.summary-card,.clean-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--soft)}.summary-card strong{display:block;font-size:18px;color:var(--blue)}.summary-card span{display:block;color:var(--muted);margin-top:8px;line-height:1.45}.clean-list{display:grid;gap:12px;margin-top:14px}.clean-item{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.clean-item h3{margin:0;color:var(--ink);font-size:16px}.clean-item p{font-size:13px;margin-top:5px}.clean-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.clean-actions a,.clean-actions button{border:0;border-radius:10px;background:#eaf3f0;color:var(--green-dark);padding:9px 11px;font-weight:850;text-decoration:none;white-space:nowrap}.clean-actions .primary{background:linear-gradient(135deg,var(--green),var(--blue));color:#fff}.resident-contact-form{display:grid;gap:10px;margin-top:14px}@media(max-width:900px){.welcome-panel,.resident-dashboard{grid-template-columns:1fr}.resident-side{position:relative;top:auto}.resident-menu{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:1fr}}@media(max-width:620px){.resident-header{display:block}.resident-header nav{margin-top:12px}.resident-page{padding:14px}.welcome-panel>div{padding:24px}h1{font-size:34px}.two,.resident-menu{grid-template-columns:1fr}.clean-item{display:block}.clean-actions{justify-content:flex-start;margin-top:12px}}
.text-button{
  border:0!important;
  background:transparent!important;
  color:var(--blue)!important;
  box-shadow:none!important;
  font-weight:900;
  text-decoration:underline;
  min-height:34px!important;
}
.reset-link-box{
  word-break:break-word;
  background:#f4f8f8;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
}
.reset-link-box a{
  color:var(--blue);
  font-weight:900;
  text-decoration:underline;
}
