:root{--zen:#18864b;--ink:#183026}body{background:#f7faf8;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}.hero{padding:6rem 2rem;background:radial-gradient(circle at 80% 20%,#c8f3d8,transparent 35%),linear-gradient(135deg,#f8fffb,#eaf8ef)}.display-4{letter-spacing:-2px}.card{border:0;border-radius:1.1rem;box-shadow:0 8px 30px rgba(24,48,38,.07)}.metric{border-left:5px solid var(--zen)}.progress{height:.65rem;background:#e4eee8}.progress-bar{background:var(--zen)}.btn,.form-control,.form-select{border-radius:.7rem}.btn-success{background:var(--zen);border-color:var(--zen)}.form-control,.form-select{padding:.7rem}.meal-row{border-left:3px solid #8bd0a7}.ai-box{white-space:pre-wrap;line-height:1.7;background:#fff;border-radius:1rem;padding:1.5rem}.legal{max-width:800px}@media(max-width:576px){.hero{padding:3.5rem 1rem}.display-4{font-size:2.4rem}}

html,body{max-width:100%;overflow-x:hidden}img,canvas{max-width:100%}p,span,small,strong,td,th{overflow-wrap:anywhere}.table-responsive{border-radius:1rem}.navbar .container{gap:.75rem}.navbar-nav .btn{white-space:nowrap}.list-group-item,.meal-row .card-body{min-width:0}
@media(max-width:767.98px){
 body{font-size:15px}.container{padding-left:14px;padding-right:14px}main.container{padding-top:1rem!important;padding-bottom:1rem!important}
 .navbar{position:relative!important}.navbar-brand{font-size:1.15rem}.navbar-collapse{padding:.75rem 0 1rem}.navbar-nav{align-items:stretch!important;gap:.2rem}.navbar-nav .nav-link{padding:.7rem .25rem;border-bottom:1px solid #edf2ef}.navbar-nav .btn{width:100%;padding:.65rem;margin-top:.4rem}
 h1,.h1{font-size:1.7rem}h2,.h2{font-size:1.35rem}.display-4{font-size:2.25rem;letter-spacing:-1px}.hero{padding:2.5rem 1rem;margin-left:-2px;margin-right:-2px}
 .card{border-radius:.9rem}.card-body{padding:1rem}.row{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
 form.card>.card-body.row>[class*="col"],form.card>.card-body.row>.col{flex:0 0 100%;max-width:100%;width:100%}form.card>.card-body.row>.col-auto{flex:0 0 100%;width:100%}form.card>.card-body.row>.col-auto .btn,form.card>.card-body.row>div:last-child .btn{width:100%}
 .form-control,.form-select{font-size:16px;min-height:46px}.form-text{line-height:1.4}
 .meal-row .card-body>.d-flex:first-child{flex-direction:column}.meal-row .text-end{text-align:left!important}.meal-row .mt-3.d-flex{display:grid!important;grid-template-columns:1fr 1fr;gap:.5rem!important}.meal-row .mt-3 .btn,.meal-row .mt-3 form,.meal-row .mt-3 form .btn{width:100%}
 .list-group-item{align-items:stretch!important;flex-direction:column}.list-group-item>div:last-child{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.list-group-item .btn{width:100%}
 #manual-nutrition .alert{padding:.85rem}#manual-nutrition .row>[class*="col"]{width:50%}#manual-nutrition .row>.col-12{width:100%;display:flex;gap:.5rem;flex-wrap:wrap}#manual-nutrition .row>.col-12 .btn{flex:1;min-width:150px;margin:0!important}
 .metric .h4{font-size:1.15rem}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:620px}footer .container{flex-direction:column;text-align:center;justify-content:center!important}.ai-box{padding:1rem}
}
@media(max-width:389.98px){.row>.col-6{flex:0 0 100%;max-width:100%}.meal-row .mt-3.d-flex{grid-template-columns:1fr}#manual-nutrition .row>[class*="col"]{width:100%}.display-4{font-size:1.95rem}}
div:has(> input[name="meal_time"]) { display: none !important; }

.meal-row .card-body > .mt-3 .btn-sm {
  align-items: center;
  display: inline-flex;
  height: 46px;
  justify-content: center;
  min-width: 132px;
  white-space: nowrap;
}

.meal-row .card-body > .mt-3 .form-select-sm {
  height: 46px;
  min-width: 118px;
}

@media (max-width: 575.98px) {
  .meal-row .card-body > .mt-3 {
    align-items: stretch;
    flex-direction: column;
  }
  .meal-row .card-body > .mt-3 > a,
  .meal-row .card-body > .mt-3 > form {
    flex: 0 0 auto;
    width: 100%;
  }
  .meal-row .card-body > .mt-3 .btn-sm { width: 100%; }
  .meal-row .repeat-meal-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(110px, 1fr);
  }
  .meal-row .repeat-meal-form .form-select-sm {
    min-width: 0;
    width: 100%;
  }
}

.landing-hero{padding:5.5rem 3rem;background:radial-gradient(circle at 85% 15%,#bfeecf,transparent 33%),linear-gradient(135deg,#fbfffc,#e8f7ee)}
.landing-preview{border:1px solid rgba(24,134,75,.12);transform:rotate(1deg)}
.landing-score{align-items:center;background:#e2f5e9;border-radius:50%;color:var(--zen);display:flex;font-size:1.15rem;font-weight:700;height:64px;justify-content:center;width:64px}
.landing-stat{background:#f3f8f5;border-radius:.8rem;padding:.8rem}.landing-stat strong,.landing-stat small{display:block}.landing-stat small{color:#6c757d;margin-top:.15rem}
.landing-section{padding:5rem 0}.landing-copy{max-width:760px}.landing-feature{transition:transform .2s ease,box-shadow .2s ease}.landing-feature:hover{box-shadow:0 14px 40px rgba(24,48,38,.12);transform:translateY(-4px)}
.landing-icon{align-items:center;background:#e8f7ee;border-radius:.9rem;display:inline-flex;font-size:1.6rem;height:52px;justify-content:center;width:52px}.landing-step{color:var(--zen);font-size:1.5rem;font-weight:800}
.plan-card{overflow:hidden;position:relative}.plan-featured{border:2px solid var(--zen);transform:translateY(-8px)}.plan-ribbon{background:var(--zen);color:#fff;font-size:.8rem;font-weight:700;padding:.45rem 1rem;position:absolute;right:-35px;text-align:center;top:18px;transform:rotate(40deg);width:150px}.plan-list{line-height:1.9}.plan-list li{border-bottom:1px solid #edf2ef;padding:.3rem 0}
.landing-security{background:#edf8f1;border:1px solid #d8efe0}.landing-cta{background:linear-gradient(135deg,#126d3c,#1b9a56);color:#fff}
.legal-document{font-size:1rem;line-height:1.75}.legal-document h1{font-weight:750;margin-bottom:1rem}.legal-document h2{font-size:1.25rem;margin-top:2rem}.legal-document li{margin-bottom:.45rem}.legal-meta{background:#edf8f1;border-left:4px solid var(--zen);border-radius:.6rem;margin:1.5rem 0;padding:1rem 1.2rem}.legal-document .table{min-width:720px}
@media(max-width:767.98px){.landing-hero{padding:3rem 1.1rem}.landing-section{padding:3rem 0}.plan-featured{transform:none}.landing-preview{transform:none}}

/* Planejamento: controles confortáveis e previsíveis em telas pequenas. */
.planning-grid .card-body{display:flex;flex-direction:column}.planning-open{color:var(--zen);font-weight:600;margin-top:auto;padding-top:1rem}
.page-heading{gap:1rem}.recipe-ingredients .ingredient-copy{min-width:0}.recipe-ingredients .ingredient-actions{flex:0 0 auto}
.shopping-check .btn{height:38px;width:42px}.shopping-copy{min-width:0}.habits-history .table{min-width:0}
.habit-select{font-size:1rem}.habits-form label{font-weight:600}
.habit-chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.habit-chart{display:block;height:auto;min-width:620px;width:100%}.habit-chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.habit-chart-legend span{align-items:center;display:flex;font-size:.85rem;gap:.35rem}.habit-chart-legend i{border-radius:50%;display:inline-block;height:10px;width:10px}
.habit-saved-card{border-left:4px solid var(--zen)}.habit-saved-value{background:#f3f8f5;border-radius:.75rem;height:100%;padding:.75rem}.habit-saved-value small,.habit-saved-value strong{display:block}.habit-saved-value small{color:#6c757d;margin-bottom:.2rem}.habit-saved-value strong{font-size:.95rem}
.nutrition-summary{border-top:1px solid #deebe3;padding-top:2rem}.nutrition-donut-card{transition:transform .2s ease,box-shadow .2s ease}.nutrition-donut-card:hover{box-shadow:0 14px 38px rgba(24,48,38,.12);transform:translateY(-3px)}.nutrition-donut{align-items:center;background:conic-gradient(var(--zen) calc(var(--nutrition-progress)*1%),#e4eee8 0);border-radius:50%;display:flex;height:132px;justify-content:center;margin:auto;position:relative;width:132px}.nutrition-donut::after{background:#fff;border-radius:50%;content:"";height:96px;position:absolute;width:96px}.nutrition-donut-center{position:relative;text-align:center;z-index:1}.nutrition-donut-center strong,.nutrition-donut-center small{display:block}.nutrition-donut-center strong{font-size:1.25rem}.nutrition-donut-center small{color:#6c757d;font-size:.72rem}.nutrition-over .nutrition-donut{background:conic-gradient(#dc3545 calc(var(--nutrition-progress)*1%),#f5dfe1 0)}
@media(max-width:575.98px){.nutrition-summary{margin-top:2rem!important;padding-top:1.5rem}.nutrition-donut{height:108px;width:108px}.nutrition-donut::after{height:78px;width:78px}.nutrition-donut-center strong{font-size:1.05rem}.nutrition-donut-card .card-body{padding:.85rem .5rem}.nutrition-donut-card .fs-5{font-size:1.05rem!important}}
@media(max-width:767.98px){
 .page-heading{align-items:stretch!important;flex-direction:column}.page-heading>a,.page-heading>.btn{width:100%}.page-heading .date-picker{width:100%}
 .planning-grid .card-body{min-height:150px}.planning-open{font-size:1rem}
 .shopping-item{display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:.65rem!important;padding:.9rem!important}
 .shopping-item .shopping-check{grid-column:1;grid-row:1}.shopping-item .shopping-copy{grid-column:2;grid-row:1;align-self:center}
 .shopping-item .shopping-remove{grid-column:1 / -1;width:100%}.shopping-item .shopping-remove .btn{width:100%}.shopping-check .btn{width:42px!important}
 .recipe-ingredients .list-group-item{gap:.75rem}.recipe-ingredients .ingredient-copy{width:100%}.recipe-ingredients .ingredient-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.recipe-ingredients .ingredient-actions form,.recipe-ingredients .ingredient-actions .btn{width:100%}
 .habits-history{overflow:visible}.habits-history .table,.habits-history tbody,.habits-history tr,.habits-history td{display:block;width:100%}.habits-history thead{display:none}.habits-history tbody{display:grid;gap:.75rem}
 .habits-history tr{background:#fff;border:0;border-radius:.9rem;box-shadow:0 6px 22px rgba(24,48,38,.07);padding:.7rem 1rem}.habits-history td{align-items:center;border-bottom:1px solid #edf2ef;display:flex;justify-content:space-between;padding:.55rem 0;text-align:right}.habits-history td:last-child{border-bottom:0}.habits-history td::before{color:#6c757d;content:attr(data-label);font-weight:600;padding-right:1rem;text-align:left}
 #batch-foods .card-body{align-items:stretch!important;grid-template-columns:1fr!important}#batch-foods .card-body>div,#batch-foods .card-body>button{width:100%}
}
@media(max-width:420px){
 .container{padding-left:10px;padding-right:10px}.card-body{padding:.9rem}.btn{white-space:normal}
 .recipe-ingredients .ingredient-actions{grid-template-columns:1fr}.planning-grid .card-body{min-height:135px}
}
@media(max-width:575.98px){.dashboard-heading{align-items:stretch!important;gap:1rem}.dashboard-heading>div:first-child{width:100%}.dashboard-heading-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}.dashboard-heading-actions .btn{align-items:center;display:flex;justify-content:center;min-height:46px}}

/* Dashboard premium 2026 */
:root{
 --zen:#13864b;
 --zen-dark:#0f5132;
 --zen-soft:#eaf8ef;
 --zen-mint:#d9f4e4;
 --ink:#11231b;
 --muted:#63746b;
 --line:#dce8e1;
 --surface:#ffffff;
 --surface-soft:#f6faf8;
 --warning:#f59e0b;
 --danger:#dc3545;
 --shadow-soft:0 18px 55px rgba(17,35,27,.09);
 --shadow-hover:0 22px 70px rgba(17,35,27,.14);
}

body{
 background:
  radial-gradient(circle at 12% -10%,rgba(19,134,75,.12),transparent 30rem),
  radial-gradient(circle at 90% 8%,rgba(56,189,248,.10),transparent 26rem),
  linear-gradient(180deg,#fbfdfc 0%,#f4f8f6 42%,#eef5f1 100%);
 color:var(--ink);
}

main.container:has(.dashboard-premium){
 max-width:1180px;
 padding-top:24px!important;
 padding-bottom:48px!important;
}

.dashboard-premium{
 display:grid;
 gap:28px;
 max-width:100%;
 min-width:0;
 overflow:hidden;
 width:100%;
}

.dashboard-premium *{
 box-sizing:border-box;
 min-width:0;
}

.dashboard-hero-card,.premium-card,.dashboard-date-bar{
 animation:zenFadeUp .36s ease both;
}

@keyframes zenFadeUp{
 from{opacity:0;transform:translateY(10px)}
 to{opacity:1;transform:translateY(0)}
}

.dashboard-hero-card{
 align-items:flex-end;
 background:
  radial-gradient(circle at 88% 0%,rgba(255,255,255,.62),transparent 18rem),
  linear-gradient(135deg,#11231b 0%,#135f3a 56%,#1ba85e 100%);
 border-radius:28px;
 box-shadow:var(--shadow-soft);
 color:#fff;
 display:flex;
 gap:24px;
 justify-content:space-between;
 overflow:hidden;
 padding:32px;
 position:relative;
 width:100%;
}

.dashboard-hero-card::after{
 background:rgba(255,255,255,.12);
 border-radius:999px;
 content:"";
 height:220px;
 position:absolute;
 right:-92px;
 top:-92px;
 width:220px;
}

.hero-copy,.hero-actions{position:relative;z-index:1}
.eyebrow{
 color:rgba(255,255,255,.72);
 display:block;
 font-size:.78rem;
 font-weight:800;
 letter-spacing:.13em;
 margin-bottom:.6rem;
 text-transform:uppercase;
}
.hero-copy h1{
 font-size:clamp(2rem,4vw,3.35rem);
 font-weight:850;
 letter-spacing:-.055em;
 line-height:.95;
 margin:0 0 .65rem;
}
.hero-copy p{
 color:rgba(255,255,255,.82);
 font-size:1.05rem;
 margin:0;
 max-width:520px;
}
.hero-actions{
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 justify-content:flex-end;
 min-width:0;
}

.btn-zen-primary,.btn-zen-secondary{
 align-items:center;
 border-radius:999px;
 display:inline-flex;
 font-weight:750;
 justify-content:center;
 min-height:44px;
 padding:.7rem 1.05rem;
 transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
 white-space:normal;
}
.btn-zen-primary{
 background:var(--zen);
 border-color:var(--zen);
 color:#fff;
 box-shadow:0 10px 24px rgba(19,134,75,.22);
}
.btn-zen-primary:hover{
 background:#0f7440;
 border-color:#0f7440;
 color:#fff;
 transform:translateY(-1px);
}
.btn-zen-secondary{
 background:rgba(255,255,255,.88);
 border-color:rgba(17,35,27,.08);
 color:var(--zen-dark);
}
.premium-card .btn-zen-secondary,.section-title.outside .btn-zen-secondary{
 background:#fff;
 border-color:var(--line);
 color:var(--ink);
}
.btn-zen-secondary:hover{
 background:#fff;
 border-color:rgba(19,134,75,.28);
 color:var(--zen-dark);
 transform:translateY(-1px);
}

.dashboard-date-bar{
 align-items:end;
 background:rgba(255,255,255,.78);
 border:1px solid rgba(220,232,225,.78);
 border-radius:22px;
 box-shadow:0 10px 35px rgba(17,35,27,.055);
 display:grid;
 gap:12px;
 grid-template-columns:auto minmax(0,1fr) auto auto;
 padding:14px;
}
.date-picker-form label{
 color:var(--muted);
 display:block;
 font-size:.78rem;
 font-weight:750;
 margin:0 0 .25rem;
}
.date-nav-btn{
 align-items:center;
 background:#fff;
 border:1px solid var(--line);
 border-radius:16px;
 color:var(--ink);
 display:flex;
 font-weight:750;
 justify-content:center;
 min-height:48px;
 padding:.7rem 1rem;
 text-decoration:none;
}
.date-nav-btn.today{
 background:var(--zen-soft);
 color:var(--zen-dark);
}

.dashboard-grid{
 display:grid;
 gap:18px;
}
.top-grid{
 grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
}
.wellness-grid{
 grid-template-columns:repeat(4,minmax(0,1fr));
}

.premium-card{
 background:rgba(255,255,255,.92);
 border:1px solid rgba(220,232,225,.86);
 border-radius:24px;
 box-shadow:var(--shadow-soft);
 padding:24px;
 max-width:100%;
 transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
 width:100%;
}
.premium-card:hover{
 border-color:rgba(19,134,75,.18);
 box-shadow:var(--shadow-hover);
 transform:translateY(-2px);
}

.calorie-card{
 background:
  linear-gradient(135deg,rgba(255,255,255,.95),rgba(235,250,241,.96)),
  radial-gradient(circle at 90% 12%,rgba(19,134,75,.18),transparent 16rem);
}
.card-kicker{
 align-items:center;
 color:var(--muted);
 display:flex;
 font-size:.82rem;
 font-weight:850;
 gap:.45rem;
 letter-spacing:.04em;
 text-transform:uppercase;
}
.calorie-number{
 font-size:clamp(3rem,7vw,5rem);
 font-weight:900;
 letter-spacing:-.07em;
 line-height:1;
 margin:.75rem 0 .15rem;
}
.calorie-subtitle,.calorie-footer{
 color:var(--muted);
}
.premium-progress{
 background:#e3eee8;
 border-radius:999px;
 height:10px;
 overflow:hidden;
 position:relative;
}
.premium-progress.tall{
 height:16px;
 margin:20px 0 12px;
}
.premium-progress span{
 animation:zenGrow .52s ease both;
 background:linear-gradient(90deg,#15a05b,#42d886);
 border-radius:inherit;
 display:block;
 height:100%;
 max-width:100%;
}
@keyframes zenGrow{from{width:0}}
.calorie-footer{
 align-items:center;
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 justify-content:space-between;
}

.stat-card,.mini-health-card{
 display:flex;
 flex-direction:column;
 gap:6px;
 min-height:158px;
}
.stat-icon,.mini-health-card>span{
 align-items:center;
 background:var(--zen-soft);
 border-radius:18px;
 display:flex;
 font-size:1.35rem;
 height:46px;
 justify-content:center;
 width:46px;
}
.stat-card small,.mini-health-card small{
 color:var(--muted);
 font-weight:750;
}
.stat-card strong,.mini-health-card strong{
 color:var(--ink);
 font-size:1.25rem;
 line-height:1.2;
}
.stat-card span:last-child{
 color:var(--muted);
 font-size:.9rem;
 margin-top:auto;
}
.mini-health-card{
 min-height:132px;
 padding:18px;
}
.mini-health-card strong{
 font-size:1.05rem;
}

.section-title{
 align-items:center;
 display:flex;
 gap:16px;
 justify-content:space-between;
 margin-bottom:18px;
}
.section-title>div{
 align-items:center;
 display:flex;
 gap:12px;
 min-width:0;
}
.section-title h2{
 font-size:1.28rem;
 font-weight:850;
 letter-spacing:-.025em;
 margin:0;
}
.section-icon{
 align-items:center;
 background:var(--zen-soft);
 border-radius:16px;
 display:flex;
 flex:0 0 auto;
 font-size:1.25rem;
 height:44px;
 justify-content:center;
 width:44px;
}
.section-title.outside{
 margin:0 0 14px;
 padding:0 2px;
}
.section-title.compact{margin-bottom:12px}

.water-main{
 align-items:center;
 display:grid;
 gap:22px;
 grid-template-columns:minmax(0,1fr) auto;
}
.water-amount{
 font-size:2rem;
 font-weight:900;
 letter-spacing:-.045em;
}
.water-amount span{
 color:var(--muted);
 font-size:1rem;
 font-weight:700;
 letter-spacing:0;
}
.water-progress{height:14px;margin:10px 0}
.quick-water-actions{
 display:grid;
 gap:10px;
 grid-template-columns:repeat(3,minmax(0,1fr));
}
.quick-pill{
 background:#f8fffb;
 border:1px solid rgba(19,134,75,.22);
 border-radius:18px;
 color:var(--zen-dark);
 font-weight:850;
 min-height:58px;
 padding:.75rem .95rem;
 transition:transform .16s ease,background .16s ease,border-color .16s ease;
}
.quick-pill:hover{
 background:var(--zen-soft);
 border-color:rgba(19,134,75,.42);
 transform:translateY(-1px);
}
.guide-note,.scale-hint{
 color:var(--muted);
 font-size:.92rem;
 margin:14px 0 0;
}
.compact-details{
 border-top:1px solid var(--line);
 margin-top:18px;
 padding-top:14px;
}
.compact-details summary{
 color:var(--zen-dark);
 cursor:pointer;
 font-weight:800;
}
.inline-compact-form{
 display:flex;
 gap:10px;
 margin-top:12px;
 max-width:360px;
}

.food-search-launch{
 align-items:center;
 background:linear-gradient(135deg,#f8fffb,#edf8f1);
 border:1px solid rgba(19,134,75,.16);
 border-radius:20px;
 color:var(--ink);
 display:flex;
 gap:14px;
 padding:18px;
 text-decoration:none;
 transition:transform .18s ease,border-color .18s ease;
}
.food-search-launch:hover{
 border-color:rgba(19,134,75,.38);
 color:var(--ink);
 transform:translateY(-1px);
}
.food-search-launch>span{
 align-items:center;
 background:#fff;
 border-radius:16px;
 box-shadow:0 8px 24px rgba(17,35,27,.07);
 display:flex;
 flex:0 0 auto;
 font-size:1.35rem;
 height:52px;
 justify-content:center;
 width:52px;
}
.food-search-launch strong,.food-search-launch small{
 display:block;
}
.food-search-launch small{color:var(--muted);margin-top:.2rem}
.advanced-action-grid{
 display:grid;
 gap:10px;
 grid-template-columns:repeat(4,minmax(0,1fr));
 margin-top:14px;
}
.advanced-action{
 background:#fff;
 border:1px solid var(--line);
 border-radius:16px;
 color:var(--ink);
 font-weight:750;
 padding:14px;
 text-decoration:none;
}
.advanced-action:hover{
 background:var(--zen-soft);
 color:var(--zen-dark);
}

.exercise-form{
 align-items:end;
 display:grid;
 gap:12px;
 grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr) minmax(0,1.35fr) auto;
}
.exercise-form label,.habit-form-modern label{
 color:var(--muted);
 display:block;
 font-size:.82rem;
 font-weight:800;
 margin-bottom:.35rem;
}
.exercise-list{
 border-top:1px solid var(--line);
 display:grid;
 gap:10px;
 margin-top:18px;
 padding-top:18px;
}
.exercise-item{
 align-items:center;
 background:var(--surface-soft);
 border-radius:16px;
 display:flex;
 gap:12px;
 justify-content:space-between;
 padding:12px 14px;
}
.exercise-item strong,.exercise-item span,.exercise-item small{display:block}
.exercise-item span,.exercise-item small{color:var(--muted)}

.habit-form-modern{
 display:grid;
 gap:14px;
 grid-template-columns:repeat(5,minmax(0,1fr));
}
.notes-field{
 grid-column:span 4;
}
.habit-form-modern button{
 align-self:end;
}
.habit-field span{
 color:var(--muted);
 font-weight:500;
}
.saved-habit-grid{
 display:grid;
 gap:12px;
 grid-template-columns:repeat(5,minmax(0,1fr));
}
.saved-habit-grid>div{
 background:var(--surface-soft);
 border-radius:16px;
 padding:14px;
}
.saved-habit-grid small,.saved-habit-grid strong{
 display:block;
}
.saved-habit-grid small{
 color:var(--muted);
 font-weight:750;
 margin-bottom:.25rem;
}
.saved-note{
 border-top:1px solid var(--line);
 color:var(--muted);
 margin:16px 0 0;
 padding-top:14px;
}
.soft-badge{
 background:var(--zen-soft);
 border-radius:999px;
 color:var(--zen-dark);
 font-size:.82rem;
 font-weight:850;
 padding:.45rem .75rem;
 white-space:nowrap;
}
.soft-badge.warning{
 background:#fff4db;
 color:#9a5b00;
}
.soft-badge.success{
 background:var(--zen-soft);
 color:var(--zen-dark);
}

.meal-card-list{
 display:grid;
 gap:14px;
}
.meal-card-modern{
 display:grid;
 gap:16px;
 grid-template-columns:minmax(0,1fr) auto;
 padding:22px;
}
.meal-title-row{
 align-items:center;
 display:flex;
 flex-wrap:wrap;
 gap:10px;
 margin-bottom:8px;
}
.meal-title-row h3{
 font-size:1.18rem;
 font-weight:850;
 margin:0;
}
.meal-status{
 border-radius:999px;
 font-size:.76rem;
 font-weight:850;
 padding:.35rem .65rem;
}
.meal-status.success{background:var(--zen-soft);color:var(--zen-dark)}
.meal-status.warning{background:#fff4db;color:#9a5b00}
.meal-status.muted{background:#eef2f0;color:var(--muted)}
.meal-foods{
 color:#26372f;
 font-size:1rem;
 line-height:1.55;
 margin:0;
}
.meal-food-list{
 display:grid;
 gap:8px;
 margin-top:10px;
 max-width:780px;
}
.meal-food-item{
 align-items:flex-start;
 background:#f7fbf8;
 border:1px solid #dcebe3;
 border-radius:14px;
 display:grid;
 gap:3px;
 padding:10px 12px;
}
.meal-food-name{
 color:#183026;
 font-weight:800;
 line-height:1.25;
}
.meal-food-meta{
 color:#60766b;
 font-size:.9rem;
 line-height:1.35;
}
.meal-macros{
 text-align:right;
}
.meal-macros strong,.meal-macros span{
 display:block;
 white-space:nowrap;
}
.meal-macros strong{
 font-size:1.22rem;
}
.meal-macros strong small{
 color:var(--muted);
 font-size:.78rem;
 font-weight:700;
}
.meal-macros span{
 color:var(--muted);
 font-size:.92rem;
 margin-top:.35rem;
}
.meal-actions{
 align-items:center;
 background:#f7fbf9;
 border:1px solid rgba(220,232,225,.9);
 border-radius:18px;
 display:grid;
 gap:10px;
 grid-column:1 / -1;
 grid-template-columns:auto auto auto minmax(240px,auto);
 justify-content:flex-start;
 min-width:0;
 padding:10px;
}
.meal-actions .btn,.meal-actions form .btn,.meal-actions .form-select{
 align-items:center;
 border-radius:999px;
 display:inline-flex;
 font-weight:800;
 justify-content:center;
 min-height:42px;
 padding:.55rem .9rem;
 white-space:nowrap;
}
.meal-actions form{
 display:flex;
 gap:8px;
 margin:0;
}
.meal-actions .repeat-meal-form{
 align-items:center;
 background:#fff;
 border:1px solid var(--line);
 border-radius:999px;
 gap:6px;
 margin-left:0;
 min-width:260px;
 padding:4px;
 width:auto;
}
.meal-actions .repeat-meal-form .form-select{
 background-color:transparent;
 border:0;
 box-shadow:none;
 min-width:128px;
 padding-left:.85rem;
}
.meal-actions .repeat-meal-form .btn{
 background:#fff;
 border-color:#0d6efd;
 min-width:92px;
}
.meal-actions>a,
.meal-actions>form:not(.repeat-meal-form){
 min-width:0;
}

@media(min-width:992px){
 .meal-actions{
  grid-template-columns:auto auto auto 1fr;
 }
 .meal-actions .repeat-meal-form{
  justify-self:end;
 }
}

.empty-card{
 align-items:flex-start;
 display:flex;
 flex-direction:column;
 gap:8px;
}
.empty-card span{color:var(--muted)}

.nutrition-summary{
 border-top:0;
 padding-top:24px;
}
.nutrition-grid{
 display:grid;
 gap:16px;
 grid-template-columns:repeat(4,minmax(0,1fr));
}
.nutrition-grid .nutrition-donut-card{
 background:linear-gradient(180deg,#fff,#f8fbf9);
 border:1px solid var(--line);
 border-radius:22px;
 box-shadow:none;
 padding:18px;
 text-align:center;
}
.donut-wrap{
 align-items:center;
 background:conic-gradient(var(--zen) calc(var(--nutrition-progress)*1%),#e5eee9 0);
 border-radius:999px;
 display:flex;
 height:128px;
 justify-content:center;
 margin:0 auto 14px;
 width:128px;
}
.nutrition-grid .nutrition-donut{
 align-items:center;
 background:#fff;
 border-radius:999px;
 display:flex;
 flex-direction:column;
 height:92px;
 justify-content:center;
 margin:0;
 position:static;
 width:92px;
}
.nutrition-grid .nutrition-donut::after{display:none}
.nutrition-grid .nutrition-donut span{
 font-size:1.3rem;
 line-height:1;
}
.nutrition-grid .nutrition-donut strong{
 font-size:1.1rem;
 margin-top:.2rem;
}
.nutrition-grid h3{
 font-size:1rem;
 font-weight:850;
 margin:0 0 .35rem;
}
.nutrition-grid p,.nutrition-grid small,.nutrition-grid em{
 display:block;
 margin:0;
}
.nutrition-grid p{color:var(--muted)}
.nutrition-grid p strong{color:var(--ink);font-size:1.25rem}
.nutrition-grid small{color:var(--muted);margin-top:.35rem}
.nutrition-grid em{
 border-radius:999px;
 font-size:.78rem;
 font-style:normal;
 font-weight:850;
 margin:.75rem auto 0;
 max-width:max-content;
 padding:.35rem .65rem;
}
.nutrition-donut-card.ok em{background:var(--zen-soft);color:var(--zen-dark)}
.nutrition-donut-card.low em{background:#eef2f0;color:var(--muted)}
.nutrition-donut-card.over .donut-wrap{background:conic-gradient(var(--danger) calc(var(--nutrition-progress)*1%),#f5dfe1 0)}
.nutrition-donut-card.over em{background:#fbe7e9;color:#a52834}

.dashboard-version{
 color:var(--muted);
 font-size:.86rem;
 padding:2px 4px 0;
}

@media(max-width:991.98px){
 .top-grid{grid-template-columns:1fr 1fr}
 .calorie-card{grid-column:1 / -1}
 .wellness-grid,.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .exercise-form{grid-template-columns:1fr 1fr}
 .exercise-form button{grid-column:1 / -1}
 .habit-form-modern{grid-template-columns:repeat(2,minmax(0,1fr))}
 .notes-field{grid-column:1 / -1}
 .saved-habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .advanced-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:767.98px){
 main.container:has(.dashboard-premium){
  padding-left:12px;
  padding-right:12px;
  padding-top:14px!important;
 }
 .dashboard-premium{gap:22px}
 .dashboard-hero-card{
  align-items:stretch;
  border-radius:24px;
  flex-direction:column;
  margin-left:0;
  margin-right:0;
  padding:24px;
 }
 .hero-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  justify-content:stretch;
 }
 .hero-actions .btn{
  min-width:0;
  width:100%;
 }
 .dashboard-date-bar{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 }
 .date-picker-form{
  grid-column:1 / -1;
  grid-row:1;
 }
 .date-nav-btn{min-height:46px}
 .premium-card{border-radius:22px;padding:20px}
 .top-grid,.wellness-grid,.nutrition-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 }
 .stat-card{min-height:142px}
 .water-main{
  align-items:stretch;
  grid-template-columns:1fr;
 }
 .quick-water-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }
 .quick-pill{
  min-height:52px;
  padding:.65rem .55rem;
 }
 .food-search-launch{padding:16px}
 .exercise-form{
  grid-template-columns:1fr;
 }
 .exercise-item{
  align-items:stretch;
  flex-direction:column;
 }
 .exercise-item form,.exercise-item .btn{width:100%}
 .meal-card-modern{
  grid-template-columns:1fr;
 }
 .meal-macros{text-align:left}
 .meal-macros strong,.meal-macros span{white-space:normal}
 .meal-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  padding:10px;
 }
 .meal-actions>a,.meal-actions>form,.meal-actions .btn{
  width:100%;
 }
 .meal-actions .repeat-meal-form{
  grid-column:1 / -1;
  margin-left:0;
  min-width:0;
 }
 .meal-actions .repeat-meal-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 }
}

@media(max-width:640px){
 main.container:has(.dashboard-premium){
  max-width:100%;
  padding-left:10px!important;
  padding-right:10px!important;
 }
 .dashboard-premium{
  gap:18px;
  min-width:0;
 }
 .dashboard-hero-card{
  border-radius:22px;
  padding:20px;
 }
 .hero-copy h1{
  font-size:clamp(2rem,12vw,3rem);
  overflow-wrap:anywhere;
 }
 .hero-copy p{
  font-size:1rem;
 }
 .hero-actions,.dashboard-date-bar,.top-grid,.wellness-grid,.habit-form-modern,.saved-habit-grid,.nutrition-grid,.advanced-action-grid{
  grid-template-columns:minmax(0,1fr);
 }
 .date-nav-btn,.btn-zen-primary,.btn-zen-secondary,.quick-pill{
  min-width:0;
  width:100%;
 }
 .premium-card{
  border-radius:20px;
  padding:18px;
 }
 .food-search-launch,.section-title,.water-main,.exercise-form,.meal-card-modern{
  min-width:0;
 }
 .section-title{
  align-items:flex-start;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:stretch;
  row-gap:14px;
 }
 .section-title>div{
  width:100%;
 }
 .section-title h2{
  font-size:1.55rem;
  line-height:1.08;
  overflow-wrap:normal;
  word-break:normal;
 }
 .section-icon{
  height:40px;
  width:40px;
 }
 .section-title .btn,
 .section-title>a,
 .section-title>strong,
 .section-title>.soft-badge{
  justify-self:stretch;
  text-align:center;
  width:100%;
 }
 .section-title>strong,
 .section-title>.soft-badge{
  align-items:center;
  display:flex;
  justify-content:center;
  min-height:46px;
 }
 .food-entry-card .section-title{
  grid-template-columns:minmax(0,1fr);
 }
 .food-entry-card .section-title .btn{
  margin-top:0;
 }
 .meals-section .section-title.outside{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(220,232,225,.7);
  border-radius:20px;
  padding:14px;
 }
 .meals-section .section-title.outside>a{
  box-shadow:none;
 }
 .meal-card-modern{
  display:block;
 }
 .meal-macros{
  margin-top:18px;
 }
 .meal-actions{
  margin-top:18px;
 }
 .quick-water-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
 }
 .quick-pill{
  font-size:.86rem;
  padding:.6rem .35rem;
 }
}

@media(max-width:575.98px){
 .hero-copy h1{font-size:2.35rem}
 .hero-actions,.dashboard-date-bar,.top-grid,.wellness-grid,.habit-form-modern,.saved-habit-grid,.nutrition-grid,.advanced-action-grid{
  grid-template-columns:1fr;
 }
 .calorie-number{font-size:3.65rem}
 .section-title{
  align-items:flex-start;
  gap:12px;
 }
 .section-title h2{
  font-size:1.45rem;
 }
 .section-title>div{align-items:flex-start}
 .water-amount{font-size:1.65rem}
 .quick-water-actions{grid-template-columns:1fr 1fr 1fr}
 .quick-pill{font-size:.88rem}
 .inline-compact-form{
  flex-direction:column;
  max-width:none;
 }
 .meal-actions{
  grid-template-columns:1fr;
 }
 .meal-actions .repeat-meal-form{
  grid-template-columns:1fr;
  border-radius:18px;
  padding:8px;
 }
 .donut-wrap{
  height:116px;
  width:116px;
 }
 .nutrition-grid .nutrition-donut{
  height:84px;
  width:84px;
 }
}

/* Páginas internas premium: alimentos, modelos, planejamento, histórico, relatórios, peso, IA e perfil. */
main.container:not(:has(.dashboard-premium)){
 max-width:1180px;
 padding-top:28px!important;
}

main.container:not(:has(.dashboard-premium)) > h1,
main.container:not(:has(.dashboard-premium)) > .d-flex:first-child h1,
main.container:not(:has(.dashboard-premium)) .page-heading h1{
 color:var(--ink);
 font-size:clamp(1.85rem,3vw,2.75rem);
 font-weight:900;
 letter-spacing:-.055em;
 line-height:1;
 margin-bottom:.35rem;
}

main.container:not(:has(.dashboard-premium)) > h2,
main.container:not(:has(.dashboard-premium)) .h4{
 color:var(--ink);
 font-weight:850;
 letter-spacing:-.035em;
}

main.container:not(:has(.dashboard-premium)) > p.text-secondary,
main.container:not(:has(.dashboard-premium)) .page-heading p,
main.container:not(:has(.dashboard-premium)) > .d-flex:first-child small,
main.container:not(:has(.dashboard-premium)) > .d-flex:first-child .text-secondary{
 color:var(--muted)!important;
 font-size:1rem;
}

main.container:not(:has(.dashboard-premium)) > .d-flex:first-child,
main.container:not(:has(.dashboard-premium)) .page-heading{
 align-items:flex-end!important;
 background:
  radial-gradient(circle at 96% 0%,rgba(19,134,75,.12),transparent 18rem),
  linear-gradient(135deg,rgba(255,255,255,.95),rgba(241,249,245,.94));
 border:1px solid rgba(220,232,225,.85);
 border-radius:26px;
 box-shadow:var(--shadow-soft);
 margin-bottom:22px!important;
 padding:24px;
}

main.container:not(:has(.dashboard-premium)) > .d-flex:first-child > small{
 align-items:center;
 background:var(--zen-soft);
 border-radius:999px;
 color:var(--zen-dark)!important;
 display:inline-flex;
 font-weight:850;
 min-height:38px;
 padding:.45rem .8rem;
}

main.container:not(:has(.dashboard-premium)) .card{
 background:rgba(255,255,255,.94);
 border:1px solid rgba(220,232,225,.85);
 border-radius:22px;
 box-shadow:var(--shadow-soft);
 overflow:hidden;
}

main.container:not(:has(.dashboard-premium)) .card-body{
 padding:22px;
}

main.container:not(:has(.dashboard-premium)) form.card{
 background:
  radial-gradient(circle at 100% 0%,rgba(19,134,75,.08),transparent 16rem),
  rgba(255,255,255,.94);
}

main.container:not(:has(.dashboard-premium)) label,
main.container:not(:has(.dashboard-premium)) .form-label{
 color:var(--muted);
 font-size:.86rem;
 font-weight:800;
 margin-bottom:.35rem;
}

main.container:not(:has(.dashboard-premium)) .form-control,
main.container:not(:has(.dashboard-premium)) .form-select,
main.container:not(:has(.dashboard-premium)) .input-group-text{
 border-color:#d9e4de;
 border-radius:16px;
 min-height:48px;
}

main.container:not(:has(.dashboard-premium)) .input-group .form-control,
main.container:not(:has(.dashboard-premium)) .input-group .form-select{
 border-radius:16px 0 0 16px;
}

main.container:not(:has(.dashboard-premium)) .input-group .input-group-text{
 border-radius:0 16px 16px 0;
}

main.container:not(:has(.dashboard-premium)) .btn{
 align-items:center;
 border-radius:999px;
 display:inline-flex;
 font-weight:800;
 justify-content:center;
 min-height:42px;
 padding:.58rem 1rem;
}

main.container:not(:has(.dashboard-premium)) .btn-success{
 box-shadow:0 10px 24px rgba(19,134,75,.18);
}

main.container:not(:has(.dashboard-premium)) .btn-sm{
 min-height:38px;
 padding:.45rem .8rem;
}

main.container:not(:has(.dashboard-premium)) .row.g-3 > [class*="col"] > .card.h-100,
main.container:not(:has(.dashboard-premium)) .planning-grid .card{
 transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

main.container:not(:has(.dashboard-premium)) .row.g-3 > [class*="col"] > .card.h-100:hover,
main.container:not(:has(.dashboard-premium)) .planning-grid .card:hover{
 border-color:rgba(19,134,75,.22);
 box-shadow:var(--shadow-hover);
 transform:translateY(-2px);
}

main.container:not(:has(.dashboard-premium)) .row.g-3 .card h2,
main.container:not(:has(.dashboard-premium)) .row.g-3 .card h3{
 color:var(--ink);
 font-weight:850;
 letter-spacing:-.025em;
}

main.container:not(:has(.dashboard-premium)) .row.g-3 .card p,
main.container:not(:has(.dashboard-premium)) .row.g-3 .card small{
 color:var(--muted);
}

main.container:not(:has(.dashboard-premium)) .table-responsive{
 border:1px solid var(--line);
 border-radius:18px;
 overflow:hidden;
}

main.container:not(:has(.dashboard-premium)) .table{
 margin-bottom:0;
}

main.container:not(:has(.dashboard-premium)) .table thead th{
 background:#f3f8f5;
 border-bottom:1px solid var(--line);
 color:var(--ink);
 font-size:.84rem;
 font-weight:850;
 letter-spacing:.02em;
}

main.container:not(:has(.dashboard-premium)) .table td,
main.container:not(:has(.dashboard-premium)) .table th{
 padding:.95rem 1rem;
}

main.container:not(:has(.dashboard-premium)) canvas{
 max-height:360px;
}

/* Relatórios */
main.container:not(:has(.dashboard-premium)) .row.g-3.mb-4 .col-6.col-lg-3 .card .card-body small{
 color:var(--muted)!important;
 display:block;
 font-weight:750;
 margin-bottom:.25rem;
}

main.container:not(:has(.dashboard-premium)) .row.g-3.mb-4 .col-6.col-lg-3 .card .h4{
 color:var(--ink);
 font-size:1.55rem;
 font-weight:900;
 letter-spacing:-.04em;
}

/* Banco de alimentos e modelos */
#batch-foods .card-body{
 background:linear-gradient(135deg,#fff,#f3fbf6);
 align-items:stretch!important;
 display:grid!important;
 gap:14px!important;
 grid-template-columns:minmax(0,1fr) auto;
}

#batch-foods .card-body > .food-quick-picker{
 grid-column:1 / -1;
 margin-bottom:0!important;
 width:100%;
}

#batch-foods .card-body > button#batch-submit{
 justify-self:end;
 min-width:230px;
}

#batch-foods .card-body > span.text-secondary{
 align-self:center;
 grid-column:1;
 grid-row:2;
}

.food-group-heading h2{
 color:var(--zen-dark);
 font-weight:900;
}

.food-quick-picker{
 background:linear-gradient(135deg,#ffffff,#eef8f3);
 border:1px solid rgba(19,134,75,.16);
 border-radius:24px;
 box-shadow:0 10px 30px rgba(17,35,27,.06);
 padding:20px;
}

.food-quick-grid{
 align-items:end;
 display:grid;
 gap:12px;
 grid-template-columns:minmax(260px,1.45fr) 120px 110px minmax(180px,.9fr);
 margin-top:4px;
}

.food-quick-grid > input,
.food-quick-grid > select,
.food-quick-grid .food-quick-meal select{
 background:#fff;
}

.food-quick-meal label{
 margin-bottom:.35rem;
}

.food-quick-meal .form-select{
 width:100%;
}

.food-quick-feedback{
 min-height:1.25rem;
}

#food-quick-add{
 display:none!important;
}

.meal-save-model-btn{
 border-color:#0d6efd!important;
 color:#0d6efd!important;
 font-weight:800;
}

.meal-save-model-btn:hover,
.meal-save-model-btn:focus{
 background:#0d6efd!important;
 color:#fff!important;
}

.profile-goals-form .input-group-text{
 background:#f3f8f5;
 border-color:#d8ebe0;
 color:#60766a;
 font-weight:700;
}

/* Fluxo novo: alimentos como biblioteca, refeições no compositor */
.page-hero-card{
 align-items:center;
 background:linear-gradient(135deg,#fff,#eef8f3);
 border:1px solid rgba(19,134,75,.14);
 border-radius:28px;
 box-shadow:0 18px 55px rgba(17,35,27,.08);
 display:flex;
 gap:20px;
 justify-content:space-between;
 padding:28px;
}

.page-hero-card h1{
 color:var(--zen-dark);
 font-size:clamp(2rem,4vw,3rem);
 font-weight:900;
 letter-spacing:-.05em;
 margin:0;
}

.page-hero-card p{
 color:#587067;
 margin:.45rem 0 0;
 max-width:720px;
}

.hero-count{
 background:#e8f8ef;
 border-radius:999px;
 color:#064d2c;
 font-weight:900;
 padding:12px 18px;
 white-space:nowrap;
}

.food-bank-layout,
.meal-builder-grid{
 display:grid;
 gap:22px;
 grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);
}

.food-editor-card,
.food-library-card,
.meal-builder-card,
.meal-summary-card,
.food-library-item{
 border:1px solid rgba(19,134,75,.12);
 border-radius:24px;
 box-shadow:0 12px 38px rgba(17,35,27,.06);
}

.food-library-card{
 align-self:start;
 position:sticky;
 top:92px;
}

.food-library-header{
 align-items:flex-start;
 display:flex;
 gap:14px;
 justify-content:space-between;
}

.food-library-item h3{
 color:var(--zen-dark);
 font-weight:900;
 letter-spacing:-.03em;
 margin-bottom:.3rem;
}

.meal-builder-grid{
 align-items:start;
}

.meal-summary-card{
 position:sticky;
 top:92px;
}

.meal-items-list:empty::before{
 background:#f4faf6;
 border:1px dashed #cce7d7;
 border-radius:18px;
 color:#6b7f75;
 content:"Nenhum alimento adicionado ainda.";
 display:block;
 padding:22px;
 text-align:center;
}
.meal-items-list{
 display:grid;
 gap:10px;
}
.meal-items-list .list-group-item{
 border:1px solid #dcebe3;
 border-radius:16px!important;
 display:flex;
 gap:12px;
 padding:12px 14px;
}
.meal-items-list .list-group-item strong{
 display:block;
 font-size:1rem;
 line-height:1.25;
}
.meal-items-list .list-group-item small{
 color:#60766b;
 font-size:.88rem;
}

.meal-summary-card input[readonly]{
 background:#f7fbf8;
 font-weight:800;
}

@media(max-width:991px){
 .page-hero-card,
 .food-library-header{
  align-items:stretch;
  flex-direction:column;
 }
 .food-bank-layout,
 .meal-builder-grid{
  grid-template-columns:1fr;
 }
 .food-library-card,
 .meal-summary-card{
  position:static;
 }
}

main.container:not(:has(.dashboard-premium)) .card-body > .border.rounded.bg-light{
 background:#f3f8f5!important;
 border-color:#d8ebe0!important;
 border-radius:16px!important;
}

/* Planejamento */
.planning-grid .card-body{
 gap:.75rem;
 min-height:190px;
 padding:24px!important;
}

.planning-grid h2{
 align-items:center;
 display:flex;
 gap:.5rem;
}

.planning-open{
 align-items:center;
 background:var(--zen-soft);
 border-radius:999px;
 color:var(--zen-dark);
 display:inline-flex;
 font-weight:850;
 justify-content:center;
 margin-top:auto;
 max-width:max-content;
 padding:.5rem .85rem;
}

/* Histórico */
main.container:not(:has(.dashboard-premium)) > .card.mb-2 .card-body{
 align-items:center;
 display:flex;
 gap:1rem;
 justify-content:space-between;
}

main.container:not(:has(.dashboard-premium)) > .card.mb-2 .float-end{
 background:var(--zen-soft);
 border-radius:999px;
 color:var(--zen-dark);
 float:none!important;
 font-weight:850;
 padding:.4rem .7rem;
 white-space:nowrap;
}

/* IA */
.ai-box{
 border:1px solid rgba(19,134,75,.14);
 box-shadow:var(--shadow-soft);
}

@media(max-width:767.98px){
 main.container:not(:has(.dashboard-premium)){
  padding-left:12px;
  padding-right:12px;
  padding-top:16px!important;
 }
 main.container:not(:has(.dashboard-premium)) > .d-flex:first-child,
 main.container:not(:has(.dashboard-premium)) .page-heading{
  align-items:stretch!important;
  border-radius:22px;
  flex-direction:column;
  padding:20px;
 }
 main.container:not(:has(.dashboard-premium)) > .d-flex:first-child .btn,
 main.container:not(:has(.dashboard-premium)) .page-heading .btn{
  width:100%;
 }
 main.container:not(:has(.dashboard-premium)) form.card .card-body.row > [class*="col"],
 main.container:not(:has(.dashboard-premium)) form.card .card-body.row > .col,
 main.container:not(:has(.dashboard-premium)) form.card .card-body.row > .col-auto{
  flex:0 0 100%;
  max-width:100%;
  width:100%;
 }
 main.container:not(:has(.dashboard-premium)) .card-body{
  padding:18px;
 }
 main.container:not(:has(.dashboard-premium)) .row.g-3.mb-4 .col-6.col-lg-3{
  flex:0 0 50%;
  max-width:50%;
 }
 main.container:not(:has(.dashboard-premium)) canvas{
  max-height:300px;
 }
 main.container:not(:has(.dashboard-premium)) > .card.mb-2 .card-body{
  align-items:flex-start;
  flex-direction:column;
 }
 main.container:not(:has(.dashboard-premium)) > .card.mb-2 .float-end{
  width:100%;
  text-align:center;
 }
 .food-quick-grid{
  grid-template-columns:1fr 1fr;
 }
 .food-quick-grid input[type="search"],
 .food-quick-grid button,
 .food-quick-meal{
  grid-column:1 / -1;
 }
}

@media(max-width:420px){
 main.container:not(:has(.dashboard-premium)) .row.g-3.mb-4 .col-6.col-lg-3{
  flex:0 0 100%;
  max-width:100%;
 }
 main.container:not(:has(.dashboard-premium)) .btn,
 main.container:not(:has(.dashboard-premium)) form .btn{
  width:100%;
 }
 .food-quick-grid{
  grid-template-columns:1fr;
 }
 .food-quick-grid input[type="search"],
 .food-quick-grid button{
  grid-column:auto;
 }
}
