/* Linguagem visual unificada das áreas do nutricionista e do paciente. */
:root{--bg:#f3f4f6;--c:#fff;--c2:#f7f8fb;--bo:#dde3eb;--bo2:#edf0f5;--t:#171b24;--t2:#344055;--t3:#657086}
#A{width:100vw;height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}#SB{width:250px;background:#fff}
.sb-top{background:#fff;margin:0;padding:27px 24px 23px;border-radius:0;align-items:flex-start;border-bottom:1px solid var(--bo2)}.sb-logo{width:150px}.sb-brand{display:none!important}
.sb-nav{border:0;border-radius:0;border-top:0;margin:8px 12px 12px;padding:0;background:#fff;box-shadow:none;scrollbar-gutter:stable}
.nav-group-label{font-size:11px;font-weight:700;letter-spacing:.8px;padding:18px 12px 7px;color:#7b8594}
.si{min-height:43px;margin:2px 0;width:100%;padding:10px 12px;font-size:14px;font-weight:550;border-radius:10px;gap:11px}.si i,.si svg{width:19px;height:19px;flex-shrink:0}.si:hover{background:#f5f7fa}.si.on{color:#06767a;background:#eaf7f7;box-shadow:none;font-weight:700}.si.on svg,.si.on i{color:#079c9f}
#SB.col{width:76px}#SB.col .sb-top{padding:26px 8px;text-align:center;align-items:center;margin:0}#SB.col .sb-logo{display:none}#SB.col .sb-top:after{content:'N2G';font-weight:850;font-size:19px;color:#171b24;letter-spacing:-1px}#SB.col .sb-nav{margin:8px 10px}.sb-prem:empty{display:none}.sb-ft{padding:14px 12px}.sb-ft .si{font-size:13px}
.mhd{padding:16px 28px;min-height:84px;background:#fff}.mhd-name{font-size:19px;font-weight:750;letter-spacing:-.4px}.mhd-greet{margin-bottom:2px}.workspace-brand{font-size:12px;font-weight:550;background:#f7f8fb;border-color:#e5e9ef;color:#657086;padding:7px 12px;border-radius:9px}.workspace-section{font-size:14px}
#MN h1,#MN h2,.ptitle,.main-title,.pd-name,.sb-kcal-label,.sbt{font-family:Montserrat,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;font-style:normal!important;text-transform:none!important;letter-spacing:-.6px;line-height:1.3}.ptitle,.main-title{font-size:28px!important;font-weight:750;margin-bottom:24px}.sec{padding:28px;max-width:1500px}.sec>#stP{padding:28px!important;max-width:1500px}
.sbar{padding:14px 28px;min-height:82px;box-shadow:none}.step{min-width:72px;border-radius:9px}.snum{width:27px;height:27px;border:1px solid #dce2e9;background:#fff;color:#657086;font-size:12px;font-weight:650}.step.active .snum{background:#171b24;color:#deff05;border-color:#171b24;box-shadow:none}.step.done .snum{background:#edf8f7;color:#06767a;border-color:#cce9e7}.slbl{font-size:12px;font-weight:550}.step.active .slbl{font-weight:750;color:#171b24}
.card,.meal,.pd-card,.pd-m,.ag-card,.qa-card,.sc,.cal-card{border:1px solid var(--bo);border-radius:16px;box-shadow:0 2px 8px #17263b03;background:#fff}.card{padding:24px}.card:hover{border-color:var(--bo);box-shadow:0 2px 8px #17263b03}.content-grid,.assessment-layout,.menu-layout,.meals-grid{gap:22px}.ctitle{font-size:15px;font-weight:700;text-transform:none;letter-spacing:-.2px;line-height:1.5;margin-bottom:20px;align-items:flex-start}.ctitle .nbadge{margin-top:2px}.nbadge{height:22px;width:22px;font-size:11px;background:#eaf7f7;color:#06767a;font-weight:750}
.f label{font-size:14px;font-weight:600}.f input,.f select,.f textarea{min-height:44px;border-color:#d6dde7;border-radius:10px;font-size:14px;background:#fff;padding:10px 12px}.f input:hover,.f select:hover,.f textarea:hover{border-color:#aab8c9}.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px var(--acl)}button:focus-visible,[role=button]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ac);outline-offset:3px}
.btn,.bto{font-size:14px!important;min-height:42px;padding:10px 16px;border-radius:10px;font-weight:650;box-shadow:none}.btn:not(.btn-red):not(.btn-amb):not(.btn-blue){background:#171b24;color:#fff}.btn:hover{box-shadow:none;transform:none}.bto{border-color:#d6dde7;color:#344055;background:#fff}.bto:hover{background:#f7f8fb;border-color:#bac6d5}.brow{gap:10px}.mc,.rbox{border-radius:12px}.mc{background:#f7f8fb}.mv{font-size:28px;color:#171b24}.rbig{font-size:30px;color:#06767a}.rlbl{font-size:13px}.topt,.pc{border-radius:12px}.pc{padding:18px;border-color:var(--bo)}.pc.sel,.topt.sel{border-color:var(--ac);background:#edf8f8;box-shadow:none}.pnm{font-size:15px;font-weight:700}.pds{font-size:13px}.sb-kcal-label{font-size:14px!important;font-weight:650}.sb-kcal-num{font-family:Montserrat,sans-serif;font-size:25px!important;font-weight:750;color:#171b24!important}.sb-macro-lbl{font-size:12px}.sb-macro-val{font-size:17px}.mhdr{background:#f8f9fb;padding:18px}.meal-heading{min-width:0}.meal-name{font-size:16px;font-weight:700}.meal-icon{background:#eaf7f7;color:#06767a;border-radius:10px}.arow input{border:1px solid #d6dde7;border-radius:10px}.menu-actions{gap:10px!important}.sb{border-radius:14px;padding:20px;background:#fff;border:1px solid var(--bo)}.sbt{font-size:16px;font-weight:700;margin-bottom:14px}.mp,.gt,.db{border-radius:9px}.mov{background:rgba(23,32,51,.35);backdrop-filter:blur(3px)}.mbox{border:1px solid var(--bo);border-radius:18px;box-shadow:0 20px 70px #17203322}
/* Painel individual do nutricionista. */
.pd-hero{background:#fff;border:1px solid var(--bo);box-shadow:none;border-radius:16px;padding:24px;gap:18px;flex-wrap:wrap}.pd-av{width:54px;height:54px;border:0;border-radius:14px;font-size:20px;font-weight:750;background:#eaf7f7;color:#06767a}.pd-name{font-size:24px;font-weight:750;color:#171b24}.pd-meta{color:#657086;font-size:13px;line-height:1.6}.pd-meta b{color:#344055}.pd-goal{background:#f7f8fb;color:#344055;border:1px solid #e4e9ef;font-size:12px;border-radius:9px;padding:5px 10px}.pd-actions{flex-direction:row;flex-wrap:wrap;max-width:600px;gap:8px;flex:1;justify-content:flex-end}.pd-actions button{min-height:40px;font-size:13px;font-weight:650;padding:9px 13px;white-space:normal;border-radius:9px;justify-content:center}.pd-act-pri{background:#171b24;color:#fff}.pd-act-pri:hover{background:#303844;color:#fff}.pd-act-sec{background:#fff;border:1px solid #d6dde7;color:#344055}.pd-act-sec:hover{background:#f7f8fb;color:#171b24;border-color:#bfcad8}.pd-grid{gap:18px;margin-bottom:22px}.pd-m{padding:22px}.pd-m-lbl{font-size:13px;color:#657086;font-weight:550}.pd-m-val{font-family:Montserrat,sans-serif;font-size:31px;letter-spacing:-.8px;line-height:1.3;color:#171b24}.pd-m-unit{font-size:13px;margin-left:5px}.pd-m-delta{font-size:12px;font-weight:550}.pd-row2{gap:22px;margin-bottom:22px}.pd-card-hd,.ag-hd,.cal-hd{padding:18px 22px;border-color:var(--bo2)}.pd-card-tt{font-size:16px;font-weight:700}.pd-card-bd{padding:22px}.pd-meal{padding:14px 0;gap:16px}.pd-meal-nm{font-size:14px;font-weight:650}.pd-meal-it{font-size:13px;line-height:1.6}.pd-meal-kc{font-size:15px;color:#06767a}.pd-get-num{font-size:32px;letter-spacing:-.8px;color:#06767a}.pd-get-lbl{font-size:12px;text-transform:none;font-weight:550;letter-spacing:0}.pd-strategy{background:#f3effb;color:#6547a4;border:0;font-size:12px;padding:7px 10px}.pd-bar-lbl{width:82px;font-size:13px;font-weight:550}.pd-bar-val{font-size:13px}.pd-bar-track{height:6px}.pd-tl-dt{font-size:12px;text-transform:none;letter-spacing:0}.pd-tl-tx{font-size:14px}.pd-tl-sub{font-size:13px;line-height:1.6}.ag-ver{min-height:36px;padding:8px 12px;font-size:12px;border-radius:9px}.cal-nav button{height:34px;width:34px;border-radius:9px}.cal-mlbl{font-size:14px}.cal-grid{gap:6px;padding:18px 22px}.cal-day{font-size:13px}.cal-dow{font-size:12px}.stat-row{gap:20px}.sc-lbl{font-size:14px}.sc-val{font-family:Montserrat,sans-serif;font-style:normal;font-weight:750;line-height:1.3}.pac-row{border-radius:12px}.pac-row.ativo{background:#eaf7f7;border-color:#b8e1df}.pac-row-av{background:#edf8f7;color:#06767a}.pac-row-nm{font-size:15px}.pac-row-sub{font-size:13px}
@media(max-width:1150px){#SB{width:228px}.sec{padding:22px}.sec>#stP{padding:22px!important}.pd-actions{flex-basis:100%;justify-content:flex-start;max-width:none}.card{padding:20px}.pd-m{padding:18px}.pd-card-hd,.cal-hd{padding:16px 18px}.pd-card-bd{padding:18px}}
@media(max-width:820px){#SB,#SB.col{width:min(280px,84vw)}#SB.col .sb-logo{display:block;width:150px}#SB.col .sb-top{padding:24px;margin:0;align-items:flex-start}#SB.col .sb-top:after{display:none}#SB.col .sb-nav{margin:8px 12px 12px;border-radius:0}#SB.col .si{padding:10px 12px}.mhd{padding:14px 16px;min-height:78px}.mhd-name{font-size:17px}.sec{padding:22px 16px}.sec>#stP{padding:22px 16px!important}.ptitle,.main-title{font-size:25px!important;margin-bottom:22px}.ctitle{font-size:14px}.sbar{padding:12px 16px}.card{padding:20px}.pd-hero{padding:20px}.pd-name{font-size:23px}.pd-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pd-m-val{font-size:27px}.pd-row2{grid-template-columns:1fr;gap:18px}.pd-actions{justify-content:flex-start;gap:8px}.pd-actions button{min-height:44px;font-size:13px}.btn,.bto{min-height:44px}.f input,.f select,.f textarea{font-size:16px;min-height:46px}.meal-name{font-size:15px}.pd-get{flex-wrap:wrap;gap:14px}.pd-m{padding:16px}.pd-card-hd{padding:16px}.pd-card-bd{padding:18px}.cal-grid{padding:14px;gap:4px}.cal-day{min-height:35px}.patient-board h1{font-size:29px}.patient-board h2{font-size:17px}}
@media(max-width:380px){.pd-actions button{flex:1 1 45%;min-width:0;font-size:12px}.pd-hero{padding:16px;gap:12px}.pd-name{font-size:21px}.pd-m-val{font-size:24px}.pd-grid{gap:10px}.pd-m{padding:13px}.pd-m-lbl{font-size:12px}.pd-get-num{font-size:28px}.pd-card-tt{font-size:14px}.pd-card-bd{padding:16px}.pd-bar-lbl{width:76px;font-size:12px}.cal-mlbl{min-width:100px;font-size:13px}.cal-day{font-size:12px;min-height:31px}.ptitle{font-size:23px!important}}

.pd-m-lbl{text-transform:none;letter-spacing:0}.pd-m:hover{border-color:#c8d4e1}

/* Menu mais compacto no desktop: tem ~19 itens e precisa caber melhor em telas de notebook. */
@media(min-width:821px){.si{min-height:38px;margin:1px 0;padding:8px 12px}.nav-group-label{padding:12px 12px 5px}}

/* Logo do menu: bloco preto arredondado com o NUTRI2GO verde-limão (identidade da prévia aprovada). */
.sb-top{background:#171717;margin:16px 14px 12px;padding:18px 16px;border-radius:18px;align-items:center;border-bottom:0}
.sb-logo{width:155px}
#SB.col .sb-top{padding:18px 8px;margin:16px 10px 12px;align-items:center}
#SB.col .sb-top:after{color:#deff05}
@media(max-width:820px){#SB.col .sb-top{padding:18px 16px;margin:16px 14px 12px;align-items:center}}
