:root{--bg:#faf9f6;--surface:#fff;--surface-sunk:#f2f0ea;--text:#1c1b19;--text-2:#6b6862;--line:#e5e2da;--line-dashed:#d6d2c8;--mark:#8a8780;--accent:#9a5b3f;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font:16px/1.5 var(--sans);letter-spacing:0;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:wait;opacity:.65}#root{min-height:100svh}h1,p{margin:0}.auth-page,.today-page{width:min(100%,720px);min-height:100svh;margin:0 auto;padding:28px 18px}.auth-page{align-items:center;display:grid}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:24px}.eyebrow{color:var(--text-2);text-transform:uppercase;font-size:.78rem;font-weight:500}.auth-panel h1,.today-header h1{color:var(--text);letter-spacing:0;margin-top:8px;font-size:clamp(1.6rem,6vw,2.45rem);font-weight:500;line-height:1.08}.auth-panel form{margin-top:26px}.auth-panel label{color:var(--text-2);margin-bottom:8px;font-weight:500;display:block}.login-row{gap:10px;display:flex}.login-row input{border:1px solid var(--line);min-width:0;color:var(--text);background:#fff;border-radius:8px;flex:1;padding:12px 13px}.login-row button{background:var(--text);color:var(--bg);white-space:nowrap;border-radius:8px;min-height:44px;padding:12px 16px;font-weight:500}.status{color:var(--text-2);margin-top:16px}.today-header{padding:16px 2px 22px}.meal-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.meal-row{grid-template-columns:18px 1fr;align-items:start;gap:12px;min-height:4rem;padding:16px;display:grid}.meal-dot{background:var(--text);border-radius:999px;width:6px;height:6px;margin-top:7px}.meal-row.planifie .meal-dot{background:var(--mark)}.meal-row.empty .meal-dot{border:1px solid var(--line);background:0 0}.meal-slot{color:var(--text-2);font-size:.84rem;font-weight:500}.meal-content{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:1.05rem;display:-webkit-box;overflow:hidden}.meal-row.empty .meal-content,.meal-row.planifie .meal-content{color:var(--text-2)}.meal-content.uncertain{font-style:italic}@media (width<=560px){.auth-page,.today-page{padding:20px 14px}.login-row{flex-direction:column}.login-row button{min-height:46px}}
