/* Country Side Estates HOA Platform - Layout Cleanup v4.9.22 */

/* Global tightening */
body{
  line-height:1.45;
}

.wrap,
.resident-page{
  max-width:1180px!important;
  margin-inline:auto!important;
}

/* Website Admin layout */
.topbar{
  min-height:72px!important;
  padding:12px 22px!important;
}
.topbar .brand img{
  width:52px!important;
  height:52px!important;
}
.topbar .brand div strong{
  font-size:1rem!important;
}
.topbar .brand div span{
  font-size:.82rem!important;
}
.toplinks{
  gap:8px!important;
}
.toplinks a{
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:.9rem!important;
}

.wrap{
  padding:20px 22px 34px!important;
}
.page-head{
  margin:0 0 16px!important;
  padding:18px 20px!important;
  border-radius:20px!important;
}
.page-head h1{
  font-size:1.8rem!important;
  margin:.1rem 0 .25rem!important;
}
.page-head p{
  margin:.15rem 0!important;
}

.card{
  border-radius:18px!important;
  padding:18px!important;
  margin-bottom:16px!important;
}
.card h2{
  margin-top:0!important;
  margin-bottom:12px!important;
  font-size:1.18rem!important;
}

.grid,
.cards-grid,
.dashboard-grid,
.stats-grid{
  gap:14px!important;
}
.grid{
  align-items:stretch!important;
}

button,
.primary,
.card a.primary{
  border-radius:999px!important;
}

/* Dashboard registration alert tighter */
.dashboard-registration-alert{
  margin:10px 0 16px!important;
  padding:13px 15px!important;
  border-radius:16px!important;
}
.dashboard-registration-alert a{
  padding:9px 13px!important;
}

/* Portal settings page */
#settingsGrid{
  gap:14px!important;
}
#settingsGrid .card{
  padding:16px!important;
}
.check{
  min-height:38px!important;
  padding:7px 0!important;
  gap:9px!important;
}
.check input{
  flex:0 0 auto!important;
}

/* Resident portal header/sign-in */
.resident-header{
  min-height:70px!important;
  padding:12px 22px!important;
}
.resident-brand{
  gap:12px!important;
}
.resident-brand img{
  width:52px!important;
  height:52px!important;
}
.resident-brand strong{
  font-size:1rem!important;
}
.resident-brand span{
  font-size:.82rem!important;
}
.resident-header nav{
  gap:6px!important;
}
.resident-header nav a{
  padding:8px 10px!important;
  border-radius:999px!important;
  font-size:.92rem!important;
}

.resident-page{
  padding:20px 22px 34px!important;
}
.welcome-panel{
  min-height:0!important;
  padding:22px!important;
  gap:18px!important;
  align-items:stretch!important;
}
.welcome-panel h1{
  font-size:2rem!important;
  margin:.2rem 0 .5rem!important;
}
.welcome-panel p{
  margin:.35rem 0!important;
}
.welcome-card,
.auth-card,
.reset-card{
  border-radius:20px!important;
  padding:20px!important;
}
.auth-tabs{
  margin-bottom:14px!important;
}
.auth-form{
  gap:10px!important;
}
.auth-form input,
.auth-form textarea,
.resident-contact-form input,
.resident-contact-form textarea{
  padding:11px 12px!important;
  border-radius:14px!important;
}

/* Logged-in resident portal */
.resident-dashboard{
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
}
.resident-side{
  gap:12px!important;
}
.resident-card{
  padding:16px!important;
  border-radius:20px!important;
}
.profile-card img{
  width:76px!important;
  height:76px!important;
}
.profile-card h2{
  font-size:1.15rem!important;
  margin:8px 0 4px!important;
}
.resident-menu{
  gap:7px!important;
}
.resident-menu button{
  padding:10px 12px!important;
  border-radius:14px!important;
  text-align:left!important;
}
.logout-button{
  padding:10px 12px!important;
}
.resident-main{
  min-width:0!important;
}
.resident-main-head{
  padding:18px 20px!important;
  border-radius:20px!important;
  margin-bottom:14px!important;
}
.resident-main-head h1{
  font-size:1.75rem!important;
  margin:.1rem 0 .25rem!important;
}
.portal-tab{
  gap:14px!important;
}
.section-card{
  padding:18px!important;
  border-radius:20px!important;
}
.section-card h2{
  margin-top:0!important;
  margin-bottom:8px!important;
}
.summary-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
  gap:12px!important;
}
.summary-card{
  padding:15px!important;
  border-radius:18px!important;
}
.clean-list{
  gap:10px!important;
}
.clean-item{
  padding:14px!important;
  border-radius:16px!important;
  gap:12px!important;
}
.clean-item h3{
  margin:0 0 4px!important;
}
.clean-item p{
  margin:0!important;
}
.clean-actions{
  gap:7px!important;
}
.clean-actions a,
.clean-actions button{
  padding:8px 11px!important;
  border-radius:999px!important;
}

/* Forms and text */
.eyebrow{
  margin-bottom:4px!important;
  letter-spacing:.08em!important;
}
.status-pill{
  margin-top:10px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
}

/* Mobile */
@media(max-width:900px){
  .topbar,
  .resident-header{
    align-items:flex-start!important;
    gap:10px!important;
  }
  .toplinks,
  .resident-header nav{
    flex-wrap:wrap!important;
  }
  .resident-dashboard{
    grid-template-columns:1fr!important;
  }
  .resident-side{
    position:static!important;
  }
  .resident-menu{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(140px,1fr))!important;
  }
}

@media(max-width:640px){
  .wrap,
  .resident-page{
    padding:14px!important;
  }
  .page-head,
  .resident-main-head,
  .welcome-panel,
  .card,
  .section-card{
    padding:15px!important;
  }
  .welcome-panel h1,
  .page-head h1,
  .resident-main-head h1{
    font-size:1.55rem!important;
  }
  .dashboard-registration-alert{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}
