/* Our Command Center v25 — Home dashboard refinement
   Keeps the v24 palette and functionality, while sharpening hierarchy,
   spacing, depth, and mobile ergonomics. */

:root{
  --v25-ink:#45403c;
  --v25-muted:#8b7d75;
  --v25-paper:rgba(255,253,250,.96);
  --v25-edge:rgba(174,155,144,.24);
  --v25-rose:#cf9f9f;
  --v25-sage:#96a88c;
  --v25-blue:#9fb2bf;
  --v25-lav:#b8a9c3;
  --v25-shadow:0 16px 38px rgba(78,61,51,.075),0 3px 10px rgba(78,61,51,.035);
  --v25-soft-shadow:0 8px 22px rgba(78,61,51,.055),0 1px 4px rgba(78,61,51,.025);
}

/* Page rhythm */
.home-v21{
  gap:22px;
  padding-top:2px;
}
.home-v21 .home-section{
  gap:11px;
}
.home-v21 .section-head{
  padding:0 5px;
  align-items:center;
}
.home-v21 .section-head h2{
  color:var(--v25-ink);
  font-size:22px;
  font-weight:800;
  letter-spacing:-.35px;
}
.home-v21 .section-head>span{
  color:#9a8c84;
  font-size:11px;
  letter-spacing:.15px;
}

/* Household switcher — compact status card instead of a utility strip */
.v23-household-bar{
  position:relative;
  overflow:hidden;
  border:1px solid var(--v25-edge);
  border-radius:22px;
  background:
    radial-gradient(130px 95px at 100% 0%,rgba(152,169,143,.10),transparent 72%),
    linear-gradient(145deg,rgba(255,253,250,.98),rgba(248,243,238,.96));
  padding:12px 13px 12px 15px;
  margin:2px 0 16px;
  box-shadow:var(--v25-soft-shadow),inset 0 1px 0 rgba(255,255,255,.82);
}
.v23-household-main{
  gap:10px;
}
.v23-cloud-dot{
  width:10px;
  height:10px;
  box-shadow:0 0 0 5px rgba(152,169,143,.11);
}
.v23-household-copy b{
  font-size:14px;
  letter-spacing:-.1px;
}
.v23-cloud-label{
  margin-top:2px;
  font-size:9px!important;
  letter-spacing:1.7px!important;
  text-transform:uppercase;
  font-weight:800;
}
.v23-household-bar>button{
  border:1px solid rgba(177,159,148,.18);
  background:rgba(255,255,255,.70);
  border-radius:15px;
  min-height:44px;
  padding:0 15px;
  color:#615651;
  font-size:12px;
  font-weight:800;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 4px 10px rgba(73,57,48,.035);
}

/* Hero — warmer editorial card with stronger visual anchor */
.home-v21 .hero-v19{
  min-height:210px;
  padding:30px 27px 27px;
  border-radius:28px;
  border:1px solid rgba(184,165,154,.27);
  background:
    radial-gradient(255px 220px at 104% -8%,rgba(207,159,159,.20),transparent 63%),
    radial-gradient(260px 220px at -6% 112%,rgba(150,168,140,.13),transparent 66%),
    linear-gradient(145deg,#fffdfa 0%,#f8f2ed 100%);
  box-shadow:0 24px 55px rgba(78,61,51,.10),0 5px 14px rgba(78,61,51,.045),inset 0 1px 0 rgba(255,255,255,.9);
}
.home-v21 .hero-v19:before{
  background:
    linear-gradient(112deg,rgba(255,255,255,.48),transparent 31%,transparent 72%,rgba(255,255,255,.16));
}
.home-v21 .hero-v19:after{
  width:178px;
  height:178px;
  right:-59px;
  top:-66px;
  border-color:rgba(197,149,149,.30);
  box-shadow:
    0 0 0 26px rgba(152,169,143,.066),
    0 0 0 52px rgba(216,194,216,.04);
}
.home-v21 .hero-v19 .eyebrow{
  margin-bottom:13px;
  color:#94847d;
  font-size:10px;
  letter-spacing:3.25px;
}
.home-v21 .hero-v19 .greeting{
  max-width:72%;
  color:#433d39;
  font-size:40px;
  line-height:1.02;
  letter-spacing:-1.15px;
}
.home-v21 .hero-v19 .date{
  margin-top:16px;
  color:#8c7e76;
  font-size:14px;
  line-height:1.6;
}
.home-v21 .hero-v19 .date b{
  color:#776a63;
  font-size:15px;
}
.home-v21 .hero-v19 .hero-line-art{
  width:76px;
  height:76px;
  right:24px;
  bottom:20px;
  opacity:.56;
}

/* Quick tools — clean small cards with tactile accents */
.home-v21 .home-utilities{
  gap:12px;
}
.home-v21 .utility-button{
  position:relative;
  min-height:94px;
  overflow:hidden;
  border-radius:21px;
  border:1px solid var(--v25-edge);
  padding:17px 17px 16px;
  background:linear-gradient(150deg,rgba(255,253,250,.98),rgba(250,246,242,.96));
  box-shadow:var(--v25-soft-shadow),inset 0 1px 0 rgba(255,255,255,.85);
}
.home-v21 .utility-button:first-child{
  background:
    radial-gradient(90px 80px at 105% -10%,rgba(207,159,159,.12),transparent 70%),
    linear-gradient(150deg,rgba(255,253,250,.98),rgba(250,246,242,.96));
}
.home-v21 .utility-button:last-child{
  background:
    radial-gradient(90px 80px at 105% -10%,rgba(152,169,143,.12),transparent 70%),
    linear-gradient(150deg,rgba(255,253,250,.98),rgba(250,246,242,.96));
}
.home-v21 .utility-button:before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  border-radius:999px;
  background:rgba(207,159,159,.55);
}
.home-v21 .utility-button:last-child:before{
  background:rgba(150,168,140,.58);
}
.home-v21 .utility-button b{
  font-size:15px;
  color:#4a4440;
  letter-spacing:-.2px;
}
.home-v21 .utility-button span{
  max-width:92%;
  margin-top:6px;
  font-size:11px;
  line-height:1.42;
}

/* Today */
.home-v21 .today-list{
  gap:9px;
}
.home-v21 .today-item{
  border-radius:19px;
  border-color:var(--v25-edge);
  padding:13px 14px;
  background:var(--v25-paper);
  box-shadow:var(--v25-soft-shadow),inset 0 1px 0 rgba(255,255,255,.84);
}
.home-v21 .today-icon{
  width:40px;
  height:40px;
  border-radius:13px;
}
.home-v21 .today-empty{
  min-height:145px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border-radius:24px;
  border:1px solid var(--v25-edge);
  padding:25px 22px;
  background:
    radial-gradient(170px 120px at 50% 0%,rgba(207,159,159,.05),transparent 72%),
    var(--v25-paper);
  box-shadow:var(--v25-soft-shadow),inset 0 1px 0 rgba(255,255,255,.82);
}
.home-v21 .today-empty:before{
  width:44px;
  height:44px;
  margin-bottom:14px;
}
.home-v21 .today-empty b{
  color:#766963;
  font-size:17px;
  letter-spacing:-.15px;
}
.home-v21 .today-empty span{
  max-width:460px;
  margin-top:7px;
  font-size:12px;
  line-height:1.45;
}

/* Shopping empty + feature state */
.home-v21 .v23-store-empty{
  border:1px solid var(--v25-edge);
  border-radius:25px;
  padding:25px 21px 23px;
  background:
    radial-gradient(175px 135px at 100% 0%,rgba(152,169,143,.075),transparent 72%),
    var(--v25-paper);
  box-shadow:var(--v25-shadow),inset 0 1px 0 rgba(255,255,255,.86);
}
.home-v21 .v23-store-empty:before{
  width:44px;
  height:44px;
  margin-bottom:13px;
}
.home-v21 .v23-store-empty b{
  font-size:19px;
  color:#4c4541;
}
.home-v21 .v23-store-empty span{
  max-width:500px;
  margin:7px auto 15px;
  font-size:12px;
  line-height:1.5;
}
.home-v21 .v23-store-empty button{
  min-width:145px;
  border-radius:16px;
  padding:12px 18px;
  font-size:13px;
  font-weight:800;
}
.home-v21 .shopping-card{
  border-radius:26px;
  padding:19px;
  box-shadow:var(--v25-shadow),inset 0 1px 0 rgba(255,255,255,.86);
}
.home-v21 .shopping-visual{
  border-radius:21px;
}
.home-v21 .shopping-stat{
  border-color:rgba(174,155,144,.20);
  background:rgba(255,255,255,.72);
}

/* Command-center modules */
.home-v21 .module-grid{
  gap:12px;
}
.home-v21 .module-card{
  min-height:158px;
  padding:17px;
  border-radius:24px;
  border:1px solid var(--v25-edge);
  background:
    radial-gradient(105px 90px at 108% -6%,rgba(207,159,159,.055),transparent 72%),
    linear-gradient(150deg,rgba(255,253,250,.99),rgba(249,245,241,.97));
  box-shadow:var(--v25-soft-shadow),inset 0 1px 0 rgba(255,255,255,.88);
}
.home-v21 .module-card:nth-child(2n){
  background:
    radial-gradient(105px 90px at 108% -6%,rgba(152,169,143,.06),transparent 72%),
    linear-gradient(150deg,rgba(255,253,250,.99),rgba(249,245,241,.97));
}
.home-v21 .module-card:after{
  width:118px;
  height:118px;
  right:-72px;
  bottom:-74px;
  border-color:rgba(171,151,140,.075);
  box-shadow:0 0 0 18px rgba(202,188,180,.024);
}
.home-v21 .module-visual{
  width:56px;
  height:56px;
  margin-bottom:15px;
  border-radius:17px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 8px 18px rgba(79,63,52,.06);
}
.home-v21 .module-card h3{
  color:#47413d;
  font-size:17px;
  letter-spacing:-.25px;
}
.home-v21 .module-card p{
  max-width:95%;
  font-size:11px;
  line-height:1.46;
}
.home-v21 .module-status{
  margin-top:11px;
  color:#95877f;
  letter-spacing:1.5px;
}

/* Slightly more dimensional bottom navigation */
.nav{
  border-top-color:rgba(174,155,144,.20);
  background:rgba(255,253,250,.965);
  box-shadow:0 -16px 36px rgba(74,58,49,.085),inset 0 1px 0 rgba(255,255,255,.92);
}
.nav button.nav-main.active{
  border:1px solid rgba(174,155,144,.16);
  background:linear-gradient(180deg,rgba(248,244,239,.98),rgba(238,232,225,.98));
}
.nav-add-circle{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 10px 24px rgba(126,88,87,.18);
}

/* Desktop/tablet refinement */
@media(min-width:700px){
  .home-v21 .hero-v19{min-height:225px}
  .home-v21 .module-grid{gap:14px}
  .home-v21 .module-card{min-height:170px}
}

/* Mobile: preserve breathing room without wasting vertical space */
@media(max-width:699px){
  .app{padding-left:15px;padding-right:15px}
  .home-v21{gap:20px}
  .v23-household-bar{margin-bottom:14px}
  .home-v21 .hero-v19{
    min-height:205px;
    padding:27px 22px 24px;
    border-radius:27px;
  }
  .home-v21 .hero-v19 .greeting{
    max-width:76%;
    font-size:37px;
    line-height:1.03;
  }
  .home-v21 .hero-v19 .hero-line-art{
    width:68px;
    height:68px;
    right:19px;
    bottom:18px;
  }
  .home-v21 .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v21 .module-card{min-height:154px}
}

@media(max-width:430px){
  .home-v21 .hero-v19 .greeting{font-size:35px}
  .home-v21 .home-utilities{gap:10px}
  .home-v21 .utility-button{padding:15px 14px;min-height:91px}
  .home-v21 .module-card{padding:15px;min-height:148px}
  .home-v21 .module-visual{width:52px;height:52px}
  .home-v21 .module-card h3{font-size:16px}
  .home-v21 .section-head h2{font-size:21px}
}

@media(max-width:360px){
  .home-v21 .home-utilities{grid-template-columns:1fr}
  .home-v21 .module-grid{grid-template-columns:1fr}
  .home-v21 .hero-v19 .greeting{max-width:82%;font-size:33px}
}


/* v25.1 — phone screenshot cleanup */
body{padding-bottom:0}

/* Keep the final section heading calm on narrow phones. */
@media(max-width:430px){
  .home-v21 > .home-section:last-child .section-head{
    display:block;
  }
  .home-v21 > .home-section:last-child .section-head h2{
    white-space:nowrap;
    font-size:20px;
  }
  .home-v21 > .home-section:last-child .section-head > span{
    display:block;
    margin-top:3px;
  }
}


/* v25.2 — floating Add button */
.nav button.nav-add{
  position:relative;
  overflow:visible!important;
  z-index:70;
}

/* Soft blush halo behind the floating action button */
.nav button.nav-add:before{
  content:"";
  position:absolute;
  left:50%;
  top:21px;
  width:86px;
  height:86px;
  transform:translate(-50%,-50%);
  border-radius:32px;
  background:radial-gradient(
    circle,
    rgba(207,159,159,.30) 0%,
    rgba(207,159,159,.18) 34%,
    rgba(207,159,159,.08) 52%,
    rgba(207,159,159,0) 74%
  );
  filter:blur(11px);
  pointer-events:none;
  z-index:0;
}

/* Remove the old highlight/divider line and give the button real lift */
.nav-add-circle{
  position:relative;
  z-index:1;
  background:linear-gradient(180deg,#d7aaaa 0%,#c99a9a 100%);
  box-shadow:
    0 16px 30px rgba(126,88,87,.24),
    0 7px 14px rgba(126,88,87,.16),
    0 0 24px rgba(207,159,159,.22);
}
.nav-add-circle:before{
  content:none!important;
  display:none!important;
}
