/* NUTRI 1.9 — Experience Design System. Shared across all authenticated pages. */
:root{--nx-green:#07543e;--nx-green2:#157453;--nx-lime:#d9f5a8;--nx-text:#173d30;--nx-muted:#617a6e;--nx-bg:#f5f9f6;--nx-line:#dfebe2;--nx-soft:#edf6ef;--nx-shadow:0 8px 32px rgba(11,69,43,.045)}
.nutri-v19{background:var(--nx-bg);color:var(--nx-text);font-size:14px}
.nutri-v19 h1,.nutri-v19 h2,.nutri-v19 h3{letter-spacing:-.045em}
.nutri-v19 .app-shell{margin-left:258px}
.nutri-v19 .nx-sidebar{display:flex;z-index:80;width:258px;padding:22px 14px 16px;background:#fff;box-shadow:3px 0 24px #08412b05}
.nx-sidebar-head{display:flex;justify-content:space-between;align-items:center;padding:3px 12px 20px}
.nutri-v19 .nx-sidebar>.logo{margin:0}.nx-sidebar-head .logo{font-size:26px}.nx-sidebar-head .logo-mark{width:35px;height:35px;font-size:27px}
.nx-menu-close,.nx-menu-open{border:0;background:transparent;color:var(--nx-green);cursor:pointer;font-size:22px;border-radius:12px;width:42px;height:42px;display:grid;place-items:center}
.nx-menu-close{display:none}.nx-side-search{display:flex;align-items:center;gap:9px;background:#f3f8f4;border:1px solid #e4ede6;border-radius:12px;margin:2px 9px 16px;padding:0 13px;color:#668373;font-size:22px}
.nx-side-search input{background:transparent;border:0;outline:0;min-width:0;min-height:42px;width:100%;color:var(--nx-text);font-size:13px}
.nx-side-nav{overflow-y:auto;min-height:0;flex:1;display:block;padding:0 5px;scrollbar-width:thin;scrollbar-color:#d7e5dc transparent}
.nx-nav-group{font-size:10px;font-weight:800;color:#88a095;letter-spacing:.13em;margin:18px 12px 8px}
.nx-side-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:2px 0;border-radius:12px;font-size:13px;font-weight:650;min-height:42px;color:#567367}
.nx-side-nav a span:first-child{flex:0 0 23px;font-size:20px;width:23px;text-align:center}.nx-side-nav a.selected{background:#e9f5eb;color:#07543e}.nx-side-nav a:hover{background:#eff7f0}
.nx-side-foot{padding-top:13px}.nx-side-foot .side-bottom{border:1px solid #e7efea;background:#f7faf7;padding:10px}.nx-side-foot .side-identity{text-decoration:none}
.nx-overlay[hidden]{display:none!important}.nx-overlay{position:fixed;inset:0;z-index:79;background:rgba(11,37,26,.53);backdrop-filter:blur(3px)}
.nutri-v19 .nx-topbar{height:66px;padding:0 clamp(18px,3.2vw,46px);position:sticky;top:0;z-index:35;box-shadow:0 1px 0 var(--nx-line)}.nx-top-left{display:flex;align-items:center;gap:12px}.nx-topbar .mobile-brand{display:none}.nx-topbar .nx-page-label{font-weight:800;color:#235442;font-size:14px}.nx-topbar .nx-menu-open{display:none}
.nx-topbar .top-right{gap:14px}.nx-header-icon{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--nx-line);background:#f6faf7;border-radius:50%;font-size:22px}.nx-topbar .avatar.small{margin:0;text-decoration:none}
.nutri-v19 .main{max-width:1370px;padding:clamp(22px,3vw,38px) clamp(18px,3vw,42px) 108px}
.nutri-v19 .bottom-nav{display:none}.nx-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.nutri-v19 .content-card,.nutri-v19 .metric-card,.nutri-v19 .feature-panel,.nutri-v19 .water-card{border-radius:18px;box-shadow:var(--nx-shadow)}
.nutri-v19 .content-card{padding:clamp(17px,2.5vw,27px)}.nutri-v19 .page-heading{margin-bottom:22px}.nutri-v19 .page-heading h1{font-size:clamp(25px,3.1vw,36px);margin:6px 0 5px}.nutri-v19 .page-heading p{font-size:13px}.nutri-v19 .btn{border-radius:11px}.nutri-v19 .two-cols{gap:12px}.nutri-v19 .form-stack{gap:15px}
.nx-welcome{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.nx-welcome .eyebrow{font-size:10px}.nx-welcome h1{font-size:clamp(26px,3vw,36px);margin:6px 0 4px}.nx-welcome p{font-size:13px;color:var(--nx-muted);margin:0}.nx-outline-link{display:inline-flex;gap:8px;border:1px solid var(--nx-line);border-radius:12px;background:#fff;padding:11px 14px;font-size:12px;font-weight:800;white-space:nowrap}
.nx-home-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:15px;align-items:stretch}.nx-energy{background:linear-gradient(135deg,#07553f 0%,#147052 100%);border-radius:22px;padding:clamp(20px,3vw,32px);color:#fff;min-width:0;display:flex;flex-direction:column;min-height:310px}.nx-energy-top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex:1}.nx-energy .card-overline{color:#d1efdc}.nx-energy h2{font-size:clamp(28px,3.6vw,45px);margin:17px 0 8px;line-height:1.1;color:#fff}.nx-energy h2 small{font-size:14px;display:block;font-weight:500;letter-spacing:0;margin-top:6px;color:#d3eee1}.nx-energy p{font-size:12px;color:#d1e8d9}.nx-energy-ring{width:105px;height:105px;flex:none;border-radius:50%;background:conic-gradient(#d1f4a2 calc(var(--ring)*1%),#ffffff30 0);display:grid;place-items:center;position:relative}.nx-energy-ring:after{content:'';position:absolute;inset:10px;border-radius:50%;background:#17694f}.nx-energy-ring strong{position:relative;z-index:1;color:#fff;font:800 20px Outfit,sans-serif}.nx-macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 18px}.nx-macro{min-width:0}.nx-macro span{font-size:11px;color:#d2eade;display:block}.nx-macro strong{display:block;font-size:12px;line-height:1.4;margin:5px 0 9px;white-space:nowrap}.nx-macro-track{height:6px;background:#ffffff32;border-radius:30px;overflow:hidden}.nx-macro-track div{height:100%;border-radius:30px}.nx-energy-footer{border-top:1px solid #ffffff2b;padding-top:14px;color:#e8f8e9;font-size:12px;font-weight:750;display:flex;justify-content:space-between}
.nx-side-metrics{display:grid;grid-template-columns:1fr 1fr;gap:15px}.nx-mini-card{border:1px solid var(--nx-line);background:#fff;border-radius:20px;padding:20px;min-width:0}.nx-mini-top{display:flex;justify-content:space-between;align-items:center;gap:4px;color:#779286;font-size:10px;letter-spacing:.11em;font-weight:800}.nx-mini-emoji{font-size:22px;color:#117eae}.nx-mini-card>strong{display:block;color:var(--nx-green);font:800 clamp(25px,3vw,32px) Outfit,sans-serif;margin:16px 0 2px}.nx-mini-card>strong small{font-size:13px;font-weight:500}.nx-mini-card p{color:var(--nx-muted);font-size:12px;min-height:32px;margin:0}.nx-mini-track{height:7px;background:#eaf2f5;border-radius:99px;margin:10px 0 14px;overflow:hidden}.nx-mini-track div{height:100%;background:linear-gradient(90deg,#68c6e7,#238eae);border-radius:99px}.nx-water-actions{display:flex;gap:5px;flex-wrap:wrap}.nx-water-actions button{background:#edf8f9;color:#16789c;border:1px solid #daebef;border-radius:8px;padding:8px 6px;font-weight:800;font-size:10px;flex:1;white-space:nowrap}.nx-activity .nx-mini-emoji{color:var(--nx-green)}.nx-mini-link{font-size:12px;font-weight:800;margin-top:20px;display:inline-block}
.nx-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:25px 0 12px}.nx-section-heading h2{font-size:21px;margin:0}.nx-section-heading>span,.nx-section-heading>a{font-size:12px;color:var(--nx-muted)}.nx-section-heading>a{font-weight:800;color:var(--nx-green)}
.nx-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.nx-shortcuts a{display:flex;align-items:center;gap:12px;padding:13px 15px;background:#fff;border:1px solid var(--nx-line);border-radius:14px;color:var(--nx-text);font-size:12px;font-weight:800}.nx-shortcuts a span{width:33px;height:33px;display:grid;place-items:center;border-radius:10px;background:#eff8ee;color:var(--nx-green);font-size:24px;line-height:1}
.nx-meal-list{background:#fff;border:1px solid var(--nx-line);border-radius:19px;padding:5px 19px;box-shadow:var(--nx-shadow)}.nx-meal{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #ebf1ec;color:var(--nx-text)}.nx-meal:last-child{border-bottom:0}.nx-meal-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f3f8f2;font-size:24px;flex:none}.nx-meal-text{flex:1;display:grid;gap:2px;min-width:0}.nx-meal-text strong{font-size:13px}.nx-meal-text small{font-size:11px;color:var(--nx-muted)}.nx-meal-energy{font-size:12px;color:var(--nx-green2);font-weight:800;white-space:nowrap}
.nx-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.nx-secondary-card{background:#fff;border:1px solid var(--nx-line);border-radius:16px;padding:17px;display:grid;gap:8px;color:var(--nx-text);min-width:0}.nx-secondary-card>span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#819e8b}.nx-secondary-card strong{font:750 20px Outfit,sans-serif;letter-spacing:-.03em}.nx-secondary-card small{font-size:11px;color:var(--nx-muted)}
.nx-dashboard-settings{margin:20px 0}.nx-settings-open{border:0;background:none;color:var(--nx-green);font-weight:750;text-decoration:underline;text-underline-offset:5px;font-size:12px;padding:9px 0}.nx-settings-panel{background:#fff;border:1px solid var(--nx-line);border-radius:16px;padding:20px;max-width:630px}.nx-settings-panel p{font-size:12px;color:var(--nx-muted);margin:5px 0 14px}.nx-widget-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;font-size:13px}.nx-widget-options label{display:flex;align-items:center;gap:8px}.nx-widget-options input{accent-color:var(--nx-green)}
.nx-quick{position:fixed;right:26px;bottom:27px;z-index:45;display:grid;justify-items:end;gap:10px}.nx-quick-trigger{border:none;width:55px;height:55px;border-radius:18px;background:var(--nx-green);color:#fff;font-size:34px;line-height:1;box-shadow:0 10px 22px #064e3b35;cursor:pointer}.nx-quick-trigger[aria-expanded=true]{transform:rotate(45deg)}.nx-quick-actions{display:grid;gap:8px;background:#fff;border:1px solid var(--nx-line);padding:11px;border-radius:17px;box-shadow:0 18px 48px #163b2a25}.nx-quick-actions[hidden]{display:none}.nx-quick-actions a{display:flex;align-items:center;gap:12px;border-radius:10px;padding:8px 12px;white-space:nowrap;font-size:13px;font-weight:750;color:var(--nx-green)}.nx-quick-actions a:hover{background:#edf7ef}
[data-widget][hidden]{display:none!important}.nx-nav-empty{font-size:12px;color:#668476;padding:12px}
@media(max-width:1180px){.nx-home-grid{grid-template-columns:1fr}.nx-energy{min-height:270px}.nx-side-metrics{grid-template-columns:1fr 1fr}.nx-shortcuts a{flex-direction:column;justify-content:center;gap:6px}.nx-secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.nutri-v19 .app-shell{margin-left:0}.nutri-v19 .nx-sidebar{position:fixed;top:0;bottom:0;left:0;width:min(82vw,320px);transform:translateX(-105%);transition:transform .23s ease;box-shadow:10px 0 35px #05261b20}.nutri-v19.nx-drawer-open .nx-sidebar{transform:translateX(0)}.nx-menu-close{display:grid}.nx-topbar .nx-menu-open{display:grid}.nx-topbar .mobile-brand{display:inline-flex;align-items:center;font-size:21px;color:var(--nx-green);font-weight:850}.nx-topbar .mobile-brand .logo-mark{width:30px;height:30px;font-size:22px}.nx-topbar .nx-page-label{display:none}.nutri-v19 .nx-topbar{height:63px;padding:0 18px}.nutri-v19 .main{padding:21px 17px 108px}.nutri-v19 .nx-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:55;display:grid;grid-template-columns:repeat(4,1fr);height:calc(63px + env(safe-area-inset-bottom));padding:5px 8px env(safe-area-inset-bottom);border-top:1px solid #e2ece6;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);box-shadow:0 -8px 30px #124b250a}.nx-bottom-nav a,.nx-bottom-nav button{border:0;background:none;color:#6c8979;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;text-decoration:none;font:700 11px 'DM Sans',sans-serif;min-width:0;border-radius:12px}.nx-bottom-nav a span,.nx-bottom-nav button span{font-size:26px;line-height:1.25;font-weight:400}.nx-bottom-nav a.selected{color:var(--nx-green);background:#ecf6ed}.nx-bottom-nav small{font:inherit}.nx-quick{right:17px;bottom:calc(82px + env(safe-area-inset-bottom))}.nx-quick-trigger{width:49px;height:49px;border-radius:16px;font-size:30px}.nx-quick-actions{box-shadow:0 12px 28px #163b2a29}}
@media(max-width:600px){.nutri-v19 .main{padding:19px 15px 120px}.nx-welcome{margin-bottom:18px}.nx-welcome h1{font-size:27px}.nx-welcome p{font-size:12px}.nx-outline-link{padding:8px 9px;font-size:11px}.nx-energy{border-radius:19px;padding:20px;min-height:250px}.nx-energy-ring{width:81px;height:81px}.nx-energy-ring:after{inset:8px}.nx-energy-ring strong{font-size:17px}.nx-energy h2{font-size:32px}.nx-energy h2 small{font-size:12px}.nx-macro-grid{gap:8px}.nx-macro span{font-size:10px}.nx-macro strong{font-size:10px;overflow:hidden;text-overflow:ellipsis}.nx-side-metrics{gap:10px}.nx-mini-card{padding:16px;border-radius:17px}.nx-mini-card>strong{font-size:27px}.nx-mini-top{font-size:9px}.nx-water-actions button{font-size:10px;padding:7px 4px}.nx-mini-link{font-size:11px}.nx-section-heading h2{font-size:19px}.nx-shortcuts{gap:8px}.nx-shortcuts a{padding:11px 4px;font-size:11px}.nx-shortcuts a span{width:30px;height:30px;font-size:21px}.nx-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nx-secondary-card{padding:14px}.nx-secondary-card strong{font-size:17px}.nx-widget-options{grid-template-columns:1fr}.nutri-v19 .content-card{padding:17px}.nutri-v19 .two-cols,.nutri-v19 .form-page{grid-template-columns:1fr}.nutri-v19 .page-heading{gap:10px}}
@media(max-width:370px){.nx-welcome .nx-outline-link{display:none}.nx-side-metrics{grid-template-columns:1fr 1fr}.nx-mini-card{padding:12px}.nx-water-actions{gap:3px}.nx-water-actions button{font-size:9px}.nx-topbar .nx-header-icon{display:none}.nx-meal-energy{font-size:10px}}
@media(prefers-reduced-motion:reduce){.nutri-v19 .nx-sidebar{transition:none!important}.nx-quick-trigger[aria-expanded=true]{transform:none}}
