:root{--primary:#6750a4;--on-primary:#fff;--primary-container:#eaddff;--on-primary-container:#21005d;--secondary-container:#e8def8;--on-secondary-container:#1d192b;--surface:#fef7ff;--surface-low:#f7f2fa;--surface-high:#ece6f0;--on-surface:#1d1b20;--on-surface-variant:#49454f;--outline:#79747e;--error:#b3261e;--elev1:0 1px 2px #0000004d, 0 1px 3px 1px #00000026}@media (prefers-color-scheme:dark){:root{--primary:#d0bcff;--on-primary:#381e72;--primary-container:#4f378b;--on-primary-container:#eaddff;--secondary-container:#4a4458;--on-secondary-container:#e8def8;--surface:#141218;--surface-low:#1d1b20;--surface-high:#2b2930;--on-surface:#e6e0e9;--on-surface-variant:#cac4d0;--outline:#938f99;--error:#f2b8b5}}*{box-sizing:border-box}body{background:var(--surface);color:var(--on-surface);margin:0;font:400 16px/1.5 Roboto,system-ui,sans-serif}.icon{font-family:Material Symbols Outlined;font-size:24px;font-weight:400;line-height:1}.appbar{background:var(--surface-low);align-items:center;gap:16px;height:64px;padding:0 16px;font-size:22px;display:flex}.appbar .icon{color:var(--primary)}main{gap:16px;max-width:840px;margin:0 auto;padding:16px;display:grid}h2{margin:0;font-size:22px;font-weight:400}.muted{color:var(--on-surface-variant);margin:0;font-size:14px}.warn{color:var(--error);margin:0;font-size:14px}.card{background:var(--surface-low);box-shadow:var(--elev1);border-radius:12px;gap:20px;padding:16px;display:grid}.row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.field{position:relative}.field input,.field select{width:100%;height:56px;font:inherit;color:inherit;border:1px solid var(--outline);background:0 0;border-radius:4px;outline:none;padding:0 16px}.field input:focus,.field select:focus{border:2px solid var(--primary);padding:0 15px}.field input:invalid{border-color:var(--error)}.field label{color:var(--on-surface-variant);background:var(--surface-low);pointer-events:none;padding:0 4px;font-size:12px;position:absolute;top:-8px;left:12px}.field :focus+label{color:var(--primary)}.field input:invalid+label{color:var(--error)}.field select option{background:var(--surface-low)}.seg{border:1px solid var(--outline);border-radius:20px;justify-self:start;height:40px;display:inline-flex;overflow:hidden}.seg label{cursor:pointer;border-left:1px solid var(--outline);align-items:center;padding:0 20px;font-size:14px;font-weight:500;display:flex}.seg label:first-child{border-left:0}.seg label:has(:checked){background:var(--secondary-container);color:var(--on-secondary-container)}.seg label:has(:focus-visible){outline:2px solid var(--primary);outline-offset:-2px}.seg input{opacity:0;width:0;height:0;position:absolute}.btn{background:var(--primary);height:40px;color:var(--on-primary);cursor:pointer;border:0;border-radius:20px;align-items:center;gap:8px;padding:0 24px 0 16px;font:500 14px Roboto,system-ui,sans-serif;display:inline-flex}.btn:hover{box-shadow:var(--elev1);filter:brightness(1.08)}.btn:disabled{opacity:.38;cursor:default;box-shadow:none;filter:none}.actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{background:var(--primary-container);color:var(--on-primary-container);border-radius:12px;padding:16px}.stat-value{font-size:28px;line-height:1.2}.stat-value small{font-size:14px}.stat-label{opacity:.8;font-size:14px}.day{gap:8px;display:grid}.day h3{flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin:8px 0 0;font-size:16px;font-weight:500;display:flex}.day h3 small{color:var(--on-surface-variant);font-size:14px;font-weight:400}.meal{background:var(--surface-high);border-radius:12px}.meal summary{cursor:pointer;grid-template-columns:88px 1fr;gap:2px 12px;padding:12px 16px;list-style:none;display:grid}.meal summary::-webkit-details-marker{display:none}.meal-label{letter-spacing:.5px;text-transform:uppercase;color:var(--primary);grid-row:span 2;align-self:center;font-size:12px;font-weight:500}.meal-name{font-weight:500}.meal-kbju{color:var(--on-surface-variant);font-size:14px}.meal p{margin:0 16px 12px;font-size:14px}@media (width<=480px){.meal summary{grid-template-columns:1fr}.meal-label{grid-row:auto}}
