/* Smart Nutrition v16.0.0 — Smart Today
   Additive UI layer: no business logic changes. */
:root{
  --sn16-ink:#10233f;
  --sn16-muted:#64748b;
  --sn16-line:#e6edf6;
  --sn16-blue:#2877f0;
  --sn16-blue-2:#5ba7ff;
  --sn16-cyan:#65d6e8;
  --sn16-green:#2dbb83;
  --sn16-surface:#ffffff;
  --sn16-bg:#f5f8fc;
}

body.sn-app-open{
  background:
    radial-gradient(circle at 82% 4%,rgba(91,167,255,.13),transparent 27rem),
    radial-gradient(circle at 35% 10%,rgba(101,214,232,.08),transparent 22rem),
    var(--sn16-bg)!important;
  color:var(--sn16-ink)!important;
}

.final-dashboard{
  max-width:1440px;
  margin:0 auto;
  gap:22px!important;
}

/* The new hero replaces the old duplicated dashboard heading. */
.final-dashboard>.final-topbar{display:none!important}

.sn16-today-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(460px,.9fr);
  gap:38px;
  align-items:center;
  padding:34px 36px;
  border:1px solid rgba(187,210,239,.78);
  border-radius:30px;
  background:
    linear-gradient(118deg,rgba(255,255,255,.98) 0%,rgba(247,251,255,.98) 58%,rgba(235,246,255,.98) 100%);
  box-shadow:0 22px 70px rgba(36,86,145,.10);
}
.sn16-today-hero::after{
  content:"";
  position:absolute;
  width:340px;height:340px;
  right:-125px;top:-190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(40,119,240,.16),rgba(101,214,232,.03) 56%,transparent 70%);
  pointer-events:none;
}
.sn16-today-copy{position:relative;z-index:1}
.sn16-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 10px;
  border-radius:999px;
  background:#eaf3ff;
  color:#2269c7;
  font-size:11px;
  font-weight:900;
  letter-spacing:.15em;
}
.sn16-today-copy h1{
  margin:13px 0 10px!important;
  color:var(--sn16-ink)!important;
  font-size:clamp(30px,3.1vw,49px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
  font-weight:850!important;
}
.sn16-today-copy>p{
  max-width:720px;
  margin:0!important;
  color:#52657d!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.sn16-hero-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin-top:20px;
  color:#6b7e95;
  font-size:13px;
  text-transform:capitalize;
}
.sn16-plan-badge{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 10px;
  border-radius:999px;
  background:#eafaf4;
  color:#15805b;
  font-weight:800;
  text-transform:none;
}
.sn16-today-stats{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}
.sn16-stat{
  min-height:115px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:17px 18px;
  border:1px solid rgba(211,225,241,.9);
  border-radius:21px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(13px);
  box-shadow:0 8px 26px rgba(36,86,145,.055);
}
.sn16-stat span{color:#73849a;font-size:12px;font-weight:800;letter-spacing:.025em}
.sn16-stat strong{margin-top:3px;color:var(--sn16-ink);font-size:27px;line-height:1.1;letter-spacing:-.035em}
.sn16-stat small{margin-top:6px;color:#7b8da2;font-size:11.5px}

.sn16-quick-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}
.sn16-quick-actions button{
  appearance:none;
  width:100%;
  min-height:84px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:14px 15px;
  border:1px solid var(--sn16-line)!important;
  border-radius:21px!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--sn16-ink)!important;
  text-align:left;
  box-shadow:0 8px 28px rgba(36,86,145,.055)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.sn16-quick-actions button:hover{
  transform:translateY(-2px);
  border-color:#bed8fb!important;
  background:#fff!important;
  box-shadow:0 16px 36px rgba(36,86,145,.10)!important;
}
.sn16-quick-actions button:focus-visible{outline:3px solid rgba(40,119,240,.22)!important;outline-offset:2px}
.sn16-action-icon{
  flex:0 0 43px;
  width:43px;height:43px;
  display:grid;place-items:center;
  border-radius:15px;
  background:linear-gradient(145deg,#edf5ff,#f7fbff);
  color:#2775df;
  font-size:23px;
  line-height:1;
  font-weight:500;
}
.sn16-quick-actions button:nth-child(2) .sn16-action-icon{background:linear-gradient(145deg,#ecfbf7,#f6fffc);color:#16966a}
.sn16-quick-actions button:nth-child(3) .sn16-action-icon{background:linear-gradient(145deg,#f2efff,#fbfaff);color:#725ad8}
.sn16-quick-actions button:nth-child(4) .sn16-action-icon{background:linear-gradient(145deg,#fff4e8,#fffbf5);color:#d77a1e}
.sn16-quick-actions button>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}
.sn16-quick-actions strong{color:var(--sn16-ink)!important;font-size:13.5px;line-height:1.25}
.sn16-quick-actions small{color:#7a8da3!important;font-size:11.5px;line-height:1.3}

/* Coherent, lighter surfaces for the existing dashboard. */
.final-profile-card,
.final-kpi,
.final-chart-card{
  border-color:var(--sn16-line)!important;
  background:rgba(255,255,255,.95)!important;
  box-shadow:0 10px 34px rgba(36,86,145,.055)!important;
}
.final-profile-card{border-radius:28px!important}
.final-kpi{border-radius:22px!important}
.final-chart-card{border-radius:26px!important}
.final-profile-card h2,.final-chart-card h2,.final-chart-card h3,.final-kpi .value{color:var(--sn16-ink)!important}
.final-profile-card .muted,.final-chart-card .muted,.final-kpi .trend{color:#71849a!important}
.final-kpi .label{color:#65798f!important}
.final-select,.final-pill,.badge{
  border-color:#dce8f5!important;
  background:#f3f8fe!important;
  color:#315d8c!important;
}
.final-plan-toggle{background:#eafaf4!important;color:#177f5d!important}

#saveDashWeight,
#addWaterBtn,
#saveWaterGoal,
#profileForm .primary{
  background:linear-gradient(135deg,var(--sn16-blue),#3d8df5)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(40,119,240,.22)!important;
}
#saveDashWeight:hover,
#addWaterBtn:hover,
#saveWaterGoal:hover,
#profileForm .primary:hover{filter:brightness(1.035);transform:translateY(-1px)}

@media(max-width:1100px){
  .sn16-today-hero{grid-template-columns:1fr;gap:24px}
  .sn16-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .final-dashboard{gap:15px!important}
  .sn16-today-hero{padding:25px 19px;border-radius:24px;gap:20px}
  .sn16-today-copy h1{font-size:32px!important}
  .sn16-today-copy>p{font-size:14px!important}
  .sn16-today-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .sn16-stat{min-height:98px;padding:14px;border-radius:18px}
  .sn16-stat strong{font-size:23px}
  .sn16-quick-actions{grid-template-columns:1fr;gap:9px}
  .sn16-quick-actions button{min-height:74px;border-radius:18px!important}
  .sn16-action-icon{width:40px;height:40px;flex-basis:40px;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){
  .sn16-quick-actions button{transition:none!important}
  .sn16-quick-actions button:hover{transform:none}
}
