.nutrition-page { --np-ink:#1b2d41; --np-muted:#435466; --np-line:#dfe7e2; color:var(--np-ink); min-width:0; container:nutrition / inline-size; margin-bottom:24px; }
.nutrition-page *, .np-dialog * { box-sizing:border-box; }
.nutrition-page h2, .nutrition-page h3, .nutrition-page h4, .np-dialog h3, .np-dialog h4 { margin:0; font-weight:500; line-height:1.45; color:#1b2d41; }
.nutrition-page h2 { font-size:23px; }
.nutrition-page h3, .np-dialog h3 { font-size:16px; }
.nutrition-page h4, .np-dialog h4 { font-size:13px; }
.nutrition-page p, .np-dialog p { margin:7px 0; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.nutrition-page .btn, .np-dialog .btn { font-size:12px; line-height:1.45; min-height:36px; padding:8px 12px; white-space:normal; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.nutrition-page .btn .dashicons, .np-dialog .btn .dashicons { font-size:17px; width:17px; height:17px; }
.nutrition-page [hidden], .np-dialog [hidden] { display:none!important; }
.np-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; border-radius:17px; background:#1b2d41; color:#fff; }
.np-hero h2 { color:#fff; margin:4px 0 8px; }
.np-hero p { margin:0; color:#d1dce4; max-width:550px; }
.np-eyebrow { display:block; font-size:10px; font-weight:500; color:#435466; line-height:1.5; letter-spacing:.2px; }
.np-hero .np-eyebrow { color:#c7e2d2; }
.np-hero .np-hero-button { background:#fff; color:#1b2d41; border-color:#fff; flex:none; }
.np-status { min-height:18px; margin:8px 0!important; color:#345f49; }
.np-status[data-error=true], .np-danger-text, [data-np-modal-error] { color:#923c38!important; }
.np-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin:12px 0 18px; }
.np-toolbar>.np-field { flex:1; max-width:430px; }
.np-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.np-badge { display:inline-block; padding:4px 9px; font-size:10px; line-height:1.5; color:#315b46; background:#ecf4ef; border-radius:7px; overflow-wrap:anywhere; }
.np-nav { display:flex; flex-wrap:wrap; gap:5px; padding:5px; margin:0 0 18px; background:#f1f5f2; border:1px solid #dfe7e2; border-radius:12px; }
.np-nav>.btn { background:transparent; border-color:transparent; color:#435466; flex:1; min-width:110px; }
.np-nav>.btn.is-active { background:#1b2d41; color:#fff; }
.np-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; min-width:0; }
.np-head>div:first-child { min-width:0; }
.np-head h3 { margin:3px 0; }
.np-head p { color:#435466; margin:3px 0 0; }
.np-card { border:1px solid #dfe7e2; border-radius:14px; background:#fff; padding:17px 18px; min-width:0; }
.np-empty { text-align:center; padding:25px 18px; }
.np-empty p { color:#435466; max-width:550px; margin:10px auto 15px; }
.np-note { font-size:11px!important; line-height:1.6!important; color:#435466; }
.np-callout { padding:11px 14px; border-left:3px solid #8abc9e; background:#f3f7f4; border-radius:0 9px 9px 0; margin-bottom:16px!important; }
.np-field { display:flex; flex-direction:column; align-items:stretch; gap:5px; min-width:0; font-size:12px; text-align:left; }
.np-field>span { font-size:11px; line-height:1.5; color:#435466; margin:0; }
.nutrition-page input, .nutrition-page select, .nutrition-page textarea, .np-dialog input, .np-dialog select, .np-dialog textarea { color:#1b2d41; min-width:0; width:100%; max-width:100%; font-family:inherit; border:1px solid #d3ded6; background:#fff; padding:7px 10px; border-radius:9px; font-size:13px; line-height:1.5; }
.nutrition-page input[type=checkbox], .nutrition-page input[type=radio], .np-dialog input[type=checkbox], .np-dialog input[type=radio] { width:16px; height:16px; min-width:16px; padding:0; accent-color:#1b2d41; flex:none; margin:0; }
.nutrition-page input[type=file], .np-dialog input[type=file] { height:auto; min-height:38px; padding:8px; font-size:11px; }
.nutrition-page textarea, .np-dialog textarea { resize:vertical; min-height:66px; height:66px; }
.nutrition-page .dictate-wrap, .np-dialog .dictate-wrap { width:100%; max-width:100%; }
.nutrition-page .dictate-wrap>input, .np-dialog .dictate-wrap>input { padding-right:85px!important; }
.nutrition-page .dictate-wrap>textarea, .np-dialog .dictate-wrap>textarea { padding-right:85px!important; }
.nutrition-page .np-field .dictate-wrap>input, .nutrition-page .np-field .dictate-wrap>textarea,
.np-dialog .np-field .dictate-wrap>input, .np-dialog .np-field .dictate-wrap>textarea { width:100%; max-width:100%; }
.np-grid2, .np-grid3 { display:grid; gap:12px 16px; min-width:0; }
.np-grid2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.np-grid3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.np-plan-fields { margin-bottom:13px; }
.np-plan-fields .np-note { margin-bottom:0; }
.np-profile { padding:0; margin-bottom:18px; }
.np-profile>summary { cursor:pointer; padding:14px 18px; color:#1b2d41; font-size:13px; line-height:1.6; }
.np-profile>summary small { font-size:10px; color:#435466; display:block; margin-left:13px; }
.np-profile-body { padding:0 18px 18px; }
.np-profile-body h4, .np-dialog h4 { margin:16px 0 10px; }
.np-profile-body .np-grid2 { margin-top:12px; }
.np-profile-more { margin-top:17px; }
.np-profile-more>summary, .np-food-data>summary { font-size:12px; cursor:pointer; line-height:1.6; }
.np-checks { display:flex; flex-wrap:wrap; gap:9px 15px; }
.np-check { display:flex; align-items:center; gap:8px; font-size:12px; color:#1b2d41; min-width:0; line-height:1.5; cursor:pointer; }
.np-check span { min-width:0; }
.np-check small, .np-food-result small, .np-ingredient small, .np-log-food small { display:block; color:#435466; font-size:10px; line-height:1.5; margin-top:4px; }
.np-builder-layout, .np-today-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:18px; align-items:start; }
.np-builder-layout>aside, .np-today-layout>aside { display:grid; gap:14px; min-width:0; }
.np-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; margin-bottom:14px; }
.np-days>.btn { padding:10px 2px; border:1px solid #dfe7e2; border-radius:9px; background:#fff; color:#435466; min-width:0; font-size:11px; }
.np-days>.btn.is-active { background:#1b2d41; color:#fff; border-color:#1b2d41; }
.np-days b { font-weight:500; }
.np-editor { padding:0; overflow:hidden; }
.np-meal-tabs { display:flex; flex-wrap:wrap; gap:3px; padding:9px; border-bottom:1px solid #dfe7e2; background:#f8faf8; }
.np-meal-tabs>.btn { flex:1 1 90px; min-height:34px; font-size:11px; border-color:transparent; background:transparent; padding:7px; }
.np-meal-tabs>.btn.is-active { background:#e8f1ec; color:#315b46; border-color:#d3e3d9; }
.np-editor-body { padding:17px 18px; }
.np-meal-controls { display:flex; align-items:center; gap:12px; }
.np-meal-controls input[type=time] { width:132px; }
.np-options { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.np-options>.btn { padding:6px 9px; font-size:11px; min-height:30px; background:#fff; }
.np-options>.btn.is-active { background:#e8f1ec; border-color:#9abaA7; color:#315b46; }
.np-ingredients { margin:14px 0; display:grid; gap:0; }
.np-ingredient, .np-log-food { display:grid; grid-template-columns:minmax(0,1fr) 105px 28px; align-items:center; gap:9px; padding:11px 0; border-bottom:1px solid #e8eeea; font-size:12px; }
.np-ingredient:first-child { padding-top:4px; }
.np-ingredient b, .np-log-food b, .np-food-result b { font-weight:500; }
.np-quantity { display:flex; align-items:center; gap:5px; min-width:0; font-size:10px; }
.np-quantity>input { width:78px; max-width:78px; padding-left:7px; padding-right:5px; }
.nutrition-page .np-icon-button, .np-dialog .np-icon-button { min-height:28px; padding:5px; border:0; background:transparent; color:#435466; }
.np-add-food { width:100%; margin:0 0 15px; border-style:dashed!important; background:#f8faf8; }
.np-editor-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-top:12px; }
.nutrition-page .np-text-button, .np-dialog .np-text-button { padding:4px 3px; min-height:28px; border-color:transparent; background:transparent; color:#315b46; }
.np-summary dl { margin:12px 0; }
.np-summary dl>div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 0; border-bottom:1px solid #e8eeea; }
.np-summary dt { font-size:11px; color:#435466; }
.np-summary dd { margin:0; font-size:12px; font-weight:500; }
.np-summary>p { margin-bottom:0; }
.np-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:12px; }
.np-tags>span { font-size:10px; padding:4px 7px; border-radius:6px; background:#ecf4ef; color:#315b46; }
.np-tip { background:#f6f8f5; }
.np-tip p { font-size:11px; color:#435466; }
.np-save-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:16px 0 0; }
.np-loader { display:flex; gap:9px; align-items:center; font-size:12px; color:#435466; margin-top:12px; }
.np-loader>span { width:17px; height:17px; border:2px solid #d3ded6; border-top-color:#315b46; border-radius:50%; animation:np-spin .8s linear infinite; }
@keyframes np-spin { to { transform:rotate(360deg); } }
.np-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:16px 0 20px; }
.np-stats article { border:1px solid #dfe7e2; padding:13px 15px; border-radius:12px; background:#fff; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.np-stats article>span { font-size:10px; color:#435466; line-height:1.5; }
.np-stats strong { font-size:22px; font-weight:500; line-height:1.4; display:block; }
.np-stats strong small { font-size:12px; font-weight:400; color:#435466; }
.np-today-meals { display:grid; gap:13px; }
.np-meal-card time { font-size:11px; color:#435466; }
.np-meal-card h4 { font-size:14px; margin:10px 0 9px; overflow-wrap:anywhere; }
.np-meal-card .np-head { margin-bottom:0; }
.np-meal-card .np-field { margin-top:11px; }
.np-food-list { list-style:none; margin:10px 0 0; padding:0; }
.np-food-list li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid #edf1ee; font-size:12px; }
.np-food-list li:last-child { border-bottom:0; }
.np-food-list li>span { min-width:0; overflow-wrap:anywhere; }
.np-food-list small { display:block; font-size:10px; color:#435466; line-height:1.55; margin-top:3px; }
.np-food-list b { flex:none; font-size:12px; font-weight:500; }
.np-prep { margin:10px 0 0!important; padding:9px 11px; border-radius:7px; background:#f4f7f4; color:#435466; font-size:11px!important; white-space:pre-wrap; }
.np-meal-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; }
.np-water { display:grid; gap:11px; }
.np-water>p { margin:0; }
.np-week-meals { display:grid; gap:13px; margin:15px 0; }
.np-balanced-row { display:grid; grid-template-columns:repeat(var(--cols),minmax(0,1fr)); gap:13px; align-items:stretch; }
.np-week-meals .np-meal-card { height:100%; }
.np-range { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin-bottom:14px; }
.np-range>.np-field { width:180px; max-width:100%; }
.np-shopping { display:grid; gap:13px; }
.np-shopping h4 { margin-bottom:5px; }
.np-shopping-row { display:grid; grid-template-columns:minmax(0,1fr) 112px 130px; gap:15px; align-items:center; padding:11px 0; border-bottom:1px solid #e8eeea; }
.np-shopping-row:last-child { border-bottom:0; }
.np-shopping-row .np-check { align-items:center; }
.np-shopping-amount { text-align:right; }
.np-shopping-amount small { display:block; font-size:10px; color:#435466; line-height:1.5; }
.np-shopping-amount b { display:block; font-size:13px; margin:3px 0; font-weight:500; }
.np-history { display:grid; gap:10px; }
.np-history-entry { padding:0; }
.np-history-entry>summary { display:flex; align-items:center; justify-content:space-between; gap:13px; padding:14px 17px; cursor:pointer; list-style:none; }
.np-history-entry>summary::-webkit-details-marker { display:none; }
.np-history-entry>summary>span:first-child { min-width:0; }
.np-history-entry>summary small, .np-team-plan>summary small { display:block; font-size:10px; color:#435466; margin:0 0 5px; }
.np-history-entry>summary b { font-size:13px; font-weight:500; }
.np-history-entry>div { padding:0 17px 17px; border-top:1px solid #e8eeea; }
.np-history-entry .np-tools { margin-top:13px; }
.np-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin:15px 0; font-size:12px; }
.np-water-history { margin-top:17px; }
.np-context { margin-top:14px; }
.np-context h4:not(:first-child) { margin-top:13px; }
.np-meal-photo { display:block; width:100%; max-width:300px; height:auto; max-height:260px; object-fit:contain; border-radius:10px; margin:11px 0; }
.nutrition-page .np-danger, .np-dialog .np-danger { color:#923c38; border-color:#e4c9c7; background:#fff; }
.np-dialog { font-family:inherit; color:#1b2d41; width:calc(100vw - 28px); max-width:680px; max-height:90dvh; padding:0; border:1px solid #d3ded6; border-radius:16px; overflow:auto; }
.np-dialog::backdrop { background:rgba(20,34,49,.5); }
.np-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 20px; border-bottom:1px solid #dfe7e2; background:#fff; position:sticky; top:0; z-index:2; }
.np-dialog-body { padding:18px 20px; }
.np-dialog-foot { display:flex; align-items:center; justify-content:flex-end; gap:9px; padding:13px 20px; border-top:1px solid #dfe7e2; background:#fff; position:sticky; bottom:0; z-index:2; }
.np-dialog [data-np-modal-error] { margin:0; padding:0 20px 10px; font-size:12px; }
.np-dialog [data-np-modal-error]:empty { display:none; }
.np-food-result { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-bottom:1px solid #e8eeea; font-size:12px; }
.np-food-result>div:first-child { min-width:0; }
.np-food-result>.np-tools { flex:none; }
.np-food-data { margin-top:16px; padding-top:13px; border-top:1px solid #dfe7e2; }
.np-food-data .np-grid2, .np-food-data .np-grid3 { margin:10px 0; }
.np-food-data>.np-field { margin:11px 0; }
.np-log-statuses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:12px 0 16px; }
.np-log-statuses .np-check { border:1px solid #dfe7e2; border-radius:9px; padding:10px; }
.np-log-statuses .np-check:has(input:checked) { background:#ecf4ef; border-color:#9abaa7; }
.np-log-food { grid-template-columns:minmax(0,1fr) 105px; }
.np-dialog [data-np-form=log]>.np-field, .np-dialog [data-np-form=log]>.np-grid2 { margin-top:13px; }
.np-sr { position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.np-print-frame { position:fixed; bottom:0; right:0; width:1px; height:1px; opacity:0; border:0; pointer-events:none; }
.np-team { margin-top:24px; }
.np-team-plan { padding:0; margin-bottom:12px; }
.np-team-plan>summary { display:flex; justify-content:space-between; align-items:center; gap:14px; cursor:pointer; padding:15px 18px; font-size:13px; }
.np-team-plan>summary strong { font-weight:500; display:block; }
.np-team-plan>summary small { margin:4px 0 0; }
.np-team-body { padding:0 18px 18px; }
.np-team-body>details { margin-top:14px; }
.np-team-body>details>summary { cursor:pointer; font-size:12px; padding:8px 0; }
.np-team-week { display:grid; gap:13px; }
.np-team-week article { border:1px solid #dfe7e2; border-radius:10px; padding:13px; }
.np-team-week article>div { margin-top:12px; }
.np-team-week b, .np-team-logs b { display:block; font-size:12px; font-weight:500; margin-top:4px; }
.np-team-profile b { font-weight:500; }
.np-team-week small, .np-team-logs small { display:block; font-size:10px; color:#435466; }
.np-team-logs>article { padding:13px 0; border-bottom:1px solid #dfe7e2; }
@container nutrition (max-width:900px) { .np-builder-layout, .np-today-layout { grid-template-columns:1fr; } .np-builder-layout>aside, .np-today-layout>aside { grid-template-columns:repeat(2,minmax(0,1fr)); } .np-toolbar { align-items:flex-start; flex-direction:column; } .np-toolbar>.np-field { width:100%; } }
@container nutrition (max-width:620px) { .np-hero { padding:18px; align-items:flex-start; flex-direction:column; gap:15px; } .np-hero h2 { font-size:21px; } .np-nav>.btn { flex:1 1 calc(33.33% - 6px); min-width:80px; font-size:11px; } .np-nav>.btn:nth-last-child(-n+2) { flex-basis:calc(50% - 6px); } .np-head { align-items:flex-start; flex-wrap:wrap; gap:12px; } .np-builder-layout>aside, .np-today-layout>aside, .np-grid3, .np-balanced-row { grid-template-columns:1fr; } .np-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .np-stats article { padding:11px 13px; } .np-stats strong { font-size:21px; } .np-card { padding:14px; } .np-editor, .np-profile, .np-history-entry, .np-team-plan { padding:0; } .np-editor-body, .np-profile-body { padding:14px; } .np-profile>summary { padding:12px 14px; } .np-shopping-row { grid-template-columns:minmax(0,1fr) 112px; gap:10px; } .np-shopping-row>.np-check { grid-column:1/-1; } .np-shopping-row>.np-field { max-width:120px; } .np-shopping-amount { text-align:right; } .np-meal-foot { flex-wrap:wrap; } .np-history-entry>summary { flex-wrap:wrap; padding:13px 14px; } .np-save-bar { align-items:stretch; flex-direction:column; } .np-range>.np-field { width:calc(50% - 6px); } .np-team-plan>summary { flex-wrap:wrap; } }
@container nutrition (max-width:420px) { .np-grid2 { grid-template-columns:1fr; } .np-days { gap:4px; } .np-days>.btn { padding:9px 0; font-size:10px; } .np-meal-controls { width:100%; justify-content:space-between; } .np-ingredient { grid-template-columns:minmax(0,1fr) 96px 23px; gap:6px; } .np-quantity>input { width:72px; max-width:72px; } .np-food-list li { align-items:flex-start; } }
@media (max-width:600px) { .np-dialog .np-grid2, .np-dialog .np-grid3 { grid-template-columns:1fr; } .np-dialog-head, .np-dialog-body { padding:14px; } .np-dialog-foot { padding:12px 14px; } .np-dialog [data-np-modal-error] { padding-left:14px; padding-right:14px; } .np-food-result { gap:8px; } .np-food-result>.np-tools { gap:4px; } .np-dialog .np-food-result .btn { font-size:11px; padding:6px; } .np-log-statuses { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .np-loader>span { animation:none; } }

/* El mismo constructor para paciente y nutricionista, con prioridad clínica. */
.nutrition-page .np-policy{margin:12px 0 16px;padding:13px 16px;border:1px solid #ccd8cf;border-left:3px solid #718b76;border-radius:10px;background:#f0f4ef;color:#233947;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.nutrition-page .np-policy b{display:block;font-weight:500;color:#183449;line-height:1.5}
.nutrition-page .np-policy p{margin:4px 0 0;font-size:12px;color:#384d5c}
.nutrition-page .np-published{display:flex;align-items:center;justify-content:space-between;gap:16px}
.nutrition-page .np-published>div{min-width:0}
.nutrition-page .np-published .btn{flex-shrink:0}
.nutrition-page .np-patient-select{max-width:420px;margin:16px 0}
.nutrition-page .np-days .btn small{display:block;font-size:10px;line-height:1.4;font-weight:400}
.nutrition-page .np-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}
.nutrition-page .np-context>div{min-width:0}
.nutrition-page .np-context h4{margin:0 0 5px;font-size:12px;color:#435566;font-weight:400}
.nutrition-page .np-context p{margin:0;line-height:1.65;font-size:13px;color:#1b2d41;white-space:pre-wrap;overflow-wrap:anywhere}
@container nutrition (max-width:600px){.nutrition-page .np-published{align-items:flex-start;flex-direction:column;gap:10px}.nutrition-page .np-context{grid-template-columns:1fr}.nutrition-page .np-policy{padding:12px}.nutrition-page .np-toolbar .np-tools{gap:7px}}

.nutrition-page .np-status:empty{min-height:0;margin:0!important}

.nutrition-page .btn:disabled{opacity:.55;cursor:not-allowed}

.nutrition-page .np-targets{margin-top:15px;padding-top:12px;border-top:1px solid #dfe7e2}.nutrition-page .np-targets h4{font-size:12px;margin-bottom:7px}.nutrition-page .np-targets dd{font-size:12px}

/* ==========================================================================
   Planes del formato anterior (solo lectura)
   ========================================================================== */
.np-legacy-plans{margin-bottom:18px;padding:20px}
.np-legacy-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.np-legacy-kicker{display:block;font-size:11px;font-weight:500;color:#7b8794;margin-bottom:3px}
.np-legacy-head h2{margin:0;font-size:19px;color:var(--navy)}
.np-legacy-head p{margin:5px 0 0;max-width:640px;color:#6d7885;font-size:12.5px;line-height:1.55}
.np-legacy-count{flex:0 0 auto;display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;background:#eef5f3;color:#2f6e5e;font-size:11px;font-weight:500;white-space:nowrap}
.np-legacy-list{display:grid;gap:10px}
.np-legacy-plan{border:1px solid #e3e8ed;border-radius:18px;background:#fff;overflow:hidden}
.np-legacy-plan[open]{border-color:#cfe0da}
.np-legacy-plan>summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:66px;padding:12px 16px;cursor:pointer;list-style:none}
.np-legacy-plan>summary::-webkit-details-marker{display:none}
.np-legacy-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:#eef5f3;color:#335f57}
.np-legacy-icon .dashicons,.np-legacy-arrow .dashicons{width:18px;height:18px;font-size:18px}
.np-legacy-title{min-width:0}
.np-legacy-title strong{display:block;font-size:14px;font-weight:500;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.np-legacy-title small{display:block;margin-top:3px;font-size:11px;color:#7b8794}
.np-legacy-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;background:#edf7f3;color:#2f6e5e;font-size:10.5px;font-weight:500;white-space:nowrap}
.np-legacy-arrow{display:grid;place-items:center;color:#8a94a0;transition:transform .18s ease}
.np-legacy-plan[open] .np-legacy-arrow{transform:rotate(90deg);color:var(--navy)}
.np-legacy-body{display:grid;gap:16px;padding:16px;border-top:1px solid #edf0f3}
.np-legacy-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0}
.np-legacy-facts>div{padding:10px 12px;border-radius:14px;background:#f7f9fb;border:1px solid #edf0f3;min-width:0}
.np-legacy-facts dt{font-size:10.5px;color:#8a94a0;margin-bottom:3px}
.np-legacy-facts dd{margin:0;font-size:13px;font-weight:500;color:#25394e;overflow-wrap:anywhere}
.np-legacy-menu h3,.np-legacy-notes h4{margin:0 0 10px;font-size:13px;font-weight:500;color:var(--navy)}
.np-legacy-menu .day-pills{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:thin}
.np-legacy-menu .day-pill{flex:0 0 auto;border:1px solid #e3e8ed;background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:12px;font-weight:500;color:#6d7885;cursor:pointer}
.np-legacy-menu .day-pill.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.np-legacy-menu .plan-day{display:none}
.np-legacy-menu .plan-day.is-active{display:block}
.np-legacy-menu .timeline{position:relative;padding-left:24px}
.np-legacy-menu .timeline::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(#e3e8ed,transparent)}
.np-legacy-menu .tl-item{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid #f1f3f5}
.np-legacy-menu .tl-item:last-child{border-bottom:0}
.np-legacy-menu .tl-item::before{content:"";position:absolute;left:-21px;top:15px;width:11px;height:11px;border-radius:50%;background:var(--c,var(--navy));box-shadow:0 0 0 4px color-mix(in srgb,var(--c,var(--navy)) 18%,white)}
.np-legacy-menu .tl-time{font-size:12.5px;font-weight:500;color:var(--c,var(--navy))}
.np-legacy-menu .tl-name{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;font-weight:500;color:#7b8794;margin-bottom:3px}
.np-legacy-menu .tl-kcal{padding:2px 7px;border-radius:999px;background:#f2f4f6;color:#25394e;font-size:10px}
.np-legacy-menu .food{font-size:13.5px;line-height:1.5;color:#25394e;overflow-wrap:anywhere}
.np-legacy-menu .food.empty{color:#a7b0ba;font-style:italic}
.np-legacy-menu .m-desayuno{--c:#3f7f6f}.np-legacy-menu .m-media{--c:var(--sage)}.np-legacy-menu .m-almuerzo{--c:var(--sand)}.np-legacy-menu .m-merienda{--c:var(--sky)}.np-legacy-menu .m-cena{--c:var(--navy)}
.np-legacy-goal{padding:12px 14px;border-radius:14px;background:#edf7f3;border:1px solid #d7ebe3}
.np-legacy-goal span{display:block;font-size:10.5px;color:#4f7f72;margin-bottom:3px}
.np-legacy-goal p{margin:0;font-size:14px;line-height:1.5;color:#1f3d36;font-weight:500}
.np-legacy-notes{columns:2 300px;column-gap:10px}
.np-legacy-notes article{break-inside:avoid;margin:0 0 10px;padding:12px 14px;border-radius:14px;background:#f7f9fb;border:1px solid #edf0f3}
.np-legacy-notes h4{margin-bottom:5px;font-size:11.5px;color:#6d7885}
.np-legacy-notes p{margin:0;font-size:13px;line-height:1.55;color:#25394e;overflow-wrap:anywhere}
@media (max-width:640px){
  .np-legacy-plans{padding:14px}
  .np-legacy-head{margin-bottom:12px}
  .np-legacy-head h2{font-size:17px}
  .np-legacy-plan>summary{grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;padding:12px 14px;min-height:60px}
  .np-legacy-icon{display:none}
  .np-legacy-body{padding:14px;gap:14px}
  .np-legacy-facts{grid-template-columns:1fr 1fr}
  .np-legacy-menu .tl-item{grid-template-columns:46px minmax(0,1fr);gap:10px}
  .np-legacy-notes{columns:1}
}
@media (max-width:380px){ .np-legacy-badge{display:none} }
.nutrition-page .np-checks + .np-grid2,.nutrition-page .np-checks + .np-grid3{margin-top:14px}
/* v2.6.5 · Resultado del guardado siempre visible. */
.np-toast { position:fixed; left:50%; bottom:24px; z-index:100000; display:flex; align-items:flex-start; gap:10px; width:max-content; max-width:min(560px, calc(100vw - 32px)); padding:12px 16px; border-radius:12px; background:#1b2d41; color:#fff; font-size:13px; line-height:1.5; box-shadow:0 12px 32px rgba(27,45,65,.22); transform:translateX(-50%); animation:np-toast-in .22s ease-out; }
.np-toast[hidden] { display:none; }
.np-toast[data-error=true] { background:#923c38; }
.np-toast.is-hiding { opacity:0; transform:translate(-50%, 8px); transition:opacity .25s, transform .25s; }
.np-toast-icon { display:grid; place-items:center; flex:none; width:20px; height:20px; margin-top:1px; border-radius:50%; background:rgba(255,255,255,.18); font-weight:600; font-size:12px; }
.np-toast-icon svg { width:13px; height:13px; }
@keyframes np-toast-in { from { opacity:0; transform:translate(-50%, 10px); } to { opacity:1; transform:translate(-50%, 0); } }
.np-save-bar .np-note[data-error=true] { color:#923c38; font-weight:500; }
@media (prefers-reduced-motion:reduce) { .np-toast { animation:none; } .np-toast.is-hiding { transition:none; } }
/* v2.6.6 · Borrador automático del constructor. */
.np-save-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.np-draft-state { font-size:11px; color:#5d6a79; }
.np-draft-state:empty { display:none; }
.np-policy.np-draft { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border-color:#cfe3d6; background:#f1f8f3; }
.np-policy.np-draft p { margin:2px 0 0; }
