.dialog{align-items:flex-start;gap:var(--space-3);display:flex}.dialog__icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.35rem;display:inline-flex}.dialog__icon--danger,.dialog__icon--error{background:var(--color-danger-bg);color:var(--color-danger)}.dialog__icon--warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.dialog__icon--info{background:var(--color-primary-lighter);color:var(--color-primary)}.dialog__message{min-width:0;color:var(--color-muted);flex:1;padding-top:10px;font-size:.95rem;line-height:1.55}.dialog__message strong{color:var(--color-text)}.dialog__message ul{margin:var(--space-2) 0 0 var(--space-4)}.dialog__message p+p,.dialog__message p+ul,.dialog__message ul+p{margin-top:var(--space-2)}.dialog__error{margin-top:var(--space-4)}
.toast-region{right:var(--space-6);bottom:var(--space-6);z-index:300;gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(380px,100vw - 2rem);display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-toast-bg);color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:toast-in .32s var(--ease-spring);display:flex}.toast__icon{color:#4ade80;background:#4ade8029;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;display:inline-flex}.toast__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast__title{padding-top:1px;font-size:.92rem;font-weight:800;line-height:1.35}.toast__description{color:var(--color-text-tertiary);font-size:.8rem;line-height:1.4}.toast__close{color:var(--color-text-tertiary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:2px;font-size:1.1rem;display:inline-flex}.toast__close:hover{color:var(--color-surface)}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:640px){.toast-region{left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));width:auto}}
:root{--color-primary:#1e3a5f;--color-primary-hover:#152d4a;--color-primary-light:#2d5182;--color-primary-lighter:#e8edf4;--color-primary-soft:#1e3a5f29;--color-primary-text:#fff;--color-background:#f3f5fa;--color-surface:#fff;--color-surface-sunken:#f6f8fc;--color-text:#0f172a;--color-muted:#51607a;--color-text-tertiary:#94a3b8;--color-border:#e3e8f1;--color-border-strong:#cbd5e1;--color-border-light:#eff2f8;--color-success:#16a34a;--color-success-light:#ecfdf3;--color-success-tolerance:#65a30d;--color-success-tolerance-bg:#f5fde6;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-warning:#f59e0b;--color-warning-bg:#fffaeb;--color-warning-text:#78350f;--color-info-bg:#eef4fd;--color-overlay:#0f172a80;--color-toast-bg:#13233a;--tone:var(--color-primary);--tone-2:var(--color-primary-light);--tone-soft:var(--color-primary-lighter);--tone-ink:var(--color-primary);--tone-shadow:#1e3a5f47;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #1e3a5f0f, 0 2px 8px #1e3a5f0a;--shadow-md:0 2px 4px #1e3a5f0d, 0 8px 24px #1e3a5f14;--shadow-lg:0 4px 8px #1e3a5f0f, 0 16px 36px #1e3a5f1f;--shadow-glow:0 0 0 4px var(--color-primary-soft);--shadow-xl:0 24px 48px #0f172a33;--shadow-top:0 -6px 18px #1e3a5f0f;--shadow-tone:0 2px 6px -3px var(--tone-shadow);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--content-max:960px}:root,[data-tone]{--tone-wash:color-mix(in srgb, var(--tone-soft) 45%, var(--color-surface))}[data-tone=alimentazione],[data-tone=pasti]{--tone:#1fae78;--tone-2:#7dd87a;--tone-soft:#e6f8ef;--tone-ink:#0d7450;--tone-shadow:#1fae7866}[data-tone=attivita],[data-tone=allenamenti]{--tone:#ff7442;--tone-2:#ffb547;--tone-soft:#fff0e8;--tone-ink:#b93d0d;--tone-shadow:#ff74426b}[data-tone=digiuno]{--tone:#8b5cf6;--tone-2:#c084fc;--tone-soft:#f3eeff;--tone-ink:#6331d0;--tone-shadow:#8b5cf666}[data-tone=ingredienti]{--tone:#f5a100;--tone-2:#ffd24d;--tone-soft:#fff5db;--tone-ink:#945400;--tone-shadow:#f5a1006b}[data-tone=spesa]{--tone:#6366f1;--tone-2:#8b9cff;--tone-soft:#eef0ff;--tone-ink:#4338ca;--tone-shadow:#6366f166}[data-tone=pianificazione]{--tone:#3b97f0;--tone-2:#6fc8ff;--tone-soft:#e7f2fe;--tone-ink:#175fa8;--tone-shadow:#3b97f066}[data-tone=piatti]{--tone:#12b3a2;--tone-2:#5fdcc2;--tone-soft:#e0f7f3;--tone-ink:#0b6e64;--tone-shadow:#12b3a266}*{box-sizing:border-box;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;font-family:var(--font-nunito-sans), system-ui, -apple-system, sans-serif;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(80% 50% at 0 0,#8b5cf606,#0000 70%),radial-gradient(70% 45% at 100% 0,#1fae7806,#0000 70%);background-repeat:no-repeat;background-attachment:fixed;flex-direction:column;display:flex}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);transition:background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .2s var(--ease-spring);border:1px solid #0000;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-primary-text);box-shadow:0 4px 12px -4px #1e3a5f8c}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 6px 16px -4px #1e3a5f99}.btn--secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border);box-shadow:var(--shadow-sm)}.btn--secondary:hover:not(:disabled){background:var(--color-primary-lighter);border-color:var(--color-primary-lighter)}.btn--danger{color:var(--color-danger);background:0 0}.btn--danger:hover:not(:disabled){background:var(--color-danger-bg)}.btn--danger-fill{background:var(--color-danger);color:var(--color-surface);box-shadow:0 4px 12px -4px #dc26268c}.btn--danger-fill:hover:not(:disabled){background:var(--color-danger-hover)}.btn--ghost{color:var(--color-muted);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-primary-lighter);color:var(--color-primary)}.btn--sm{min-height:36px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:.85rem}.page{width:100%;max-width:var(--content-max);padding:var(--space-6);gap:var(--space-6);flex-direction:column;flex:1;margin:0 auto;display:flex}.page__error{color:var(--color-danger);text-align:center;padding:var(--space-4);background:var(--color-danger-bg);border-radius:var(--radius-lg);font-weight:600}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid #0000;font-size:.9rem;line-height:1.45;display:flex}.alert svg{flex-shrink:0;margin-top:2px}.alert__body{flex:1;min-width:0}.alert__actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.alert--error{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:#fde3a1}.alert--info{background:var(--color-info-bg);color:var(--color-primary);border-color:#d8e4f5}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}@media (max-width:640px){.btn{min-height:48px;padding:var(--space-3) var(--space-4)}.btn--sm{min-height:40px}.page{padding:var(--space-4) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom,0px));gap:var(--space-5)}}@media (prefers-reduced-motion:reduce){.btn{transition:none}.btn:active:not(:disabled){transform:none}}.page-header{--page-header-gap:0}.page-header .page-header-title{letter-spacing:-.015em;color:var(--color-text);font-size:clamp(1.5rem,1.1rem + 2vw,1.9rem);font-weight:800;line-height:1.15}.page-header .page-header-title:after{content:"";width:40px;height:5px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--tone), var(--tone-2));display:block}.page-header .page-header-description{max-width:60ch;margin-top:var(--space-2);color:var(--color-muted);font-size:.95rem}.page-header .page-header-back{box-shadow:var(--shadow-sm);font-weight:700}@media (max-width:640px){.page-header .page-header-actions .btn{border-radius:var(--radius-lg);min-height:52px}}
