/* Soft glass polish inspired by iOS */
:root{
  --glass-panel:rgba(255,255,255,.68);
  --glass-panel-strong:rgba(255,255,255,.82);
  --glass-border:rgba(255,255,255,.72);
  --glass-line:rgba(102,93,86,.16);
  --accent-mint:#dff5e4;
  --accent-sky:#e6f4ff;
  --accent-blush:#fae9ef;
  --accent-gold:#fff5d8;
}

body{
  background:
    linear-gradient(135deg,rgba(255,255,255,.52),rgba(255,255,255,0) 36%),
    radial-gradient(circle at 10% 8%,rgba(223,245,228,.9),transparent 32%),
    radial-gradient(circle at 88% 12%,rgba(230,244,255,.86),transparent 34%),
    radial-gradient(circle at 78% 78%,rgba(250,233,239,.74),transparent 34%),
    linear-gradient(135deg,#fbf8f2 0%,#edf4ea 52%,#f6eee9 100%)!important;
}

.module-home,
.module-title,
.sidebar,
.editor,
.print-sheet,
.auth-card,
.report-user-selector,
.wizard-card,
.form-section,
.resident-card-shell,
.settings-card,
.settings-legal-card,
.settings-version-card,
.people-registry,
.people-hero,
.search-card,
.vault-stats article{
  background:var(--glass-panel)!important;
  border-color:var(--glass-border)!important;
  box-shadow:0 18px 50px rgba(48,39,30,.11), inset 0 1px 0 rgba(255,255,255,.78)!important;
  backdrop-filter:blur(22px) saturate(1.28)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.28)!important;
}

.editor,
.sidebar,
.module-home{
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,253,248,.62))!important;
}

.bottom-nav{
  background:rgba(255,255,255,.64)!important;
  border-color:rgba(255,255,255,.78)!important;
  box-shadow:0 18px 50px rgba(48,39,30,.18), inset 0 1px 0 rgba(255,255,255,.85)!important;
  backdrop-filter:blur(26px) saturate(1.35)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.35)!important;
  min-height:78px!important;
  padding:9px!important;
  gap:8px!important;
}

.bottom-nav button{
  position:relative;
  min-height:58px;
  border-radius:20px!important;
  color:#5f5953!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

.bottom-nav button span{
  width:34px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:rgba(255,255,255,.44);
  border:1px solid rgba(255,255,255,.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
  font-size:18px!important;
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease;
}

.bottom-nav button small{
  margin-top:2px;
  font-size:11px!important;
  font-weight:950;
  letter-spacing:.01em;
}

.bottom-nav button:hover{
  background:rgba(255,255,255,.42)!important;
  color:#164f25!important;
}

.bottom-nav button:hover span{
  transform:translateY(-1px);
  background:rgba(223,245,228,.82);
}

.bottom-nav button.active{
  background:linear-gradient(135deg,rgba(47,125,59,.96),rgba(21,86,34,.96))!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(47,125,59,.3), inset 0 1px 0 rgba(255,255,255,.22)!important;
  transform:translateY(-2px)!important;
}

.bottom-nav button.active span{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.26);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 18px rgba(14,62,26,.18);
}

.bottom-nav button.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:18px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(255,255,255,.7);
}

.primary{
  background:linear-gradient(135deg,#318346,#145624)!important;
  box-shadow:0 12px 28px rgba(47,125,59,.22), inset 0 1px 0 rgba(255,255,255,.18)!important;
}

.secondary{
  background:rgba(255,255,255,.72)!important;
  border-color:var(--glass-line)!important;
  box-shadow:0 8px 22px rgba(48,39,30,.07), inset 0 1px 0 rgba(255,255,255,.72)!important;
}

input,
textarea,
select{
  background:rgba(255,255,255,.74)!important;
  border-color:rgba(102,93,86,.2)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 1px 0 rgba(255,255,255,.6)!important;
}

input:focus,
textarea:focus,
select:focus{
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 0 0 4px rgba(47,125,59,.15), inset 0 1px 0 rgba(255,255,255,.85)!important;
}

.step-pill{
  background:rgba(255,255,255,.62)!important;
  border-color:rgba(102,93,86,.14)!important;
}

.step-pill.active{
  background:linear-gradient(135deg,#318346,#155622)!important;
}

.progress{
  background:rgba(255,255,255,.58)!important;
}

.progress span{
  background:linear-gradient(90deg,#2f7d3b,#9fd68e,#e9be64)!important;
}

.form-section:nth-of-type(1){
  background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(223,245,228,.5))!important;
}

.photo-card{
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(230,244,255,.55))!important;
}

.photo-box{
  background:linear-gradient(135deg,rgba(223,245,228,.82),rgba(255,255,255,.58))!important;
  border-color:rgba(47,125,59,.22)!important;
}

.resident-card-shell::before{
  background:linear-gradient(180deg,#2f7d3b,#7dbd67,#e3b95d)!important;
}

.resident-card-list .status-badge{
  background:rgba(223,245,228,.9)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}

.resident-card-list .status-badge.review{
  background:rgba(255,245,216,.96)!important;
}

.resident-card-list .status-badge.archived{
  background:rgba(241,238,233,.92)!important;
}

.settings-hero-card{
  background:linear-gradient(135deg,rgba(22,79,37,.96),rgba(47,125,59,.86))!important;
  box-shadow:0 18px 48px rgba(47,125,59,.22), inset 0 1px 0 rgba(255,255,255,.18)!important;
}

.settings-lock-icon,
.guided-icon,
.people-hero>span{
  background:rgba(255,255,255,.68)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 12px 28px rgba(48,39,30,.1), inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
}

.report-user-card,
.report-empty,
.person-mini-card{
  background:rgba(255,255,255,.66)!important;
  border-color:rgba(47,125,59,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.76)!important;
}

.danger{
  background:rgba(255,241,238,.82)!important;
}

@media(max-width:620px){
  .bottom-nav{
    background:rgba(255,255,255,.7)!important;
    gap:5px!important;
    padding:7px!important;
  }

  .bottom-nav button{
    min-height:56px;
  }

  .bottom-nav button span{
    width:30px;
    height:28px;
    font-size:17px!important;
  }

  .bottom-nav button small{
    font-size:10px!important;
  }
}
