
:root,[data-theme="app"]{--app-bg:#f5f7f4;--surface:#ffffff;--surface-sunken:#eef2ef;--surface-brand:#dde8e0;--surface-brand-hover:#eaf1ec;--line:#e3e8e4;--control-border:#77837c;--control-border-strong:#5f6b64;--text:#1d2621;--text-muted:#5f6b64;--text-subtle:#7a857e;--text-on-brand:#ffffff;--text-on-accent:#2b1705;--brand:#4f7a64;--brand-strong:#3e6650;--brand-hover:#456b58;--brand-active:#3a5c4b;--accent:#f4a259;--accent-hover:#e8913f;--accent-active:#d9832f;--accent-soft:#fbe7d2;--surface-accent-hover:#fdf1e4;--accent-ink:#7a3e0c;--accent-mark:#c9752b;--focus-ring:#2f5c47;--danger:#a32318;--danger-soft:#fbeae8;--danger-ink:#8e1f18;--warning-soft:#fdf0dc;--warning-ink:#7a4a10;--tag-definicion-bg:#dde8e0;--tag-definicion-ink:#35594a;--tag-volumen-bg:#fbe7d2;--tag-volumen-ink:#7a3e0c;--tag-mantenimiento-bg:#e7eaf0;--tag-mantenimiento-ink:#3f4a5c;--status-borrador-bg:#eef2ef;--status-borrador-ink:#5f6b64;--status-enviado-bg:#dde8e0;--status-enviado-ink:#35594a;--disabled-surface:#eef2ef;--disabled-border:#c6cec9;--overlay:rgba(29, 38, 33, 0.45);--paper:#fbfbf8;--paper-block:#f2f4f0;--paper-meal:#dde8e0;--paper-line:#c8d2cb;--shadow-raise:0 1px 2px rgba(29, 38, 33, 0.06);--shadow-lift:0 10px 28px -14px rgba(29, 38, 33, 0.28);--shadow-menu:0 14px 32px -12px rgba(29, 38, 33, 0.32)}
[data-theme="pdf"]{--app-bg:#fbfbf8;--surface:#fbfbf8;--surface-sunken:#f2f4f0;--line:#d9e0db;--shadow-raise:none;--shadow-lift:none;--shadow-menu:none}
:root{--space-05:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--stroke-hairline:1px;--stroke-control:1.5px;--stroke-icon-sm:1.35px;--stroke-focus:2px;--font-display:"Kangge", "Manrope", "Trebuchet MS", system-ui, sans-serif;--font-sans:"Manrope", ui-sans-serif, system-ui, "Segoe UI", Arial, sans-serif}
.logo{font-family:var(--font-display);font-size:30px;line-height:30px;font-weight:400;letter-spacing:0.005em}
.display-xl{font-family:var(--font-display);font-size:44px;line-height:46px;font-weight:400;letter-spacing:0}
.display-lg{font-family:var(--font-display);font-size:32px;line-height:36px;font-weight:400}
.display-md{font-family:var(--font-display);font-size:24px;line-height:30px;font-weight:400}
.title-lg{font-family:var(--font-sans);font-size:22px;line-height:28px;font-weight:700;letter-spacing:-0.01em}
.title-md{font-family:var(--font-sans);font-size:18px;line-height:24px;font-weight:700;letter-spacing:-0.005em}
.title-sm{font-family:var(--font-sans);font-size:16px;line-height:22px;font-weight:600}
.section{font-family:var(--font-sans);font-size:13px;line-height:18px;font-weight:600;letter-spacing:0.01em}
.body-lg{font-family:var(--font-sans);font-size:16px;line-height:26px;font-weight:400}
.body{font-family:var(--font-sans);font-size:15px;line-height:23px;font-weight:400}
.body-sm{font-family:var(--font-sans);font-size:13.5px;line-height:20px;font-weight:400}
.caption{font-family:var(--font-sans);font-size:12.5px;line-height:18px;font-weight:500}
.label{font-family:var(--font-sans);font-size:13.5px;line-height:18px;font-weight:600}
.button{font-family:var(--font-sans);font-size:15px;line-height:20px;font-weight:600;letter-spacing:0.002em}
.number-xl{font-family:var(--font-sans);font-size:34px;line-height:34px;font-weight:800;letter-spacing:-0.02em}
.number-lg{font-family:var(--font-sans);font-size:24px;line-height:26px;font-weight:700;letter-spacing:-0.015em}
.number-md{font-family:var(--font-sans);font-size:17px;line-height:22px;font-weight:700}
.number-sm{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:600}
.data{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:500}
.pdf-patient{font-family:var(--font-sans);font-size:19px;line-height:24px;font-weight:800;letter-spacing:-0.01em}
.pdf-meta{font-family:var(--font-sans);font-size:10px;line-height:14px;font-weight:500}
.pdf-meal{font-family:var(--font-sans);font-size:11.5px;line-height:14px;font-weight:700}
.pdf-food{font-family:var(--font-sans);font-size:10.5px;line-height:14px;font-weight:600}
.pdf-alt{font-family:var(--font-sans);font-size:9.5px;line-height:13px;font-weight:400}
.pdf-note{font-family:var(--font-sans);font-size:9.5px;line-height:13.5px;font-weight:400;font-style:italic}
.pdf-kcal{font-family:var(--font-sans);font-size:19px;line-height:19px;font-weight:800;letter-spacing:-0.02em}
.pdf-macro{font-family:var(--font-sans);font-size:11px;line-height:13px;font-weight:700}
.pdf-tag{font-family:var(--font-sans);font-size:8.5px;line-height:11px;font-weight:700;letter-spacing:0.01em}
.pdf-foot{font-family:var(--font-sans);font-size:8.5px;line-height:12px;font-weight:500}