:root{--brand-sky: #3e97e7;--brand: #4a5cfa;--brand-violet: #8c3cf4;--brand-deep: #3a45d6;--area-adesso: #3e97e7;--area-storia: #4a7bf0;--area-ristorante: #6a55f5;--area-impostazioni: #8c3cf4;--bg: #f4f6fc;--surface: #ffffff;--surface-2: #f7f9fe;--surface-brand: #eef2fe;--line: #e1e6f3;--line-strong: #c7cfe6;--ink: #131a33;--ink-soft: #545f87;--ink-faint: #7e88ab;--accent: #4a5cfa;--accent-ink: #ffffff;--accent-hover: #3a45d6;--accent-soft: #eef2fe;--ok: #0c7a54;--ok-bg: #e4f4ec;--danger: #c0362b;--danger-bg: #fbe7e4;--warn: #92650f;--warn-bg: #faf0d9;--info: #2a6ed0;--info-bg: #e7f0fd;--radius: 12px;--radius-sm: 8px;--radius-lg: 18px;--maxw: 30rem;--shadow-1: 0 1px 2px rgba(19, 26, 51, .04);--shadow-2: 0 1px 2px rgba(19, 26, 51, .05), 0 10px 28px -14px rgba(19, 26, 51, .18);--shadow-3: 0 2px 4px rgba(19, 26, 51, .06), 0 18px 44px -20px rgba(19, 26, 51, .26);--campo-breve: 9rem;--campo-data: 13rem;--campo-medio: 20rem;--campo-lungo: 32rem;--moto: .2s;--moto-curva: cubic-bezier(.22, .61, .36, 1);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}.shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2rem 1rem 4rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:var(--maxw);padding:1.75rem 1.5rem;margin-top:2rem}.brand{display:flex;align-items:center;gap:.5rem;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin:0 0 .9rem}.brand img{width:28px;height:28px;display:block}h1{font-size:1.5rem;line-height:1.25;margin:0 0 .5rem;font-weight:650}.lead{color:var(--ink-soft);margin:0 0 1.5rem}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:.35rem}.field{margin-bottom:1.1rem}.hint{color:var(--ink-soft);font-size:.82rem;margin:.35rem 0 0}input{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem}input:focus-visible,button:focus-visible{outline:3px solid #9bb8ff;outline-offset:2px}input[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:.82rem;margin:.35rem 0 0}button{font:inherit;font-weight:600;cursor:pointer;border-radius:10px;padding:.7rem 1rem;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink)}button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}button[disabled]{opacity:.55;cursor:not-allowed}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}.actions button{flex:1 1 auto;min-width:8rem}.notice{border-radius:10px;padding:.7rem .85rem;font-size:.9rem;margin-bottom:1.1rem}.notice.error{background:var(--danger-bg);color:var(--danger)}.notice.ok{background:var(--ok-bg);color:var(--ok)}.rules{list-style:none;padding:0;margin:.35rem 0 1.1rem;font-size:.85rem}.rules li{color:var(--ink-soft);padding-left:1.3rem;position:relative}.rules li:before{content:"○";position:absolute;left:0}.rules li.met{color:var(--ok)}.rules li.met:before{content:"●"}.readrow{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}.readrow:last-of-type{border-bottom:none}.readrow .k{color:var(--ink-soft);font-size:.85rem}.readrow .v{font-weight:600;text-align:right}.center-loading{color:var(--ink-soft);margin-top:25vh}.footer-link{margin-top:1.25rem;font-size:.85rem;color:var(--ink-soft)}.day-title{font-size:1.15rem;font-weight:600;margin:0 0 .35rem}.salience{list-style:none;padding:0;margin:1.5rem 0 0}.salience li+li{margin-top:.6rem}.salience-item{display:block;width:100%;text-align:left;font-weight:500;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:.9rem 1rem;overflow-wrap:anywhere}.salience-item:hover{border-color:var(--ink-soft)}.linklike{background:none;border:none;padding:0;color:var(--ink-soft);font-weight:600;text-decoration:underline;text-underline-offset:3px}.linklike:hover{color:var(--ink)}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a59;display:flex;align-items:flex-end;justify-content:center;padding:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:var(--maxw);max-height:90dvh;overflow-y:auto;padding:1.5rem 1.5rem 2rem}.panel h2{font-size:1.15rem;margin:0 0 .75rem}.panel .lead{margin-bottom:1rem}@media(min-width:40rem){.panel-backdrop{align-items:center;padding:1rem}.panel{border-radius:var(--radius)}}.readrow-solo{margin:0 0 1rem;font-weight:600}.choice{border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem .4rem;margin:0 0 1.1rem}.choice legend{font-size:.9rem;font-weight:600;padding:0 .35rem}.choice-row{display:flex;align-items:center;gap:.6rem;font-weight:400;margin-bottom:.6rem}.choice-row input{width:auto;margin:0;flex:none}.card.storia{max-width:var(--maxw)}.storia-gruppo+.storia-gruppo{margin-top:1.75rem}.storia-gruppo h2{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .6rem}.storia-righe{list-style:none;padding:0;margin:0}.storia-righe li+li{margin-top:.5rem}.storia-riga{display:block;width:100%;text-align:left;font-weight:500;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:.8rem 1rem;overflow-wrap:anywhere}.storia-riga:hover{border-color:var(--ink-soft)}.storia-riga[aria-current=true]{border-color:var(--ink);border-left-width:3px}.storia-detail{overflow-wrap:anywhere}.storia-detail h2{font-size:1.05rem;margin:0 0 .75rem}.storia-cols[data-aperto=no] .storia-detail,.storia-cols[data-aperto=si] .storia-list{display:none}@media(min-width:48rem){.card.storia{max-width:52rem}.storia-cols{display:grid;grid-template-columns:minmax(0,20rem) minmax(0,1fr);gap:2rem;align-items:start}.storia-cols[data-aperto=no] .storia-detail,.storia-cols[data-aperto=si] .storia-list{display:block}.storia-detail{border-left:1px solid var(--line);padding-left:2rem}}.linklike.secondaria{font-weight:400;color:var(--ink-soft);text-decoration-color:var(--line)}.sezione{font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:1.75rem 0 .6rem}.variazione-attiva{border-left:3px solid var(--ink);padding-left:.9rem;margin:1rem 0 0}.variazione-attiva .lead:last-child{margin-bottom:0}.orari{list-style:none;padding:0;margin:0}.orari li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--line)}.orari li:last-child{border-bottom:none}.orari .k{color:var(--ink-soft)}.orari .v{font-weight:600;text-align:right;overflow-wrap:anywhere}.orari .v.chiuso{font-weight:400;color:var(--ink-soft)}.chiusure{list-style:none;padding:0;margin:0 0 .9rem}.chiusure li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.35rem 0}.aggiungi-data{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.aggiungi-data .field{flex:0 1 12rem;margin-bottom:0}.radio{display:flex;align-items:baseline;gap:.6rem;padding:.55rem 0;cursor:pointer}.radio input{flex:none;width:1.05rem;height:1.05rem}.diff{list-style:none;padding:0;margin:0 0 1rem}.diff li{padding:.4rem 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.diff li:last-child{border-bottom:none}:root{--app-maxw: 76rem;--app-gutter: clamp(1rem, 3vw, 2.5rem);--area-colore: var(--brand)}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.app-topbar{position:sticky;top:0;z-index:20;background:var(--surface);box-shadow:var(--shadow-1)}.app-identita{display:flex;align-items:center;gap:.75rem;padding:.7rem var(--app-gutter)}.app-brand{display:flex;align-items:center;gap:.55rem;min-width:0}.app-marchio{width:30px;height:30px;display:block;flex:none}.app-brand-nome{font-size:1.02rem;font-weight:700;letter-spacing:-.015em;color:var(--ink)}.app-locale{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);font-size:.94rem;padding-left:.75rem;border-left:1px solid var(--line)}.app-exit{margin-left:auto;flex:none;font:inherit;font-size:.88rem;font-weight:600;color:var(--ink-soft);background:transparent;border:1px solid var(--line-strong);border-radius:var(--radius-pill, 999px);padding:.4rem .95rem;cursor:pointer;transition:color .14s linear,border-color .14s linear,background-color .14s linear}.app-exit:hover:not(:disabled){color:var(--ink);border-color:var(--ink-faint);background:var(--surface-2)}.app-exit:disabled{opacity:.55;cursor:default}.app-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}.app-nav-inner{position:relative}.app-nav ul{list-style:none;margin:0;padding:0;display:flex}.app-nav li{flex:1 1 0;min-width:0}.app-tab{width:100%;font:inherit;font-size:.95rem;font-weight:600;letter-spacing:-.005em;color:var(--ink-soft);background:transparent;border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:.95rem .5rem;min-height:3rem;cursor:pointer;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--moto) linear,background-color var(--moto) linear}.app-tab:hover:not(.attiva){color:var(--ink);background:var(--surface-2)}.app-tab.attiva{color:var(--area-colore)}.app-nav-indicatore{position:absolute;left:0;bottom:-1px;height:3px;width:25%;border-radius:3px 3px 0 0;background:var(--area-colore);transform:translate(calc(var(--indice, 0) * 100%));transition:transform var(--moto) var(--moto-curva),background-color var(--moto) linear}.app-main{flex:1;padding:2rem var(--app-gutter) 4rem;overflow-x:clip}.app-container{max-width:var(--app-maxw);margin:0 auto}@keyframes area-avanti{0%{opacity:0;transform:translate3d(12px,0,0)}}@keyframes area-indietro{0%{opacity:0;transform:translate3d(-12px,0,0)}}.app-container[data-verso=avanti]{animation:area-avanti var(--moto) var(--moto-curva) both}.app-container[data-verso=indietro]{animation:area-indietro var(--moto) var(--moto-curva) both}.app-heading{display:flex;align-items:flex-start;gap:1rem 1.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.app-heading h1{font-size:1.85rem;font-weight:700;letter-spacing:-.028em;line-height:1.12;margin:0;text-wrap:balance}.app-heading h1:after{content:"";display:block;width:2.25rem;height:3px;border-radius:3px;margin-top:.7rem;background:var(--area-colore)}.app-sub{margin:.55rem 0 0;color:var(--ink-soft);font-size:1rem;max-width:56ch}.app-heading-action{margin-left:auto}.app-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:1.6rem 1.75rem}.app-card+.app-card{margin-top:1.25rem}.app-card-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.15rem}.app-card-head h2{font-size:1.12rem;font-weight:700;letter-spacing:-.015em;margin:0}.app-card-desc{margin:.35rem 0 0;color:var(--ink-soft);font-size:.94rem;max-width:62ch}.app-vuoto{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:2.75rem 1.5rem 2.5rem}.app-vuoto-marchio{width:4.5rem;height:4.5rem;border-radius:50%;display:grid;place-items:center;margin-bottom:.9rem;background:radial-gradient(circle at 30% 25%,rgba(74,92,250,.14),transparent 62%),var(--surface-brand)}.app-vuoto-marchio img{width:2.25rem;height:2.25rem;display:block}.app-vuoto-titolo{margin:0;font-size:1.12rem;font-weight:700;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}.app-vuoto-testo{margin:0;color:var(--ink-soft);max-width:46ch}.app-vuoto-attesa{margin:.35rem 0 0;color:var(--ink-faint);font-size:.92rem;max-width:46ch}.app-vuoto-azione{margin-top:1.35rem}.app-azione-area{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.campo-breve{max-width:var(--campo-breve)}.campo-data{max-width:var(--campo-data)}.campo-medio{max-width:var(--campo-medio)}.campo-lungo{max-width:var(--campo-lungo)}.app-griglia{display:grid;gap:1.1rem 1.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),max-content));align-items:start}@media(min-width:60rem){.app-identita{padding-top:.85rem;padding-bottom:.85rem}.app-marchio{width:34px;height:34px}.app-brand-nome{font-size:1.1rem}.app-tab{font-size:1rem;padding:1.05rem .75rem}.app-heading h1{font-size:2.15rem}.app-card{padding:1.85rem 2rem}}@media(max-width:47.99rem){.app-identita{padding-top:.6rem;padding-bottom:.6rem;gap:.5rem}.app-marchio{width:26px;height:26px}.app-brand-nome{font-size:.98rem}.app-locale{font-size:.85rem;padding-left:.55rem}.app-exit{font-size:.82rem;padding:.35rem .75rem}.app-tab{font-size:.8rem;padding:.8rem .25rem;min-height:2.9rem;letter-spacing:-.01em}.app-main{padding:1.35rem var(--app-gutter) 3rem}.app-heading h1{font-size:1.5rem}.app-card{padding:1.25rem 1.15rem;border-radius:var(--radius)}.app-vuoto{padding:2rem .5rem 1.75rem}}@media(max-width:23.5rem){:root{--app-gutter: .6rem}.app-tab{font-size:.74rem;padding-left:.1rem;padding-right:.1rem}}.app-tab:focus-visible,.app-exit:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;border-radius:var(--radius-sm)}@media(min-width:48rem){.app .actions button{flex:0 0 auto;min-width:9rem}}.campi-griglia{display:grid;gap:0 1.5rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.campi-griglia .field input{max-width:none}.campi-numerici{display:flex;flex-wrap:wrap;gap:0 2.5rem}@media(prefers-reduced-motion:reduce){.app-nav-indicatore{transition:none}.app-container[data-verso=avanti],.app-container[data-verso=indietro]{animation:none}.app-tab,.app-exit{transition:none}}
