/* assets/style.css */
[hidden]{display:none!important}
@font-face{font-family:"Jost";src:url("/assets/jost.woff2") format("woff2");font-weight:300 700;font-display:swap}
:root{
  --blue:#004AAD; --blue-d:#003A88; --green:#95C11F; --green-ink:#4E6B00;
  --bg:#F2F5FA; --surface:#FFFFFF; --surface-2:#F1F5FB; --ink:#0D1A2D; --muted:#56677E; --line:#D6DFEB;
  --soft:#E7EEF9; --danger:#B42318; --danger-soft:#FDECEA; --taken:#EDF0F4; --hero:#004AAD;
  --font:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  box-sizing:border-box;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --blue:#6FA6F5; --blue-d:#8DB9F7; --green:#A6D12E; --green-ink:#C8E86A;
    --bg:#0C1422; --surface:#142035; --surface-2:#1B2A45; --ink:#EAF0FA; --muted:#9CACC3; --line:#27354E;
    --soft:#1B2B46; --danger:#FF9A90; --danger-soft:#3A1C1C; --taken:#19233A; --hero:#0A2F66;
  }
}
:root[data-theme="dark"]{--blue:#6FA6F5;--blue-d:#8DB9F7;--green:#A6D12E;--green-ink:#C8E86A;--bg:#0C1422;--surface:#142035;--surface-2:#1B2A45;--ink:#EAF0FA;--muted:#9CACC3;--line:#27354E;--soft:#1B2B46;--danger:#FF9A90;--danger-soft:#3A1C1C;--taken:#19233A;--hero:#0A2F66}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%;height:auto}
a{color:var(--blue)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;z-index:20}
.skip:focus{left:8px}
.muted{color:var(--muted)} .small{font-size:15px}

/* header */
header.site{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;padding-top:env(safe-area-inset-top,0px)}
.bar{max-width:1080px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand img{width:40px;height:auto}
.brand b{display:block;font-weight:500;font-size:19px;line-height:1.1}
.brand small{display:block;font-size:13.5px;color:var(--muted)}
.bar-actions{display:flex;gap:8px;align-items:center}
.call{display:flex;gap:6px;align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:16px}
.call svg{width:18px;height:18px;color:var(--blue)}
.btn-book{background:var(--blue);color:var(--on-blue);text-decoration:none;border-radius:999px;padding:8px 18px;font-weight:500;font-size:16px}
@media (max-width:600px){.call span{display:none}.call{padding:9px}.brand small{display:none}}
.menu{max-width:1080px;margin:0 auto;padding:0 18px 8px;display:flex;gap:18px;overflow-x:auto;font-size:15.5px;scrollbar-width:none}
.menu a{color:var(--muted);text-decoration:none;white-space:nowrap}
.menu a:hover{color:var(--blue)}

/* hero */
.hero{background:var(--hero);color:#fff;position:relative;overflow:hidden}
.hero-in{max-width:1080px;margin:0 auto;padding:54px 18px 60px;position:relative;z-index:1}
.hero h1{font-weight:300;font-size:clamp(32px,6vw,58px);line-height:1.06;letter-spacing:-.005em;margin:0;max-width:15ch}
.hero-s h1{font-size:clamp(30px,5vw,48px);max-width:18ch}
.hero .lead{font-size:clamp(18px,2.2vw,21px);max-width:58ch;margin:18px 0 26px;opacity:.92}
.hero a{color:#fff}
.hero-note{font-size:16px;opacity:.85;margin:14px 0 0}
.cta{display:inline-block;background:var(--green);color:#10200A!important;text-decoration:none;font-weight:500;border-radius:12px;padding:14px 24px;font-size:18px}
.cta:hover{filter:brightness(1.05)}
.crumbs{font-size:15px;opacity:.85;margin-bottom:12px}
.crumbs a{color:#fff}
.facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin:0 0 24px}
.facts div{border-left:3px solid var(--green);padding-left:10px}
.facts dt{font-size:14px;opacity:.8}
.facts dd{margin:0;font-size:18px}
.price{font-size:18px;margin:-8px 0 22px}
.plus[aria-hidden]{position:absolute;right:-60px;bottom:-70px;width:300px;height:300px;pointer-events:none}
.plus[aria-hidden]::before,.plus[aria-hidden]::after{content:"";position:absolute;background:var(--green)}
.plus[aria-hidden]::before{left:100px;top:0;width:100px;height:300px}
.plus[aria-hidden]::after{left:0;top:100px;width:300px;height:100px}
@media (max-width:700px){.plus[aria-hidden]{width:150px;height:150px;right:-50px;bottom:-50px}.plus[aria-hidden]::before{left:50px;width:50px;height:150px}.plus[aria-hidden]::after{top:50px;height:50px;width:150px}}

/* content */
.content{max-width:760px;margin:0 auto;padding:10px 18px 20px}
.content section{margin:40px 0}
.content h2,.faq h2{font-weight:500;font-size:clamp(24px,3.2vw,30px);line-height:1.2;margin:0 0 14px}
.content p,.content li{max-width:68ch}
.content ul{padding-left:22px}
.content li{margin:6px 0}
.steps-list{counter-reset:s;list-style:none;padding:0}
.steps-list li{counter-increment:s;position:relative;padding-left:48px;margin:14px 0}
.steps-list li::before{content:counter(s);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:50%;background:var(--soft);color:var(--blue);font-weight:500;display:grid;place-items:center}
.svc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:620px){.svc-grid{grid-template-columns:1fr}}
.svc-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:var(--ink)}
.svc-card:hover{border-color:var(--blue)}
.svc-card b{display:block;font-weight:500;font-size:19px}
.svc-card span{display:block;color:var(--muted);font-size:16px;margin:4px 0 10px}
.svc-card em{font-style:normal;font-size:14px;color:var(--green-ink);background:rgba(149,193,31,.16);border-radius:6px;padding:2px 8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px}
@media (max-width:700px){.split{grid-template-columns:1fr}}
.table-wrap{overflow-x:auto;margin:10px 0}
table{border-collapse:collapse;width:100%;background:var(--surface);border-radius:12px;overflow:hidden;font-size:16px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:500;background:var(--soft)}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;padding:12px 0;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details div{padding:0 0 14px;color:var(--muted)}
.links{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.links a{display:inline-block;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px;text-decoration:none}
.prose h1{font-weight:400;font-size:34px;line-height:1.15;margin:30px 0 10px}
.prose h2{font-size:22px!important;margin-top:28px!important}

/* booking */
.booking{background:var(--soft);padding:40px 0 46px;margin:0}
.booking-in{max-width:760px;margin:0 auto;padding:0 18px}
.booking h2{font-weight:500;font-size:clamp(26px,3.6vw,34px);margin:0}
.lead-s{margin:4px 0 18px;color:var(--muted)}
.steps{display:flex;gap:8px;margin:6px 0 18px}
.steps div{flex:1;font-size:14px;color:var(--muted)}
.steps div::before{content:"";display:block;height:4px;border-radius:4px;background:var(--line);margin-bottom:6px}
.steps .on{color:var(--ink);font-weight:500}
.steps .on::before{background:var(--blue)}
.steps .done::before{background:var(--green)}
.bk h3{font-weight:500;font-size:21px;margin:4px 0 12px}
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:560px){.services{grid-template-columns:1fr}}
.svc{text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:14px;display:flex;gap:12px;align-items:flex-start}
.svc:hover{border-color:var(--blue)}
.svc[aria-pressed="true"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.svc svg{flex:0 0 36px;width:36px;height:36px;color:var(--blue)}
.svc b{display:block;font-weight:500;font-size:17.5px}
.svc span{display:block;color:var(--muted);font-size:14.5px;line-height:1.4;margin-top:2px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 4px}
@media (max-width:560px){.choice{grid-template-columns:1fr}}
.choice button{text-align:left;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:14px}
.choice button b{display:block;font-weight:500}
.choice button span{display:block;font-size:14.5px;color:var(--muted)}
.choice button[aria-pressed="true"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}
.day{flex:0 0 68px;scroll-snap-align:start;border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:8px 4px;text-align:center;line-height:1.15}
.day small{display:block;font-size:13px;color:var(--muted)}
.day strong{display:block;font-size:24px;font-weight:500;margin:2px 0}
.day em{display:block;font-style:normal;font-size:12px;color:var(--green-ink)}
.day[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.day[aria-pressed="true"] small,.day[aria-pressed="true"] em{color:#fff}
.day:disabled{opacity:.45;cursor:not-allowed}
.day:disabled em{color:var(--muted)}
.period{font-size:15px;color:var(--muted);margin:14px 0 8px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.slot{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:10px 0;font-size:17px;font-variant-numeric:tabular-nums}
.slot:hover:not(:disabled){border-color:var(--blue)}
.slot[aria-pressed="true"]{background:var(--blue);color:var(--on-blue);border-color:var(--blue)}
.slot:disabled{background:var(--taken);color:var(--muted);text-decoration:line-through;cursor:not-allowed;border-color:transparent}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px}
.summary{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin-bottom:14px}
.summary svg{width:34px;height:34px;color:var(--blue);flex:0 0 34px}
.summary .big{font-size:19px;font-weight:500}
label.f{display:block;margin:0 0 14px}
label.f>span{display:block;font-size:15px;margin-bottom:5px}
.opt{color:var(--muted);font-size:14px}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=time],input[type=number],input[type=password],select,textarea{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:11px 12px;font-size:17px}
input[type=file]{width:100%;font-size:15px;padding:10px;border:1.5px dashed var(--line);border-radius:10px;background:var(--bg)}
textarea{min-height:74px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.ricetta-box{border:1px solid var(--line);background:var(--bg);border-radius:14px;padding:14px 14px 2px;margin:4px 0 16px}
.ricetta-box h4{margin:0 0 10px;font-weight:500;font-size:17px}
.ticket{border-radius:12px;padding:12px 14px;margin:0 0 14px;background:rgba(149,193,31,.15);font-size:16px}
.ticket b{font-weight:500;font-size:20px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:6px 0 16px}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--blue);flex:0 0 20px}
.hp{position:absolute;left:-5000px}
.btn{border:0;border-radius:12px;padding:13px 20px;font-size:17px;font-weight:500;background:var(--blue);color:var(--on-blue);text-decoration:none;display:inline-block}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.ghost{background:var(--surface);color:var(--blue);border:1.5px solid var(--line)}
.btn.danger{background:var(--danger-soft);color:var(--danger)}
.btn.sm{padding:8px 14px;font-size:15px;border-radius:10px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}
.back{background:none;border:0;color:var(--blue);padding:4px 0;font-size:16px;margin-bottom:6px}
.err{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:10px 12px;font-size:15px;margin:10px 0}
.ok-box{text-align:center;padding:28px 18px}
.tick{width:64px;height:64px;border-radius:50%;background:var(--green);display:grid;place-items:center;margin:0 auto 14px}
.tick svg{width:34px;height:34px;color:#fff}
.ok-box .big{font-size:22px;font-weight:500;margin:6px 0}
.code{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-weight:500}

/* footer */
footer.site{background:var(--surface);border-top:1px solid var(--line);margin-top:40px}
.foot-in{max-width:1080px;margin:0 auto;padding:30px 18px 10px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;font-size:16px}
@media (max-width:760px){.foot-in{grid-template-columns:1fr;gap:6px}}
.foot-in b{font-weight:500}
.legal{max-width:1080px;margin:0 auto;padding:6px 18px 26px;font-size:13.5px;color:var(--muted)}

/* gestione */
.adm{max-width:980px;margin:0 auto;padding:10px 18px 60px}
.adm h1{font-weight:400;font-size:28px;margin:18px 0 4px}
.adm-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.subtabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:16px 0 14px;overflow-x:auto}
.subtabs button{background:none;border:0;padding:10px 12px;border-bottom:3px solid transparent;color:var(--muted);white-space:nowrap;font-size:16px}
.subtabs button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--blue);font-weight:500}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 14px}
.toolbar input[type=date],.toolbar select{width:auto}
.stats{display:flex;gap:18px;flex-wrap:wrap;font-size:15px;color:var(--muted);margin:4px 0 12px}
.stats b{color:var(--ink);font-weight:500;font-size:18px;margin-right:4px}
.agenda{display:flex;flex-direction:column;gap:6px}
.ag{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:16px}
.ag .t{font-variant-numeric:tabular-nums;font-weight:500}
.ag.free{background:transparent;border-style:dashed}
.ag.blocked{background:var(--taken);border-color:transparent}
.ag.dim{opacity:.6}
.ag .who{min-width:0}
.ag .who b{font-weight:500}
.ag .who div{font-size:14.5px;color:var(--muted);overflow-wrap:anywhere}
.ag .svcs{font-size:13.5px;color:var(--muted)}
@media (max-width:560px){.ag{grid-template-columns:50px 1fr}.ag>.actions,.ag>button{grid-column:1/-1}}
.tag{display:inline-block;font-size:12.5px;border-radius:6px;padding:1px 7px;background:var(--soft);color:var(--blue);margin-left:6px;vertical-align:1px;white-space:nowrap}
.tag.g{background:rgba(149,193,31,.2);color:var(--green-ink)}
.tag.r{background:var(--danger-soft);color:var(--danger)}
.box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px}
.box h3{margin:0 0 8px;font-weight:500;font-size:18px}
.fascia{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:8px 0;border-top:1px dashed var(--line)}
.fascia:first-of-type{border-top:0}
.fascia input[type=time]{width:112px;padding:7px 8px;font-size:16px}
.fascia label{display:inline-flex;gap:5px;align-items:center;font-size:15px}
.fascia input[type=checkbox],.svcrow input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}
.x{border:0;background:var(--taken);border-radius:8px;padding:5px 10px;font-size:14px}
.grid-svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.inline-check{display:inline-flex;gap:8px;align-items:center;font-size:15px;margin-right:14px}
dialog{border:0;border-radius:18px;padding:0;width:min(520px,calc(100% - 20px));max-height:calc(100% - 30px);background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgba(0,20,60,.35)}
dialog::backdrop{background:rgba(5,15,35,.55)}
dialog .card{border:0}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:12px;font-size:15px;z-index:30;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw}
.toast.show{opacity:1}
.login{max-width:380px;margin:60px auto;padding:0 18px}
.login img{width:90px;margin:0 auto 16px}.login img.logo-light{display:block}
@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{header.site,.subtabs,.toolbar,.no-print,footer.site{display:none!important}.ag{break-inside:avoid;border:1px solid #999}}

/* logo chiaro/scuro */
.logo-dark{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo-light{display:none}:root:not([data-theme="light"]) .logo-dark{display:block}}
:root[data-theme="dark"] .logo-light{display:none}
:root[data-theme="dark"] .logo-dark{display:block}

/* prezzi e WhatsApp nel widget */
.svc .price{display:block;font-style:normal;font-weight:500;color:var(--blue);font-size:14.5px;margin-top:5px}
.wa-check{background:var(--soft);padding:12px 14px;border-radius:12px;align-items:center}
.wa-check svg{flex:0 0 20px}
.wa-note{display:flex;gap:8px;align-items:center;justify-content:center}
.wa-note svg{flex:0 0 20px}
/* gestione: WhatsApp */
.tag.wa{background:#E3F7EA;color:#11643A}
.tag.wa-err{background:var(--danger-soft);color:var(--danger)}
.btn.wa-btn{background:#25D366;border-color:#25D366;color:#06301A}
.btn.wa-btn.done{background:transparent;color:var(--muted);border-color:var(--line)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag.wa{background:#12301F;color:#7FE0A6}}
:root[data-theme="dark"] .tag.wa{background:#12301F;color:#7FE0A6}
.remind li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line)}
.remind ul{list-style:none;margin:8px 0 0;padding:0}

/* ================= movimento leggero =================
   Un solo momento all'apertura (il riquadro blu iniziale), poi solo movimenti
   che rispondono a un'azione: cambio passo, scelta, conferma. */
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
@keyframes tickin{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@keyframes draw{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
@keyframes breathe{50%{opacity:.45}}
@keyframes plusin{from{opacity:0;transform:scale(.85) rotate(-8deg)}to{opacity:1;transform:none}}

.hero-in>*{animation:rise .6s cubic-bezier(.2,.7,.2,1) both}
.hero-in>*:nth-child(2){animation-delay:.08s}
.hero-in>*:nth-child(3){animation-delay:.16s}
.hero-in>*:nth-child(4){animation-delay:.24s}
.hero .plus{animation:plusin 1.1s cubic-bezier(.2,.7,.2,1) .1s both}

.bk.enter{animation:reveal .28s cubic-bezier(.2,.7,.2,1) both}
.grow{animation:reveal .3s cubic-bezier(.2,.7,.2,1) both}
.fade{animation:fadein .22s ease both}
.pop{animation:pop .22s ease}
.loading{animation:breathe 1.2s ease-in-out infinite}
.ok-box .tick{animation:tickin .45s cubic-bezier(.2,.7,.2,1) both}
.ok-box .tick .draw{stroke-dasharray:24;stroke-dashoffset:24;animation:draw .4s ease-out .25s forwards}
.ok-box>*:not(.tick){animation:fadein .4s ease .15s both}

.svc,.choice button,.day,.slot,.btn,.btn-book,.call,.back{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .12s ease,color .16s ease}
.btn:active,.btn-book:active,.svc:active,.choice button:active,.day:active,.slot:not(:disabled):active{transform:scale(.98)}
.btn:hover{filter:brightness(1.06)}
header.site{transition:box-shadow .2s ease}
header.site.scrolled{box-shadow:0 6px 18px rgba(8,30,70,.08)}
.faq details[open]>div{animation:reveal .22s ease both}
#prenota{scroll-margin-top:110px}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important}
  .ok-box .tick .draw{stroke-dashoffset:0}
}

/* ================= prenotazione: nuovi elementi ================= */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ric{margin-top:22px}
.ric h3,.who h3{margin-top:0}
.next{margin-top:18px}
.who{margin:4px 0 16px}
.bk form.card h3{margin:22px 0 8px}
.bk form.card h3:first-child{margin-top:0}
.f input[aria-invalid="true"],.check input[aria-invalid="true"]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}
.ok-box .ok-title{font-size:16px;font-weight:400;color:var(--muted);margin:0}
.ok-box .ok-title:focus{outline:none}
.ok-box .when{font-size:19px}
.who-line{margin:10px 0 0}
.actions.center{justify-content:center}
.btn-dir,.btn.wa-btn{display:inline-flex;align-items:center;gap:8px}
.btn.wa-btn svg{flex:0 0 20px}
.place{border-top:1px solid var(--line);margin:20px -18px 0;padding:18px 18px 4px}
.place .addr{justify-content:center;text-align:left}
.map{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);max-width:600px;margin:0 auto}
.map img{display:block;width:100%;height:auto}
.addr{display:flex;gap:10px;align-items:flex-start;margin:14px 0}
.addr svg{flex:0 0 20px;color:var(--blue);margin-top:3px}
.split .map{margin:6px 0 0}
.split .addr{display:block}
.services.one{grid-template-columns:1fr}
.back.change{margin:8px 0 0}
.referto-page{max-width:560px}
.ref-form{margin:18px 0}
.ref-form input[name=cifre]{font-size:26px;letter-spacing:.35em;max-width:180px;text-align:center}
.ref-form .btn{margin-top:6px}
.ref-check{margin-top:-6px}
.prep-note{background:rgba(149,193,31,.15);border-radius:12px;padding:12px 14px;margin:0 0 14px;text-align:left;font-size:16px}
.call svg{color:inherit}
/* barra di scorrimento dei giorni: sottile e in tinta, anche con lo schermo scuro */
.days{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.days::-webkit-scrollbar{height:6px}
.days::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}
.days::-webkit-scrollbar-track{background:transparent}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){color-scheme:dark}}
:root[data-theme="dark"]{color-scheme:dark}

/* ===== agenda della gestione: prenotati in risalto, liberi evidenziati ===== */
.ag.booked{border-left:5px solid var(--blue);box-shadow:0 2px 8px rgba(8,30,70,.07);padding-left:10px}
.ag.booked .t{font-size:18px;font-weight:600;color:var(--blue)}
.ag.booked .who b{font-size:17px;font-weight:600}
.ag.booked.svc-holterc,.ag.booked.svc-holterc48{border-left-color:#C2410C}
.ag.booked.svc-holterp{border-left-color:#7C3AED}
.ag.booked.svc-spiro{border-left-color:#0E7490}
.ag.free{background:rgba(149,193,31,.08);border:1.5px dashed rgba(110,150,20,.55)}
.ag.free .t{color:#4D6B0B;font-weight:600}
.free-badge{display:inline-block;background:#95C11F;color:#10200A;font-size:13px;font-weight:600;border-radius:999px;padding:2px 10px;margin-right:4px}
.ag .svcs.busy{color:#B45309}
.ag.closed{background:transparent;border-style:dotted;opacity:.7}
.ag-toggle{margin:4px 0 12px;align-items:center}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ag.free .t{color:#B5DB55}}
:root[data-theme="dark"] .ag.free .t{color:#B5DB55}
@media print{.ag.booked{box-shadow:none;border-left-width:3px}}
/* divisione mattina / pomeriggio nell'agenda */
.ag-sep{display:flex;align-items:center;gap:12px;margin:16px 0 2px;color:var(--muted);font-size:15px;font-weight:500}
.ag-sep::after{content:"";flex:1;height:1px;background:var(--line)}
.agenda>.ag-sep:first-child{margin-top:0}

/* testo sui pulsanti blu: bianco sul blu scuro, blu notte sull'azzurro della modalità scura */
:root{--on-blue:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--on-blue:#061A3A}}
:root[data-theme="dark"]{--on-blue:#061A3A}
.day[aria-pressed="true"] small,.day[aria-pressed="true"] em{color:inherit}

/* giorno senza posti liberi: dove sono i prossimi */
.next-box{border-left:5px solid var(--green)}
.next-box h3{margin:0 0 4px}
.next-box p{margin:0 0 6px}
.next-box ul{list-style:none;margin:0;padding:0}
.next-box li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 14px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.next-box .when{font-variant-numeric:tabular-nums}
@media (max-width:600px){.next-box li{grid-template-columns:1fr auto}.next-box li b{grid-column:1/-1}}
@keyframes flashrow{0%,60%{box-shadow:0 0 0 3px var(--green)}100%{box-shadow:0 0 0 0 transparent}}
.ag.flash{animation:flashrow 2.4s ease-out}
.next-all{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
/* accesso alla gestione */
.login-title{font-weight:400;font-size:24px;margin:0 0 12px}
.link-btn{display:block;margin:14px auto 0;background:none;border:0;color:var(--blue);font-size:15px;text-decoration:underline;cursor:pointer}
.ok-note{background:rgba(149,193,31,.15);border-radius:10px;padding:10px 12px;font-size:15px;margin:0 0 12px}
.who-in{font-size:15px;color:var(--muted);align-self:center}
@media (max-width:560px){.who-in{display:none}}
/* utenti e registro */
.users{display:flex;flex-direction:column;gap:8px}
.user{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.user.off{opacity:.6}
.user .ulink{grid-column:1/-1}
.copy-link{width:100%;margin-top:6px;font-size:14px}
.audit{list-style:none;margin:0;padding:0}
.audit li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:15px}
.audit .when{color:var(--muted);font-variant-numeric:tabular-nums}
.hist{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}
.hist summary{cursor:pointer;font-weight:500}
@media (max-width:600px){.user{grid-template-columns:1fr}.audit li{grid-template-columns:1fr;gap:2px}}
.done-line{margin:0 0 12px;font-size:15px;color:var(--muted)}
/* piattaforma regionale */
.reg-box{border-left:5px solid #C2410C}
.reg-box h4{margin:14px 0 4px;font-size:15px;font-weight:600}
.reg-box ul{list-style:none;margin:0;padding:0}
.reg-box li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line)}
.tag.reg{background:#FFEBD9;color:#8A3A06}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag.reg{background:#3D2412;color:#FFB985}}
:root[data-theme="dark"] .tag.reg{background:#3D2412;color:#FFB985}
.reg-sec{padding:12px 14px;margin:0 0 12px}
.reg-sec h3{margin:0 0 6px}
.reg-step{display:flex;gap:10px;align-items:center;padding:6px 0;font-size:16px;cursor:pointer}
.reg-step input{width:22px;height:22px;accent-color:var(--green-ink,#6E9614)}
.reg-step.done b{text-decoration:none;color:var(--muted)}
/* riepilogo appuntamento nella gestione */
.recap-title{margin:0 0 12px;font-weight:500;font-size:22px}
.recap-title.ok{color:#3D5A00}
.recap{border:1.5px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 14px}
.recap-when{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.recap-day{font-size:22px;font-weight:600}
.recap-time{font-size:26px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.recap-exam{font-size:19px;font-weight:500;margin:4px 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.recap-list{margin:0;display:grid;gap:6px}
.recap-list div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px}
.recap-list dt{color:var(--muted)}
.recap-list dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.recap-send h3{margin:0 0 8px;font-size:16px}
.res{margin:0 0 8px}
.res.ok{color:#3D5A00;font-weight:500}
.res.bad{color:var(--danger)}
.resend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .recap-title.ok,:root:not([data-theme="light"]) .res.ok{color:#B5DB55}}
:root[data-theme="dark"] .recap-title.ok,:root[data-theme="dark"] .res.ok{color:#B5DB55}
.suggest{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:10px;color:var(--ink)}
/* gestione: ricerca, da fare, modulo più chiaro */
.search{position:relative;display:flex;align-items:center;gap:10px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;padding:4px 12px;margin:0 0 14px}
.search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--soft)}
.search svg{color:var(--muted);flex:0 0 20px}
.search input{border:0;background:transparent;box-shadow:none;padding:10px 0;font-size:16px;width:100%;outline:none}
.search-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(8,30,70,.16);max-height:60vh;overflow:auto}
.search-res ul{list-style:none;margin:0;padding:0 0 6px}
.search-res button{display:grid;grid-template-columns:128px minmax(0,1fr);gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:10px 12px;cursor:pointer;color:var(--ink);font:inherit}
.search-res button:hover,.search-res button:focus-visible{background:var(--soft)}
.q-when{font-variant-numeric:tabular-nums;color:var(--muted)}
.q-when.future{color:var(--blue);font-weight:600}
.q-who{display:flex;flex-direction:column;min-width:0}
.q-who .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.day-head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}
.day-head h1{margin:0}
.btn.new-bk{font-size:17px;padding:12px 20px}
.todo-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}
.todo-label{font-size:14px;color:var(--muted);margin-right:2px}
.todo-chip{display:inline-flex;gap:6px;align-items:center;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);padding:6px 12px;font:inherit;font-size:15px;cursor:pointer}
.todo-chip b{font-variant-numeric:tabular-nums}
.todo-chip .arrow{color:var(--muted);font-size:12px}
.todo-chip[aria-expanded="true"]{border-color:var(--blue);background:var(--soft)}
.todo-reg{border-color:#F3B27A}.todo-ret{border-color:#C4B5FD}.todo-tom{border-color:#86E0A8}
.todo-panel>.box{margin-top:0}
.exam-pick select{font-size:18px;font-weight:600;border-width:2px;border-color:var(--blue);padding:12px}
.exam-pick.empty select{background:var(--soft);color:var(--blue)}
.exam-pick.missing select{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}
.req{font-size:12px;font-weight:600;color:var(--blue);background:var(--soft);border-radius:999px;padding:2px 8px;margin-left:6px}
.cf-note{margin:-6px 0 12px;padding:8px 10px;border-radius:10px;background:var(--soft)}
.cf-note.ok{background:rgba(149,193,31,.15)}
.cf-note.bad{background:var(--danger-soft);color:var(--danger)}
.rc-check{margin:0 0 12px}
.rc-prob{background:var(--danger-soft);color:var(--danger);border-radius:12px;padding:12px 14px;margin:0 0 8px;font-size:16px}
.rc-prob.soft{background:#FFF4E0;color:#7A4A00}
.rc-prob .suggest{color:var(--ink)}
.rc-esito{background:var(--soft);border-radius:12px;padding:10px 14px;margin:0;font-size:16px}
.btn.danger-solid{background:var(--danger);color:#fff}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rc-prob.soft{background:#3A2A0C;color:#FFD08A}}
:root[data-theme="dark"] .rc-prob.soft{background:#3A2A0C;color:#FFD08A}
@media (max-width:600px){.search-res button{grid-template-columns:1fr}}
/* tabella prezzi */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px}
table.prices{border-collapse:collapse;width:100%;min-width:640px;font-size:15.5px}
table.prices th,table.prices td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
table.prices thead th{background:var(--soft);font-weight:600;font-size:14px}
table.prices tbody tr:last-child th,table.prices tbody tr:last-child td{border-bottom:0}
table.prices .num{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
/* agenda: riepilogo in una riga e righe più pulite */
.row2{align-items:end}
.sumbar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between;margin:2px 0 12px}
.sumbar .stats{margin:0}
.sumbar .todo-strip{margin:0}
.next-line{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:15px;padding:8px 12px;border-radius:10px;background:var(--soft);margin:0 0 12px}
.nl-msg{font-weight:600}
.nl-lab{color:var(--muted)}
.nl-dot{color:var(--muted)}
.link-inline{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--blue);text-decoration:underline;cursor:pointer}
.ag .who-top{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ag .who-top b{font-size:17px}
.ag .meta{font-size:14px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}
.ag .note{font-size:14px;margin-top:3px;font-style:italic}
.tag.exam{font-weight:600}
.tag.exam.svc-ecg{background:rgba(0,74,173,.12);color:var(--blue)}
.tag.exam.svc-holterc,.tag.exam.svc-holterc48{background:#FFE8D6;color:#8A3A06}
.tag.exam.svc-holterp{background:#EDE4FF;color:#5B21B6}
.tag.exam.svc-spiro{background:#D9F2F5;color:#0B5563}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag.exam.svc-holterc,:root:not([data-theme="light"]) .tag.exam.svc-holterc48{background:#3D2412;color:#FFB985}:root:not([data-theme="light"]) .tag.exam.svc-holterp{background:#2A1E47;color:#CDB8FF}:root:not([data-theme="light"]) .tag.exam.svc-spiro{background:#0F3136;color:#8FDDE6}}
:root[data-theme="dark"] .tag.exam.svc-holterc,:root[data-theme="dark"] .tag.exam.svc-holterc48{background:#3D2412;color:#FFB985}
:root[data-theme="dark"] .tag.exam.svc-holterp{background:#2A1E47;color:#CDB8FF}
:root[data-theme="dark"] .tag.exam.svc-spiro{background:#0F3136;color:#8FDDE6}
.ag-toggle{margin:10px 0 0}
details.more{margin-top:18px}
details.more>summary{cursor:pointer;color:var(--blue);font-weight:500}
/* caselle affiancate sempre allineate: etichette di altezza fissa */
.row2>.f{display:flex;flex-direction:column;justify-content:flex-end}
.row2>.f>span:first-child{line-height:24px;min-height:24px}
.f .opt{line-height:inherit;vertical-align:baseline}
/* "oggi è pieno": una riga per data, esami come etichette */
.next-box2{border:1.5px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px;margin:0 0 14px}
.nb-head{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:16.5px;font-weight:600;margin-bottom:6px}
.nb-sub{font-weight:400;color:var(--muted)}
.nb-icon{display:inline-flex;width:24px;height:24px;border-radius:50%;align-items:center;justify-content:center;background:#FFE8D6;color:#8A3A06;font-weight:700;font-size:14px}
.next-box2 ul{list-style:none;margin:0;padding:0}
.next-box2 li{display:grid;grid-template-columns:minmax(260px,auto) minmax(0,1fr);gap:8px 14px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.nb-when{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;background:var(--soft);border:1.5px solid transparent;border-radius:10px;padding:8px 12px;font:inherit;font-size:16px;font-weight:600;color:var(--blue);cursor:pointer;text-align:left}
.nb-when:hover,.nb-when:focus-visible{border-color:var(--blue)}
.nb-go{font-size:20px;line-height:1}
.nb-exams{display:flex;flex-wrap:wrap;gap:6px}
.nb-exam{font-size:14.5px;padding:3px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
@media (max-width:700px){.next-box2 li{grid-template-columns:1fr}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .nb-icon{background:#3D2412;color:#FFB985}}
:root[data-theme="dark"] .nb-icon{background:#3D2412;color:#FFB985}
/* guida rapida della gestione */
.guide{border-left:5px solid var(--blue)}
.guide ol{margin:6px 0 0;padding-left:22px;display:grid;gap:6px;font-size:15.5px}
/* pazienti: rassicurazioni */
.reassure{list-style:none;margin:10px 0 0;padding:0;font-size:14.5px;color:var(--muted);display:grid;gap:4px}
.reassure li::before{content:"✓ ";color:#4D7A00;font-weight:700}
.hero-trust{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:15px}
.hero-trust li::before{content:"✓ ";color:var(--green);font-weight:700}
.reg-box .late{color:var(--danger);font-weight:600}
/* ticket da incassare */
.tk-sec{margin:4px 0 8px 32px}
.tk-sec.ask .tk-ask{border:2px solid #E07A1F;border-radius:12px;padding:10px 12px;background:#FFF4E8}
.tk-ask{margin-top:6px}
.tk-line{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:6px}
.tk-amt{display:inline-flex;align-items:center;gap:6px;font-size:15px}
.tk-amt input{width:90px;padding:8px 10px}
.tk-big{font-size:15px;padding:5px 12px}
.tk-ok{font-weight:600;color:#3D5A00}
.tag.tk{font-weight:700}
.tk-amt-l{margin-left:4px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tk-sec.ask .tk-ask{background:#3A2A0C;border-color:#C9731C}:root:not([data-theme="light"]) .tk-ok{color:#B5DB55}}
:root[data-theme="dark"] .tk-sec.ask .tk-ask{background:#3A2A0C;border-color:#C9731C}
:root[data-theme="dark"] .tk-ok{color:#B5DB55}
/* pagamento sulla riga dell'agenda */
.ag.booked,.ag.dim{grid-template-columns:58px minmax(0,1fr) auto}
.ag-right{display:flex;align-items:center;gap:12px}
.pay{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.2;font-size:15px;min-width:92px}
.pay b{font-size:16.5px;font-variant-numeric:tabular-nums}
.pay-k{font-size:12.5px;color:var(--muted)}
.pay.due b{color:#8A3A06}
.pay.ok b{color:#3D5A00}
.pay.none{color:var(--muted);align-items:center}
button.pay.unk{background:none;border:1px dashed var(--line);border-radius:10px;padding:6px 10px;color:var(--muted);font:inherit;font-size:13.5px;cursor:pointer}
.btn.pay-btn{background:#4D7A00;color:#fff}
.btn.pay-btn.confirm{background:#B45309;color:#fff}
.cash{font-size:15px;color:var(--muted)}
.cash b{color:var(--ink);margin-right:4px;font-variant-numeric:tabular-nums}
.cash b.due{color:#8A3A06}
.pay-sec{padding:12px 14px;margin:0 0 12px}
.pay-sec h3{margin:0 0 4px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pay.due b,:root:not([data-theme="light"]) .cash b.due{color:#FFB985}:root:not([data-theme="light"]) .pay.ok b{color:#B5DB55}}
:root[data-theme="dark"] .pay.due b,:root[data-theme="dark"] .cash b.due{color:#FFB985}
:root[data-theme="dark"] .pay.ok b{color:#B5DB55}
@media (max-width:760px){.ag-right{flex-direction:column;align-items:flex-end;gap:6px}}
.ag .svcs.busy{color:#8A3A06}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ag .svcs.busy{color:#FFB985}}
:root[data-theme="dark"] .ag .svcs.busy{color:#FFB985}
/* rendiconto convenzione */
.conv-head h1{margin:0 0 4px}
.conv-bar{margin:14px 0 18px;flex-wrap:wrap}
.conv-sum h2{margin:0 0 10px;font-weight:500}
.conv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 18px}
.conv-card{border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--surface);display:flex;flex-direction:column}
.conv-card .n{font-size:34px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--blue);line-height:1.1}
.conv-card .l{font-size:15px;color:var(--muted)}
.conv-card.total{border-color:var(--blue);background:var(--soft)}
.conv-warn{border-left:5px solid #E07A1F}
.conv-warn ul{list-style:none;margin:0;padding:0}
.conv-warn li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}
.conv-table td,.conv-table th{white-space:nowrap}
.ref-date{margin:6px 0 0 32px}
@media print{.conv-card{border-color:#999}.conv-table{font-size:11pt}}
/* ricerca rapida delle disponibilità */
.avail{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 14px}
.av-pick{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}
.av-pick select,.av-pick input{font-size:16px;padding:9px 12px}
.av-res{flex:1 1 100%}
.av-day{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.av-date{background:none;border:0;font:inherit;font-weight:600;color:var(--blue);cursor:pointer;min-width:190px;text-align:left}
.av-times{display:flex;flex-wrap:wrap;gap:6px}
.av-t{font:inherit;font-size:15px;font-variant-numeric:tabular-nums;padding:5px 10px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}
.av-t:hover,.av-t:focus-visible{border-color:var(--blue);background:var(--soft)}
/* rendiconto: importi */
.conv-card .m{font-size:13.5px;color:var(--muted);margin-top:4px}
.conv-card.total .m b{color:var(--blue);font-size:15px}
.money-table{width:auto;min-width:0;margin:0 0 18px;border:1px solid var(--line);border-radius:12px}
.money-table th{font-weight:400;text-align:left}
.money-table .tot th,.money-table .tot td{font-weight:700;background:var(--soft)}
.money-table .num{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;padding-left:24px}
.money-table .num.due{color:#8A3A06}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .money-table .num.due{color:#FFB985}}
:root[data-theme="dark"] .money-table .num.due{color:#FFB985}
.av-more{background:none;border:0;font:inherit;font-size:14px;color:var(--blue);text-decoration:underline;cursor:pointer}
/* orari della farmacia e chiusure */
.hours{display:grid;gap:6px}
.hrow{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:6px 0;border-top:1px solid var(--line)}
.hrow .hday{min-width:96px;font-weight:600}
.hrow label{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
.hrow label.grow{flex:1 1 180px}
.hrow input[type=time]{width:120px}
.hrow input[type=text]{width:100%}
.closed-day{border-left:5px solid #B45309}
/* ticket proposto */
.tk-prop{font-size:15px;font-weight:600}
.tk-sure{display:inline-block;font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:rgba(149,193,31,.2);color:#3D5A00;margin-left:4px}
.tk-est{display:inline-block;font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:999px;background:#FFF4E0;color:#7A4A00;margin-left:4px}
#tkcat{font-size:15px;padding:7px 10px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tk-sure{color:#B5DB55}:root:not([data-theme="light"]) .tk-est{background:#3A2A0C;color:#FFD08A}}
:root[data-theme="dark"] .tk-sure{color:#B5DB55}
:root[data-theme="dark"] .tk-est{background:#3A2A0C;color:#FFD08A}
/* chi prenota: due pulsanti */
.seg{display:inline-flex;flex-wrap:wrap;gap:0;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;margin-top:4px}
.seg-b{font:inherit;font-size:15.5px;padding:10px 16px;border:0;background:var(--surface);color:var(--ink);cursor:pointer}
.seg-b+.seg-b{border-left:1.5px solid var(--line)}
.seg-b[aria-pressed="true"]{background:var(--blue);color:var(--on-blue);font-weight:600}
/* calcolatore rapido del ticket */
.tq-res{background:var(--soft);border-radius:14px;padding:14px 16px;margin:4px 0 12px}
.tq-amount{font-size:32px;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.tq-all summary{cursor:pointer;color:var(--blue);font-weight:500;margin-bottom:8px}
/* "Da incassare" ben visibile */
.todo-chip.todo-tk{background:#D92D20;border-color:#D92D20;color:#fff;font-weight:600}
.todo-chip.todo-tk .arrow{color:#fff}
.todo-chip.todo-tk[aria-expanded="true"]{background:#B42318;border-color:#B42318}
/* stima del ticket per i pazienti */
.tk-est-line{margin:8px 0 0;font-size:16px}
/* casella WhatsApp allineata alle altre: stessa colonna, in alto con la prima riga */
.wa-check{align-items:flex-start;margin-left:-14px;margin-right:-14px}
.wa-check svg{margin-top:2px}
/* respiro tra il link ai prezzi e il pulsante nella testata delle pagine esame */
.hero .hero-note+.cta,.hero .hero-note+a.cta{margin-top:22px}
.hero .price+.hero-note{margin-bottom:22px}
.beta{font-size:12px;font-weight:600;vertical-align:middle;padding:2px 8px;border-radius:999px;background:#FFF4E0;color:#7A4A00;margin-left:6px}
/* "Chi prenota?" su una riga sua, con respiro */
.who-field{display:block;margin:4px 0 18px}
.who-field>span:first-child{display:block;margin-bottom:6px}
/* costo o ticket stimato nella scheda */
.tk-live{background:var(--soft);border-radius:12px;padding:10px 14px;margin:-4px 0 16px;font-size:16px}
.tk-live:empty{display:none}
.updated{max-width:var(--maxw,1080px);margin:24px auto 0;padding:0 20px;font-size:13.5px;color:var(--muted)}
.links404{display:grid;gap:8px;font-size:17px;padding-left:20px}
/* valutazione Google nel piè di pagina */
.gstars{line-height:1.7}
.gstars .stars{position:relative;display:inline-block;font-size:18px;letter-spacing:2px;color:rgba(255,255,255,.28);vertical-align:-1px;margin-right:6px}
.gstars .stars::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--r);overflow:hidden;color:#FBBC04;white-space:nowrap}
.gstars small{opacity:.75}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* verifica ticket */
.tkv td,.tkv th{vertical-align:middle}
.tkv tr.tkv-bad td,.tkv tr.tkv-bad th{background:var(--danger-soft)}
.bad-txt{color:var(--danger)}
/* orari liberi: solo gli esami prenotabili */
.ok-exams{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle}
.ok-exam{font-size:13.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:rgba(149,193,31,.22);color:#3D5A00}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ok-exam{background:rgba(149,193,31,.2);color:#C9E88A}}
:root[data-theme="dark"] .ok-exam{background:rgba(149,193,31,.2);color:#C9E88A}
/* esenzione scritta a mano */
#tkex{width:170px;font-size:16px;padding:8px 10px;text-transform:uppercase}
.tk-cls{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin:6px 0 2px;font-size:15px}
/* "Ha la ricetta del medico" in evidenza */
.check.ricetta-check{border:2px solid var(--blue);border-radius:12px;padding:10px 12px;background:var(--soft);font-size:16px}
.check.ricetta-check:has(input:checked){border-color:#6E9614;background:rgba(149,193,31,.16)}
/* esame da ripetere */
.rep-line{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:0 0 12px}
.rep-ask{border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px}
.rep-box{border-left:5px solid #B45309;padding:12px 14px;margin:0 0 12px}
.rep-box h3{margin:0 0 4px}
.rep-banner{background:#FFF4E0;color:#6B3F00;border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:15px;font-weight:500}
.tag.rep{background:#E7EEF9;color:#0B3C86;font-weight:600}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rep-banner{background:#3A2A0C;color:#FFD08A}:root:not([data-theme="light"]) .tag.rep{background:#16305A;color:#A9C8FF}}
:root[data-theme="dark"] .rep-banner{background:#3A2A0C;color:#FFD08A}
:root[data-theme="dark"] .tag.rep{background:#16305A;color:#A9C8FF}
/* pagina "Il Suo appuntamento" */
.manage{max-width:720px}
.mg-card{border:1.5px solid var(--line);border-radius:16px;padding:18px 20px;background:var(--surface);margin:0 0 16px}
.mg-exam{font-size:20px;font-weight:600}
.mg-when{font-size:24px;font-weight:600;color:var(--blue);margin:4px 0 6px}
.mg-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.mg-confirm{background:var(--soft);border-radius:14px;padding:14px 16px;margin:12px 0}
.mg-note{background:var(--soft);border-radius:14px;padding:14px 16px}
.mg-ok{background:rgba(149,193,31,.18);border-radius:14px;padding:16px 18px;font-size:18px;font-weight:500;margin:0 0 16px}
.mg-h{font-size:20px;margin:18px 0 8px}
.mg-day{padding:10px 0;border-top:1px solid var(--line)}
.mg-dl{font-weight:600;margin-bottom:6px}
.mg-times{display:flex;flex-wrap:wrap;gap:8px}
.mg-t{font:inherit;font-size:16px;padding:9px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums}
.mg-t:hover,.mg-t:focus-visible{border-color:var(--blue);background:var(--soft)}
.manage .btn.danger{background:#B42318;color:#fff}
/* lista d'attesa nel modulo */
.wl-link{margin:14px 0 0}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer;font-size:16px}
.wl-box{border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;margin:16px 0 0;background:var(--surface)}
.wl-h{margin:0 0 4px;font-size:18px}
.wl-ok{margin:0;font-weight:500}
/* sottomenu delle sezioni */
.subnav{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 16px}
.subnav button{font:inherit;font-size:14.5px;padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.subnav button[aria-pressed="true"]{border-color:var(--blue);background:var(--soft);color:var(--blue);font-weight:600}
/* apparecchi e riconsegne */
.dev-sec{padding:12px 14px;margin:0 0 12px}
.dev-sec h3{margin:0 0 4px}
.dev-pool{margin:10px 0}
.dev-names{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 12px}
.btn.ret-btn{background:#7C3AED;color:#fff}
.todo-chip.todo-od{background:#D92D20;border-color:#D92D20;color:#fff;font-weight:600}
.todo-chip.todo-od .arrow{color:#fff}
.todo-chip.todo-late{border-color:#E07A1F}
.todo-chip.todo-wl{border-color:#86E0A8}
.wl-admin li.wl-hot{background:rgba(149,193,31,.14);border-radius:10px;padding-left:8px;padding-right:8px}
.wl-offer{color:#3D5A00}
kbd{font:inherit;font-size:13px;padding:1px 6px;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;background:var(--surface)}
.conv-sub{font-size:20px;margin:18px 0 8px}
.print-only{display:none}
@media print{.print-only{display:block}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .wl-offer{color:#B5DB55}}
:root[data-theme="dark"] .wl-offer{color:#B5DB55}

/* appuntamenti annullati o non presentati: attenuati con i colori, non con la trasparenza (restano leggibili) */
.ag.dim{opacity:1;background:transparent;border-style:dashed}
.ag.dim .t,.ag.dim .who b,.ag.dim .meta{color:var(--muted)}
/* nuove prenotazioni online */
.btn.newon{background:#D92D20;color:#fff;display:inline-flex;align-items:center;gap:8px}
.btn.newon .dot{width:8px;height:8px;border-radius:50%;background:#fff;animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){.btn.newon .dot{animation:none}}
.tag.dup{background:#FDE7E4;color:#9B1C12;font-weight:600}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag.dup{background:#4A1B17;color:#FFB4AA}}
:root[data-theme="dark"] .tag.dup{background:#4A1B17;color:#FFB4AA}
.ok-txt{color:#3D5A00}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ok-txt{color:#B5DB55}}
:root[data-theme="dark"] .ok-txt{color:#B5DB55}
/* le mie prenotazioni */
.me-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px}
.me-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 16px;padding:14px 0;border-top:1px solid var(--line)}
.me-ex{font-weight:600;font-size:17px}
.me-when{color:var(--blue);font-weight:600}
.me-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
/* ricerca: "Stampa referto" a destra della riga */
.search-res li{display:flex;align-items:center;border-top:1px solid var(--line)}
.search-res li>button[data-qi]{border-top:0;flex:1 1 auto;min-width:0}
.search-res button.q-print{display:inline-flex;width:auto;flex:0 0 auto;grid-template-columns:none;border:1.5px solid var(--line);border-radius:10px;padding:7px 12px;margin:0 12px 0 6px;white-space:nowrap;font-weight:600;color:var(--blue)}
.search-res button.q-print:hover,.search-res button.q-print:focus-visible{border-color:var(--blue)}
/* servizi raggruppati per categoria nel modulo */
.services.grouped .svc-cat{grid-column:1/-1}
.svc-cat{margin:14px 0 0;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.svc-cat:first-child{margin-top:0}
/* servizi di farmacia: colori per categoria in agenda */
.ag.booked.cat-analisi{border-left-color:#BE123C}
.ag.booked.cat-vaccino{border-left-color:#15803D}
.ag.booked.cat-tampone{border-left-color:#B45309}
.ag.booked.cat-altro{border-left-color:#6D28D9}
.tag.exam.cat-analisi{background:#FFE4E8;color:#9F1239}
.tag.exam.cat-vaccino{background:#DCFCE7;color:#14532D}
.tag.exam.cat-tampone{background:#FEF3C7;color:#78350F}
.tag.exam.cat-altro{background:#EDE9FE;color:#4C1D95}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .tag.exam.cat-analisi{background:#4C1020;color:#FDA4AF}
  :root:not([data-theme="light"]) .tag.exam.cat-vaccino{background:#12351F;color:#86EFAC}
  :root:not([data-theme="light"]) .tag.exam.cat-tampone{background:#3F2A07;color:#FCD34D}
  :root:not([data-theme="light"]) .tag.exam.cat-altro{background:#2E1A5A;color:#C4B5FD}}
:root[data-theme="dark"] .tag.exam.cat-analisi{background:#4C1020;color:#FDA4AF}
:root[data-theme="dark"] .tag.exam.cat-vaccino{background:#12351F;color:#86EFAC}
:root[data-theme="dark"] .tag.exam.cat-tampone{background:#3F2A07;color:#FCD34D}
:root[data-theme="dark"] .tag.exam.cat-altro{background:#2E1A5A;color:#C4B5FD}
/* sezione servizi di farmacia */
.cat-box{padding:12px 14px;margin:0 0 10px}
.cat-box.on{border-color:var(--blue)}
.cat-on{margin:0}
.cat-fields{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.sticky-save{position:sticky;bottom:0;background:var(--bg);padding:10px 0;margin:0;z-index:5}
/* pagina servizi di farmacia */
.svc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.svc-item{border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;background:var(--surface)}
.svc-item h3{margin:0 0 6px;font-size:19px}
.svc-item p{margin:0 0 8px}
.svc-price{font-weight:600;color:var(--blue)}
.svc-link{font-weight:600}
.ok-exam.farm{background:rgba(21,128,61,.14);color:#14532D;cursor:help}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ok-exam.farm{background:#12351F;color:#86EFAC}}
:root[data-theme="dark"] .ok-exam.farm{background:#12351F;color:#86EFAC}
/* doppio accesso: badge e super password */
.need-dlg{max-width:420px;width:calc(100% - 32px);text-align:center}
.need-in{padding:8px 4px}
.need-ico{font-size:44px;line-height:1;margin:0 0 8px}
.need-dlg h2{margin:0 0 6px}
.need-dlg input[type=password]{width:100%;font-size:22px;letter-spacing:4px;text-align:center;padding:12px}
.need-dlg .actions{justify-content:center}
.btn.opchip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink)}
.btn.opchip.on{border-color:#6E9614;background:rgba(149,193,31,.16)}
.op-steps{margin:0;padding-left:20px;display:grid;gap:8px}
.op-steps select{font-size:14px;padding:4px 8px}
.ref-remember{margin:10px 0 14px;font-size:15px}
/* interruttore del doppio accesso */
.op-switch{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:14px 0 0;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line)}
.op-switch.on{border-color:#6E9614;background:rgba(149,193,31,.12)}
/* scheda paziente: riepilogo e sezioni */
.bk-sum{border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 14px;background:var(--surface)}
.bk-sum-top{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin:0 0 4px}
.bk-when{font-size:18px;font-weight:600;color:var(--blue)}
.bk-status{margin-top:10px}
.bk-ret{margin:-4px 0 12px}
.bk-com h3,.bk-sum h3{margin:0 0 6px}
.bk-com .resend{margin:0}
.bk-more,.bk-edit{border:1.5px solid var(--line);border-radius:14px;padding:4px 14px;margin:0 0 12px}
.bk-more>summary,.bk-edit>summary{cursor:pointer;font-weight:600;padding:10px 0;color:var(--blue)}
.bk-edit[open]>summary,.bk-more[open]>summary{margin-bottom:8px;border-bottom:1px solid var(--line)}
/* modifiche contemporanee */
.bk-live{background:#FFF4E0;color:#6B3F00;border-radius:12px;padding:10px 14px;margin:0 0 12px;font-size:15px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .bk-live{background:#3A2A0C;color:#FFD08A}}
:root[data-theme="dark"] .bk-live{background:#3A2A0C;color:#FFD08A}
.conf-box{display:grid;gap:8px}
.conf-f{border:1.5px solid var(--line);border-radius:10px;padding:6px 12px;margin:0}
.conf-f legend{font-weight:600;padding:0 4px}
.conf-f .check{margin:4px 0}
/* scheda paziente e richiami */
.pt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 10px}
.pt-stats div{border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column}
.pt-stats b{font-size:20px;color:var(--blue);font-variant-numeric:tabular-nums}
.pt-stats span{font-size:13px;color:var(--muted)}
@media (max-width:560px){.pt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rc-st{font-weight:600}
.rc-prenotato{color:#3D5A00}.rc-annullato{color:var(--muted)}.rc-da_telefonare,.rc-da_inviare{color:#8A3A06}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rc-prenotato{color:#B5DB55}:root:not([data-theme="light"]) .rc-da_telefonare,:root:not([data-theme="light"]) .rc-da_inviare{color:#FFB985}}
:root[data-theme="dark"] .rc-prenotato{color:#B5DB55}
:root[data-theme="dark"] .rc-da_telefonare,:root:root[data-theme="dark"] .rc-da_inviare{color:#FFB985}
.todo-chip.todo-rc{border-color:#0E7490}
/* ---------- Qualità e HACCP ---------- */
.q-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 14px}
.q-head h1{margin:0;font-size:28px;font-weight:500}
.q-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.q-pt{border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--surface)}
.q-name{display:flex;flex-direction:column;margin:0 0 8px}
.q-slots{display:flex;flex-wrap:wrap;gap:8px}
.q-in{display:flex;flex-direction:column;gap:2px;flex:1 1 90px;min-width:90px}
.q-in>span{font-size:13px;color:var(--muted)}
.q-in input{font-size:22px;font-weight:600;padding:8px 10px;border:2px solid var(--line);border-radius:10px;width:100%;box-sizing:border-box;background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums}
.q-in.ok input{border-color:#6E9614}
.q-in.out input{border-color:#C42B1C;background:#FDE7E4;color:#8B1A10}
.q-who{font-size:12px;color:var(--muted);min-height:15px}
.q-area{padding:10px 0;border-top:1px solid var(--line)}
.q-area:first-of-type{border-top:0}
.q-types{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.q-type{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:150px;min-height:52px;padding:8px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;text-align:left;font:inherit}
.q-type small{font-size:12px;color:var(--muted)}
.q-type.done{border-color:#6E9614;background:rgba(149,193,31,.16)}
.q-type.due{border-color:#B45309}
.q-type.due small{color:#8A3A06;font-weight:600}
.q-prod{max-width:420px;margin:0}
.nc-st{font-size:13px;font-weight:600;color:var(--muted)}
.nc-st.open{color:#B42318}
table.q-month{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
table.q-month th,table.q-month td{border:1px solid var(--line);padding:4px 6px;text-align:center}
table.q-month td.out{background:#FDE7E4;color:#8B1A10;font-weight:700}
.q-cfg{display:grid;grid-template-columns:36px minmax(0,2fr) minmax(0,1.2fr) 90px 90px minmax(0,2fr);gap:8px;align-items:end;padding:8px 0;border-top:1px solid var(--line)}
.q-cfg .f,.q-cfgt .f{margin:0}
.q-on{align-self:center;margin:0}
.q-cfgt{display:grid;grid-template-columns:70px minmax(0,1fr) 150px minmax(0,3fr);gap:8px;align-items:end;padding:6px 0}
.reg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.reg-grid .f{margin:0}
@media (max-width:760px){.q-cfg,.q-cfgt{grid-template-columns:1fr 1fr}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .q-in.out input{background:#4A1510;color:#FFB4A8}:root:not([data-theme="light"]) table.q-month td.out{background:#4A1510;color:#FFB4A8}}
:root[data-theme="dark"] .q-in.out input{background:#4A1510;color:#FFB4A8}
:root[data-theme="dark"] table.q-month td.out{background:#4A1510;color:#FFB4A8}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .q-type.due small{color:#FFB985}:root:not([data-theme="light"]) .nc-st.open{color:#FF9B8F}}
:root[data-theme="dark"] .q-type.due small{color:#FFB985}
:root[data-theme="dark"] .nc-st.open{color:#FF9B8F}
/* disdetto e non presentato ben riconoscibili */
.ag.dim.st-annullato .who-top b{text-decoration:line-through}
.tag.st-tag{font-size:12px;font-weight:700;border-radius:6px;padding:2px 7px;margin-left:6px}
.tag.st-annullato{background:#FDE7E4;color:#8B1A10}
.tag.st-non_presentato{background:#FEF3C7;color:#78350F}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tag.st-annullato{background:#4A1510;color:#FFB4A8}:root:not([data-theme="light"]) .tag.st-non_presentato{background:#3F2A07;color:#FCD34D}}
:root[data-theme="dark"] .tag.st-annullato{background:#4A1510;color:#FFB4A8}
:root[data-theme="dark"] .tag.st-non_presentato{background:#3F2A07;color:#FCD34D}
.st-hint{margin:6px 0 0}
.del-box{margin:10px 0 6px;padding-top:10px;border-top:1px solid var(--line)}
/* ---------- Turni ---------- */
table.t-week,table.t-month{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}
table.t-week th,table.t-week td,table.t-month th,table.t-month td{border:1px solid var(--line);padding:4px 6px;vertical-align:top;text-align:center}
table.t-week thead th{font-weight:600;text-transform:capitalize}
table.t-week th.hol,table.t-week td.hol{background:rgba(196,43,28,.10)}
table.t-week th.sun,table.t-week td.sun{background:rgba(237,125,49,.12)}
table.t-week th.today{outline:2px solid var(--blue);outline-offset:-2px}
.t-name{text-align:left!important;white-space:nowrap}.t-name small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.t-cell{display:flex;flex-direction:column;gap:3px;width:100%;min-height:44px;padding:4px;border:0;background:none;cursor:pointer;color:var(--ink);font:inherit;border-radius:8px;align-items:center;justify-content:center}
.t-cell:hover,.t-cell:focus-visible{background:var(--soft)}
.t-seg{display:block;font-size:13px;font-weight:600;border-radius:6px;padding:1px 6px;background:var(--surface);border:1px solid var(--line);white-space:nowrap}
.t-seg small{font-weight:600}
.t-seg.k-straordinario{background:#FDE7E4;color:#8B1A10;border-color:#F3B4AC}
.t-seg.k-ferie{background:#DDE8FB;color:#123B80;border-color:#A9C2F0}
.t-seg.k-permesso104,.t-seg.k-permesso{background:#EDE9FE;color:#4C1D95;border-color:#CFC3F8}
.t-seg.k-malattia{background:#FEF3C7;color:#78350F;border-color:#F4D98A}
.t-tot{white-space:nowrap}
.t-diff{font-size:12px;font-weight:700;border-radius:6px;padding:1px 5px}
.t-diff.plus,.t-plus{color:#8B1A10}.t-diff.minus{color:#8A3A06}
.t-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end;margin:0 0 8px}
.t-row .f{margin:0}
.t-staff{display:grid;grid-template-columns:36px 80px minmax(0,1.6fr) 80px 90px 140px 140px minmax(0,2fr);gap:8px;align-items:end;padding:8px 0;border-top:1px solid var(--line)}
.t-staff .f{margin:0}
@media (max-width:900px){.t-staff{grid-template-columns:1fr 1fr}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .t-seg.k-straordinario{background:#4A1510;color:#FFB4A8;border-color:#7A2A20}:root:not([data-theme="light"]) .t-seg.k-ferie{background:#132B52;color:#B9D0FA;border-color:#2A4A80}:root:not([data-theme="light"]) .t-seg.k-permesso104,:root:not([data-theme="light"]) .t-seg.k-permesso{background:#2E1A5A;color:#D6C9FB;border-color:#4A3490}:root:not([data-theme="light"]) .t-seg.k-malattia{background:#3F2A07;color:#FCD34D;border-color:#6A4A10}:root:not([data-theme="light"]) .t-diff.plus,:root:not([data-theme="light"]) .t-plus{color:#FFB4A8}:root:not([data-theme="light"]) .t-diff.minus{color:#FFB985}}
:root[data-theme="dark"] .t-seg.k-straordinario{background:#4A1510;color:#FFB4A8;border-color:#7A2A20}
:root[data-theme="dark"] .t-seg.k-ferie{background:#132B52;color:#B9D0FA;border-color:#2A4A80}
:root[data-theme="dark"] .t-diff.plus,:root[data-theme="dark"] .t-plus{color:#FFB4A8}
:root[data-theme="dark"] .t-diff.minus{color:#FFB985}
/* ---------- Turni v2 ---------- */
.t-pal{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 12px}
.t-palg{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.t-palg>span{width:100%;font-size:12px}
.t-pm{font:inherit;font-size:13px;font-weight:600;padding:6px 10px;border-radius:10px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;min-height:36px}
.t-pm[aria-pressed="true"]{border-color:var(--blue);background:var(--blue);color:#fff}
.t-pm-f{border-color:#A9C2F0}.t-pm-r{border-style:dashed}
.t-paint .t-cell{cursor:crosshair;user-select:none;touch-action:none}
tr.t-grp th{text-align:left!important;background:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:4px 8px}
.t-share{font-size:12px;display:block;margin-top:2px}
table.t-hours{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
table.t-hours th,table.t-hours td{border:1px solid var(--line);padding:0;text-align:center;height:28px}
table.t-hours thead th{padding:4px}
table.t-hours tbody th{padding:0 6px;font-weight:500;color:var(--muted)}
.t-hc{width:100%;height:100%;min-height:28px;border:0;background:none;font:inherit;font-size:12px;cursor:pointer;color:inherit}
td.lvl1{background:rgba(0,74,173,.08)}td.lvl2{background:rgba(0,74,173,.16)}td.lvl3{background:rgba(0,74,173,.26)}td.lvl4{background:rgba(0,74,173,.36)}
td.nofarm{background:#FDE7E4;color:#8B1A10;font-weight:700}td.closed{background:var(--soft)}
.t-hz{font-size:11px}
.f-prop{color:var(--blue);font-weight:600}
.t-mrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 150px auto;gap:8px;align-items:end;padding:6px 0;border-top:1px solid var(--line)}
.t-mrow .f{margin:0}
.t-staff2{display:grid;grid-template-columns:36px 70px minmax(0,1.4fr) 150px 70px 80px 130px 130px 130px auto;gap:8px;align-items:end;padding:8px 0;border-top:1px solid var(--line)}
.t-staff2 .f{margin:0}
@media (max-width:1100px){.t-staff2{grid-template-columns:1fr 1fr 1fr}}
.pt-week{margin:10px 0}.pt-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:6px}
.pt-d{font:inherit;font-size:12px;font-weight:600;min-height:56px;padding:4px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.pt-d small{font-weight:400;color:var(--muted);text-transform:capitalize}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) td.nofarm{background:#4A1510;color:#FFB4A8}:root:not([data-theme="light"]) td.lvl1{background:rgba(111,163,255,.10)}:root:not([data-theme="light"]) td.lvl2{background:rgba(111,163,255,.18)}:root:not([data-theme="light"]) td.lvl3{background:rgba(111,163,255,.28)}:root:not([data-theme="light"]) td.lvl4{background:rgba(111,163,255,.38)}:root:not([data-theme="light"]) .f-prop{color:#9CC2FF}}
:root[data-theme="dark"] td.nofarm{background:#4A1510;color:#FFB4A8}
.t-pm[aria-pressed="true"]{background:#004AAD;border-color:#004AAD;color:#fff}
/* ---------- Turni: vista a foglio come l'Excel ---------- */
.sh-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}
.sh-tool{font:inherit;font-size:13px;font-weight:600;padding:6px 12px;border-radius:10px;border:1.5px solid var(--line);cursor:pointer;min-height:36px;color:#111;background:#fff}
.sh-tool[aria-pressed="true"]{outline:3px solid #004AAD;outline-offset:1px}
.sh-k-lavoro{background:#FFF176}.sh-k-straordinario{background:#FF8A80}.sh-k-ferie{background:#90B4F0}.sh-k-permesso104,.sh-k-permesso{background:#CDB8F5}.sh-k-malattia{background:#FFD08A}.sh-k-del{background:#fff}
.sh-wrap{overflow:auto;max-height:78vh;border:1px solid var(--line);border-radius:10px;margin:0 0 14px}
table.sh{border-collapse:separate;border-spacing:0;font-size:11px;user-select:none;touch-action:none}
table.sh th,table.sh td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:0;text-align:center;height:20px;min-width:30px}
table.sh thead th{position:sticky;background:var(--surface);z-index:2}
table.sh thead tr:first-child th{top:0;height:24px;font-size:12px;font-weight:600}
table.sh thead tr:nth-child(2) th{top:24px}
th.sh-h{position:sticky;left:0;z-index:3;background:var(--surface);min-width:44px!important;font-weight:500;color:var(--muted)}
thead th.sh-h{z-index:4}
.sh-code{font-weight:700;color:var(--ink)}.sh-code.far{color:#004AAD}
.sh .first{border-left:2px solid var(--ink)}
.sh-day.sun,.sh .sun{background:#FFE3CC!important}.sh-day.hol{background:#FF8A80!important;color:#5A0A04}.sh-day.today{box-shadow:inset 0 -3px 0 #004AAD}
td.sh-c{cursor:cell;color:#222;font-weight:700;font-size:10.5px}
td.sh-c.k-lavoro{background:#FFF176}td.sh-c.k-straordinario{background:#FF8A80}td.sh-c.k-ferie{background:#90B4F0}td.sh-c.k-permesso104,td.sh-c.k-permesso{background:#CDB8F5}td.sh-c.k-malattia{background:#FFD08A}
td.sh-c.out{background:repeating-linear-gradient(45deg,var(--soft),var(--soft) 4px,transparent 4px,transparent 8px);cursor:not-allowed}
td.sh-c.sel{outline:2px solid #004AAD;outline-offset:-2px}
.sh-n{min-width:34px!important;font-size:10.5px;color:var(--muted);background:var(--soft)}
td.sh-n.warn{background:#FF8A80;color:#5A0A04;font-weight:700}td.sh-n.closed{background:var(--soft)}
td.sh-tot{font-weight:700;font-size:11px;background:var(--soft)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sh-code.far{color:#9CC2FF}}
:root[data-theme="dark"] .sh-code.far{color:#9CC2FF}
.sh-day.sun,table.sh th.sun{color:#5A2A00}
table.sh th.sun.sh-code.far{color:#003A8C}
/* ---------- Turni › Richieste ---------- */
.rq-open{border-color:#B45309}
.rq-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.rq-st{margin-left:auto;font-size:13px;font-weight:700;border-radius:6px;padding:2px 8px;background:var(--soft)}
.rq-st.st-da_approvare,.rq-st.st-attesa_collega{background:#FEF3C7;color:#78350F}.rq-st.st-approvata{background:#DCFCE7;color:#14532D}.rq-st.st-rifiutata,.rq-st.st-annullata{background:#FDE7E4;color:#8B1A10}
.rq-day{border-top:1px solid var(--line);padding:8px 0 4px;margin-top:6px}
.rq-ok{color:#3D5A00;margin:4px 0}.rq-ko{color:#B42318;font-weight:600;margin:4px 0}
.rq-opts .check{margin:4px 0}
.rq-ot{font-size:12px;font-weight:700;color:#8A3A06}.rq-okc{font-size:12px;font-weight:700;color:#3D5A00}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rq-ok,:root:not([data-theme="light"]) .rq-okc{color:#B5DB55}:root:not([data-theme="light"]) .rq-ko{color:#FF9B8F}:root:not([data-theme="light"]) .rq-ot{color:#FFB985}
:root:not([data-theme="light"]) .rq-st.st-da_approvare,:root:not([data-theme="light"]) .rq-st.st-attesa_collega{background:#3F2A07;color:#FCD34D}:root:not([data-theme="light"]) .rq-st.st-approvata{background:#12351F;color:#86EFAC}:root:not([data-theme="light"]) .rq-st.st-rifiutata,:root:not([data-theme="light"]) .rq-st.st-annullata{background:#4A1510;color:#FFB4A8}}
:root[data-theme="dark"] .rq-ok,:root[data-theme="dark"] .rq-okc{color:#B5DB55}
:root[data-theme="dark"] .rq-ko{color:#FF9B8F}
/* ---------- Economia ---------- */
.rd-tab input{width:100%;min-width:72px;font:inherit;font-size:14px;padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:right}
.rd-tab td:first-child input{text-align:left;min-width:140px}
.rd-grid-w{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0 0 12px}
.rd-card{margin:0;border:1.5px solid var(--line);border-radius:14px;padding:8px;background:var(--surface)}
.rd-card figcaption{font-weight:700;text-align:center;margin:0 0 2px}
.rd-svg{width:100%;height:auto;display:block}
.rd-grid{fill:none;stroke:var(--line);stroke-width:1}.rd-axis{stroke:var(--line);stroke-width:1}
.rd-lab{font-size:12px;font-weight:700;fill:var(--muted)}
.rd-val{fill:rgba(0,74,173,.22);stroke:#004AAD;stroke-width:2}.rd-dot{fill:#004AAD}
.rd-target{fill:none;stroke:#6B7280;stroke-width:2;stroke-dasharray:5 4}
.rd-leg-v,.rd-leg-t{display:inline-block;width:22px;height:0;border-top:3px solid #004AAD;vertical-align:middle;margin:0 2px}.rd-leg-t{border-top:3px dashed #6B7280}
.rd-up{color:#3D5A00;font-weight:600}.rd-down{color:#B42318;font-weight:600}
.ce-wrap{max-height:none}
.ce-tab th[scope=row]{font-weight:500;min-width:300px}
.ce-tab thead input{font:inherit;font-weight:700;width:150px;padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:center}
.ce-tab td{text-align:right;white-space:nowrap}
.ce-tab td input{width:130px;font:inherit;font-size:14px;padding:5px 8px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:right}
.ce-calc td{background:var(--soft)}
.ce-key th,.ce-key td{background:rgba(0,74,173,.10)!important;font-size:15px}
.ce-var{font-size:11px;font-weight:700}.ce-var.up{color:#3D5A00}.ce-var.down{color:#B42318}
.py-tab input{width:100%;min-width:90px;font:inherit;font-size:14px;padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:right}
.py-tab td:first-child input{text-align:left;min-width:120px}
.py-base td{background:rgba(0,74,173,.08)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rd-val{fill:rgba(111,163,255,.25);stroke:#9CC2FF}:root:not([data-theme="light"]) .rd-dot{fill:#9CC2FF}:root:not([data-theme="light"]) .rd-target{stroke:#B0B8C4}
:root:not([data-theme="light"]) .rd-up,:root:not([data-theme="light"]) .ce-var.up{color:#B5DB55}:root:not([data-theme="light"]) .rd-down,:root:not([data-theme="light"]) .ce-var.down{color:#FF9B8F}:root:not([data-theme="light"]) .ce-key th,:root:not([data-theme="light"]) .ce-key td{background:rgba(111,163,255,.14)!important}}
:root[data-theme="dark"] .rd-up,:root[data-theme="dark"] .ce-var.up{color:#B5DB55}
:root[data-theme="dark"] .rd-down,:root[data-theme="dark"] .ce-var.down{color:#FF9B8F}
/* ---------- Turni: settimana intera in una pagina, avvisi, titolari ---------- */
.sh-wrap{max-height:none;overflow-x:auto}
table.sh{width:100%;table-layout:fixed;font-size:10px}
table.sh th,table.sh td{min-width:0;height:17px}
table.sh thead tr:first-child th{height:auto;padding:3px 2px;font-size:11px;line-height:1.3}
table.sh thead tr:nth-child(2) th{top:auto}
th.sh-h{width:38px;min-width:38px!important;font-size:10px}
.sh-code{font-size:9.5px;letter-spacing:-.02em}
td.sh-c{font-size:9px;letter-spacing:-.03em;overflow:hidden;white-space:nowrap}
.sh-n{width:28px;min-width:28px!important;font-size:9.5px}
td.sh-tot{font-size:10px}
.sh-tit{display:flex;justify-content:center;gap:3px;margin-top:2px}
.sh-titb{font:inherit;font-size:10px;font-weight:700;padding:1px 5px;border-radius:6px;border:1.5px solid #004AAD;background:#DCE8FA;color:#003A8C;cursor:pointer}
.sh-titb.abs{background:#fff;color:#8B1A10;border-color:#C42B1C;text-decoration:line-through}
.sh-alert{background:#FDE7E4;color:#8B1A10;border:1.5px solid #E7A39A;border-radius:12px;padding:10px 14px;margin:0 0 10px;font-size:14px}
.sh-okbar{background:#E6F4EA;color:#14532D;border:1.5px solid #9CCFA8;border-radius:12px;padding:8px 14px;margin:0 0 10px;font-size:14px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sh-alert{background:#4A1510;color:#FFB4A8;border-color:#7A2A20}:root:not([data-theme="light"]) .sh-okbar{background:#12351F;color:#86EFAC;border-color:#2A6A3A}:root:not([data-theme="light"]) .sh-titb.abs{background:#16212F;color:#FFB4A8}}
:root[data-theme="dark"] .sh-alert{background:#4A1510;color:#FFB4A8;border-color:#7A2A20}
:root[data-theme="dark"] .sh-okbar{background:#12351F;color:#86EFAC;border-color:#2A6A3A}
@media print{.sh-tools,.q-head .actions,.sh-sum{display:none}.sh-wrap{border:0}table.sh{font-size:8px}}
.rd-card.rd-good{border-color:#3D8B37;box-shadow:inset 0 4px 0 #3D8B37}.rd-card.rd-bad{border-color:#C42B1C;box-shadow:inset 0 4px 0 #C42B1C}
.rd-badge{display:block;font-size:12px;font-weight:700;margin-top:2px}.rd-good .rd-badge{color:#2E6B2A}.rd-bad .rd-badge{color:#B42318}
.rd-scost td{font-size:13px;line-height:1.25}
th.rd-conv{background:rgba(0,74,173,.12)}
.ce-dates{display:flex;gap:4px;margin-top:4px}.ce-dates input{width:118px!important;font-size:12px!important;padding:3px 4px!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rd-good .rd-badge{color:#B5DB55}:root:not([data-theme="light"]) .rd-bad .rd-badge{color:#FF9B8F}}
:root[data-theme="dark"] .rd-good .rd-badge{color:#B5DB55}
:root[data-theme="dark"] .rd-bad .rd-badge{color:#FF9B8F}
.adm.adm-wide{max-width:none;padding-left:14px;padding-right:14px}
.adm.adm-wide>*:not(#pane),.adm.adm-wide #pane>.q-head,.adm.adm-wide #pane>p{max-width:none}
/* ---------- Turni: settimane A+B e mese ---------- */
.sh-pair .sh-b{margin-top:14px;padding-top:12px;border-top:3px solid var(--line)}
.sh-pair .sh-b .sh-tools,.sh-pair .sh-b .q-head .actions,.sh-pair .sh-sumw,.sh-pair .sh-b>p.small{display:none}
.sh-pair .sh-a .sh-sumw{display:none}
h2.sh-wtitle{margin:0;font-size:20px;font-weight:600}
.pair-saldo{display:flex;flex-wrap:wrap;gap:6px}
.ps{font-size:13px;border-radius:999px;padding:4px 10px;border:1.5px solid var(--line);background:var(--surface)}
.ps-ok{border-color:#9CCFA8;background:#E6F4EA;color:#14532D}.ps-plus{border-color:#F3B4AC;background:#FDE7E4;color:#8B1A10}.ps-minus{border-color:#F4D98A;background:#FEF3C7;color:#78350F}
.ps-new{box-shadow:0 0 0 3px #004AAD}
table.mv{border-collapse:collapse;width:100%;table-layout:fixed;font-size:11px;font-variant-numeric:tabular-nums}
.mv th,.mv td{border:1px solid var(--line);text-align:center;padding:2px 0;height:26px}
.mv thead th{font-weight:600;font-size:11px;line-height:1.15}
.mv .t-name{width:120px;text-align:left!important;padding:2px 6px}
.mv .wk1{border-left:2px solid var(--ink)}
.mv-wk{font:inherit;font-weight:700;font-size:11px;border:0;background:none;color:var(--blue);cursor:pointer;padding:2px 4px;text-decoration:underline}
td.mv-c{cursor:pointer;font-weight:700;font-size:10.5px;color:#222}
td.mv-c small{display:block;font-size:8.5px;font-weight:600;opacity:.8}
td.mv-c.k-lavoro{background:#FFF176}td.mv-c.k-straordinario{background:#FF8A80}td.mv-c.k-ferie{background:#90B4F0}td.mv-c.k-permesso,td.mv-c.k-permesso104{background:#CDB8F5}td.mv-c.k-malattia{background:#FFD08A}
td.mv-c.sun,.mv th.sun{background:#FFE3CC;color:#5A2A00}.mv th.hol{background:#FF8A80;color:#5A0A04}.mv th.today{box-shadow:inset 0 -3px 0 #004AAD}
td.mv-tot{font-weight:700;width:46px}
td.mv-gap{background:#FF8A80;color:#5A0A04;font-weight:700}td.mv-okc{color:#2E6B2A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ps-ok{background:#12351F;color:#86EFAC;border-color:#2A6A3A}:root:not([data-theme="light"]) .ps-plus{background:#4A1510;color:#FFB4A8;border-color:#7A2A20}:root:not([data-theme="light"]) .ps-minus{background:#3F2A07;color:#FCD34D;border-color:#6A4A10}:root:not([data-theme="light"]) td.mv-okc{color:#B5DB55}:root:not([data-theme="light"]) .mv-wk{color:#9CC2FF}}
:root[data-theme="dark"] .ps-ok{background:#12351F;color:#86EFAC}
:root[data-theme="dark"] .ps-plus{background:#4A1510;color:#FFB4A8}
:root[data-theme="dark"] .ps-minus{background:#3F2A07;color:#FCD34D}
.mode-ch{display:grid;gap:10px}
.mode-ch .btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:12px 16px;border-radius:14px;height:auto}
.mode-ch .btn small{font-weight:400;font-size:13px;opacity:.9}
.py-prev td{font-size:13px}.py-hi{background:rgba(237,125,49,.14);font-weight:700}.py-warn{color:#B42318;font-weight:600}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .py-warn{color:#FF9B8F}}
:root[data-theme="dark"] .py-warn{color:#FF9B8F}
.t-flags{display:flex;flex-direction:column;gap:2px;align-self:center}
/* ---------- permesso L.104 distinto dal permesso; festivi evidenziati ---------- */
.sh-k-permesso104,td.sh-c.k-permesso104,td.mv-c.k-permesso104{background:#7FD1C7}
.t-seg.k-permesso104{background:#D4F2EE;color:#0B4A43;border-color:#7FD1C7}
td.sh-c.onhol{background-image:repeating-linear-gradient(135deg,rgba(196,43,28,.35) 0 3px,transparent 3px 7px)}
/* tabella dei turni di un periodo (richieste) */
.rg-box{margin:8px 0}
table.rg{border-collapse:collapse;width:100%;font-size:12px}
.rg th,.rg td{border:1px solid var(--line);padding:3px 4px;text-align:center;vertical-align:top}
.rg thead th{font-weight:600;line-height:1.2}.rg th.hol{background:#FF8A80;color:#5A0A04}.rg th.sun{background:#FFE3CC;color:#5A2A00}
.rg .rg-req{background:rgba(0,74,173,.08)}.rg thead th.rg-req{box-shadow:inset 0 -3px 0 #004AAD}
.rg tr.rg-me th,.rg tr.rg-me td{background:#FFF8C5}
.rg-s{display:block;font-size:11px;font-weight:600;border-radius:4px;padding:0 3px;margin:1px 0}
.rg-s.k-lavoro{background:#FFF176;color:#3A3000}.rg-s.k-straordinario{background:#FF8A80;color:#5A0A04}.rg-s.k-ferie{background:#90B4F0;color:#0C2A5A}.rg-s.k-permesso{background:#CDB8F5;color:#2E1A5A}.rg-s.k-permesso104{background:#7FD1C7;color:#0B4A43}.rg-s.k-malattia{background:#FFD08A;color:#5A3A00}
.rg-abs{color:#B42318;font-weight:700}
.rq-wait{color:#8A3A06;font-weight:600}
.ps-cy{font-size:12px;font-weight:700;color:var(--muted);align-self:center;min-width:64px}
.pair-saldo{margin:0 0 4px}
.sh-pair .sh-c2{border-top:5px double var(--ink)}
ul.hist li{display:grid;grid-template-columns:130px 1fr auto;gap:8px;align-items:center}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rg tr.rg-me th,:root:not([data-theme="light"]) .rg tr.rg-me td{background:#3A3410}:root:not([data-theme="light"]) .rq-wait{color:#FFB985}:root:not([data-theme="light"]) .rg-abs{color:#FF9B8F}}
:root[data-theme="dark"] .rg tr.rg-me th,:root[data-theme="dark"] .rg tr.rg-me td{background:#3A3410}
/* ---------- legenda, guida, menu, mese più leggibile ---------- */
.lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;margin:0 0 10px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.lg.lg-c{font-size:12px;padding:6px 10px}
.lg span{display:inline-flex;align-items:center;gap:5px}
.lg-sw{display:inline-block;width:16px;height:12px;border-radius:3px;border:1px solid rgba(0,0,0,.15)}
.lg-sw.k-lavoro{background:#FFF176}.lg-sw.k-straordinario{background:#FF8A80}.lg-sw.k-ferie{background:#90B4F0}.lg-sw.k-permesso{background:#CDB8F5}.lg-sw.k-permesso104{background:#7FD1C7}.lg-sw.k-malattia{background:#FFD08A}
.lg-sw.lg-sun{background:#FFE3CC}.lg-sw.lg-hol{background:repeating-linear-gradient(135deg,rgba(196,43,28,.55) 0 3px,#FFF176 3px 7px)}.lg-sw.lg-warn{background:#FF8A80}
.lg-fa{font-size:11px;background:var(--soft);border-radius:4px;padding:0 4px}.lg-tit{font-size:11px;border:1.5px solid #004AAD;background:#DCE8FA;color:#003A8C;border-radius:5px;padding:0 4px}
.help-btn{margin-left:auto;font:inherit;font-weight:700;font-size:14px;border:1.5px solid var(--blue);color:var(--blue);background:var(--surface);border-radius:999px;padding:6px 14px;cursor:pointer}
.subnav{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hlp h3{font-size:16px;margin:14px 0 4px}.hlp ul,.hlp ol{margin:0;padding-left:20px}.hlp li{margin:3px 0;line-height:1.45}
details.more-menu{position:relative;display:inline-block}
details.more-menu>summary{list-style:none;cursor:pointer}details.more-menu>summary::-webkit-details-marker{display:none}
.more-list{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:290px;background:var(--surface);border:1.5px solid var(--line);border-radius:14px;box-shadow:0 12px 34px rgba(11,31,58,.18);padding:6px;display:flex;flex-direction:column}
.more-list button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:1px;font:inherit;border:0;background:none;color:var(--ink);padding:8px 10px;border-radius:10px;cursor:pointer}
.more-list button:hover,.more-list button:focus-visible{background:var(--soft)}
.more-list small{color:var(--muted);font-size:12px}
td.mv-c{height:auto;padding:3px 1px;vertical-align:top;line-height:1.15}
td.mv-c span{display:block;font-size:10px;font-weight:700;white-space:nowrap}
.mv tbody tr{height:38px}
dialog.dlg-wide{max-width:min(1200px,96vw)!important;width:96vw}
.pp-tab input{width:64px;font:inherit;padding:4px 6px;border:1.5px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);text-align:center}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .help-btn{color:#9CC2FF;border-color:#9CC2FF}}
:root[data-theme="dark"] .help-btn{color:#9CC2FF;border-color:#9CC2FF}
#dlg.dlg-wide .card{max-width:none}
td.mv-c{overflow:hidden}
td.mv-c span{white-space:normal;font-size:9.5px;line-height:1.1;margin:0 0 2px;word-break:keep-all}
/* lo scostamento "+" non è la croce decorativa del sito */
.t-diff.plus{position:static;width:auto;height:auto;right:auto;bottom:auto;pointer-events:auto}
.t-diff.plus::before,.t-diff.plus::after{content:none;display:none}
/* personale: pulsanti su una riga dedicata */
.t-staff2{grid-template-columns:36px 70px minmax(0,1.4fr) 150px 70px 80px 130px 130px 130px auto}
.t-acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 4px 44px}
.btn.danger-t{color:#B42318;border-color:#E7A39A}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.danger-t{color:#FF9B8F;border-color:#7A2A20}}
/* cella cercata nei turni */
td.sh-c.found{box-shadow:inset 0 0 0 2px #004AAD}
td.sh-c.found-hit{outline:3px solid #C42B1C;outline-offset:-3px;animation:findpulse 1.2s ease-in-out 3}
@keyframes findpulse{50%{outline-color:#004AAD}}
@media (prefers-reduced-motion: reduce){td.sh-c.found-hit{animation:none}}
.t-staff2{grid-template-columns:36px 70px minmax(0,1.4fr) 130px 150px 70px 80px 130px 130px 130px}
@media (max-width:1100px){.t-staff2{grid-template-columns:1fr 1fr 1fr}}
/* ---------- piano ferie ---------- */
table.fp{border-collapse:collapse;width:100%;font-size:12px;table-layout:fixed}
.fp th,.fp td{border:1px solid var(--line);text-align:center;padding:0;height:34px}
.fp thead th{font-weight:600;font-size:11px;line-height:1.15;padding:3px 0}
.fp .t-name{width:130px;text-align:left!important;padding:2px 6px}
.fp th:nth-last-child(-n+3),.fp td:nth-last-child(-n+3){width:70px}
.fp-c button{width:100%;height:100%;min-height:32px;border:0;background:none;font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.fp-c button:hover,.fp-c button:focus-visible{background:var(--soft)}
.fp-c.on{background:#90B4F0}.fp-c.on button{color:#0C2A5A}
.fp-c.pend{background:repeating-linear-gradient(135deg,rgba(144,180,240,.55) 0 4px,transparent 4px 8px)}
.fp th.f-warn{background:#FF8A80;color:#5A0A04}.fp th.f-twoh{background:#FFD08A;color:#5A3A00}
td.f-twoc{background:#FFD08A;color:#5A3A00;font-weight:700}
.fp td input{width:52px;font:inherit;text-align:center;padding:3px;border:1.5px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink)}
.lg-sw.f-pend{background:repeating-linear-gradient(135deg,#90B4F0 0 3px,#fff 3px 6px)}.lg-sw.f-two{background:#FFD08A}
ul.fp-list{margin:0 0 8px;padding-left:20px}
.fp .t-name{width:170px}.fp .t-name small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Turni › Richieste: avviso, schede riducibili */
.nbadge{display:inline-block;min-width:18px;padding:0 6px;margin-left:6px;border-radius:999px;background:#D92D20;color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center;vertical-align:1px}
.rq-tools{display:flex;gap:6px;margin-left:8px}.rq-tools .btn{padding:3px 10px;font-size:12px;min-height:0}
.rq.rq-min .rq-body{display:none}.rq.rq-min{padding-top:10px;padding-bottom:10px}.rq.rq-min>p{margin-bottom:0!important}
.rq-head-tools{display:flex;gap:6px;margin-left:auto}
.btn.danger-lite{color:#B42318;border-color:#F3B4AC}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.danger-lite{color:#FF9B8F;border-color:#7A2A20}}
:root[data-theme="dark"] .btn.danger-lite{color:#FF9B8F;border-color:#7A2A20}

/* ===== v1.36 – pulsanti e impaginazione su telefono ===== */
/* gruppi di scelta (stato, chi prenota, canale): griglia con bordi interni puliti anche quando vanno a capo */
.seg{display:inline-grid;grid-auto-flow:column;grid-auto-columns:auto;gap:1.5px;background:var(--line);flex-wrap:nowrap}
.seg-b+.seg-b{border-left:0}
.seg-b{white-space:nowrap;text-align:center}
.bk-ret-act{margin:6px 0 12px}.bk-ret-ok{margin:4px 0 12px}
@media (max-width:640px){
  .bar{flex-wrap:wrap;row-gap:8px;padding:8px 14px}
  .bar-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .bar-actions::-webkit-scrollbar{display:none}
  .bar-actions>*{flex:0 0 auto;white-space:nowrap}
  .bar-actions .call{padding:7px 12px}
}
@media (max-width:560px){
  .seg{display:grid;grid-auto-flow:row;grid-template-columns:1fr 1fr;width:100%}
  .seg-b{padding:12px 8px;white-space:normal}
  .seg-b:last-child:nth-child(odd){grid-column:1/-1}
  .bk-sum .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .bk-sum .actions .btn{width:100%;justify-content:center;text-align:center;white-space:normal;line-height:1.25;min-height:44px}
  .bk-ret-act .btn{width:100%;min-height:44px}
  .ag>.ag-right{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}
  .t-staff2{grid-template-columns:1fr 1fr!important}
}
.t-staff2>*{min-width:0}.t-staff2 input,.t-staff2 select{width:100%;min-width:0}
/* tabelle larghe (mese, ferie, convenzione): su schermi piccoli scorrono di lato invece di schiacciarsi */
.conv-sum{overflow-x:auto}
@media (max-width:820px){
  table.mv{min-width:980px}table.fp{min-width:820px}table.sh{min-width:1100px}
  .sh thead th:first-child,.sh tbody th:first-child{position:sticky;left:0;z-index:3;background:var(--surface)}
  .mv .t-name,.fp th:first-child,.fp td:first-child{position:sticky;left:0;z-index:2;background:var(--surface)}
}

/* assets/design2.css */
/* =========================================================
   Design 2.0 — "banco moderno"
   Solo aspetto: si carica dopo style.css e non cambia contenuti né funzioni.
   Per tornare al design precedente basta togliere il <link> a questo file.
   Principi: profondità con ombre leggere invece di bordi spessi, un'unica scala
   di raggi e ombre, pulsanti che rispondono alla pressione, movimento breve
   (sotto i 300 ms) solo dove spiega qualcosa, telefono trattato come un'app.
   ========================================================= */
:root{
  --bg:#F4F6FA; --surface:#FFFFFF; --ink:#0F1B2D; --muted:#5A6A80; --line:#E3E9F1; --line-2:#CBD5E2;
  --soft:#EAF0FA; --track:#EEF2F8; --taken:#F0F3F7;
  --r-sm:10px; --r-md:14px; --r-lg:20px;
  --sh-1:0 1px 2px rgba(15,27,45,.05),0 1px 1px rgba(15,27,45,.03);
  --sh-2:0 1px 2px rgba(15,27,45,.05),0 4px 14px rgba(15,27,45,.06);
  --sh-3:0 12px 40px rgba(10,25,55,.18),0 2px 8px rgba(10,25,55,.08);
  --ring:0 0 0 4px rgba(0,74,173,.16);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-drawer:cubic-bezier(.32,.72,0,1);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0B1320; --surface:#131E30; --ink:#E9EFF8; --muted:#98A9C0; --line:#223249; --line-2:#2E4260;
  --soft:#1A2A45; --track:#0F1828; --taken:#162236;
  --sh-1:0 1px 2px rgba(0,0,0,.3); --sh-2:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25); --sh-3:0 18px 50px rgba(0,0,0,.55);
  --ring:0 0 0 4px rgba(111,166,245,.25)}}
:root[data-theme="dark"]{--bg:#0B1320;--surface:#131E30;--ink:#E9EFF8;--muted:#98A9C0;--line:#223249;--line-2:#2E4260;--soft:#1A2A45;--track:#0F1828;--taken:#162236;
  --sh-1:0 1px 2px rgba(0,0,0,.3);--sh-2:0 1px 2px rgba(0,0,0,.3),0 6px 18px rgba(0,0,0,.25);--sh-3:0 18px 50px rgba(0,0,0,.55);--ring:0 0 0 4px rgba(111,166,245,.25)}

/* ---------- base da app sul telefono ---------- */
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-feature-settings:"tnum" 0;text-rendering:optimizeLegibility}
button,a.btn,.btn,[role="button"],.seg-b,.slot,.day,.svc{touch-action:manipulation;-webkit-user-select:none;user-select:none}
input,select,textarea{font-size:max(16px,1em)}                       /* niente zoom automatico sui campi in iOS */
.stats,.slot,.day,.num,td.num,.bk-when,.ag time,.ag .t{font-variant-numeric:tabular-nums}
h1,h2,h3{letter-spacing:-.012em;text-wrap:balance}
:focus-visible{outline:none;box-shadow:var(--ring)!important;border-radius:var(--r-sm)}
::selection{background:rgba(0,74,173,.18)}

/* ---------- intestazione: traslucida, si stacca solo quando si scorre ---------- */
header.site{background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
.brand b{font-weight:600;letter-spacing:-.01em}
.call{border-color:var(--line-2);background:var(--surface);box-shadow:var(--sh-1)}
.btn-book{box-shadow:0 1px 2px rgba(0,40,100,.25),inset 0 1px 0 rgba(255,255,255,.14)}

/* ---------- pulsanti: stessa altezza, pressione visibile ---------- */
.btn{border-radius:12px;min-height:46px;padding:11px 20px;font-weight:600;letter-spacing:.005em;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 1px 2px rgba(0,40,100,.22),inset 0 1px 0 rgba(255,255,255,.14);
  transition:transform 160ms var(--ease-out),background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease,color 150ms ease}
.btn.sm{min-height:38px;padding:7px 14px;border-radius:10px;font-size:15px}
@media (max-width:700px),(pointer:coarse){:where(body.g4) .btn.sm{min-height:40px}}   /* v2.87.1 · gestione: sul telefono almeno 40 px; qui, prima delle regole delle singole schede, così quelle più alte (es. Ricette in attesa, 46) restano */
.btn.ghost{background:var(--surface);color:var(--blue);border:1px solid var(--line-2);box-shadow:var(--sh-1)}
.btn.danger{box-shadow:none}
.btn:active,.btn-book:active,.call:active,.todo-chip:active,.subnav button:active,.seg-b:active{transform:scale(.97)}
.btn:disabled{transform:none;box-shadow:none}
@media (hover:hover) and (pointer:fine){
  .btn:hover{filter:none;background-color:var(--blue-d)}
  .btn.ghost:hover{background:var(--soft);border-color:var(--line-2);filter:none}
  .call:hover{border-color:var(--blue)}
}

/* ---------- campi ---------- */
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=time],input[type=number],input[type=password],input[type=search],select,textarea{
  border:1px solid var(--line-2);border-radius:12px;min-height:46px;background:var(--surface);box-shadow:var(--sh-1);transition:border-color 150ms ease,box-shadow 150ms ease}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:var(--ring)}
input[type=file]{border-radius:12px;border-color:var(--line-2)}
/* la ricerca ha già il suo riquadro: il campo dentro resta piatto */
.search{border:1px solid var(--line-2);border-radius:14px;box-shadow:var(--sh-1);transition:border-color 150ms ease,box-shadow 150ms ease}
.search:focus-within{border-color:var(--blue);box-shadow:var(--ring)}
.search input,.search input:focus{border:0!important;box-shadow:none!important;min-height:0;background:transparent}
.search-res{border-radius:var(--r-md);box-shadow:var(--sh-3)}

/* ---------- superfici: carte e riquadri ---------- */
.card{border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2)}
.box{border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1)}
.tag{border-radius:999px;padding:2px 9px;font-weight:500;letter-spacing:.01em}

/* ---------- lato paziente ---------- */
.hero{background:radial-gradient(120% 90% at 85% 0%,#0B5BC7 0%,rgba(11,91,199,0) 60%),var(--hero)}
.hero h1{font-weight:400;letter-spacing:-.02em}
.hero .btn,.hero a.btn{box-shadow:0 6px 18px rgba(0,0,0,.18)}
.steps div::before{height:5px;border-radius:999px;transition:background-color 200ms ease}
.svc,.choice button{border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);transition:transform 160ms var(--ease-out),border-color 150ms ease,box-shadow 150ms ease}
.svc svg{padding:7px;width:40px;height:40px;flex-basis:40px;border-radius:12px;background:var(--soft)}
.choice button[aria-pressed="true"],.svc[aria-pressed="true"]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue),var(--sh-2)}
@media (hover:hover) and (pointer:fine){.svc:hover,.choice button:hover{border-color:var(--line-2);box-shadow:var(--sh-2)}}
.day,.slot{border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-1);transition:transform 160ms var(--ease-out),background-color 150ms ease,border-color 150ms ease}
.day[aria-pressed="true"],.slot[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--on-blue);box-shadow:0 2px 8px rgba(0,74,173,.3)}
footer.site{background:transparent;border-top:1px solid var(--line)}

/* ---------- gestione: navigazione ---------- */
.subtabs{gap:2px;border-bottom:0;background:var(--track);padding:4px;border-radius:14px;margin:14px 0 12px}
.subtabs button{border:0;border-radius:10px;padding:9px 14px;font-size:15.5px;color:var(--muted);transition:background-color 150ms ease,color 150ms ease}
.subtabs button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--sh-1)}
.subnav button{border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform 160ms var(--ease-out),background-color 150ms ease,border-color 150ms ease}
.subnav button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.nbadge{box-shadow:0 0 0 2px var(--surface)}

/* ---------- gestione: agenda e scelte ---------- */
.ag{border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1)}
.todo-chip{border:1px solid var(--line);box-shadow:var(--sh-1);transition:transform 160ms var(--ease-out),border-color 150ms ease}
/* scelta a segmenti stile iOS: binario chiaro, opzione scelta in rilievo */
.seg{background:var(--track);gap:3px;padding:3px;border:0;border-radius:12px}
.seg-b{background:transparent;border-radius:9px;color:var(--muted);font-weight:500;transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease,transform 160ms var(--ease-out)}
.seg-b[aria-pressed="true"]{background:var(--surface);color:var(--blue);font-weight:600;box-shadow:var(--sh-2)}
/* lo stato dell'appuntamento deve leggersi a colpo d'occhio: scelta piena */
.bk-status .seg-b[aria-pressed="true"]{background:var(--blue);color:var(--on-blue);box-shadow:0 2px 8px rgba(0,74,173,.28)}
.bk-sum{border-radius:var(--r-lg)}
.bk-when{letter-spacing:-.01em}

/* ---------- finestre: al computer compaiono da sé, al telefono salgono dal basso ---------- */
dialog{border-radius:22px;box-shadow:var(--sh-3);
  transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out),overlay 200ms allow-discrete,display 200ms allow-discrete}
dialog[open]{opacity:1;transform:none}
@starting-style{dialog[open]{opacity:0;transform:scale(.97)}}
dialog::backdrop{background:rgba(8,18,38,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background-color 200ms ease,overlay 200ms allow-discrete,display 200ms allow-discrete}
@starting-style{dialog[open]::backdrop{background:rgba(8,18,38,0)}}
@media (max-width:560px){
  dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:22px 22px 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom,0px);
    transition:transform 380ms var(--ease-drawer),overlay 380ms allow-discrete,display 380ms allow-discrete}
  dialog[open]{transform:none}
  @starting-style{dialog[open]{opacity:1;transform:translateY(100%)}}
  dialog .card{padding-top:26px;position:relative}
  dialog .card::before{content:"";position:absolute;top:9px;left:50%;width:40px;height:5px;margin-left:-20px;border-radius:999px;background:var(--line-2)}
}

/* ---------- avvisi ---------- */
.toast{border-radius:999px;padding:11px 20px;box-shadow:var(--sh-3);transform:translate(-50%,12px);transition:opacity 200ms var(--ease-out),transform 200ms var(--ease-out)}
.toast.show{transform:translate(-50%,0)}

/* ---------- gestione: niente "rimbalzo" della pagina mentre si lavora ---------- */
body:has(main.adm){overscroll-behavior-y:none}

@media (prefers-reduced-motion: reduce){
  dialog,dialog::backdrop,.toast{transition:opacity 150ms ease!important}
  @starting-style{dialog[open]{transform:none}}
  .btn:active,.seg-b:active,.svc:active{transform:none}
}

/* =========================================================
   v1.38 – lato paziente al telefono
   ========================================================= */
/* spunta di conferma: non nasce dal nulla (prima partiva dal 40%) */
@keyframes tickin2{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}
.ok-box .tick{animation:tickin2 300ms var(--ease-out) both}
/* pulsante fisso "Prenota" (compare solo al telefono, fuori dal modulo) */
.m-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:10px;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
  background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-top:1px solid var(--line);
  transition:transform 220ms var(--ease-out),opacity 220ms var(--ease-out)}
@starting-style{.m-cta{transform:translateY(100%);opacity:0}}
.m-cta .btn{flex:1;min-height:50px;font-size:17px;border-radius:14px}
.m-wa{flex:0 0 50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#25D366;color:#06301A;box-shadow:var(--sh-1)}
.m-wa:active{transform:scale(.97)}
@media (min-width:641px){.m-cta{display:none!important}}
body.has-mcta{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
body.has-mcta .toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
@media (max-width:640px){
  /* intestazione compatta: una riga, menu degli esami che scorre di lato */
  header.site .bar{padding:8px 16px}
  /* la pagina pazienti tiene logo, WhatsApp e Prenota su una sola riga (la regola a capo serve solo alla gestione) */
  header.site:has(.menu) .bar{flex-wrap:nowrap}
  header.site:has(.menu) .bar-actions{width:auto;overflow:visible}
  header.site:has(.menu) .brand small{display:none}
  .menu{padding:0 16px 8px;gap:16px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .hero .cta{display:flex;width:100%;justify-content:center;min-height:52px;align-items:center;font-size:17px}
  .brand img{width:34px}.brand b{font-size:17px}
  .site-nav,header.site nav{overflow-x:auto;white-space:nowrap;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent)}
  header.site nav::-webkit-scrollbar{display:none}
  /* prima schermata più corta: il pulsante si vede senza scorrere */
  .hero-in{padding:30px 16px 36px}
  .hero h1{font-size:clamp(30px,8.4vw,40px)}
  .hero .lead{font-size:17px;margin:12px 0 18px}
  /* modulo di prenotazione */
  .booking-in{padding-left:16px;padding-right:16px}
  .svc{padding:12px;gap:12px}.svc span{font-size:14px}
  .choice button{padding:14px;min-height:64px}
  /* giorni: striscia che scorre col pollice, si ferma su ogni giorno, sfuma ai bordi */
  .days{scroll-snap-type:x mandatory;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12px,#000 calc(100% - 28px),transparent);padding:4px 12px 8px;margin:0 -16px;scroll-padding:0 16px}
  .day{flex:0 0 66px;min-height:78px}
  /* orari: tre colonne, bersagli da 48 px */
  .slots{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}
  .slot{min-height:48px;font-size:17px}
  /* il pulsante per andare avanti resta sempre sotto il pollice */
  .bk .actions.next,#bk-next2,#bk-form>.actions{position:sticky;bottom:0;z-index:5;margin-left:-16px;margin-right:-16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .bk .actions.next .btn,#bk-next2 .btn,#bk-form>.actions .btn{flex:1;min-height:52px;font-size:17px;border-radius:14px}
  #bk-next2{flex-wrap:nowrap}#bk-next2 .muted{flex:0 0 auto;max-width:42%}
  #bk-form .row2{grid-template-columns:1fr}
  #bk-form input,#bk-form select,#bk-form textarea{min-height:50px}
  .check{min-height:44px;align-items:flex-start}
}
/* movimento ridotto: niente spostamenti, ma le dissolvenze restano (prima tutto era spento) */
@media (prefers-reduced-motion: reduce){
  .bk.enter,.grow,.fade,.ok-box>*,.ok-box .tick,.faq details[open]>div{animation:fadein 200ms ease both!important}
  .m-cta{transition:opacity 150ms ease!important}
}

/* ===== v1.39 – Scadenze e adempimenti ===== */
.dl-sum{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.dl-k{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:7px 12px;font-size:14px;color:var(--muted);box-shadow:var(--sh-1)}
.dl-k b{color:var(--ink);font-size:17px;margin-right:4px;font-variant-numeric:tabular-nums}
.dl-k.bad{border-color:var(--danger)}.dl-k.bad b{color:var(--danger)}.dl-k.warn b{color:#8A3A06}.dl-k.ok b{color:var(--green-ink)}
.dl-cat{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:18px 0 8px}
.dl-list{display:grid;gap:8px}
.dl-row{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--line-2);border-radius:var(--r-md);padding:10px 12px;box-shadow:var(--sh-1)}
.dl-row.st-scaduta{border-left-color:var(--danger)}.dl-row.st-in_arrivo{border-left-color:#D97706}.dl-row.st-ok{border-left-color:#4D7A00}
.dl-main{display:flex;flex-direction:column;gap:2px;min-width:0}.dl-main b{font-weight:600}.dl-note{overflow-wrap:anywhere}
.dl-when{display:flex;flex-direction:column;gap:2px;align-items:flex-start;font-variant-numeric:tabular-nums}
.dl-pill{font-size:12.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--track);color:var(--muted)}
.dl-pill.st-scaduta{background:var(--danger-soft);color:var(--danger)}.dl-pill.st-in_arrivo{background:#FFEBD9;color:#8A3A06}.dl-pill.st-ok{background:rgba(149,193,31,.2);color:var(--green-ink)}
.dl-acts{display:flex;gap:6px}
.dl-empty{text-align:left}
@media (max-width:640px){.dl-row{grid-template-columns:minmax(0,1fr)}.dl-when{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}}

/* v1.40 · DCR elettronica */
.dcr-line{margin:0 0 12px;padding:10px 14px;border-radius:var(--r-md,12px);background:color-mix(in srgb,#d97706 10%,var(--surface,#fff));font-size:14.5px}
.dcr-line.ok{background:color-mix(in srgb,#16a34a 10%,var(--surface,#fff))}
.todo-chip.todo-dcr{border-color:color-mix(in srgb,#d97706 45%,transparent)}

/* v1.40 · Economia: riepilogo */
:root{--eco-s1:#2a78d6;--eco-s2:#eb6834;--eco-s3:#1baf7a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--eco-s1:#3987e5;--eco-s2:#d95926;--eco-s3:#199e70}}
:root[data-theme="dark"]{--eco-s1:#3987e5;--eco-s2:#d95926;--eco-s3:#199e70}
.eco-sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg,16px);padding:18px 18px 16px;margin:0 0 16px;box-shadow:var(--sh-1)}
.eco-sec>.conv-sub{margin-top:0}
.eco-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:0 0 12px}
.eco-tile{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md,12px);background:var(--bg);min-width:0}
.eco-tile .l{font-size:13px;color:var(--muted);font-weight:600}
.eco-tile .n{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.eco-tile.eco-hero .n{font-size:30px}
.eco-tile .m{font-size:13px;color:var(--muted)}
.eco-tile.warn .n{color:#b45309}
.eco-tile .link-inline{align-self:flex-start;margin-top:4px;font-size:13.5px}
.eco-delta{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.eco-delta.up{color:#15803d}.eco-delta.down{color:#b91c1c}
.eco-delta .muted{font-weight:400}
.eco-h3{font-size:15px;margin:14px 0 6px}
.eco-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);margin:0 0 6px}
.eco-legend span{display:inline-flex;align-items:center;gap:6px}
.eco-sw{width:12px;height:12px;border-radius:3px;display:inline-block}
.eco-sw.s1,.eco-bar.s1{background:var(--eco-s1);fill:var(--eco-s1)}
.eco-sw.s2,.eco-bar.s2{background:var(--eco-s2);fill:var(--eco-s2)}
.eco-sw.s3,.eco-bar.s3{background:var(--eco-s3);fill:var(--eco-s3)}
.eco-chart-w{position:relative}
.eco-chart{width:100%;height:auto;display:block;overflow:visible}
.eco-grid{stroke:var(--line);stroke-width:1}
.eco-base{stroke:var(--line-2);stroke-width:1}
.eco-ax{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.eco-hit{fill:transparent;cursor:pointer;outline:none}
.eco-hit.on,.eco-hit:focus-visible{fill:color-mix(in srgb,var(--ink) 6%,transparent)}
.eco-tip{position:absolute;top:0;transform:translateX(-50%);background:var(--surface);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--sh-2);padding:8px 10px;font-size:13px;display:flex;flex-direction:column;gap:1px;pointer-events:none;min-width:150px;z-index:2}
.eco-tip[hidden]{display:none}
.eco-table{margin:8px 0 0}.eco-table summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--blue,#0b4fb3)}
.eco-rank{display:grid;gap:6px}
.eco-rk{display:grid;grid-template-columns:minmax(120px,220px) minmax(60px,1fr) auto;gap:10px;align-items:center;font-size:14px}
.eco-rk .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eco-rk .eco-rbar{height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.eco-rk .eco-rbar i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--eco-s1)}
.eco-rk .v{font-variant-numeric:tabular-nums;white-space:nowrap}
.eco-empty{padding:14px;border:1px dashed var(--line-2);border-radius:var(--r-md,12px)}
.eco-empty p{margin:0 0 8px;color:var(--muted)}
@media (max-width:640px){.eco-rk{grid-template-columns:minmax(0,1fr) auto}.eco-rk .eco-rbar{grid-column:1/-1;grid-row:2}.eco-sec{padding:14px 12px}.eco-tile.eco-hero{grid-column:1/-1}}
.seg-ctl{display:inline-flex;padding:3px;gap:2px;border-radius:12px;background:var(--track,#eef2f7);border:1px solid var(--line)}
.seg-ctl button{font:inherit;font-size:14px;border:0;background:transparent;color:var(--muted);padding:6px 12px;border-radius:9px;cursor:pointer;white-space:nowrap;min-height:34px}
.seg-ctl button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--sh-1)}
.rd-det{margin:6px 0 10px;border:1px solid var(--line);border-radius:var(--r-md,12px);background:var(--surface);padding:0 14px}
.rd-det>summary{cursor:pointer;padding:12px 0;font-weight:700;font-size:16px;list-style:revert}
.rd-det[open]{padding-bottom:12px}

/* v1.41 · Turni: variazioni veloci e vista del mese */
td.mv-c.k-maternita,.t-seg.k-maternita,.sh-k-maternita,td.sh-c.k-maternita,.lg-sw.k-maternita{background:#F8BBD0;color:#5A1030}
.t-seg.k-ritardo{background:#E5E7EB;color:#1F2937;border-color:#C5CAD3}
.lg-sw.lg-rit{background:#fff;border:1.5px solid #B42318;border-radius:999px;width:12px}
.mv tbody tr:hover>th,.mv tbody tr:hover>td.mv-c{filter:brightness(.97)}
td.mv-c.today{box-shadow:inset 2px 0 0 #004AAD,inset -2px 0 0 #004AAD}
.mv th.t-name,.mv tfoot th{position:sticky;left:0;z-index:1;background:var(--surface)}
.mv tr.t-grp th{position:sticky;left:0}
.mv-badges{display:flex!important;flex-wrap:wrap;gap:1px;justify-content:center;margin-top:1px}
.mv-b{font-style:normal;font-size:8.5px;font-weight:800;line-height:1;padding:1px 2px;border-radius:3px;background:#fff;white-space:nowrap}
.mv-b.rit{color:#B42318;box-shadow:inset 0 0 0 1px #B42318}
.mv-b.str{color:#fff;background:#C62828}
.mv-b.prm{color:#4C1D95;box-shadow:inset 0 0 0 1px #8B5CF6}
.sh-undo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:0 0 10px;border-radius:var(--r-md,12px);background:color-mix(in srgb,#16a34a 10%,var(--surface));font-size:14.5px}
.sh-undo span{flex:1 1 200px}
.mv-vars{margin:12px 0;border:1px solid var(--line);border-radius:var(--r-md,12px);background:var(--surface);padding:0 14px}
.mv-vars>summary{cursor:pointer;padding:12px 0;font-size:15px}
.mv-vars[open]{padding-bottom:12px}
.mv-vl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px}
.mv-vi{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:14px}
.mv-vi:hover,.mv-vi:focus-visible{border-color:var(--line-2);box-shadow:var(--sh-1)}
.mv-vi .when{min-width:58px;color:var(--muted);font-variant-numeric:tabular-nums}
.mv-vi .t-seg{padding:1px 6px;border-radius:6px;border:1px solid transparent;font-size:12.5px}
.mk-types{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;margin:0 0 12px}
.mk-t{font:inherit;font-size:14px;display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:46px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;text-align:left}
.mk-t span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;font-weight:800;font-size:13px;flex:none}
.mk-t[aria-checked="true"]{border-color:var(--blue,#0b4fb3);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,#0b4fb3) 18%,transparent);font-weight:700}
.mk-ritardo span{background:#E5E7EB;color:#B42318}.mk-uscita span{background:#CDB8F5;color:#3b1d7a}.mk-straordinario span{background:#FF8A80;color:#5A0A04}.mk-permesso span{background:#CDB8F5;color:#3b1d7a}
.mk-ferie span{background:#90B4F0;color:#0d2c63}.mk-malattia span{background:#FFD08A;color:#5A3A00}.mk-maternita span{background:#F8BBD0;color:#5A1030}
.mk-mins{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip-b{font:inherit;font-size:14px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);cursor:pointer;min-height:38px}
.chip-b[aria-pressed="true"]{background:var(--blue,#0b4fb3);border-color:var(--blue,#0b4fb3);color:#fff;font-weight:600}
.mk-other{display:inline-flex;align-items:center;gap:6px;font-size:14px}.mk-other input{width:80px}
.mk-prev{margin:6px 0 4px;padding:10px 12px;border-radius:12px;background:var(--bg);border:1px dashed var(--line-2)}
.mk-prev ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:14px}
.mk-prev li{display:flex;gap:10px;flex-wrap:wrap}.mk-prev .when{min-width:84px;color:var(--muted)}
.mk-no{margin:0;color:#B42318;font-size:14px}
@media (max-width:640px){.mk-types{grid-template-columns:1fr 1fr}}
.todo-more{font:inherit;font-size:14px;font-weight:600;border:1px dashed var(--line-2);background:transparent;color:var(--blue,#0b4fb3);border-radius:999px;padding:6px 12px;cursor:pointer;min-height:36px}
/* v1.41 · primo avvio */
.setup{border-color:color-mix(in srgb,var(--blue,#0b4fb3) 35%,var(--line))}
.setup-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.setup-h h3{margin:0}
.setup-bar{height:8px;border-radius:4px;background:var(--line);margin:10px 0 12px;overflow:hidden}
.setup-bar i{display:block;height:100%;background:var(--blue,#0b4fb3);border-radius:4px;transition:width 300ms var(--ease-out,ease)}
.setup-l{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.setup-l li{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.setup-l li:first-child{border-top:0}
.setup-c{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff}
.setup-l li.ok .setup-c{background:#16a34a;border-color:#16a34a}
.setup-l li.ok .setup-t b{color:var(--muted);font-weight:600}
.setup-t small{display:block;color:var(--muted);font-size:13px}
.setup-a{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:640px){.setup-l li{grid-template-columns:26px minmax(0,1fr)}.setup-a,.setup-l li>.link-inline,.setup-l li>.muted.small{grid-column:2}.setup-a{justify-content:flex-start}}
/* v1.41 · ECM e farmacovigilanza */
.dl-badge{display:inline-block;font-size:12.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,#d97706 14%,var(--surface));color:#8A3A06;white-space:nowrap}
.dl-badge.ok{background:color-mix(in srgb,#16a34a 14%,var(--surface));color:var(--green-ink,#166534)}
.dl-badge.bad{background:color-mix(in srgb,#dc2626 14%,var(--surface));color:var(--danger,#b91c1c)}
.ecm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.ecm-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg,16px);padding:14px 16px;box-shadow:var(--sh-1);min-width:0}
.ecm-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.ecm-h h3{margin:0;font-size:17px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.ecm-n{margin:8px 0 6px;font-size:14.5px;font-variant-numeric:tabular-nums}.ecm-n b{font-size:22px}
.ecm-bar{position:relative;height:10px;border-radius:5px;background:var(--line);margin:0 0 10px}
.ecm-bar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:#16a34a}.ecm-bar i.pace{background:var(--blue,#0b4fb3)}.ecm-bar i.late{background:#dc2626}
.ecm-bar b{position:absolute;top:-4px;width:2px;height:18px;background:var(--ink);border-radius:1px;transform:translateX(-1px)}
.ecm-l{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ecm-l li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--line);font-size:14px}
.ecm-l li small{display:block;color:var(--muted);font-size:12.5px}
.ecm-cr{font-weight:800;font-variant-numeric:tabular-nums}
.pv-steps{margin:0 0 14px;padding-left:20px;font-size:14.5px;color:var(--muted)}.pv-steps li{margin:2px 0}.pv-steps b{color:var(--ink)}
.pv-list{display:grid;gap:10px}
.pv-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid #d97706;border-radius:var(--r-md,12px);padding:12px 14px}
.pv-card.sent{border-left-color:#16a34a}
.pv-ch{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pv-id{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
.pv-r{margin:6px 0 4px;font-size:14.5px}
.pv-h{font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px}
/* v1.42 · guide per i pazienti */
.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin:12px 0}
.guide-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-lg,16px);background:var(--surface);box-shadow:var(--sh-1);text-decoration:none;color:var(--ink);transition:box-shadow 150ms var(--ease-out,ease),transform 150ms var(--ease-out,ease)}
.guide-card:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}
.guide-card b{font-size:17px;line-height:1.3}
.guide-card span{color:var(--muted);font-size:14.5px;line-height:1.45}
.guide-card small{color:var(--muted);font-size:13px;margin-top:auto}
.guide-tag{align-self:flex-start;font-size:12px!important;font-weight:700;color:var(--blue,#0b4fb3)!important;text-transform:uppercase;letter-spacing:.04em}
.home-guides{max-width:1100px;margin:0 auto;padding:24px 16px}
.guide-meta{font-size:14px;opacity:.85;margin:10px 0 0}

.guide-art section{margin:0 0 22px}
.guide-art .glossary dt{font-weight:700;margin-top:10px}.guide-art .glossary dd{margin:2px 0 0}
.guide-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:8px 0 24px;border-radius:var(--r-lg,16px);background:color-mix(in srgb,var(--blue,#0b4fb3) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--blue,#0b4fb3) 25%,var(--line))}
.guide-cta div{display:flex;flex-direction:column;gap:2px}.guide-cta span{color:var(--muted);font-size:14.5px}
.guide-note{margin-top:20px}

/* v1.42 · Mese dei turni: colori per fascia, più leggibile */
.mv-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 8px}.mv-tools .lg{margin:0;flex:1 1 420px}
.lg-sw.f-mat{background:#DBEAFE;border-color:#93C5FD}.lg-sw.f-pom{background:#FEF3C7;border-color:#FCD34D}.lg-sw.f-spez{background:#D1FAE5;border-color:#6EE7B7}.lg-sw.f-giorn{background:#EDE9FE;border-color:#C4B5FD}
.mv-lg .mv-b{font-size:10px}
table.mv.mv-f{font-size:12px;border-collapse:separate;border-spacing:0}
.mv.mv-f th,.mv.mv-f td{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mv.mv-f thead th{background:var(--surface);position:sticky;top:0;z-index:2}
.mv.mv-f thead tr:nth-child(2) th{font-weight:400;padding:4px 0;line-height:1.05}
.mv.mv-f thead small{display:block;font-size:10px;color:var(--muted);text-transform:lowercase}
.mv.mv-f thead b{display:block;font-size:14px;font-weight:700}
.mv.mv-f th.sun,.mv.mv-f th.hol{background:#FFF1E6}.mv.mv-f th.hol b{color:#C2410C}
.mv.mv-f th.today{background:#004AAD;color:#fff;box-shadow:none}.mv.mv-f th.today small{color:#DCE8FA}
.mv.mv-f .wk1{border-left:3px solid var(--line-2)}
.mv-wk .mv-wd{font-weight:400;color:var(--muted);text-decoration:none}
.mv.mv-f .mv-wk{text-decoration:none;font-size:12px}
.mv.mv-f tbody tr{height:46px}
.mv.mv-f .t-name{width:132px;padding:4px 8px;font-size:13px;font-weight:700}
.mv.mv-f .t-name small{font-weight:400}
.mv.mv-f td.mv-c{color:#1F2937;font-weight:600;padding:4px 1px;vertical-align:middle}
.mv.mv-f td.mv-c span{font-size:11px;line-height:1.15;font-weight:700}
.mv.mv-f td.mv-c.f-mat{background:#DBEAFE;color:#1E3A8A}
.mv.mv-f td.mv-c.f-pom{background:#FEF3C7;color:#78350F}
.mv.mv-f td.mv-c.f-spez{background:#D1FAE5;color:#065F46}
.mv.mv-f td.mv-c.f-giorn{background:#EDE9FE;color:#4C1D95}
.mv.mv-f td.mv-c.f-off{background:var(--surface)}
.mv.mv-f td.mv-c.f-off::after{content:"·";color:var(--line-2);font-size:16px}
.mv.mv-f td.mv-c.sun,.mv.mv-f td.mv-c.f-we.f-off{background:#FFF7F0}
.mv.mv-f td.mv-c.f-mix{box-shadow:inset 0 -4px 0 #8B5CF6}
.mv.mv-f td.mv-c.k-ferie{background:#BFDBFE;color:#1E3A8A}.mv.mv-f td.mv-c.k-malattia{background:#FED7AA;color:#7C2D12}
.mv.mv-f td.mv-c.k-permesso,.mv.mv-f td.mv-c.k-permesso104{background:#DDD6FE;color:#4C1D95}.mv.mv-f td.mv-c.k-maternita{background:#FBCFE8;color:#831843}
.mv.mv-f td.mv-c.k-ferie span,.mv.mv-f td.mv-c.k-malattia span,.mv.mv-f td.mv-c.k-maternita span,.mv.mv-f td.mv-c.k-permesso span{font-size:10px;text-transform:uppercase;letter-spacing:.02em}
.mv.mv-f tbody tr:hover>td.mv-c{filter:brightness(.96)}
.mv.mv-f td.mv-c.today{box-shadow:inset 2px 0 0 #004AAD,inset -2px 0 0 #004AAD}
.mv.mv-f td.mv-tot{font-size:13px}
.mv.mv-f tfoot td{font-weight:700;font-size:12px;height:30px}
.mv.mv-f tfoot td.mv-okc{color:#166534;background:#F0FDF4}
.mv.mv-f tfoot th{font-size:11px;font-weight:600;color:var(--muted)}
.mv.mv-f tr.t-grp th{background:var(--bg);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 8px}
@media (max-width:760px){table.mv.mv-f{min-width:1100px}}
.mv.mv-f thead tr:first-child th:first-child{width:132px}
.mv.mv-f td.mv-c span{font-size:11.5px;letter-spacing:-.01em}
.mv.mv-f td.mv-c span+span:not(.mv-badges){margin-top:3px;padding-top:3px;border-top:1px dashed rgba(0,0,0,.18)}
.mv.mv-f td.mv-c.k-ferie span,.mv.mv-f td.mv-c.k-malattia span,.mv.mv-f td.mv-c.k-maternita span,.mv.mv-f td.mv-c.k-permesso span{text-transform:none;font-size:11px}
.mv.mv-f tfoot th{line-height:1.15}
.mv.mv-f td.mv-c span{font-size:11px}
.mv.mv-f td.mv-tot,.mv.mv-f thead tr:first-child th:last-child{width:52px}
/* v1.45 · finestra "Area del titolare" / badge: a tutta larghezza al telefono */
@media (max-width:560px){dialog.need-dlg{width:100%;max-width:100%;margin:auto 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.need-dlg .actions .btn{flex:1 1 0}}
/* v1.45 · verifica ticket al telefono: una scheda per riga invece della tabella tagliata */
@media (max-width:640px){
  table.tkv thead{display:none}
  table.tkv,table.tkv tbody,table.tkv tr,table.tkv th,table.tkv td{display:block;width:auto}
  table.tkv tr{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 8px;background:var(--surface)}
  table.tkv th,table.tkv td{border:0!important;padding:2px 0!important;text-align:left!important;background:none!important}
  table.tkv th{display:inline;font-size:15px}
  table.tkv th+td{display:inline;margin-left:6px;color:var(--muted)}
  table.tkv th+td::before{content:"· "}
  table.tkv td[data-l]::before{content:attr(data-l) ": ";color:var(--muted);font-size:13px}
  table.tkv td:last-child{margin-top:6px}
  table.tkv tr.tkv-bad{border-color:var(--danger,#b91c1c)}
}
.f.svc-ric[hidden],.svc-ric-note[hidden]{display:none!important}
.deleg-tag{display:inline-block;margin-left:6px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--blue,#0b4fb3) 12%,var(--surface));color:var(--blue,#0b4fb3)}

/* =========================================================
   v1.46 · Pagina iniziale: il battito dell'ECG che attraversa la testata
   Una volta per visita (sessione). Il testo è sempre nella pagina: l'animazione
   muove solo opacità e posizione. Con "riduci movimento" non parte.
   ========================================================= */
.hero-wow{--ecg-y:58%}
.hero-ecg{position:absolute;left:0;right:0;top:var(--ecg-y);width:100%;height:clamp(90px,16vw,170px);transform:translateY(-50%);pointer-events:none;z-index:0;overflow:visible}
.hero-ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ecg-base{stroke:rgba(255,255,255,.10);stroke-width:2}
.ecg-line{stroke:rgba(255,255,255,.30);stroke-width:2.5}
.ecg-head{stroke:#B5F08A;stroke-width:3.5;stroke-dasharray:22 1000;stroke-dashoffset:22;opacity:0;filter:drop-shadow(0 0 6px rgba(181,240,138,.9)) drop-shadow(0 0 14px rgba(181,240,138,.55))}
.hero-wow .hero-in{z-index:1}
.hero-wow h1 .w{display:inline-block}
@media (max-width:640px){.hero-wow{--ecg-y:auto}.hero-ecg{top:auto;bottom:4px;height:56px;transform:none}.hero-wow .hero-in{padding-bottom:58px}.ecg-line{stroke:rgba(255,255,255,.22)}}

/* battito "vivo": una scintilla verde ripercorre il tracciato ogni pochi secondi */
@keyframes ecgRun{0%{stroke-dashoffset:22;opacity:0}6%{opacity:1}88%{opacity:1}100%{stroke-dashoffset:-1000;opacity:0}}
html.wow .ecg-head,html.wow-seen .ecg-head{animation:ecgRun 2.6s cubic-bezier(.45,.05,.55,.95) 3 both;animation-delay:2.2s}
html.wow-seen .ecg-head{animation-delay:.6s}

/* ingresso (solo la prima volta nella visita) */
@keyframes ecgDraw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes wordIn{from{opacity:0;transform:translateY(18px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes heroGlow{from{opacity:0}to{opacity:1}}
@keyframes ctaBeat{0%{box-shadow:0 0 0 0 rgba(181,240,138,.75),0 6px 18px rgba(0,0,0,.18)}70%{box-shadow:0 0 0 18px rgba(181,240,138,0),0 6px 18px rgba(0,0,0,.18)}100%{box-shadow:0 0 0 0 rgba(181,240,138,0),0 6px 18px rgba(0,0,0,.18)}}
@keyframes ctaPop{0%,100%{transform:none}35%{transform:scale(1.045)}}
html.wow .hero-wow .ecg-line{stroke-dasharray:1000;animation:ecgDraw 1.6s cubic-bezier(.65,0,.35,1) .15s both}
html.wow .hero-wow .ecg-base{animation:heroGlow .8s ease-out both}
html.wow .hero-wow .hero-in>h1{animation:none}
html.wow .hero-wow h1 .w{animation:wordIn .7s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(.1s + var(--i) * 55ms)}
html.wow .hero-wow .hero-in>*:not(h1){animation:rise .7s cubic-bezier(.23,1,.32,1) both}
html.wow .hero-wow .hero-in>.lead{animation-delay:.55s}
html.wow .hero-wow .hero-in>.cta{animation:rise .7s cubic-bezier(.23,1,.32,1) .7s both,ctaBeat 1s ease-out 1.75s 1,ctaPop .45s cubic-bezier(.23,1,.32,1) 1.75s 1}
html.wow .hero-wow .hero-in>.hero-trust{animation-delay:.85s}
html.wow .hero-wow .hero-in>.hero-note{animation-delay:.95s}
html.wow .hero-wow .hero-trust li{animation:rise .5s cubic-bezier(.23,1,.32,1) both}
html.wow .hero-wow .hero-trust li:nth-child(1){animation-delay:.9s}html.wow .hero-wow .hero-trust li:nth-child(2){animation-delay:.98s}html.wow .hero-wow .hero-trust li:nth-child(3){animation-delay:1.06s}
html.wow .hero-wow .hero-trust li::before{display:inline-block;animation:wordIn .4s cubic-bezier(.23,1,.32,1) both;animation-delay:inherit}
html.wow-seen .hero-wow .hero-in>*{animation-duration:.35s}
@media (prefers-reduced-motion: reduce){.ecg-head{display:none}html.wow .hero-wow *{animation:none!important}}

/* =========================================================
   v1.47 · Leggibilità della testata + micro-animazioni del gestionale
   Solo trasformazioni e opacità, sotto il mezzo secondo, per confermare un'azione.
   ========================================================= */
/* il battito verde passa 3 volte e poi si ferma: niente movimento mentre si legge */
/* Fatto → spunta, la riga scivola via */
.btn.is-done{background:#2F7D32;border-color:transparent;color:#fff;opacity:1}
.ok-tick{width:15px;height:15px;margin:-2px 4px -2px -2px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:draw .26s cubic-bezier(.23,1,.32,1) forwards}
li.row-out{pointer-events:none;overflow:hidden;opacity:0;transform:translateX(14px);max-height:0!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;border-color:transparent!important;transition:opacity .2s ease-out,transform .22s cubic-bezier(.23,1,.32,1),max-height .24s cubic-bezier(.77,0,.175,1) .06s,padding .24s cubic-bezier(.77,0,.175,1) .06s,margin .24s cubic-bezier(.77,0,.175,1) .06s}
/* cambio di stato della prenotazione: la riga in agenda si accende un attimo e l'etichetta "scatta" */
@keyframes justRing{0%{box-shadow:0 0 0 0 rgba(149,193,31,0)}15%{box-shadow:0 0 0 4px rgba(149,193,31,.95)}100%{box-shadow:0 0 0 4px rgba(149,193,31,0)}}
@keyframes tagPop{0%{transform:scale(.8);opacity:0}100%{transform:none;opacity:1}}
.ag.just-set{animation:justRing 1.2s ease-out 1}
.ag.just-set .who-top .tag:not(.exam){display:inline-block;animation:tagPop .32s cubic-bezier(.23,1,.32,1) .12s both}
.seg-b.seg-pick{transition:background-color .15s ease,color .15s ease}
/* economia: le barre "quale servizio rende di più" crescono da sinistra, una dopo l'altra */
@keyframes barGrow{from{transform:scaleX(0)}to{transform:none}}
.eco-rk .eco-rbar i{transform-origin:left center;animation:barGrow .6s cubic-bezier(.23,1,.32,1) both}
.eco-rk:nth-child(2) .eco-rbar i{animation-delay:40ms}.eco-rk:nth-child(3) .eco-rbar i{animation-delay:80ms}.eco-rk:nth-child(4) .eco-rbar i{animation-delay:120ms}.eco-rk:nth-child(5) .eco-rbar i{animation-delay:160ms}.eco-rk:nth-child(n+6) .eco-rbar i{animation-delay:200ms}
.eco-tile .n{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: reduce){.ok-tick{animation:none;stroke-dashoffset:0}li.row-out{pointer-events:none;transition:none}.ag.just-set,.ag.just-set .tag,.eco-rk .eco-rbar i{animation:none!important}}

/* =========================================================
   v1.48 · Altre conferme visive nel gestionale
   ========================================================= */
/* "✓ Salvato" sul pulsante appena premuto */
.btn.is-saved{background:#2F7D32;border-color:transparent;color:#fff;transition:background-color .15s ease}
/* sagoma di caricamento */
@keyframes skShine{from{background-position:100% 0}to{background-position:-100% 0}}
.sk{display:grid;gap:10px;padding:6px 0 14px}
.sk span{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--line) 0%,var(--soft) 50%,var(--line) 100%);background-size:200% 100%;animation:skShine 1.3s linear infinite}
.sk .sk-title{height:26px;width:44%;margin-bottom:6px;border-radius:8px}
/* agenda: il giorno scorre nella direzione della freccia */
@keyframes slideL{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes slideR{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.slide-l{animation:slideL .22s cubic-bezier(.23,1,.32,1) both}.slide-r{animation:slideR .22s cubic-bezier(.23,1,.32,1) both}
/* contatori "Da fare": il numero scende con uno scatto */
@keyframes tickDown{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
.todo-chip b.tick-down{display:inline-block;animation:tickDown .3s cubic-bezier(.23,1,.32,1) .05s both}
/* turni, vista mese: le caselle appena segnate si accendono un attimo */
@keyframes cellNew{0%{box-shadow:inset 0 0 0 0 rgba(149,193,31,0)}20%{box-shadow:inset 0 0 0 3px rgba(149,193,31,1)}100%{box-shadow:inset 0 0 0 3px rgba(149,193,31,0)}}
td.mv-c.cell-new{animation:cellNew 1.6s ease-out 1}
@media (prefers-reduced-motion: reduce){.sk span{animation:none}.slide-l,.slide-r,.todo-chip b.tick-down,td.mv-c.cell-new{animation:none!important}}

/* =========================================================
   v1.49 · Turni scritti a parole + altre conferme nel gestionale
   ========================================================= */
/* "Scrivi cosa fare" */
.tcmd{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md,12px);padding:12px 14px;margin:0 0 14px;box-shadow:var(--sh-1)}
.tcmd-l{display:block;font-weight:600;margin:0 0 6px}
.tcmd-row{display:flex;gap:8px}.tcmd-row input{flex:1;min-width:0;font-size:16px}
.tcmd-ex{margin:6px 0 0}
.mk-heard{background:var(--soft);border-radius:10px;padding:9px 12px;margin:0 0 12px;font-size:15px;line-height:1.45}
.mk-miss{display:block;color:var(--danger);margin-top:3px;font-size:14px}
/* Annulla nel messaggio */
.toast.has-undo{pointer-events:auto;display:flex;align-items:center;gap:12px;padding-right:8px}
.toast-undo{background:transparent;border:1px solid currentColor;color:inherit;border-radius:999px;padding:4px 12px;font:inherit;font-weight:600;cursor:pointer}
.toast-undo:active{transform:scale(.97)}
/* pulsante in attesa del server */
@keyframes spin{to{transform:rotate(360deg)}}
.btn.is-busy{position:relative;color:transparent!important;pointer-events:none}
.btn.is-busy>*{visibility:hidden}
.btn.is-busy::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .6s linear infinite}
.btn.ghost.is-busy::after,.btn.sm.ghost.is-busy::after{border-color:rgba(0,74,173,.25);border-top-color:var(--blue)}
/* paziente in arrivo (entro 15 minuti) */
@keyframes breatheRing{0%,100%{box-shadow:0 0 0 2px rgba(149,193,31,.35)}50%{box-shadow:0 0 0 4px rgba(149,193,31,.9)}}
.ag.arriving{animation:breatheRing 2.4s ease-in-out infinite}
.tag.soon{background:#EAF5CF;color:#3E5600;font-weight:600}
/* linea dell'ora attuale */
.now-line{position:relative;height:0;border-top:2px solid #E5484D;margin:6px 0 6px 58px}
.now-line::before{content:"";position:absolute;left:-6px;top:-6px;width:10px;height:10px;border-radius:50%;background:#E5484D}
.now-line span{position:absolute;right:0;top:-11px;background:var(--bg);color:#C8282E;font-size:12px;font-weight:600;padding:0 6px;border-radius:6px}
@media (max-width:560px){.now-line{margin-left:12px}}
/* prenotazione online appena arrivata */
@keyframes newIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.ag.is-new{animation:newIn .35s cubic-bezier(.23,1,.32,1) both,justRing 1.4s ease-out .35s 1}
.tag.new-tag{background:#E5484D;color:#fff;font-weight:600}
/* qualità: registrazioni del giorno */
.q-prog{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md,12px);padding:10px 14px;margin:0 0 14px}
.q-prog-t{display:flex;justify-content:space-between;gap:10px;margin:0 0 7px;font-size:15px}
.q-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.q-bar i{display:block;height:100%;background:var(--blue);transform-origin:left center;transform:scaleX(0);transition:transform .6s cubic-bezier(.23,1,.32,1),background-color .3s ease}
.q-prog.complete .q-bar i{background:#2F7D32}.q-prog.complete .q-prog-l{color:#2F7D32}
@keyframes qPop{0%{transform:none}40%{transform:scale(1.02)}100%{transform:none}}
.q-prog.just-complete{animation:qPop .4s cubic-bezier(.23,1,.32,1) .45s}
@media (prefers-reduced-motion: reduce){.ag.arriving,.ag.is-new,.q-prog.just-complete{animation:none!important}.btn.is-busy::after{animation-duration:1.5s}.q-bar i{transition:none}}
@media print{.now-line,.tcmd{display:none}}

/* =========================================================
   v1.50 · Comandi scritti o dettati in agenda, chiusura di giornata, turni di domani
   ========================================================= */
.acmd{padding:8px 10px;margin:0 0 12px}
.mic-b{padding-left:10px;padding-right:10px;flex:none}
@keyframes micPulse{0%,100%{box-shadow:0 0 0 0 rgba(229,72,77,.5)}50%{box-shadow:0 0 0 6px rgba(229,72,77,0)}}
.mic-b.listening{background:#E5484D;border-color:#E5484D;color:#fff;animation:micPulse 1.2s ease-out infinite}
input.cmd-set{box-shadow:0 0 0 3px rgba(149,193,31,.85)!important}
.eod-b{margin-left:auto}
.eod-g{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px;margin:0 0 6px}
.eod-r{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:1px solid var(--line);padding:6px 0}
.eod-r b{white-space:nowrap}.eod-r.warn b{color:var(--danger)}
.eod-h{font-size:16px;margin:16px 0 6px}
.eod-l{margin:0;padding-left:18px}.eod-l li{margin:2px 0}
.eod-ok{color:#2F7D32;font-weight:600;margin:0}
@media (max-width:560px){.eod-g{grid-template-columns:1fr}}
.tom-shifts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md,12px);padding:8px 12px;margin:0 0 12px;font-size:14px}
.tom-shifts .tl{font-weight:600;margin-right:4px}
.tom-shifts .tw{background:var(--soft);border-radius:999px;padding:3px 10px}
.tom-shifts .tw.off{opacity:.7;text-decoration:line-through}
.tom-shifts .tw.gap{background:var(--danger-soft);color:var(--danger);font-weight:600}
.nbadge.soon{background:#E8890C}
.q-pages{margin-bottom:4px}
@media (prefers-reduced-motion: reduce){.mic-b.listening{animation:none}}

/* =========================================================
   v1.51 · Controllo spostamenti, lista d'attesa, settimana, qualità a voce, compleanni
   ========================================================= */
.mv-ok{color:#2F7D32;font-weight:600;margin:6px 0;font-size:14px}
#mv-check .rc-prob{margin:6px 0}
.wl-pick{list-style:none;margin:0 0 6px;padding:0}.wl-pick li{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line)}
.wk-box{border-left:4px solid var(--blue)}
.wk-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px}.wk-head h3{margin:0}
.wk-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wk-t{background:var(--soft);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}
.wk-t .l{font-size:13px;color:var(--muted)}.wk-t .n{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.wk-t .m{font-size:12px;color:var(--muted)}
.wk-t .eco-delta{font-size:12px}
@media (max-width:640px){.wk-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
a.btn.is-done{background:#2F7D32;border-color:transparent;color:#fff}

/* =========================================================
   v1.52 · Testata: la croce e il tracciato ECG stanno in una fascia in basso, mai sopra il testo
   ========================================================= */
.hero .plus{width:210px;height:210px;right:-40px;bottom:-50px}
.hero .plus::before{left:70px;top:0;width:70px;height:210px}
.hero .plus::after{left:0;top:70px;width:210px;height:70px}
.hero:has(.plus) .hero-in{padding-bottom:172px}
.hero-wow .hero-ecg,.hero-wow{--ecg-y:auto}
.hero-wow .hero-ecg{top:auto;bottom:22px;left:0;right:auto;width:calc(100% - 190px);height:104px;transform:none}
.hero-wow .hero-in{padding-bottom:172px}
.ecg-line{stroke:rgba(255,255,255,.34)}
@media (max-width:700px){
  .hero .plus{width:120px;height:120px;right:-30px;bottom:-30px}
  .hero .plus::before{left:40px;width:40px;height:120px}
  .hero .plus::after{top:40px;height:40px;width:120px}
  .hero:has(.plus) .hero-in,.hero-wow .hero-in{padding-bottom:104px}
  .hero-wow .hero-ecg{bottom:12px;width:calc(100% - 96px);height:72px}
  .ecg-line{stroke:rgba(255,255,255,.42)}
}
/* tracciato v1.52: si disegna con una maschera che scorre (funziona uguale su iPhone, Android e computer) */
.hero-ecg{position:absolute;pointer-events:none;z-index:0}
.hero-ecg .ecg-l{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero-ecg .ecg-head{stroke-dasharray:none;stroke-dashoffset:0;opacity:1;filter:none;stroke:#B5F08A;stroke-width:3.5}
.hero-ecg .l-spark{opacity:0;filter:drop-shadow(0 0 5px rgba(181,240,138,.95)) drop-shadow(0 0 12px rgba(181,240,138,.6))}
@keyframes ecgReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes ecgSpark{0%{clip-path:inset(0 100% 0 -4%);opacity:1}92%{opacity:1}100%{clip-path:inset(0 -4% 0 100%);opacity:0}}
html.wow .hero-wow .ecg-line,html.wow .hero-wow .ecg-base,html.wow .ecg-head,html.wow-seen .ecg-head{animation:none;stroke-dasharray:none}
html.wow .hero-wow .l-line{animation:ecgReveal 1.6s cubic-bezier(.65,0,.35,1) .15s both}
html.wow .hero-wow .l-base{animation:heroGlow .8s ease-out both}
html.wow .hero-wow .l-spark,html.wow-seen .hero-wow .l-spark{animation:ecgSpark 2.6s cubic-bezier(.45,.05,.55,.95) 2.2s 3 both}
html.wow-seen .hero-wow .l-spark{animation-delay:.6s}
/* "riduci movimento": niente spostamenti, solo una dissolvenza leggera del titolo e del tracciato */
@media (prefers-reduced-motion: reduce){
  .hero-wow .l-spark{display:none}
  html.wow-soft .hero-wow h1 .w,html.wow-soft .hero-wow .hero-in>*:not(h1),html.wow-soft .hero-wow .l-line{animation:heroGlow .6s ease-out both!important}
  html.wow-soft .hero-wow .hero-in>h1{animation:none!important}
}
@media (min-width:1024px){.hero:has(.plus):not(.hero-wow) .hero-in{padding-bottom:110px}}
.gstars a{display:inline-block}
/* =========================================================
   v1.52 · Correzioni grafiche in tutta la gestione
   ========================================================= */
/* intestazione: "Altro" solo al telefono */
.m-more-b{display:none}
.more-acts{display:contents}
@media (max-width:700px){
  .bar-actions{overflow:visible!important;flex-wrap:wrap!important;width:100%;position:relative}
  .m-more-b{display:inline-flex;margin-left:auto}
  .more-acts{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-3,0 10px 30px rgba(0,0,0,.18));padding:8px;flex-direction:column;align-items:stretch;gap:6px;min-width:200px}
  .more-acts.open{display:flex;animation:fadein .14s ease-out}
  .more-acts>*{width:100%;justify-content:center;text-align:center}
  .more-acts .who-in{display:block;font-size:13px;color:var(--muted);padding:2px 4px}
}
/* schede in alto: si capisce che scorrono */
@media (max-width:700px){.subtabs{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}}
/* campi orario mai tagliati */
input[type=time]{min-width:112px}
/* righe di modulo (modelli, personale, qualità) al telefono: un campo per riga, le spunte accanto */
@media (max-width:600px){
  .q-cfg,.t-mrow,.t-staff2,.t-staff{display:flex!important;flex-wrap:wrap;align-items:flex-end;gap:8px 10px}
  .q-cfg>*,.t-mrow>*,.t-staff2>*,.t-staff>*{flex:1 1 140px;min-width:0}
  .q-cfg>:not(.f),.t-mrow>:not(.f),.t-staff2>:not(.f),.t-staff>:not(.f){flex:0 0 auto}
  .t-mrow>.f:nth-child(-n+2){flex-basis:100%}
}
/* barra "Salva" fissa in fondo: vera barra, non un pulsante che copre i campi */
.sticky-save{background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -10px 18px -12px rgba(8,30,70,.25);padding:10px 12px;border-radius:0 0 var(--r-md,12px) var(--r-md,12px)}
/* numeri grandi nei riquadri delle statistiche: non vanno a capo */
.conv-card .n{white-space:nowrap;font-size:clamp(22px,7vw,34px)}
/* foglio settimanale: sigle in verticale, ore piccole, niente scritte accavallate */
th.sh-code{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;line-height:1;padding:3px 0;height:30px;letter-spacing:.02em}
td.sh-tot{font-size:9.5px;padding:2px 0;letter-spacing:-.02em}
.m-only{display:none}
@media (max-width:700px){.m-only{display:inline}.m-hide{display:none}.bar-actions{flex-wrap:nowrap!important}.bar-actions>.btn{flex:0 0 auto}}
input[type=time]{min-width:124px}
@media (max-width:600px){.t-staff2>:not(.f):has(button),.t-staff>:not(.f):has(button){flex:1 1 100%!important;display:flex;flex-wrap:wrap;gap:6px}}
/* ---------- v1.52 · scheda paziente, registro consensi, modalità banco ---------- */
.pt-last .audit li{align-items:flex-start}
.pt-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cs-t td,.cs-t th{white-space:nowrap}.cs-y{color:#2F7D32;font-weight:600}
html.banco-on{overflow:hidden}
#banco{position:fixed;inset:0;z-index:40;background:var(--bg);overflow:auto;padding:18px clamp(14px,3vw,36px) 40px;font-size:18px;animation:fadein .18s ease-out}
.bc-top{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;justify-content:space-between;margin:0 0 18px}
.bc-clock{font-size:44px;font-weight:600;font-variant-numeric:tabular-nums;margin-right:12px}.bc-date{color:var(--muted)}
.bc-sum{display:flex;gap:18px}.bc-sum b{font-size:26px;margin-right:4px}
.bc-next{background:var(--surface);border:2px solid var(--blue);border-radius:20px;padding:20px 22px;box-shadow:var(--sh-2,0 6px 20px rgba(8,30,70,.10))}
.bc-next.late{border-color:#E8890C}
.bc-lab{display:inline-block;font-size:15px;font-weight:600;background:var(--soft);border-radius:999px;padding:4px 12px}.bc-next.late .bc-lab{background:#FFF1DE;color:#8A4B00}
.bc-time{font-size:40px;font-weight:600;margin:8px 0 0;font-variant-numeric:tabular-nums}.bc-name{font-size:34px;font-weight:500;line-height:1.15}.bc-info{color:var(--muted);margin:4px 0 14px}
.bc-acts{display:flex;flex-wrap:wrap;gap:10px}
.bc-next .bc-acts .btn{font-size:20px;padding:14px 22px;min-height:56px;border-radius:14px}
.bc-h{font-size:20px;margin:26px 0 8px}
.bc-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bc-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.bc-t{font-size:22px;font-weight:600;min-width:64px;font-variant-numeric:tabular-nums}.bc-w{flex:1;min-width:180px;display:flex;flex-direction:column}.bc-w small{color:var(--muted);font-size:14px}
.bc-list .bc-acts .btn{min-height:44px;font-size:16px}
.bc-done li{opacity:.75}.bc-ok{color:#2F7D32;font-size:24px;font-weight:700}
.bc-empty{font-size:24px;text-align:center;padding:60px 10px;color:var(--muted)}
@media print{#banco{display:none}}

/* =========================================================
   v1.53 · Animazioni: prenotazione confermata, esame scelto, orari, domande, recensioni, pulsante Prenota, banco, fine giornata
   Sempre brevi, solo trasformazioni e opacità; con "riduci movimento" restano solo dissolvenze o niente.
   ========================================================= */
/* 1 · prenotazione confermata: l'anello si disegna, il cerchio si riempie, la spunta si traccia, un'onda leggera; poi il riepilogo riga per riga */
.ok-box .tick{position:relative;background:transparent;animation:tickFill .3s ease-out .42s forwards}
.ok-box .tick .ring{position:absolute;inset:-2px;width:68px;height:68px;transform:rotate(-90deg)}
.ok-box .tick .ring circle{fill:none;stroke:var(--green);stroke-width:4;stroke-linecap:round;stroke-dasharray:189;stroke-dashoffset:189;animation:ringDraw .5s cubic-bezier(.65,0,.35,1) .05s forwards}
.ok-box .tick .draw{animation:draw .32s ease-out .6s forwards}
@keyframes ringDraw{to{stroke-dashoffset:0}}
@keyframes tickFill{0%{background:transparent;box-shadow:0 0 0 0 rgba(149,193,31,.5)}60%{background:var(--green)}100%{background:var(--green);box-shadow:0 0 0 14px rgba(149,193,31,0)}}
.ok-box>*:not(.tick){animation:rise .42s cubic-bezier(.23,1,.32,1) both}
.ok-box>:nth-child(2){animation-delay:.55s}.ok-box>:nth-child(3){animation-delay:.6s}.ok-box>:nth-child(4){animation-delay:.65s}.ok-box>:nth-child(5){animation-delay:.7s}.ok-box>:nth-child(6){animation-delay:.75s}.ok-box>:nth-child(7){animation-delay:.8s}.ok-box>:nth-child(n+8){animation-delay:.85s}
/* 2 · esame scelto: la scheda si solleva un attimo */
@keyframes liftIn{0%{transform:translateY(6px) scale(.985);box-shadow:0 0 0 rgba(0,74,173,0)}60%{transform:translateY(-3px)}100%{transform:none}}
.svc.pop{animation:liftIn .34s cubic-bezier(.23,1,.32,1)}
.svc[aria-pressed="true"]{box-shadow:0 8px 22px -10px rgba(0,74,173,.45)}
/* 3 · cambiando giorno gli orari entrano uno dopo l'altro (in tutto meno di mezzo secondo) */
@keyframes slotIn{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
.times.fade .slot{animation:slotIn .26s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--k,0) * 18ms)}
/* 5 · stelle che si riempiono */
@property --r{syntax:'<percentage>';inherits:true;initial-value:0%}
.gstars .stars.fill{transition:--r .9s cubic-bezier(.23,1,.32,1)}
/* 6 · pulsante "Prenota" del telefono: entra ed esce scivolando */
.m-cta{transform:translateY(110%);opacity:0;visibility:hidden;pointer-events:none;transition:transform 240ms cubic-bezier(.23,1,.32,1),opacity 200ms ease,visibility 0s linear 240ms}
.m-cta.show{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform 240ms cubic-bezier(.23,1,.32,1),opacity 200ms ease,visibility 0s}
/* 7 · modalità banco: "Fatto" → la scheda sale e sparisce, entra il prossimo */
@keyframes bcOut{to{opacity:0;transform:translateY(-18px) scale(.98)}}
@keyframes bcIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.bc-next.bc-out{animation:bcOut .2s cubic-bezier(.23,1,.32,1) forwards}
.bc-next.bc-in{animation:bcIn .32s cubic-bezier(.23,1,.32,1) both}
/* 8 · chiusura di giornata senza nulla in sospeso */
.eod-all{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:14px;background:rgba(149,193,31,.12);text-align:center}
.eod-all b{font-size:20px;color:#2F7D32;animation:rise .4s cubic-bezier(.23,1,.32,1) .7s both}
.eod-all span{color:var(--muted);animation:rise .4s cubic-bezier(.23,1,.32,1) .8s both}
.eod-beat{width:200px;height:36px}
.eod-beat path{fill:none;stroke:#2F7D32;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:300;stroke-dashoffset:300;animation:ecgDraw2 .9s cubic-bezier(.65,0,.35,1) .1s forwards}
@keyframes ecgDraw2{to{stroke-dashoffset:0}}
/* "Nuovo appuntamento" sempre al suo posto, mai sopra altro */
.day-head{margin-top:16px;row-gap:10px}
.day-head h1{flex:1 1 260px;min-width:0}
.day-head .new-bk{flex:0 0 auto;margin-left:auto;position:relative;z-index:0}
@media (prefers-reduced-motion: reduce){
  .ok-box .tick{animation:none;background:var(--green)}.ok-box .tick .ring{display:none}
  .svc.pop,.times.fade .slot,.bc-next.bc-in,.bc-next.bc-out,.eod-all b,.eod-all span{animation:none!important}
  .eod-beat path{animation:none;stroke-dashoffset:0}
  .m-cta,.m-cta.show{transition:opacity 150ms ease,visibility 0s linear 150ms}
  .gstars .stars.fill{transition:none}
}
/* intestazione su schermi medi (portatili piccoli, finestre strette): niente pulsanti su due righe */
.bar-actions>.btn,.bar-actions>.call{white-space:nowrap}
@media (min-width:701px) and (max-width:1180px){
  .bar-actions{position:relative;flex-wrap:nowrap}
  .m-more-b{display:inline-flex}
  .more-acts{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-3,0 10px 30px rgba(0,0,0,.18));padding:8px;flex-direction:column;align-items:stretch;gap:6px;min-width:200px}
  .more-acts.open{display:flex;animation:fadein .14s ease-out}
  .more-acts>*{width:100%;justify-content:center;text-align:center}
  .more-acts .who-in{display:block;font-size:13px;color:var(--muted);padding:2px 4px}
  header.site .brand small{white-space:nowrap}
}

/* =========================================================
   v1.54 · Animazioni nuove (pazienti e gestione) e funzioni: arrivo, stato del referto, affluenza, materiale, obiettivi
   ========================================================= */
/* sezioni che entrano scorrendo (solo con JavaScript attivo; ciò che è già sullo schermo non si muove) */
html.rv-on .rv{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .55s cubic-bezier(.23,1,.32,1);transition-delay:var(--rv-d,0ms)}
html.rv-on .rv.in{opacity:1;transform:none}
html.rv-on .rv.now{transition:none}
/* "Come funziona": i numeri si accendono uno dopo l'altro e il filo li unisce */
.steps-list li::after{content:"";position:absolute;left:16px;top:36px;bottom:-18px;width:2px;background:var(--line);transform-origin:top;border-radius:2px}
.steps-list li:last-child::after{display:none}
html.rv-on .rv-steps li::after{transform:scaleY(0);transition:transform .5s cubic-bezier(.65,0,.35,1)}
html.rv-on .rv-steps li::before{transform:scale(.6);opacity:0;transition:transform .35s cubic-bezier(.23,1,.32,1),opacity .25s ease,background-color .3s ease,color .3s ease}
html.rv-on .rv-steps.in li::before{transform:none;opacity:1;background:var(--blue);color:#fff}
html.rv-on .rv-steps.in li::after{transform:none;background:var(--blue)}
html.rv-on .rv-steps li:nth-child(2)::before{transition-delay:.35s}html.rv-on .rv-steps li:nth-child(1)::after{transition-delay:.15s}
html.rv-on .rv-steps li:nth-child(3)::before{transition-delay:.7s}html.rv-on .rv-steps li:nth-child(2)::after{transition-delay:.5s}
html.rv-on .rv-steps.now li::before,html.rv-on .rv-steps.now li::after{transition:none}
/* icone degli esami vive al tocco */
.svc svg{overflow:visible}
@keyframes icDraw{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
@keyframes icBeat{0%,100%{transform:none}30%{transform:scale(1.14)}55%{transform:scale(.97)}}
@keyframes icNeedle{0%{transform:rotate(-70deg)}70%{transform:rotate(8deg)}100%{transform:none}}
@keyframes icLungs{0%,100%{transform:none}45%{transform:scale(1.1,1.12)}}
.svc[data-svc="ecg"]:is(:hover,.pop,:active) svg path{stroke-dasharray:60;animation:icDraw .55s cubic-bezier(.65,0,.35,1)}
.svc[data-svc^="holterc"]:is(:hover,.pop,:active) svg{animation:icBeat .6s cubic-bezier(.23,1,.32,1)}
.svc[data-svc="holterp"] svg path:nth-of-type(2),.svc[data-svc="holterp"] svg circle{transform-box:view-box;transform-origin:20px 24px}
.svc[data-svc="holterp"]:is(:hover,.pop,:active) svg path:nth-of-type(2){animation:icNeedle .6s cubic-bezier(.23,1,.32,1)}
.svc[data-svc="spiro"]:is(:hover,.pop,:active) svg{animation:icLungs .9s ease-in-out;transform-origin:50% 60%}
@media (hover:none){.svc:hover svg,.svc:hover svg path{animation:none}}
/* barra dei passi della prenotazione: si riempie */
@keyframes fillX{from{background-size:0% 100%}to{background-size:100% 100%}}
.steps div.on::before,.steps div.done::before{background:linear-gradient(var(--fill),var(--fill)) no-repeat left/100% 100%,var(--line)}
.steps div.on{--fill:var(--blue)}.steps div.done{--fill:var(--green)}
.bk.enter .steps div.on::before{animation:fillX .45s cubic-bezier(.23,1,.32,1) .05s both}
/* passaggio tra le pagine del sito: l'intestazione resta ferma, il resto sfuma (Chrome e Safari recenti) */
@view-transition{navigation:auto}
header.site{view-transition-name:site-head}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
/* mappa della conferma: "siamo qui" */
@keyframes mapPing{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.ok-box .map,.split .map{position:relative;display:block}
.ok-box .map::after{content:"";position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;border:3px solid #E5484D;opacity:0;animation:mapPing 1.4s cubic-bezier(.23,1,.32,1) 1.2s 2;pointer-events:none}
/* tracciato di ogni esame nella testata della sua pagina */
.svc-line{top:auto!important;bottom:20px;left:0;width:calc(100% - 190px);height:90px;transform:none}
.svc-line .ecg-line{stroke:rgba(255,255,255,.34)}
.svc-line .l-line{animation:ecgReveal 1.5s cubic-bezier(.65,0,.35,1) .25s both}
@media (max-width:700px){.svc-line{bottom:10px;width:calc(100% - 96px);height:64px}}
/* gestione: cambio scheda morbido, mese che scorre, bollino che scatta, grafici che crescono */
@keyframes paneIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#pane.pane-in{animation:paneIn .16s cubic-bezier(.23,1,.32,1)}
@keyframes bump{0%{transform:none}35%{transform:scale(1.12)}100%{transform:none}}
.newon.bump{animation:bump .35s cubic-bezier(.23,1,.32,1)}
@keyframes barUp{from{transform:scaleY(0)}to{transform:none}}
.eco-chart .eco-bar{transform-box:fill-box;transform-origin:bottom;animation:barUp .55s cubic-bezier(.23,1,.32,1) both}
.eco-chart .eco-bar:nth-of-type(3n+1){animation-delay:.04s}.eco-chart .eco-bar:nth-of-type(3n+2){animation-delay:.08s}
/* arrivo in farmacia */
.tag.arr{background:#E3F5EC;color:#14653A;font-weight:600}
.tag.ptc{background:#E8F0FE;color:#0B3D91;font-weight:600}
.arr-box{margin:14px 0}.arr-btn{width:100%;min-height:56px;font-size:19px}
.arr-done{margin:14px 0}
.arr-f{max-width:420px}.arr-f .btn{width:100%;min-height:52px}
/* stato del referto, come un pacco */
.trk{list-style:none;margin:16px 0 8px;padding:0}
.trk li{position:relative;padding:0 0 18px 34px;color:var(--muted)}
.trk li::before{content:"";position:absolute;left:10px;top:20px;bottom:0;width:2px;background:var(--line)}
.trk li:last-child::before{display:none}
.trk-dot{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);border:2px solid var(--line)}
.trk-done{color:var(--ink)}.trk-done .trk-dot{background:#2F7D32;border-color:#2F7D32}.trk-done::before{background:#2F7D32!important}
.trk-now{color:var(--ink);font-weight:600}.trk-now .trk-dot{border-color:var(--blue);animation:trkPulse 1.6s ease-out infinite}
.trk small{font-weight:400;color:var(--blue)}
@keyframes trkPulse{0%{box-shadow:0 0 0 0 rgba(0,74,173,.45)}100%{box-shadow:0 0 0 10px rgba(0,74,173,0)}}
.trk li{animation:rise .4s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 90ms)}
/* affluenza */
.hm-sec{margin-top:18px}
table.hm{border-collapse:separate;border-spacing:3px;font-size:12px}
.hm th{font-weight:500;color:var(--muted);padding:2px 4px}
.hm td{width:38px;height:30px;text-align:center;border-radius:6px;background:rgba(0,74,173,calc(.06 + var(--a) * .82));color:var(--ink);font-variant-numeric:tabular-nums;animation:fadein .4s ease both;animation-delay:var(--d,0ms)}
.hm td[style*="--a:0.000"]{background:var(--soft);color:transparent}
/* materiale di consumo */
.mat-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:0 0 14px}
.mat-c{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.mat-c.low{border-color:var(--danger)}
.mat-h{display:flex;justify-content:space-between;gap:8px;align-items:center}
.mat-n{font-size:28px;font-weight:700;margin:4px 0;font-variant-numeric:tabular-nums}.mat-n small{font-size:14px;font-weight:400;color:var(--muted)}
.mat-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.mat-bar i{display:block;height:100%;background:var(--blue);transform-origin:left;transition:transform .5s cubic-bezier(.23,1,.32,1)}
.mat-c.low .mat-bar i{background:var(--danger)}
.mat-load{display:flex;gap:6px}.mat-load input{flex:1;min-width:0}
.mat-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.mat-use{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.mat-use label{display:flex;align-items:center;gap:6px;font-size:13px}.mat-use input{width:70px}
@media (max-width:600px){.mat-row{grid-template-columns:1fr 1fr}}
/* obiettivi del mese */
.goal-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.goal-l{display:grid;gap:10px}
.goal-t{display:flex;justify-content:space-between;gap:10px;font-size:15px;margin:0 0 5px}
.goal-bar{height:10px;border-radius:5px;background:var(--line);overflow:hidden}
.goal-bar i{display:block;height:100%;background:var(--blue);transform-origin:left;transform:scaleX(var(--p));animation:goalUp .8s cubic-bezier(.23,1,.32,1) both;animation-delay:var(--d,0ms)}
.goal.ok .goal-bar i{background:#2F7D32}.goal.ok .goal-t span{color:#2F7D32;font-weight:600}
@keyframes goalUp{from{transform:scaleX(0)}}
.goal-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.err-inline{color:var(--danger)}
.eod-b{display:inline-flex;gap:6px;flex-wrap:wrap}
@media (prefers-reduced-motion: reduce){
  html.rv-on .rv,html.rv-on .rv-steps li::before,html.rv-on .rv-steps li::after{opacity:1!important;transform:none!important;transition:none!important}
  .svc svg,.svc svg path,.bk.enter .steps .on::before,.ok-box .map::after,.svc-line .l-line,#pane.pane-in,.newon.bump,.eco-chart .eco-bar,.trk li,.trk-now .trk-dot,.hm td,.goal-bar i{animation:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}
.hm td.dk{color:#fff;font-weight:600}

/* =========================================================
   v1.55 · Più esami nella stessa visita
   ========================================================= */
.combo-add{display:flex;flex-direction:column;align-items:center;gap:6px;margin:18px 0;padding:16px;border:1.5px dashed var(--blue);border-radius:16px;background:var(--soft);text-align:center;animation:rise .42s cubic-bezier(.23,1,.32,1) .9s both}
.combo-add span{color:var(--muted);font-size:15px;max-width:42ch}
.combo-add .btn{margin-top:6px}
.visit-sum{text-align:left;margin:16px 0;padding:12px 16px;border-radius:14px;background:rgba(149,193,31,.14)}
.visit-sum h4{margin:0 0 6px}.visit-sum ol{margin:0;padding-left:20px}.visit-sum li{margin:3px 0}
.combo-banner{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 0 14px;border-radius:14px;background:var(--soft);border:1px solid var(--line);animation:rise .32s cubic-bezier(.23,1,.32,1) both}
.combo-banner .cb-ico{flex:0 0 28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-weight:700}
.combo-banner div{flex:1;display:flex;flex-direction:column;gap:2px}.combo-banner span{color:var(--muted);font-size:15px}
.slot.after{position:relative;box-shadow:0 0 0 2px var(--green) inset}
.slot.after::after{content:"subito dopo";position:absolute;left:50%;bottom:-9px;transform:translateX(-50%);font-size:10.5px;line-height:1;padding:2px 6px;border-radius:999px;background:var(--green);color:#20300A;font-weight:600;white-space:nowrap}
.combo-note{margin:14px 0 0;font-size:15px;color:#2F7D32}.combo-note.warn{color:#8A4B00}
.tag.visit{background:#EEE8FF;color:#4A2FB0;font-weight:600}
@media (prefers-reduced-motion: reduce){.combo-add,.combo-banner{animation:none}}

/* =========================================================
   v1.56 · Pagine dei paesi vicini (SEO locale)
   ========================================================= */
.zone-route{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:12px 0}
.zone-route .addr{margin:0}
.zone-ex{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zone-ex li{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.zone-ex span{color:var(--muted);font-size:15px}.zone-ex em{font-style:normal;font-size:14px;color:var(--green-ink)}
@media (max-width:620px){.zone-ex{grid-template-columns:1fr}}
.zone-map{margin:8px 0 14px}.zone-map svg{width:100%;height:auto;max-height:420px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.zm-ring{fill:none;stroke:var(--line);stroke-dasharray:3 5}.zm-km{font-size:13px;fill:var(--muted)}
.zm-line{stroke:var(--blue);stroke-opacity:.35;stroke-width:1.5}
.zm-pt circle{fill:var(--blue)}.zm-pt text{font-size:16px;fill:var(--ink);font-weight:500;paint-order:stroke;stroke:var(--surface);stroke-width:4px}
.zm-pt{animation:rise .5s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i) * 70ms)}
a:hover .zm-pt circle,a:focus .zm-pt circle{fill:var(--green)}
.zm-home circle{fill:var(--green);stroke:#fff;stroke-width:3}.zm-home text{font-size:16px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:4px}.zm-home .zm-ping{fill:none;stroke:var(--green);stroke-width:2;animation:zmPing 2s ease-out 3}
@keyframes zmPing{0%{r:11;opacity:.8}100%{r:34;opacity:0}}
.zone-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.zone-list a{display:flex;flex-direction:column;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink)}
.zone-list a:hover{border-color:var(--blue)}.zone-list span{color:var(--muted);font-size:14px}
@media (max-width:620px){.zone-list{grid-template-columns:1fr}}
.zone-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.zone-chips a{display:inline-flex;align-items:baseline;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;color:var(--ink)}
.zone-chips a:hover{border-color:var(--blue)}.zone-chips small{color:var(--muted)}
.zone-foot{font-size:14px;opacity:.85}
@media (prefers-reduced-motion: reduce){.zm-pt{animation:none}}
@media (prefers-reduced-motion: reduce){.zm-home .zm-ping{animation:none;display:none}}

/* =========================================================
   v1.57 · Scheda appuntamento: codice fiscale, stato bloccato dal referto, conferma dei cambi di stato
   ========================================================= */
.bk-cf{margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}
.bk-cf-l{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.bk-cf b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;letter-spacing:.06em;user-select:all}
.bk-cf-cp{font:inherit;font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .2s}
.bk-cf-cp:active{transform:scale(.96)}
.bk-cf-cp.on{background:#e7f6ec;border-color:#9fd8b2;color:#17663a}
.bk-status.locked .seg-b:disabled{opacity:.38;cursor:not-allowed}
.st-lock{margin-top:6px}
.ask-wrap{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:16px;background:rgba(11,19,32,.45);opacity:0;transition:opacity .18s ease}
.ask-wrap.in{opacity:1}
.ask-box{background:var(--surface);color:var(--ink);border-radius:16px;max-width:440px;width:100%;padding:20px 20px 16px;box-shadow:0 20px 60px rgba(0,0,0,.25);transform:scale(.96) translateY(6px);transition:transform .22s cubic-bezier(.23,1,.32,1)}
.ask-wrap.in .ask-box{transform:none}
.ask-box h3{margin:0 0 8px;font-size:18px;font-weight:500;line-height:1.35}
.ask-box p{margin:0 0 14px;line-height:1.5;color:var(--muted)}
.ask-box .actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .bk-cf-cp.on{background:#123222;color:#9fe0b8;border-color:#2c6b47}}
@media (prefers-reduced-motion:reduce){.ask-box{transform:none!important}}

/* ---------- v1.57 · sito e pazienti (pubblico) ---------- */
.sy-disc{background:var(--soft);border-radius:14px;padding:12px 16px;font-size:16px;margin:0 0 12px}
.sy-urgent{background:var(--danger-soft);color:var(--ink);border-left:4px solid var(--danger);border-radius:10px;padding:12px 16px;font-size:16px;margin:0 0 20px}
.sy-ex li{margin:0 0 8px}
.sy-cards{list-style:none;padding:0;margin:16px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.sy-cards a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;color:var(--ink);transition:transform .2s cubic-bezier(.23,1,.32,1),box-shadow .2s}
.sy-cards a b{font-size:20px;font-weight:500;color:var(--blue)}.sy-cards a span{font-size:16px;color:var(--muted)}.sy-cards a em{font-style:normal;color:var(--blue);margin-top:auto;font-size:15px}
@media (hover:hover) and (pointer:fine){.sy-cards a:hover{transform:translateY(-2px);box-shadow:var(--sh-2,0 6px 20px rgba(0,0,0,.08))}}
.home-news h2,.g-revs h2{margin-bottom:10px}
.hn-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.hn-card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--ink);transition:transform .2s cubic-bezier(.23,1,.32,1)}
.hn-card b{font-weight:500;font-size:18px}.hn-card span{font-size:15px;color:var(--muted)}
.hn-card .hn-tag{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--blue)}
.hn-scr{border-color:var(--green);box-shadow:inset 4px 0 0 var(--green)}
.hn-card:active{transform:scale(.98)}
.hn-all{margin:8px 0 0;font-size:16px}
.news-item{padding:18px 0;border-bottom:1px solid var(--line)}.news-item h2{margin:2px 0 8px}
.news-d{margin:0;font-size:14px;color:var(--muted)}
.g-rev-list{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.g-rev{margin:0;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.g-rev blockquote{margin:0;font-size:16px;line-height:1.5}
.g-rev figcaption{font-size:14px;color:var(--muted);margin-top:auto}
.g-rev .stars{font-size:18px}
.g-rev-more{font-size:16px;margin:10px 0 0}
.scr-day{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);margin:0 0 16px}
.scr-head{display:flex;gap:14px;align-items:flex-start}.scr-head h2{margin:0 0 2px}.scr-head p{margin:0;font-size:16px}
.scr-date{flex:none;width:58px;text-align:center;border-radius:12px;background:var(--blue);color:#fff;padding:6px 0;line-height:1.1}
.scr-date b{display:block;font-size:24px;font-weight:600}.scr-date span{font-size:13px;text-transform:uppercase}
.scr-left{font-size:16px;margin:8px 0}.scr-left.full{color:var(--danger)}
.scr-form fieldset{border:0;padding:0;margin:0 0 12px}.scr-form legend{font-weight:500;margin-bottom:6px}
.scr-slots{display:flex;flex-wrap:wrap;gap:8px}
.scr-slot input{position:absolute;opacity:0;pointer-events:none}
.scr-slot span{display:inline-block;min-width:64px;text-align:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:16px;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .15s}
.scr-slot input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}
.scr-slot input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.scr-slot span:active{transform:scale(.96)}
.scr-slot.off span{background:var(--taken);color:var(--muted);text-decoration:line-through;cursor:not-allowed}
.scr-ok{text-align:center;padding:10px 0}.scr-ok h3{margin:6px 0}
.pay-box{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--soft);margin:10px 0;text-align:left}
.pay-box span{font-size:15px;color:var(--muted)}
.doc-mail{margin:-4px 0 6px 30px}
/* ---------- v1.57 · gestione ---------- */
.site-list{list-style:none;padding:0;margin:10px 0 0}
.site-list li{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line)}
.site-list li>div:first-child{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 260px}
.site-list .actions{margin:0}
.site-form{border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;background:var(--bg)}
.sc-tbl{width:100%}.sc-tbl tr.dim td{opacity:.5}.sc-tbl .sc-free td{color:var(--muted)}
.qr-ed{display:grid;grid-template-columns:160px 1fr auto;gap:8px;align-items:start;margin:0 0 8px}
@media (max-width:640px){.qr-ed{grid-template-columns:1fr}}
.qr-box{max-width:520px}
.qr-list{list-style:none;padding:0;margin:0 0 12px;max-height:60vh;overflow:auto}
.qr-list li{display:flex;gap:8px;align-items:center;border-top:1px solid var(--line);padding:8px 0}
.qr-go{flex:1;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);padding:4px 6px;border-radius:10px;transition:background-color .15s}
.qr-go b{color:var(--blue);font-weight:500}.qr-go span{font-size:14px;color:var(--muted)}
.qr-go:active{background:var(--soft)}
@media (hover:hover) and (pointer:fine){.qr-go:hover{background:var(--soft)}}
.src-bars{list-style:none;padding:0;margin:0}
.src-bars li{display:grid;grid-template-columns:minmax(120px,240px) 1fr 40px;gap:10px;align-items:center;padding:5px 0;font-size:15px}
.src-b{height:10px;border-radius:6px;background:var(--soft);overflow:hidden}
.src-b i{display:block;height:100%;width:var(--w);background:var(--blue);border-radius:6px;transform-origin:left;animation:srcgrow .5s cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--k) * 40ms)}
@keyframes srcgrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.src-bars b{text-align:right}
.pay-click{background:var(--soft);border-radius:10px;padding:8px 10px;margin:0 0 8px}
.doc-box{border-top:1px dashed var(--line);margin:10px 0 0;padding:10px 0 0}.doc-box p{margin:0 0 6px}
.scr-today{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:var(--soft);margin:10px 0;font-size:15px}
.scr-today .btn{margin-left:auto}
.scr-slot{position:relative}
.sup-late{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--danger-soft);border-radius:12px;padding:10px 12px;margin:0 0 10px;font-size:15px}
.sup-btn{white-space:nowrap}
.site-list .tag{align-self:flex-start;margin:2px 0}
.content>.sy-disc:first-child{margin-top:44px}

/* ---------- v1.58 · Farmaci: piani e formalismi ---------- */
.farm-search input{width:100%;font-size:18px;padding:12px 14px;border-radius:12px}
.farm-f{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.chip-b{font:inherit;font-size:14px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),background-color .15s}
.chip-b:active{transform:scale(.96)}
.chip-b[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--on-blue,#fff)}
.farm-src{margin:8px 0 0}
.farm-hint,.farm-count{margin:6px 2px}
.farm-card{animation:farmIn .22s cubic-bezier(.23,1,.32,1) both}
@keyframes farmIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.farm-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.farm-h h3{margin:0;font-size:19px;font-weight:600;letter-spacing:.01em}.farm-h p{margin:2px 0 0}
.farm-atc{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;color:var(--muted);white-space:nowrap}
.farm-b{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.fb{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--ink);letter-spacing:.02em}
.fb-dpc{background:#e3edfc;color:#0b3f8f}.fb-dir{background:#fde7e4;color:#9b2416}.fb-nota{background:#f1e8fd;color:#5b2a99}.fb-pt{background:#e6f5ea;color:#1d6a37}.fb-warn{background:#fff1d6;color:#7a4b00}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fb-dpc{background:#16305a;color:#bcd4ff}:root:not([data-theme="light"]) .fb-dir{background:#4a1d17;color:#ffc2b8}:root:not([data-theme="light"]) .fb-nota{background:#35204f;color:#dcc6ff}:root:not([data-theme="light"]) .fb-pt{background:#173a24;color:#b6ecc8}:root:not([data-theme="light"]) .fb-warn{background:#41300c;color:#ffd98a}}
.farm-ck{list-style:none;padding:0;margin:0 0 6px}
.farm-ck li{display:grid;grid-template-columns:24px 1fr;gap:6px;padding:4px 0;font-size:15px;line-height:1.45}
.farm-ck li.ck-warn span:last-child{font-weight:500}
.farm-note{font-size:14px;color:var(--muted);margin:6px 0;background:var(--bg);border-radius:10px;padding:8px 10px}
.farm-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:8px;margin-top:6px}
.farm-none p{margin:6px 0 0}
@media (prefers-reduced-motion:reduce){.farm-card{animation:none}}
.ref-chk{background:#e9f6ee;border-radius:10px;padding:8px 10px;margin:0 0 8px;display:block}
.ref-chk.bad{background:var(--danger-soft)}
.ref-chk span{display:inline-block;margin:2px 10px 0 0}.ref-chk .ok{color:#1d6a37}.ref-chk .no{color:var(--danger);font-weight:600}.ref-chk .na{color:var(--muted)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ref-chk{background:#173a24}:root:not([data-theme="light"]) .ref-chk .ok{color:#b6ecc8}}
@media (max-width:640px){
  .farm-intro{display:none}
  .farm-f{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:10px -4px 0;padding:0 4px 4px;-webkit-overflow-scrolling:touch}
  .farm-f::-webkit-scrollbar{display:none}
  .chip-b{flex:none}
}

/* ---------- v1.59 · Farmaci: schede, circolari, cartelli ---------- */
.farm-note{white-space:pre-line}
.farm-sec{margin:18px 2px 8px;font-size:15px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.kb-card h3{margin:0 0 6px;font-size:17px;font-weight:600}.kb-row{margin:6px 0}.kb-row b{font-size:15px}.kb-row .farm-note{margin:4px 0 0}
.kb-all summary{cursor:pointer;color:var(--blue);margin:6px 0}
.ese-card{border-left:4px solid var(--green)}
mark{background:#fff1a8;color:inherit;border-radius:3px;padding:0 1px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) mark{background:#5a4b00}}
.small-h{font-size:15px;margin:0 0 6px;font-weight:600}
.circ-drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--line);border-radius:16px;padding:22px 14px;cursor:pointer;text-align:center;transition:border-color .15s,background-color .15s}
.circ-drop b{color:var(--blue);font-size:17px}.circ-drop span{font-size:14px;color:var(--muted)}
.circ-drop.over,.circ-drop:hover{border-color:var(--blue);background:var(--soft)}
.circ-drop:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.circ-paste{margin:10px 0 0}.circ-paste textarea{width:100%;margin-top:6px}
.cc-busy{display:flex;align-items:center;gap:8px;margin:12px 0 0}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--blue);animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.circ-done{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.circ-tags{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.circ-drugs{display:flex;flex-direction:column;gap:10px}
.circ-drug{border:1px solid var(--line);border-radius:14px;padding:10px 12px;transition:opacity .2s}
.circ-drug.cd-done{opacity:.6}
.circ-text pre{white-space:pre-wrap;font-size:13px;max-height:50vh;overflow:auto;background:var(--bg);padding:10px;border-radius:10px}
.cart-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.cart-b{font:inherit;display:flex;flex-direction:column;gap:8px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1),box-shadow .2s}
.cart-b:active{transform:scale(.97)}
.cart-mini{aspect-ratio:210/297;border:2px solid var(--blue);border-radius:8px;font-size:7.5px;line-height:1.35;display:flex;align-items:center;justify-content:center;text-align:center;padding:3px 6px;overflow:hidden}
.cart-mini .big{font-size:11px;font-weight:800;color:#2e7d32}.cart-new .cart-mini b{font-size:28px;color:var(--blue)}
.cart-t{font-size:14px;font-weight:500}
@media (hover:hover) and (pointer:fine){.cart-b:hover{box-shadow:0 6px 18px rgba(0,0,0,.08)}}
.test-box .ts-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 8px}
.ts-lab{min-width:110px;font-size:15px;font-weight:500}
.ts-seg .seg-b[aria-pressed="true"].ts-negativo{background:#1d6a37;border-color:#1d6a37;color:#fff}
.ts-seg .seg-b[aria-pressed="true"].ts-positivo{background:#b42318;border-color:#b42318;color:#fff}
.ts-seg .seg-b[aria-pressed="true"].ts-invalido{background:#7a4b00;border-color:#7a4b00;color:#fff}
.teach{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}
.teach .chip-b{font-size:13px;padding:3px 10px}
.teach-f{flex-basis:100%}
.teach-f select{max-width:100%}
/* v1.59 · campi segreti senza compilazione automatica del browser */
input.masked{-webkit-text-security:disc;text-security:disc;font-family:text-security-disc,inherit;letter-spacing:.12em}
/* v1.60 · icona badge disegnata, sezioni riservate */
.ico-badge{vertical-align:-3px;flex:none}
.btn.opchip{display:inline-flex;align-items:center;gap:6px}
.need-ico svg{color:var(--blue)}
.area-lock{text-align:center;max-width:520px;margin:30px auto;padding:28px 22px}
.area-lock .need-ico{font-size:40px;margin-bottom:6px}
.area-lock h3{margin:0 0 6px}
.dg-pass{margin:10px 0}.dg-pass input{width:100%}

/* ================= v1.61 · banca dati AIFA nella ricerca farmaci ================= */
.ref-list{padding:14px 14px 10px}
.ref-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.ref-head h3{margin:0}
.ref-rows{list-style:none;margin:0;padding:0}
.ref-rows li{border-top:1px solid var(--line);animation:refIn 260ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 22ms)}
@keyframes refIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ref-row{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 6px;cursor:pointer;border-radius:10px;transition:background-color 150ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.ref-row:focus-visible{outline:3px solid var(--green);outline-offset:1px}
.ref-row:active{transform:scale(.99)}
@media (hover:hover) and (pointer:fine){.ref-row:hover{background:var(--soft)}}
.ref-n{display:flex;flex-direction:column;min-width:0;gap:1px}
.ref-n b{font-weight:600}
.ref-n .small,.ref-n .xs{overflow-wrap:anywhere}
.xs{font-size:13px}
.ref-b{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;align-items:center;flex:0 0 auto;max-width:48%}
.ref-b-lg{justify-content:flex-start;max-width:none;margin:2px 0 10px}
.ref-p{font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}
.rb{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--ink);white-space:nowrap}
.cl-a{background:#e6f5ea;color:#1d6a37}.cl-h{background:#e3edfc;color:#0b3f8f}.cl-c{background:#eef1f5;color:#4a5668}
.fr-otc{background:#e6f5ea;color:#1d6a37}.fr-sop{background:#eef6dc;color:#4e6b00}.fr-rr{background:#e3edfc;color:#0b3f8f}.fr-rnr{background:#f1e8fd;color:#5b2a99}.fr-rrl{background:#fff1d6;color:#7a4b00}.fr-osp{background:#fde7e4;color:#9b2416}.fr-rmr{background:#2b1d0e;color:#ffd98a}
.rb-car{background:#fde7e4;color:#9b2416}.rb-sosp{background:#fff1d6;color:#7a4b00}
:root[data-theme="dark"] .cl-a,:root[data-theme="dark"] .fr-otc{background:#173a24;color:#b6ecc8}:root[data-theme="dark"] .cl-h,:root[data-theme="dark"] .fr-rr{background:#16305a;color:#bcd4ff}:root[data-theme="dark"] .cl-c{background:#222f44;color:#c3cfe0}:root[data-theme="dark"] .fr-sop{background:#2c3a0e;color:#d6ee95}:root[data-theme="dark"] .fr-rnr{background:#35204f;color:#dcc6ff}:root[data-theme="dark"] .fr-rrl,:root[data-theme="dark"] .rb-sosp{background:#41300c;color:#ffd98a}:root[data-theme="dark"] .fr-osp,:root[data-theme="dark"] .rb-car{background:#4a1d17;color:#ffc2b8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cl-a,:root:not([data-theme="light"]) .fr-otc{background:#173a24;color:#b6ecc8}:root:not([data-theme="light"]) .cl-h,:root:not([data-theme="light"]) .fr-rr{background:#16305a;color:#bcd4ff}:root:not([data-theme="light"]) .cl-c{background:#222f44;color:#c3cfe0}:root:not([data-theme="light"]) .fr-sop{background:#2c3a0e;color:#d6ee95}:root:not([data-theme="light"]) .fr-rnr{background:#35204f;color:#dcc6ff}:root:not([data-theme="light"]) .fr-rrl,:root:not([data-theme="light"]) .rb-sosp{background:#41300c;color:#ffd98a}:root:not([data-theme="light"]) .fr-osp,:root:not([data-theme="light"]) .rb-car{background:#4a1d17;color:#ffc2b8}}
.ref-x{margin:8px 0;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:15px}
.ref-x ul{margin:4px 0 0;padding-left:18px}.ref-x li{margin:2px 0}
.ref-reg{background:#fff6e0;color:#4d3300}:root[data-theme="dark"] .ref-reg{background:#33270c;color:#ffe2a3}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ref-reg{background:#33270c;color:#ffe2a3}}
.ref-reg a{color:inherit;font-weight:600}
.ref-car{background:var(--danger-soft)}
.ref-card{padding:16px}
.ref-ch{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.ref-ch h3{margin:0;font-size:22px}
.ref-ch p{margin:2px 0 0}
.ref-alert{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-size:15px}
.ref-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0 0 6px}
.ref-k{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.ref-k span{font-size:13px;color:var(--muted)}
.ref-k b{font-weight:600;font-size:15.5px;overflow-wrap:anywhere}
.ref-diff{border-color:#f2b8b0;background:var(--danger-soft)}.ref-diff b{color:var(--danger)}
.ref-eq{margin:10px 0 0;border:1px solid var(--line);border-radius:12px;padding:6px 10px}
.ref-eq summary{cursor:pointer;padding:6px 2px;font-size:15.5px}
.ref-eq ul{list-style:none;margin:0;padding:0}
.ref-eq li{border-top:1px solid var(--line)}
.ref-row-s{padding:8px 4px}
.ref-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0}
.ref-foot .xs{flex:1 1 220px}
.ref-sub{margin:18px 0 8px;font-size:17px}
.ref-wait{display:flex;gap:8px;align-items:center}
.farm-none-s{margin:4px 2px 10px}
.ref-files li{align-items:center}
.ref-ok{animation:refIn 260ms cubic-bezier(.23,1,.32,1) both}
.flash-in{animation:flashIn 1.2s ease-out}
@keyframes flashIn{0%{background:#fff4c2}100%{background:var(--surface)}}
@media (max-width:600px){.ref-row{flex-direction:column;align-items:flex-start}.ref-b{justify-content:flex-start;max-width:none}.ref-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ref-rows li,.ref-ok{animation:none}.flash-in{animation:none}}
.ref-files li>div{min-width:0;flex:1 1 auto}.ref-files li span{overflow-wrap:anywhere}.ref-files li .rb{flex:0 0 auto}

/* ================= v1.62 · come si eroga + animazioni ================= */
.cn{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;border:1px solid transparent}
.cn-dpc{background:#0b3f8f;color:#fff}.cn-conv{background:#1d6a37;color:#fff}.cn-dir{background:#7a4b00;color:#fff}.cn-stop{background:#9b2416;color:#fff}.cn-lib{background:var(--surface);color:#1d6a37;border-color:#9fd3ae}.cn-pag{background:var(--surface);color:var(--muted);border-color:var(--line-2,#CBD5E2)}
.erog{display:flex;flex-direction:column;gap:2px;margin:0 0 12px;padding:12px 14px 12px 16px;border-radius:14px;border-left:5px solid var(--blue);background:var(--soft);animation:erogIn 300ms cubic-bezier(.23,1,.32,1) both}
.erog-l{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.erog-t{font-size:19px;line-height:1.3}
.erog-d{font-size:15px;color:var(--muted)}
.erog-dpc{border-left-color:#0b3f8f}.erog-conv{border-left-color:#1d6a37}.erog-dir{border-left-color:#b07000}.erog-stop{border-left-color:#9b2416;background:var(--danger-soft)}.erog-libera{border-left-color:#5aa86c}.erog-pag{border-left-color:var(--muted)}
@keyframes erogIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.erog-r{margin:0 0 12px}
.erog-r h4{margin:0 0 6px;font-size:16px}
.erog-r .farm-ck li{animation:erogIn 280ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(80ms + var(--i,0) * 45ms)}
.ck-stop{color:var(--danger)}
/* badge letto: il chip del farmacista si illumina */
.opchip.read-ok{animation:readOk 1.2s cubic-bezier(.23,1,.32,1)}
@keyframes readOk{0%{box-shadow:0 0 0 0 rgba(47,125,50,.55);background:#e6f5ea}35%{box-shadow:0 0 0 10px rgba(47,125,50,0)}100%{box-shadow:0 0 0 0 rgba(47,125,50,0)}}
/* paziente: barra del referto e linea dei passaggi che si riempie */
.ref-bar{margin:14px 0 4px}
.ref-bar-l{display:block;font-size:15px;color:var(--muted);margin:0 0 6px}
.ref-bar-t{height:10px;border-radius:999px;background:var(--line);overflow:hidden;position:relative}
.ref-bar-t i{position:absolute;inset:0;transform-origin:left center;transform:scaleX(var(--p,.5));background:linear-gradient(90deg,var(--blue),#4f8ef0);border-radius:999px;animation:barGrow 1.1s cubic-bezier(.23,1,.32,1) both}
.ref-bar-t i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-100%);animation:barShine 2.4s ease-in-out 1.2s infinite}
@keyframes barGrow{from{transform:scaleX(0)}to{transform:scaleX(var(--p,.5))}}
@keyframes barShine{to{transform:translateX(100%)}}
.trk-done::before{transform-origin:top;animation:lineFill 500ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 90ms + 200ms)}
@keyframes lineFill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.mg-tick{width:20px;height:20px;vertical-align:-4px;margin-right:6px;stroke-dasharray:24;stroke-dashoffset:24;animation:tickDraw 420ms cubic-bezier(.23,1,.32,1) 120ms forwards}
@keyframes tickDraw{to{stroke-dashoffset:0}}
.conv-card .n{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.erog,.erog-r .farm-ck li,.opchip.read-ok,.ref-bar-t i,.ref-bar-t i::after,.trk-done::before{animation:none!important}.mg-tick{animation:none;stroke-dashoffset:0}}

/* ================= v1.63 · controllo ricetta ================= */
.rx-scan input{font-size:19px}
.rx-acts{margin:8px 0 12px}
.rx-soon{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--soft);color:var(--blue);padding:2px 7px;border-radius:999px;margin-left:4px}
.rx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 14px;align-items:end}
.rx-grid .f>span{display:block}
.rx-seg{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.rx-formal{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--soft)}
.chk{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.rx-items{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.rx-item{border:1px solid var(--line);border-left:5px solid var(--line-2,#CBD5E2);border-radius:12px;padding:10px 12px;background:var(--surface);animation:erogIn 260ms cubic-bezier(.23,1,.32,1) both}
.rx-it-ok{border-left-color:#2F7D32}.rx-it-warn{border-left-color:#b07000}.rx-it-ask{border-left-color:var(--blue)}.rx-it-stop{border-left-color:var(--danger)}
.rx-ih{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.rx-ih>div:first-child{display:flex;flex-direction:column;min-width:0}
.rx-qty{display:flex;gap:6px;align-items:center;flex:0 0 auto}
.rx-qty b{min-width:22px;text-align:center;font-variant-numeric:tabular-nums}
.rx-qs{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:8px}
.rx-q{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.rx-pos{display:inline-flex;gap:6px;align-items:center}.rx-pos input{width:64px;min-height:36px;padding:4px 8px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.rx-alts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.rx-fc{margin:8px 0 0;padding:8px 12px;border-radius:10px;background:var(--soft)}.rx-fc summary{cursor:pointer;font-weight:600}.rx-fc ul{margin:6px 0 0;padding-left:18px}.rx-fc li{margin:3px 0}
.rx-out{padding:16px}
.rx-verdict{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;padding:14px 16px;border-radius:14px;font-size:20px;margin:0 0 12px;background:var(--soft)}
.rx-vi{font-size:22px}
.rx-v-ok{background:#e6f5ea;color:#1d6a37}.rx-v-warn{background:#fff1d6;color:#7a4b00}.rx-v-ask{background:#e3edfc;color:#0b3f8f}.rx-v-stop{background:var(--danger-soft);color:var(--danger)}
:root[data-theme="dark"] .rx-v-ok{background:#173a24;color:#b6ecc8}:root[data-theme="dark"] .rx-v-warn{background:#41300c;color:#ffd98a}:root[data-theme="dark"] .rx-v-ask{background:#16305a;color:#bcd4ff}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rx-v-ok{background:#173a24;color:#b6ecc8}:root:not([data-theme="light"]) .rx-v-warn{background:#41300c;color:#ffd98a}:root:not([data-theme="light"]) .rx-v-ask{background:#16305a;color:#bcd4ff}}
.rx-pop{animation:rxPop 380ms cubic-bezier(.23,1,.32,1)}
@keyframes rxPop{0%{transform:scale(.97);opacity:.4}100%{transform:none;opacity:1}}
.rx-list{margin:0 0 10px}
.rx-stop{color:var(--danger);font-weight:600}.rx-ask{color:var(--blue);font-weight:600}
.rx-ires h4,.rx-how h4{margin:12px 0 6px;font-size:16px}
.rx-how{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:var(--soft)}
.rx-how ol{margin:0;padding-left:20px}.rx-how li{margin:3px 0}
@media (max-width:600px){.rx-ih{flex-direction:column}.rx-verdict{font-size:18px}}
@media (prefers-reduced-motion:reduce){.rx-item,.rx-pop{animation:none}}

/* ================= v1.64 · animazioni dove mancavano ================= */
/* schede principali: indicatore che scivola */
.subtabs.has-ind{position:relative}
.subtabs .tab-ind{position:absolute;left:0;top:0;border-radius:10px;background:var(--surface);box-shadow:var(--sh-1);pointer-events:none;z-index:0;transition:transform 260ms cubic-bezier(.23,1,.32,1),width 260ms cubic-bezier(.23,1,.32,1),height 260ms cubic-bezier(.23,1,.32,1)}
.subtabs.has-ind button{position:relative;z-index:1}
.subtabs.has-ind button[aria-pressed="true"]{background:transparent;box-shadow:none}
.subtabs button:active{transform:scale(.97)}
.subtabs button{transition:background-color 150ms ease,color 150ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
/* pulsanti a pillola e filtri: risposta al tocco e colore che sfuma */
.chip-b{transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.chip-b:active{transform:scale(.96)}
.ref-row:active,.sy-cards a:active,.g-rev:active{transform:scale(.985)}
/* riquadri apribili: il contenuto scende morbido */
details[open]>:not(summary){animation:dtIn 220ms cubic-bezier(.23,1,.32,1) both}
@keyframes dtIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
details>summary{transition:color 150ms ease}
/* elenchi del gestionale (sito, circolari, utenti, banca dati): entrano in cascata */
.site-list>li{animation:dtIn 240ms cubic-bezier(.23,1,.32,1) both}
.site-list>li:nth-child(2){animation-delay:30ms}.site-list>li:nth-child(3){animation-delay:60ms}.site-list>li:nth-child(4){animation-delay:90ms}.site-list>li:nth-child(5){animation-delay:120ms}.site-list>li:nth-child(n+6){animation-delay:150ms}
/* tabelle dei resoconti: le righe compaiono in sequenza (solo le prime) */
.conv-cards .conv-card{animation:erogIn 280ms cubic-bezier(.23,1,.32,1) both}
.conv-cards .conv-card:nth-child(2){animation-delay:40ms}.conv-cards .conv-card:nth-child(3){animation-delay:80ms}.conv-cards .conv-card:nth-child(4){animation-delay:120ms}.conv-cards .conv-card:nth-child(n+5){animation-delay:160ms}
:is(#cbody,#sbody) .table-wrap tbody tr{animation:dtIn 220ms ease-out both}
:is(#cbody,#sbody) .table-wrap tbody tr:nth-child(2){animation-delay:20ms}:is(#cbody,#sbody) .table-wrap tbody tr:nth-child(3){animation-delay:40ms}:is(#cbody,#sbody) .table-wrap tbody tr:nth-child(4){animation-delay:60ms}:is(#cbody,#sbody) .table-wrap tbody tr:nth-child(5){animation-delay:80ms}:is(#cbody,#sbody) .table-wrap tbody tr:nth-child(n+6){animation-delay:100ms}
/* messaggi di errore: compaiono con un piccolo scatto */
.err:not([hidden]){animation:errIn 320ms ease-out both}
@keyframes errIn{0%{opacity:0;transform:translateX(0)}20%{opacity:1;transform:translateX(-5px)}45%{transform:translateX(4px)}70%{transform:translateX(-2px)}100%{transform:none}}
/* finestra del badge: l'icona "respira" mentre aspetta la pistola */
.need-ico{position:relative;display:inline-grid;place-items:center}
.need-ico::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--blue);opacity:0;animation:waitRing 1.8s ease-out infinite}
@keyframes waitRing{0%{transform:scale(.8);opacity:.5}100%{transform:scale(1.35);opacity:0}}
/* pagina di accesso e schede dei farmaci */
.login{animation:erogIn 360ms cubic-bezier(.23,1,.32,1) both}
.kb-card,.circ-hit,.ese-card{animation:farmIn .24s cubic-bezier(.23,1,.32,1) both}
.farm-card:nth-of-type(2){animation-delay:30ms}.farm-card:nth-of-type(3){animation-delay:60ms}.farm-card:nth-of-type(n+4){animation-delay:90ms}
/* caricamento file: la zona di rilascio reagisce */
.circ-drop{transition:border-color 150ms ease,background-color 150ms ease,transform 200ms cubic-bezier(.23,1,.32,1)}
.circ-drop.over{transform:scale(1.01)}
.circ-drop:active{transform:scale(.99)}
/* interruttori e caselle: lo stato cambia sfumando */
input[type=checkbox],input[type=radio]{transition:box-shadow 150ms ease}
.box{transition:border-color 150ms ease,box-shadow 200ms ease}
@media (prefers-reduced-motion:reduce){
  .subtabs .tab-ind{transition:none}
  details[open]>:not(summary),.site-list>li,.conv-cards .conv-card,:is(#cbody,#sbody) .table-wrap tbody tr,.login,.kb-card,.circ-hit,.ese-card{animation:none!important}
  .err:not([hidden]){animation:none}
  .need-ico::after{animation:none;display:none}
  .chip-b:active,.subtabs button:active,.circ-drop.over,.ref-row:active{transform:none}
}
@media print{.subtabs .tab-ind{display:none}:is(#cbody,#sbody) .table-wrap tbody tr,.conv-cards .conv-card{animation:none!important}}

/* ================= v1.65 · spazi, fumetti di spiegazione ================= */
.day-head{margin-bottom:14px}
.day-head+.acmd,.day-head+.tcmd{margin-top:0}
.tip-i{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--line-2,#CBD5E2);background:var(--surface);color:var(--blue);font:italic 700 11px/1 Georgia,serif;cursor:help;padding:0;vertical-align:1px;margin-left:2px;transition:background-color 150ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
.tip-i:hover{background:var(--soft)}
.tip-i:active{transform:scale(.92)}
[data-tip]:not(.tip-i):not([data-tip=""]){cursor:help;text-decoration:underline dotted var(--line-2,#CBD5E2);text-underline-offset:3px}
.tipbox{position:fixed;z-index:200;display:none;max-width:min(340px,calc(100vw - 16px));padding:10px 12px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:14px;line-height:1.45;box-shadow:0 10px 30px rgba(8,18,38,.25);pointer-events:none;opacity:0;transform:translateY(4px) scale(.97);transform-origin:var(--ox,50%) bottom;transition:opacity 140ms ease-out,transform 160ms cubic-bezier(.23,1,.32,1)}
.tipbox.below{transform-origin:var(--ox,50%) top;transform:translateY(-4px) scale(.97)}
.tipbox.on{opacity:1;transform:none}
.tipbox.instant{transition:none}
@media (prefers-reduced-motion:reduce){.tipbox{transition:opacity 100ms ease;transform:none}}
@media print{.tip-i{display:none}[data-tip]{text-decoration:none}}
/* v1.65 · pagina aziende, anteprima articoli, modulo R17 */
.az-why{list-style:none;padding:0;margin:12px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.az-why li{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.az-why b{font-size:18px;font-weight:500;color:var(--blue)}.az-why span{font-size:16px;color:var(--muted)}
.az-form-wrap{scroll-margin-top:90px}
.az-form{display:flex;flex-direction:column;gap:12px;max-width:720px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh-1)}
.az-ex{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.az-ex legend{font-weight:500;margin-bottom:6px}
.az-ok{max-width:720px}
.guide-preview{margin:0;padding:10px 16px;background:#fff1d6;color:#7a4b00;text-align:center;font-size:15px}
.r17-box h3{margin:0 0 4px}
.r17-tg[aria-pressed="true"]{background:#2F7D32;border-color:#2F7D32;color:#fff}
.az-list select{font:inherit;font-size:14px;padding:6px 8px;border-radius:10px}
.ai-row{margin-bottom:10px}
.nowrap{white-space:nowrap}
/* v1.66 · salute del sito, aggiornamento automatico */
.health{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.health li{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);animation:dtIn 240ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 25ms)}
.health li>div{display:flex;flex-direction:column;min-width:0}.health .small,.health .muted{overflow-wrap:anywhere}
.h-dot{flex:0 0 10px;height:10px;border-radius:50%;margin-top:6px;background:#2F7D32;box-shadow:0 0 0 3px #e6f5ea}
.h-bad{border-color:#f2b8b0;background:var(--danger-soft)}.h-bad .h-dot{background:var(--danger);box-shadow:0 0 0 3px rgba(180,35,24,.15);animation:hPulse 1.6s ease-out infinite}
.h-fix{color:var(--danger);margin-top:2px}
@keyframes hPulse{0%{box-shadow:0 0 0 0 rgba(180,35,24,.35)}100%{box-shadow:0 0 0 8px rgba(180,35,24,0)}}
.ra-grid{display:grid;gap:8px 14px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:8px 0}
@media (prefers-reduced-motion:reduce){.health li,.h-bad .h-dot{animation:none}}
#offbar{position:sticky;top:0;z-index:60;background:#fff1d6;color:#4d3300;padding:10px 16px;font-size:15px;text-align:center;border-bottom:1px solid #f0d58a;animation:offIn 240ms cubic-bezier(.23,1,.32,1) both}
#offbar.out{animation:offOut 220ms ease-in both}
@keyframes offIn{from{transform:translateY(-100%);opacity:0}to{transform:none;opacity:1}}@keyframes offOut{to{transform:translateY(-100%);opacity:0}}
@media (prefers-reduced-motion:reduce){#offbar,#offbar.out{animation:none}}
/* v1.66 · firma sul tablet */
.sg-q{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.sg-q>span{font-size:15.5px;flex:1 1 220px}
.sg-pad{position:relative;margin:12px 0;border:2px dashed var(--line-2,#CBD5E2);border-radius:14px;background:#fff;height:190px;transition:border-color 150ms ease}
.sg-pad.on{border-style:solid;border-color:var(--blue)}
.sg-pad canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;border-radius:12px}
.sg-hint{position:absolute;left:16px;bottom:12px;color:#9aa7b8;font-size:14px;pointer-events:none;transition:opacity 150ms ease}
.sg-pad.on .sg-hint{opacity:0}
/* v1.67 · badge con impronta */
.need-pk{display:flex;flex-direction:column;align-items:center;gap:8px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.need-pk-b{display:inline-flex;gap:8px;align-items:center;width:100%;justify-content:center}
.need-pk .link-inline{white-space:normal;text-align:center;max-width:100%}.need-dlg .need-in{max-width:100%;box-sizing:border-box}
/* v1.68 · economia: confronto tra periodi, ponte del MOL, simulatore */
.ce-an,.ce-sim{margin-top:14px}
.ce-h3{font-size:17px;margin:18px 0 6px}
.ce-warn{margin:8px 0;padding:9px 12px;border-radius:10px;background:#fff6e0;color:#4d3300;font-size:14.5px}
.ce-verdict{margin:6px 0 12px;padding:12px 14px;border-radius:12px;font-weight:600;border-left:5px solid}
.ce-v-ok{background:#e6f5ea;color:#1d6a37;border-color:#2F7D32}.ce-v-bad{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.ce-v-warn{background:#fff1d6;color:#7a4b00;border-color:#b07000}
.ce-bridge{list-style:none;margin:0;padding:0}
.ce-bridge li{display:grid;grid-template-columns:minmax(150px,1.2fr) 2fr minmax(90px,auto);gap:10px;align-items:center;padding:6px 0;border-top:1px solid var(--line);animation:dtIn 260ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 40ms)}
.ce-bridge .cb-tot{border-top:2px solid var(--line-2,#CBD5E2)}
.cb-l{font-size:14.5px}.cb-v{text-align:right;font-variant-numeric:tabular-nums;font-size:14.5px}
.cb-t{height:14px;background:var(--track,#eef1f5);border-radius:4px;overflow:hidden;position:relative}
.cb-t i{position:absolute;left:0;top:0;bottom:0;width:var(--w);border-radius:0 4px 4px 0;transform-origin:left;animation:barGrow2 600ms cubic-bezier(.23,1,.32,1) both}
.cb-pos{background:#2F7D32}.cb-neg{background:#c0392b}
@keyframes barGrow2{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ce-sem td,.ce-sem th{font-size:14.5px}.ce-s{font-weight:600;white-space:nowrap}.ce-ok{color:#1d6a37}.ce-no{color:var(--danger)}
.ce-org{margin-top:12px}.ce-org summary{cursor:pointer;font-weight:600;color:var(--blue)}
.ce-org-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:8px}.ce-org-g>div{padding:10px 14px;border:1px solid var(--line);border-radius:12px}.ce-org-g ul{margin:6px 0 0;padding-left:18px;font-size:14.5px}
.ce-sim-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
@media (max-width:600px){.ce-bridge li{grid-template-columns:1fr auto}.cb-t{grid-column:1/-1;order:3}}
@media (prefers-reduced-motion:reduce){.ce-bridge li,.cb-t i{animation:none}}
/* v1.68 · medici, preventivo aziende */
.med-banner{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--soft);border:1px solid var(--line);font-size:.95rem}
.ds-bar{width:40%;min-width:90px}.ds-bar i{display:block;height:10px;border-radius:0 4px 4px 0;background:var(--blue);width:var(--w,4%);transform-origin:left;animation:dsGrow .5s cubic-bezier(.23,1,.32,1) both}
@keyframes dsGrow{from{transform:scaleX(.2);opacity:0}}
.qt-head,.qt-row{display:grid;grid-template-columns:1fr 80px 100px 40px;gap:6px;align-items:center}
.qt-head{margin-bottom:4px}.qt-row{margin-bottom:6px}.qt-row input{margin:0;min-width:0;width:100%}
.qt-tot{font-size:1.1rem;margin:12px 0 4px}
@media (max-width:600px){.qt-head{display:none}.qt-row{grid-template-columns:1fr 1fr 40px;padding-bottom:6px;border-bottom:1px solid var(--line)}.qt-d{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.ds-bar i{animation:none}}
/* v1.68 · doppia verifica, registro sigillato */
.need-totp{display:block;margin:10px 0 0;text-align:left}.need-totp span{display:block;margin-bottom:4px;color:var(--muted)}.need-totp input{letter-spacing:.3em;font-size:1.2rem;text-align:center}
.tp-qr{width:200px;max-width:70vw;margin:6px auto 0;background:#fff;padding:8px;border-radius:12px}.tp-qr svg{display:block;width:100%;height:auto}
.tp-key{word-break:break-all;font-size:.85rem}.tp-steps{padding-left:20px;margin:0 0 4px}.tp-steps li{margin-bottom:4px}
.rescue{columns:2;gap:24px;padding-left:22px;font-size:1.05rem}.rescue code{letter-spacing:.06em}
.aseal{margin:0 0 10px;padding:8px 12px;border-radius:10px;border:1px solid var(--line)}.aseal.good{background:var(--soft)}.aseal.bad{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}
.aseal code{font-size:.8rem}
.net-k{display:flex;flex-direction:column;gap:4px}.net-k code{word-break:break-all;font-size:.85rem;background:var(--soft);padding:6px 10px;border-radius:8px}
/* v1.69 · presenze (timbrature) */
.att-b{background:#4E6B00;border-color:transparent;color:#fff}.att-b:hover{background:#3D5500}
.att-res{min-height:0;display:flex;flex-direction:column;gap:4px;align-items:center;margin:10px 0 0;border-radius:14px;transition:background-color .2s ease}
.att-res.in,.att-res.out{padding:14px 12px;animation:attPop .32s cubic-bezier(.23,1,.32,1) both}
.att-res.in{background:#EAF6E0;color:#2F4F00}.att-res.out{background:var(--soft);color:var(--blue-d,#003A88)}
:root[data-theme="dark"] .att-res.in{background:#22331a;color:#C8E86A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .att-res.in{background:#22331a;color:#C8E86A}}
.att-big{font-size:1.6rem;font-variant-numeric:tabular-nums}
@keyframes attPop{from{opacity:0;transform:scale(.96)}}
.att-kiosk{width:min(560px,94vw)}.att-kiosk .att-big{font-size:2.2rem}
.att-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:0 0 14px}
.att-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);transition:transform .16s ease-out,border-color .16s ease}
.att-card:active{transform:scale(.98)}.att-card[aria-pressed="true"]{border-color:var(--blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 25%,transparent)}
.att-card:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.att-n{font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}.att-n small{font-size:.8rem;font-weight:400;color:var(--muted)}
.att-tags{display:flex;flex-wrap:wrap;gap:4px}.att-tags i{font-style:normal;font-size:.78rem;padding:2px 8px;border-radius:999px}
.t-ok{background:#EAF6E0;color:#2F4F00}.t-bad{background:var(--danger-soft);color:var(--danger)}.t-warn{background:#FFF4D6;color:#7A5A00}
.att-warn{border-color:var(--danger);background:var(--danger-soft)}
.att-map{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.att-tab td,.att-tab th{vertical-align:top}.att-row-bad th{color:var(--danger)}
.att-p{display:inline-flex;align-items:center;gap:2px;padding:1px 6px;margin:1px 0;border-radius:6px;font-variant-numeric:tabular-nums;background:var(--soft);white-space:nowrap}
.att-p.in{box-shadow:inset 3px 0 0 var(--green-ink,#4E6B00)}.att-p.out{box-shadow:inset 3px 0 0 var(--blue)}
.att-p.void{text-decoration:line-through;opacity:.5}
.att-v{all:unset;cursor:pointer;padding:0 3px;color:var(--muted);font-size:1rem;line-height:1}.att-v:hover{color:var(--danger)}
.att-i{display:inline-block;font-size:.78rem;padding:1px 7px;border-radius:999px;margin:1px 0;background:var(--danger-soft);color:var(--danger)}.att-i.anticipo{background:#FFF4D6;color:#7A5A00}.att-i.fuori_turno{background:var(--soft);color:var(--muted)}
/* v1.69 · premi */
.pr-base{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 12px;font-size:1.05rem}.pr-base input[type=text]{width:70px;margin:0}
.pr-h{margin:14px 0 6px}.pr-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:6px}
.pr-rule{display:grid;grid-template-columns:28px 1fr auto auto auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px}
.pr-rule.malus{border-left:3px solid var(--danger)}.pr-rule.bonus{border-left:3px solid var(--green-ink,#4E6B00)}
.pr-l{display:flex;flex-direction:column;min-width:0}.pr-l input{margin:0}
.pr-e,.pr-t{display:flex;flex-direction:column;align-items:flex-start}.pr-e input{width:72px;margin:0}.pr-t input{width:64px;margin:0}
.pr-on input{width:20px;height:20px}
.pr-note{margin:12px 0 0}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.pr-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--surface,#fff)}
.pr-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px}.pr-tot{font-size:1.45rem;font-weight:700;color:var(--blue);font-variant-numeric:tabular-nums}
.pr-pz input{font-size:1.15rem}
.pr-bar{height:8px;border-radius:999px;background:var(--soft);overflow:hidden}.pr-bar i{display:block;height:100%;width:var(--w);background:var(--green-ink,#4E6B00);border-radius:999px;transition:width .3s cubic-bezier(.23,1,.32,1)}
.pr-lines{list-style:none;padding:0;margin:0 0 8px}.pr-lines li{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px dashed var(--line);font-size:.92rem}.pr-lines li b{white-space:nowrap;font-variant-numeric:tabular-nums}
.pr-lines li.bonus b{color:var(--green-ink,#4E6B00)}.pr-lines li.malus b{color:var(--danger)}
.pr-man{display:flex;flex-direction:column;gap:6px;margin:6px 0}.pr-man label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.88rem}.pr-man input{width:64px;margin:0}
.pr-auto{margin:8px 0 0}
@media (max-width:600px){.pr-rule{grid-template-columns:28px 1fr;}.pr-e,.pr-t{grid-column:2}.pr-rule .btn{grid-column:2;justify-self:start}}
@media (prefers-reduced-motion:reduce){.att-res.in,.att-res.out{animation:none}.pr-bar i{transition:none}}
:root[data-theme="dark"] .t-ok{background:#22331a;color:#C8E86A}:root[data-theme="dark"] .t-warn,:root[data-theme="dark"] .att-i.anticipo{background:#3a3016;color:#E3C46A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .t-ok{background:#22331a;color:#C8E86A}:root:not([data-theme="light"]) .t-warn,:root:not([data-theme="light"]) .att-i.anticipo{background:#3a3016;color:#E3C46A}}
@media (max-width:700px){.att-b{padding-left:9px;padding-right:9px}.att-b svg.m-only{display:block}}
.pr-rule{padding:6px 10px}.pr-rule input[type=text]{height:36px;padding:4px 8px;font-size:.95rem}.pr-base input[type=text]{height:40px;padding:4px 8px}.pr-man input{height:34px;padding:2px 6px}
/* v1.70 · import dal gestionale, premi visibili */
.im-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.im-mode{border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:10px 0}.im-mode textarea,.im-mode input[type=text]{margin:0 0 8px 28px;width:calc(100% - 28px)}
.im-prev{margin:10px 0}.im-prev table{width:100%}.im-paste{margin:0 0 10px}.im-paste textarea{width:100%;margin:6px 0}
.pr-pub{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;margin:0 0 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);font-size:.92rem}.pr-pub input{width:20px;height:20px;margin-top:2px}
.todo-att{border-color:#4E6B00}
/* v1.72 · badge del personale */
.att-setup{border-color:#4E6B00;box-shadow:0 0 0 3px color-mix(in srgb,#4E6B00 15%,transparent)}
.att-steps{margin:8px 0 10px;padding-left:20px}.att-steps li{margin:3px 0}
.att-blist{list-style:none;margin:0;padding:0}.att-blist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.upd-bar{height:8px;border-radius:999px;background:var(--soft);overflow:hidden;margin:6px 0}.upd-bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .2s ease-out}
.tag.visit{white-space:normal;max-width:100%}
/* v1.73 · buste paga */
.bu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.bu-card{border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:var(--surface)}
.bu-card header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.bu-card header>div{display:flex;flex-direction:column}
.bu-who{margin:8px 0 0}.bu-who select{margin:2px 0 0}
.bu-diff{margin:6px 0;font-size:.88rem}.bu-diff summary{cursor:pointer;color:var(--danger);font-weight:600}.bu-diff ul{margin:6px 0 0;padding-left:18px}.bu-diff li{margin:2px 0}
.bu-bal{width:100%;font-size:.85rem;margin-top:6px}.bu-bal td,.bu-bal th{padding:3px 6px;text-align:right}.bu-bal td:first-child,.bu-bal th:first-child{text-align:left}
/* v1.73 · barra in alto snella: badge, nuove online, timbra e un solo Menu */
.bar-actions{position:relative}
.m-more-b{display:inline-flex!important;align-items:center;gap:6px}
.more-acts{display:none!important;position:absolute;right:0;top:calc(100% + 6px);z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-3,0 10px 30px rgba(0,0,0,.18));padding:8px;flex-direction:column;align-items:stretch;gap:4px;min-width:220px}
.more-acts.open{display:flex!important;animation:fadein .14s ease-out}
.more-acts>*{width:100%;justify-content:flex-start;text-align:left}
.more-acts .who-in{display:block;font-size:13px;color:var(--muted);padding:4px 10px;order:-1;border-bottom:1px solid var(--line);margin-bottom:2px}
.more-acts .call{padding:7px 12px;border-radius:999px}
.avail-d{margin:0 0 10px}.avail-d>summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--blue);padding:6px 0;list-style:none}.avail-d>summary::-webkit-details-marker{display:none}.avail-d>summary::before{content:"🔍";font-size:.95em}
/* v1.74 · pagina disponibilità */
.disp{max-width:760px;margin:0 auto}
.disp-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin:0 0 18px}
.disp-price{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}.disp-price b{font-size:1.25rem;color:var(--blue)}
.disp-ric{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0 0}.disp-ric button{font:inherit;font-weight:600;padding:8px 18px;border-radius:999px;border:1.5px solid var(--blue);background:var(--surface);color:var(--blue);cursor:pointer}.disp-ric button[aria-pressed="true"]{background:var(--blue);color:#fff}
.disp-day h2{font-size:1.05rem;margin:16px 0 8px}
.disp-times{display:flex;flex-wrap:wrap;gap:8px}
.disp-t{display:inline-block;min-width:72px;text-align:center;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums;transition:transform .16s ease-out,border-color .16s ease}
.disp-t:hover{border-color:var(--blue);color:var(--blue)}.disp-t:active{transform:scale(.97)}
.disp-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.disp-list a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-decoration:none}.disp-list a:hover{border-color:var(--blue)}.disp-list span{color:var(--blue);font-weight:600}.disp-list small{color:var(--muted)}
.asl-box{border-color:var(--blue)}.asl-bad th,.asl-bad td{color:var(--danger)}
/* v1.74 · lettura automatica del referto */
.rr{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:8px 0;background:var(--surface)}
.rr.ok{border-color:#4E6B00;background:color-mix(in srgb,#4E6B00 7%,var(--surface))}.rr.warn{border-color:#B7791F;background:color-mix(in srgb,#B7791F 8%,var(--surface))}.rr.bad{border-color:var(--danger);background:var(--danger-soft)}
.rr-l{list-style:none;padding:0;margin:6px 0 0;font-size:.9rem}.rr-l li{margin:2px 0}.rr-l li.no{color:var(--danger);font-weight:600}.rr-l li.ok{color:var(--green-ink,#4E6B00)}
.rr-q{margin:2px 0 0;padding-left:18px;font-size:.85rem;color:var(--muted)}
/* v1.74b posti liberi sempre visibili */
.avail{display:block}.av-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.av-lab{font-weight:600;color:var(--ink);font-size:15px}
.av-row select{flex:1 1 220px;max-width:340px;font-size:16px;padding:8px 12px;min-height:0}.av-row input[type=date]{width:auto;font-size:16px;padding:8px 10px}
.av-wa{margin:8px 0 0}
@media (max-width:560px){.av-row select{max-width:none}}
.av-from{display:inline-flex;align-items:center;gap:8px}
.t-more{position:relative;display:inline-block}.t-more>summary{list-style:none;cursor:pointer}.t-more>summary::-webkit-details-marker{display:none}
.t-more-m{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;gap:6px;min-width:190px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.t-more-m .btn{justify-content:flex-start;text-align:left}
/* v1.74 · aiuto */
.hp-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;width:52px;height:52px;border-radius:50%;border:0;background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform 160ms ease-out}
.hp-fab:active{transform:scale(.95)}.hp-fab[aria-expanded="true"]{background:var(--ink);color:var(--surface)}
.hp-pan{position:fixed;right:18px;bottom:80px;z-index:61;width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 110px));overflow:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 12px 36px rgba(0,0,0,.28);transform-origin:bottom right;animation:hpIn 180ms cubic-bezier(.23,1,.32,1)}
@keyframes hpIn{from{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.hp-pan{animation:none}}
.hp-h{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:17px}.hp-x{background:none;border:0;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:0 4px}
.hp-pan input{width:100%;font-size:16px}.hp-sug{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.hp-chip{font:inherit;font-size:14px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}.hp-chip:hover{border-color:var(--blue)}
.hp-res{margin:8px 0 0}.hp-it{padding:10px 0;border-top:1px solid var(--line)}.hp-it:first-child{border-top:0}.hp-it>b{display:block;margin:0 0 2px}.hp-it p{margin:0 0 6px;font-size:15px;line-height:1.45}
.imp-find{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 12px;margin:0 0 12px}.imp-find svg{color:var(--muted)}.imp-find input{flex:1;min-width:0;border:0;background:transparent;font-size:16px;padding:6px 0}.imp-find input,.imp-find input:focus{outline:none;box-shadow:none;border:0}.imp-find:focus-within{border-color:var(--blue)}
.imp-res{flex-basis:100%;margin:0}.imp-res:empty{display:none}
@media print{.hp-fab,.hp-pan{display:none!important}}
/* v1.74 · adesso nei turni */
.now-bar{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin:0 0 10px;font-size:15px}
.nb-day{font-weight:600;text-transform:none}.nb-clock{font-variant-numeric:tabular-nums;color:var(--blue)}.nb-warn{color:var(--red,#B42318);font-weight:600}
@keyframes todayFlash{0%,100%{box-shadow:none}50%{box-shadow:inset 0 0 0 3px var(--blue)}}
.today-flash{animation:todayFlash 700ms ease-in-out 2}
@media (prefers-reduced-motion:reduce){.today-flash{animation:none}}
/* v1.74 · foglio settimanale: orari in verticale lungo il blocco, sigle più leggibili */
td.sh-c{position:relative;overflow:visible!important}
.sh-lb{position:absolute;top:2px;left:50%;transform:translateX(-50%);writing-mode:vertical-rl;white-space:nowrap;font-size:10px;font-weight:700;line-height:1;letter-spacing:.01em;z-index:1;pointer-events:none;color:inherit}
th.sh-code{font-size:10.5px;height:34px}
.sh-n{font-variant-numeric:tabular-nums}
.sh-lh{display:block;font-size:9px;font-weight:700;line-height:17px;overflow:hidden}
/* v1.74 · Gestione (Turni · Economia · Sito) e Turni più snello */
.gest-seg{display:inline-flex;gap:2px;padding:3px;margin:-4px 0 12px;background:var(--track,var(--soft));border-radius:12px}
.gest-seg button{font:inherit;font-size:15px;font-weight:600;padding:7px 18px;border:0;border-radius:9px;background:none;color:var(--muted);cursor:pointer;transition:background-color 150ms ease,color 150ms ease,transform 160ms ease-out}
.gest-seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1)}.gest-seg button:active{transform:scale(.97)}
.sub-more{position:relative;display:inline-block}.sub-more>summary{list-style:none;font:inherit;font-size:14.5px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:var(--sh-1)}
.sub-more>summary::-webkit-details-marker{display:none}.sub-more>summary[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.sub-more-m{position:absolute;left:0;top:calc(100% + 6px);z-index:30;display:flex;flex-direction:column;gap:4px;min-width:190px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 34px rgba(11,31,58,.18)}
.sub-more-m button{text-align:left;border-radius:10px!important;box-shadow:none!important}
.more-list a{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border-radius:10px;color:var(--ink);text-decoration:none}.more-list a:hover{background:var(--soft)}
details.sh-alert-d>summary{cursor:pointer;list-style:none}details.sh-alert-d>summary::-webkit-details-marker{display:none}details.sh-alert-d[open]>summary{margin:0 0 4px}
.tcmd{padding:10px 12px}.tcmd-l{display:inline-block;margin:0 0 4px;font-size:14px}.tcmd-ex{margin:4px 0 0}.tcmd-ex>summary{cursor:pointer;display:inline}.tcmd-ex p{margin:4px 0 0}
/* v1.74 · tabella del mese: minuti in apice, niente orari tagliati */
td.mv-c span{letter-spacing:-.02em}td.mv-c sup{font-size:.68em;vertical-align:.45em;line-height:0;margin-left:.5px;letter-spacing:0}
table.mv thead th small{display:block;line-height:1.1}table.mv thead th b{display:block;line-height:1.15}
td.mv-c{padding:3px 0!important}td.mv-c sup{margin-left:1px}td.mv-c span{letter-spacing:-.03em}
@media (max-width:1150px){td.mv-c span{font-size:9.5px}td.mv-c .mv-b{font-size:8.5px;padding:0 1px}}
.sh-lb{font-size:var(--lbf,10px)}
td.mv-c span{line-height:1.3}td.mv-c sup{vertical-align:.38em}td.mv-c .mv-badges{margin-top:2px}
@media (max-width:1150px){td.mv-c span{font-size:9px}}
.mv.mv-f td.mv-c span{line-height:1.25;letter-spacing:-.02em}
@media (max-width:1150px){.mv.mv-f td.mv-c span{font-size:10px;letter-spacing:-.03em}}
/* v1.74 · turni delle farmacie */
.duty-box h3{margin:0 0 6px}.duty-l ul{columns:2 240px;margin:6px 0 0;padding-left:18px}.duty-l li{margin:2px 0;break-inside:avoid}.duty-c{display:flex;flex-direction:column;gap:6px}
table.mv thead th.duty{position:relative}.duty-dot{position:absolute;top:3px;right:3px;width:7px;height:7px;border-radius:50%;background:#C42B1C;box-shadow:0 0 0 2px var(--surface)}
/* v1.74 · foglio settimanale: colonne alternate, mirino, scelta dopo la selezione */
:root{--sh-alt:rgba(0,74,173,.045);--sh-hl:rgba(0,74,173,.09);--sh-hx:#004AAD}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--sh-alt:rgba(156,194,255,.06);--sh-hl:rgba(156,194,255,.12);--sh-hx:#9CC2FF}}
:root[data-theme="dark"]{--sh-alt:rgba(156,194,255,.06);--sh-hl:rgba(156,194,255,.12);--sh-hx:#9CC2FF}
td.sh-c.alt:not([class*=" k-"]):not(.sun){background-color:var(--sh-alt)}
td.sh-c.alt[class*=" k-"]{box-shadow:inset 0 0 0 999px rgba(0,0,0,.055)}
th.sh-code.alt{background-image:linear-gradient(var(--sh-alt),var(--sh-alt))}
td.sh-c::after{content:"";position:absolute;inset:0;pointer-events:none;background:transparent;transition:background-color 120ms ease,box-shadow 120ms ease}
td.sh-c.hr::after,td.sh-c.hc::after{background:var(--sh-hl)}
td.sh-c.hx::after{background:transparent;box-shadow:inset 0 0 0 2px var(--sh-hx),0 0 0 3px rgba(0,74,173,.18);z-index:2}
th.sh-h{transition:background-color 120ms ease,color 120ms ease}th.sh-h.hr{background:var(--sh-hx);color:#fff;border-radius:6px}
th.sh-code{transition:background-color 120ms ease,color 120ms ease}th.sh-code.hc{background:var(--sh-hx)!important;color:#fff!important}
.sh-tip{position:fixed;left:0;top:0;z-index:80;pointer-events:none;padding:4px 9px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:12.5px;font-weight:600;white-space:nowrap;opacity:0;transition:opacity 120ms ease;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.sh-tip.on{opacity:.95}
@media (prefers-reduced-motion:reduce){td.sh-c::after,th.sh-h,th.sh-code,.sh-tip{transition:none}}
.sh-hint{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 8px}.sh-clip{font-size:13px;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.sh-dm{font:inherit;font-weight:600;background:none;border:0;color:inherit;cursor:pointer;padding:2px 6px;border-radius:6px}.sh-dm:hover{background:var(--soft)}.sh-dm span{font-size:.8em;opacity:.6}
.sh-pop{position:fixed;z-index:90;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(11,31,58,.25);padding:10px;width:min(360px,calc(100vw - 16px));transform-origin:top left;animation:shPop 160ms cubic-bezier(.23,1,.32,1)}
@keyframes shPop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sh-pop{animation:none}}
.sh-pop-h{font-size:13.5px;margin:0 0 8px;color:var(--muted)}.sh-pop-h b{color:var(--ink)}
.sh-pop-k{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.sh-pop-k .sh-tool{margin:0;padding:8px 4px;font-size:13px;justify-content:center}
.sh-pop-rep{display:flex;gap:8px;align-items:flex-start;margin:10px 0 0;font-size:13.5px;cursor:pointer}.sh-pop-rep small{display:block;color:var(--muted);font-size:12px}
.sh-pop-f{display:flex;justify-content:space-between;margin:10px 0 0;font-size:13.5px}
.sh-pop-s{display:flex;flex-direction:column;gap:2px;width:min(300px,calc(100vw - 16px))}.sh-pop-s button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;font:inherit;border:0;background:none;color:var(--ink);padding:8px 10px;border-radius:10px;cursor:pointer}.sh-pop-s button:hover{background:var(--soft)}.sh-pop-s small{color:var(--muted);font-size:12px}
/* v1.74 · sigle centrate sulla colonna */
th.sh-code{writing-mode:horizontal-tb!important;transform:none!important;text-align:center!important;vertical-align:bottom;padding:3px 0!important;height:36px}
.sh-cv{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);line-height:1;letter-spacing:.02em}
/* ore che si stanno cambiando, vicino al puntatore */
.sh-tip.drag{background:var(--blue);color:#fff;font-size:13px;padding:5px 10px}.sh-tip .sh-tip-h{font-size:15px;font-variant-numeric:tabular-nums}
/* caselle appena cambiate: entrano con un piccolo "pop" */
@keyframes shIn{0%{transform:scale(.55);opacity:.2}60%{transform:scale(1.08)}100%{transform:none;opacity:1}}
td.sh-c.sh-pop-in{animation:shIn 380ms cubic-bezier(.23,1,.32,1) both;animation-delay:var(--dl,0ms)}
/* evento raggiunto dal saldo: si illumina */
@keyframes evGlow{0%{box-shadow:inset 0 0 0 0 transparent}20%{box-shadow:inset 0 0 0 3px #F59E0B,0 0 14px 3px rgba(245,158,11,.75)}60%{box-shadow:inset 0 0 0 3px #F59E0B,0 0 8px 2px rgba(245,158,11,.45)}100%{box-shadow:inset 0 0 0 2px rgba(245,158,11,.6)}}
td.sh-c.ev-glow{animation:evGlow 1.1s cubic-bezier(.23,1,.32,1) 3 both;animation-delay:var(--dl,0ms);z-index:3}
@media (prefers-reduced-motion:reduce){td.sh-c.sh-pop-in{animation:none}td.sh-c.ev-glow{animation:none;box-shadow:inset 0 0 0 3px #F59E0B}}
/* saldo: riquadri che si aprono con il perché */
.pair-saldo{align-items:flex-start}.ps-d{display:inline-block;position:relative}.ps-d>summary{list-style:none;cursor:pointer;transition:transform 160ms ease-out}.ps-d>summary::-webkit-details-marker{display:none}.ps-d>summary:active{transform:scale(.97)}
.ps-chev{display:inline-block;margin-left:2px;font-size:.8em;transition:transform 200ms cubic-bezier(.23,1,.32,1)}.ps-d[open] .ps-chev{transform:rotate(180deg)}
.ps-why{position:absolute;left:0;top:calc(100% + 6px);z-index:40;min-width:300px;max-width:min(420px,calc(100vw - 32px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(11,31,58,.22);padding:10px 12px;transform-origin:top left;animation:shPop 180ms cubic-bezier(.23,1,.32,1)}
.ps-why ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.ps-why p{margin:6px 0 0}
.ps-ev{display:flex;align-items:center;gap:6px;width:100%;text-align:left;font:inherit;font-size:13.5px;border:0;background:none;color:var(--ink);padding:6px 8px;border-radius:9px;cursor:pointer;transition:background-color 150ms ease,transform 160ms ease-out}
.ps-ev:hover{background:var(--soft)}.ps-ev:active{transform:scale(.98)}.ps-go{margin-left:auto;opacity:.45;transition:transform 160ms ease-out,opacity 160ms}.ps-ev:hover .ps-go{opacity:1;transform:translateX(3px)}
.ps-dot{width:9px;height:9px;border-radius:3px;flex:0 0 9px;background:#ccc}.ps-k-ferie .ps-dot{background:#90B4F0}.ps-k-permesso .ps-dot{background:#CDB8F5}.ps-k-permesso104 .ps-dot{background:#7FD1C7}.ps-k-malattia .ps-dot{background:#FFD08A}.ps-k-maternita .ps-dot{background:#F8BBD0}.ps-k-ritardo .ps-dot{background:#E5E7EB;box-shadow:inset 0 0 0 1.5px #B42318}.ps-k-straordinario .ps-dot{background:#FF8A80}
/* schema tipo */
.schema-b{border-left:4px solid var(--blue)}.sch-t td{font-size:12.5px;white-space:nowrap}.sch-sum{columns:2 240px;margin:10px 0 0;padding-left:18px}.sch-sum .ok{color:#14532D}
.ps-d>summary{display:inline-block}
.ps-ev{white-space:nowrap}.ps-why{min-width:340px}
.sh-pop-k .sh-tool[aria-pressed="true"]{outline:2.5px solid var(--blue);outline-offset:1px}
.sh-pop-when{animation:shPop 160ms cubic-bezier(.23,1,.32,1)}.sh-pop-w{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 6px}.sh-pop-until{display:inline-flex;gap:4px;align-items:center}.sh-pop-until input{width:auto;font-size:14px;padding:5px 6px}
.ps-fix{margin:8px 0 0}
.wk-d{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}.wk-d input{width:auto}.wk-body{min-height:60px}
.ps-k-festivo .ps-dot{background:repeating-linear-gradient(45deg,#F59E0B 0 3px,#FDE68A 3px 6px)}.ps-k-corto .ps-dot{background:#F4D98A;box-shadow:inset 0 0 0 1.5px #B45309}.ps-k-lungo .ps-dot{background:#FCA5A5;box-shadow:inset 0 0 0 1.5px #B91C1C}
/* v1.75 · perché del saldo: leggibile, niente testo che esce dal riquadro */
.ps-why{width:min(560px,calc(100vw - 24px));min-width:0;max-height:min(70vh,560px);overflow:auto;padding:12px}
.ps-ev{white-space:normal!important;align-items:flex-start;line-height:1.35}.ps-ev .muted{display:block;width:100%;padding-left:15px;font-size:12.5px}.ps-ev>b{margin-right:4px}
.ps-ev{flex-wrap:wrap}.ps-dot{margin-top:4px}.ps-go{align-self:center}
.ps-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 10px}.ps-sum>div{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column}
.ps-sum span{font-size:12px;color:var(--muted)}.ps-sum b{font-size:18px;font-variant-numeric:tabular-nums}.ps-sum small{font-size:11.5px;color:var(--muted)}.ps-sum .ps-plus b{color:#B42318}.ps-sum .ps-minus b{color:#B45309}
.ps-h{font-size:13px;font-weight:600;margin:4px 0 4px!important}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ps-sum .plus b{color:#FF9B8F}:root:not([data-theme="light"]) .ps-sum .minus b{color:#FCD34D}}
/* v1.75 · foglio dei turni al telefono: un giorno alla volta */
.sh-mday{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 8px;position:sticky;top:0;z-index:5;background:var(--bg);padding:4px 0}
.sh-mday button{font:inherit;display:flex;flex-direction:column;align-items:center;padding:6px 0;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;transition:transform 160ms ease-out,background-color 150ms}
.sh-mday button small{font-size:11px;color:var(--muted)}.sh-mday button b{font-size:16px}.sh-mday button[aria-selected="true"]{background:var(--blue);border-color:var(--blue);color:#fff}.sh-mday button[aria-selected="true"] small{color:rgba(255,255,255,.8)}.sh-mday button.hol{border-color:#F59E0B}.sh-mday button:active{transform:scale(.96)}
.sh-mob table.sh th,.sh-mob table.sh td{height:30px}.sh-mob table.sh{font-size:12px}.sh-mob td.sh-c{font-size:11px}.sh-mob th.sh-h{width:46px;font-size:12px}.sh-mob .sh-cv{font-size:12px}.sh-mob th.sh-code{height:44px}
/* scheda del personale al telefono: due colonne ordinate, spunte e pulsanti a tutta larghezza */
@media (max-width:600px){
  .t-staff2{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0}
  .t-staff2>*{min-width:0}
  .t-staff2>.q-on{grid-column:1/-1;display:flex;align-items:center;gap:8px}.t-staff2>.q-on::after{content:"In servizio";font-size:14px}
  .t-staff2 .t-flags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 16px}
  .t-staff2 .t-acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}
  .hp-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px));width:46px;height:46px}
}
/* v1.75 · linea dell'ora attuale nel foglio */
td.sh-c.nowl::before{content:"";position:absolute;left:-1px;right:-1px;top:var(--nowp,0);height:2px;background:#E11D48;z-index:4;pointer-events:none;box-shadow:0 0 6px rgba(225,29,72,.6)}
th.sh-h.nowh{position:relative;color:#fff!important;background:#E11D48!important;border-radius:6px}th.sh-h.nowh::after{content:attr(data-now);position:absolute;left:100%;top:50%;transform:translate(4px,-50%);background:#E11D48;color:#fff;font-size:10px;font-weight:700;padding:1px 5px;border-radius:999px;z-index:6;white-space:nowrap;pointer-events:none}
/* v1.75 · schermata "chi è in turno adesso" */
.ns-h{display:flex;justify-content:space-between;align-items:center;gap:10px}.ns-clock{font-size:46px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;margin:6px 0 10px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.ns-clock small{font-size:16px;font-weight:500;color:var(--muted);text-transform:capitalize}
.ns-warn{background:#FDE7E4;color:#8B1A10;border:1px solid #F3B4AC;border-radius:12px;padding:8px 12px;margin:0 0 10px;font-weight:600}
.ns-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.ns-c{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.ns-c h3{margin:0 0 6px;font-size:15px}.ns-c ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.ns-c li{font-size:14.5px}
.ns-c.in{border-color:#9CCFA8;box-shadow:inset 4px 0 0 #1E9E55}.ns-c.next{box-shadow:inset 4px 0 0 #004AAD}.ns-c.abs{box-shadow:inset 4px 0 0 #F59E0B}
.ns-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#1E9E55;margin-right:6px;animation:ping 1.8s cubic-bezier(.23,1,.32,1) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(30,158,85,.55)}80%,100%{box-shadow:0 0 0 8px rgba(30,158,85,0)}}@media (prefers-reduced-motion:reduce){.ns-dot{animation:none}}
.ns-warn.ns-closed{background:var(--soft,#EEF2F6);color:inherit;border-color:transparent;font-weight:500}
.ps-ev{position:relative;padding-right:28px!important}.ps-ev .ps-go{position:absolute;right:10px;top:50%;margin:-.6em 0 0}
/* v1.80 · prenota dalla ricetta */
.day-head-b{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.rxb-src{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 12px}
.rxb-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;transition:transform 160ms ease-out,border-color 160ms}
.rxb-tile:hover{border-color:var(--brand,#0B57D0)}.rxb-tile:active{transform:scale(.98)}.rxb-tile:disabled{opacity:.5;cursor:wait}.rxb-tile small{color:var(--muted);font-size:12.5px;line-height:1.3}.rxb-i{font-size:26px;line-height:1}
.rxb-prog{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--soft);font-weight:500;margin:0 0 10px}
.rxb-spin{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:rxbspin .7s linear infinite;vertical-align:-3px;margin-right:6px;opacity:.7}
@keyframes rxbspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.rxb-spin{animation-duration:2s}}
.rxb-qr{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:start}.rxb-qrbox{background:#fff;border-radius:12px;padding:6px}.rxb-qrbox svg{width:100%;height:auto;display:block}
@media (max-width:560px){.rxb-qr{grid-template-columns:1fr}.rxb-qrbox{max-width:220px}}
.rxb-sum{padding:10px 12px;border-radius:12px;background:var(--soft);margin:0 0 10px}.rxb-warn{color:#B45309;font-weight:600}.rxb-stop{color:#B42318;font-weight:600}
.rxb-nav{display:flex;align-items:center;gap:8px;margin:0 0 10px;flex-wrap:wrap}.rxb-dot{width:8px;height:8px;border-radius:50%;background:var(--line)}.rxb-dot.on{background:var(--brand,#0B57D0)}.rxb-dot.done{background:#16A34A}
.rxb-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin:0 0 10px;animation:rxbin 220ms cubic-bezier(.23,1,.32,1)}
@keyframes rxbin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rxb-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.rxb-miss input{border-color:#F59E0B!important;background:color-mix(in srgb,#F59E0B 8%,transparent)}
.rxb-h{font-size:15px;margin:12px 0 6px}
.rxb-ex{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.rxb-exi{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.rxb-exi.on{border-color:var(--brand,#0B57D0);background:color-mix(in srgb,var(--brand,#0B57D0) 8%,transparent)}
.rxb-exi span{display:flex;flex-direction:column}.rxb-exi small{font-size:12px;color:var(--muted)}.rxb-exi.rx small{color:#0E6B35}
.rxb-one{background:color-mix(in srgb,#16A34A 10%,transparent);border-radius:10px;padding:8px 10px;margin:10px 0 0}
.rxb-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.rxb-pl{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer;line-height:1.45;font-size:14px}.rxb-pl.on{border-color:var(--brand,#0B57D0);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand,#0B57D0) 25%,transparent)}
.rxb-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin:10px 0 0}.rxb-row .f{flex:1 1 180px}
.rxb-ck{margin:8px 0 0}.rxb-ck summary{cursor:pointer;font-weight:500}
.rxb-done{display:flex;gap:12px;align-items:center;padding:16px;border-radius:14px;background:color-mix(in srgb,#16A34A 10%,transparent);margin:0 0 10px}.rxb-ok-i{width:34px;height:34px;border-radius:50%;background:#16A34A;color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.rxb-grp ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rxb-grp li.me{font-weight:600}
/* v1.80 · vendite, flussi, chiusura di cassa */
.sv-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px}.sv-bar .f{margin:0}
.sv-t td,.sv-t th{font-variant-numeric:tabular-nums;white-space:nowrap}.sv-map{margin-top:12px}.sv-map summary{cursor:pointer}
.fl-t{border-collapse:separate;border-spacing:2px;font-size:12.5px}.fl-t th{font-weight:500;color:var(--muted);padding:2px 6px;text-align:right}.fl-t thead th{text-align:center}
.fl-t td{min-width:54px;height:30px;text-align:center;border-radius:6px;background:var(--soft);line-height:1.05;font-variant-numeric:tabular-nums}.fl-t td b{display:block;font-size:13px}.fl-t td small{font-size:10.5px;opacity:.7}
.fl-ok{background:color-mix(in srgb,#16A34A 16%,var(--surface))!important}.fl-hi{background:color-mix(in srgb,#F59E0B 30%,var(--surface))!important}.fl-hi2{background:color-mix(in srgb,#DC2626 32%,var(--surface))!important}
.fl-lo{background:color-mix(in srgb,#2563EB 18%,var(--surface))!important}.fl-none{background:repeating-linear-gradient(45deg,color-mix(in srgb,#DC2626 25%,var(--surface)) 0 4px,var(--surface) 4px 8px)!important}
.fl-leg{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 8px}.fl-sw{display:inline-block;width:14px;height:14px;border-radius:4px;margin-left:8px}
.fl-adv{padding-left:18px;line-height:1.5}.fl-adv li.fl-more::marker{color:#DC2626}.fl-adv li.fl-less::marker{color:#2563EB}
.cc-box{margin-top:16px}.cc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.cc-diff{min-height:24px;margin:6px 0;font-weight:600}.cc-hist{margin-top:10px}
/* v1.80 · scheda vaccini */
.vc-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:6px 0 0}.vc-s{background:var(--soft);border-radius:10px;padding:8px 10px}.vc-s ul{margin:4px 0 0;padding-left:16px;font-size:13.5px;line-height:1.45}
.vc-s.vc-no{background:color-mix(in srgb,#DC2626 9%,var(--surface))}.vc-box summary{cursor:pointer}.vc-age{margin:6px 0}
.sv-map .im-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 12px}.sv-map .im-cols .f{min-width:0;margin:0}.sv-map .im-cols select{width:100%;min-width:0}
.sh-pop-ask{border-top:1px solid var(--line);margin-top:8px;padding-top:2px}.sh-pop-ask .sh-pop-w{display:flex;flex-wrap:wrap;gap:6px}.sh-pop-f{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.ask-ans ul.aa-l{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.ask-ans p{margin:0 0 8px}
/* v1.81 · Prof. */
.prof-fab{width:64px;height:64px;padding:0;background:transparent!important;box-shadow:none;overflow:visible;transition:transform 200ms cubic-bezier(.23,1,.32,1)}
.prof-fab:hover{transform:translateY(-2px) rotate(-4deg)}.prof-fab:active{transform:scale(.94)}
.prof-fab .prof-av{width:64px;height:64px;filter:drop-shadow(0 6px 14px rgba(26,79,214,.35));animation:proffloat 4s ease-in-out infinite}
.prof-tag{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);background:#0B1F4D;color:#fff;font:700 11px/1 Jost,system-ui;padding:3px 7px;border-radius:999px;letter-spacing:.02em}
.prof-av .prof-lids rect{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(0);transition:transform 90ms ease-in}.prof-av.blink .prof-lids rect{transform:scaleY(1)}
.prof-av .prof-pupils{transition:transform 120ms ease-out}
.prof-av .prof-tassel{transform-box:view-box;transform-origin:48px 20px;animation:proftassel 3.2s ease-in-out infinite}
.prof-fab.thinking .prof-av{animation:profthink .9s ease-in-out infinite}.prof-fab[aria-expanded="true"] .prof-mouth{d:path("M26 49q6 4.5 12 0")}
@keyframes proffloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes proftassel{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}
@keyframes profthink{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.prof-fab .prof-av,.prof-av .prof-tassel,.prof-fab.thinking .prof-av{animation:none}}
.prof-pan{display:flex;flex-direction:column;gap:8px;bottom:94px;width:min(420px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 120px))}
.prof-h{display:flex;gap:10px;align-items:center}.prof-h small{display:block;color:var(--muted);font-size:12px;line-height:1.3}.prof-mini .prof-av{width:38px;height:38px;animation:none}
.prof-log{display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:60px;max-height:360px;padding:2px}
.prof-m{padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.45;max-width:92%;animation:profin 200ms cubic-bezier(.23,1,.32,1)}
.prof-m ul{margin:6px 0;padding-left:18px}.prof-m p{margin:4px 0}.prof-m .btn{margin:6px 6px 0 0}
.prof-bot{background:var(--soft);align-self:flex-start;border-bottom-left-radius:4px}.prof-me{background:var(--blue);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
@keyframes profin{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.prof-dots{display:inline-flex;gap:4px}.prof-dots i{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:profdot 1s infinite}.prof-dots i:nth-child(2){animation-delay:.15s}.prof-dots i:nth-child(3){animation-delay:.3s}
@keyframes profdot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:.9;transform:translateY(-3px)}}
.prof-in{display:flex;gap:8px}.prof-in input{flex:1;min-width:0;font-size:16px}
@media (max-width:560px){.prof-fab{width:56px;height:56px}.prof-fab .prof-av{width:56px;height:56px}.prof-pan{bottom:84px}}
.att-claims ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.att-claims li{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.att-claims input[type=time]{width:auto;display:inline-block;padding:2px 6px}
.att-clock{display:flex;flex-direction:column;align-items:center;margin:-4px 0 10px}.att-clock b{font-size:44px;line-height:1;font-variant-numeric:tabular-nums}.att-clock span{color:var(--muted);text-transform:capitalize}
.att-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px auto 0;max-width:300px}
.att-k{min-height:58px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:600 22px Jost,system-ui;cursor:pointer;transition:transform 120ms ease-out}
.att-k:active{transform:scale(.95)}.att-k.ok{background:var(--blue);color:#fff;border-color:transparent;font-size:18px}
.f-asb{background:none;border:1px dashed var(--line);border-radius:8px;padding:4px 8px;font:inherit;color:inherit;cursor:pointer;text-align:left}.f-asb:hover{border-color:var(--blue)}
.f-need{display:block;margin-top:3px;line-height:1.3;max-width:340px}
.f-ex{display:flex;flex-wrap:wrap;gap:4px 14px;margin:4px 0 10px}
.att-kiosk{max-height:96vh;overflow:auto}.att-kiosk .need-ico{display:none}.att-kiosk h2{margin-top:0}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px;align-items:end}.cc-grid .f{min-width:0;margin:0}.cc-grid input{width:100%;min-width:0;box-sizing:border-box}#cc-note{width:100%;box-sizing:border-box}
.rxb-pnav{display:flex;gap:8px;justify-content:space-between;margin:8px 0 0}.rxb-pnav #rb-more{margin-left:auto}
/* v1.83 · spostare un turno trascinandolo */
.sh-c .sh-lb,.sh-c .sh-lh{cursor:grab;touch-action:none}
body.sh-moving,body.sh-moving *{cursor:grabbing!important;user-select:none}
td.sh-c.mv-src{opacity:.45}
td.sh-c.mv-ok{box-shadow:inset 0 0 0 2px #1A7F37;background:rgba(26,127,55,.18)!important}
td.sh-c.mv-ko{box-shadow:inset 0 0 0 2px #B42318;background:rgba(180,35,24,.16)!important}
.pu-wrap .pu-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.sb-who{border:1px solid var(--line,#DCE3EC);border-radius:10px;padding:6px 10px;margin:8px 0;max-height:220px;overflow:auto}
.rxb-npush{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.rq-decl{border:1px dashed #E0A39C;border-radius:10px;padding:8px 10px;margin:6px 0}.rq-alt{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
/* v1.84 · telefono: agenda più compatta (comandi del giorno su una riga, due tasti affiancati, numeri su una riga) */
.show-s{display:none}
@media (max-width:600px){
  .show-s{display:inline}.hide-s{display:none}
  .toolbar.day-tb{flex-wrap:nowrap;gap:6px}
  .toolbar.day-tb #adate{flex:1 1 auto;min-width:0;width:auto}
  .toolbar.day-tb .btn.sm{padding-left:10px;padding-right:10px;flex:0 0 auto}
  .day-head{gap:8px}
  .day-head h1{flex:1 1 100%;font-size:26px}
  .day-head-b{flex-wrap:nowrap;width:100%;margin-left:0}
  .day-head-b .new-bk{flex:1 1 0;margin-left:0;min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap}
  .sumbar .stats{flex-wrap:nowrap;gap:12px;font-size:14px;overflow-x:auto;scrollbar-width:none;max-width:100%}
  .sumbar .stats span{white-space:nowrap}
}
/* v1.84 · cruscotto dei titolari */
.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 14px}
.dash-t{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:14px;padding:12px 14px;font:inherit;color:inherit;cursor:pointer;transition:transform 140ms ease-out}
.dash-t:active{transform:scale(.97)}.dash-t b{font-size:28px;line-height:1.1}.dash-t span{font-size:13px;color:var(--muted,#4A5A70)}
.dash-t.warn{border-color:#E8A39B;background:rgba(180,35,24,.06)}.dash-t.warn b{color:#B42318}
.dash-s ul{margin:4px 0;padding-left:18px}.dash-s li{margin:3px 0}
.dash-q{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:0 0 14px}
@media (max-width:600px){.dash-tiles{grid-template-columns:1fr 1fr}.dash-q{grid-template-columns:1fr}}
.rxb-npl{display:flex;flex-wrap:wrap;gap:6px;width:100%}.rxb-on{font-size:11px;font-weight:700;background:#1A7F37;color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px}
.onb-l{list-style:none;padding:0;margin:0 0 10px}.onb-l li{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--line,#DCE3EC)}.onb-l .done{opacity:.6}
.pt-ban{margin:8px 0 6px;padding:8px 12px;border-radius:10px;font-weight:800;font-size:14px;letter-spacing:.02em}
.pt-yes{background:#FFF1D6;color:#7A4A00;border:1.5px solid #E8B04A}.pt-no{background:#E6F4EA;color:#14532D;border:1.5px solid #9CCFA8}.pt-dir{background:#FDE7E4;color:#8B1A10;border:1.5px solid #F3B4AC}
:root[data-theme="dark"] .pt-yes{background:#3A2A08;color:#FFD58A}:root[data-theme="dark"] .pt-no{background:#0F2E1A;color:#9FE2B5}:root[data-theme="dark"] .pt-dir{background:#3A1512;color:#FFB4AA}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pt-yes{background:#3A2A08;color:#FFD58A}:root:not([data-theme="light"]) .pt-no{background:#0F2E1A;color:#9FE2B5}:root:not([data-theme="light"]) .pt-dir{background:#3A1512;color:#FFB4AA}}
.prof-verd{margin:0 0 6px;padding:6px 10px;border-radius:10px;background:#E8F1FF;font-weight:700}.prof-sc{list-style:none;padding:0;margin:4px 0}.prof-sc li{margin:3px 0}
/* v1.84 · comunicazione ai dipendenti: i tipi vanno a capo invece di uscire dalla finestra */
.seg.sb-kinds{display:flex;flex-wrap:wrap;gap:6px;width:100%;max-width:100%;overflow:visible;margin:0 0 10px}
.seg.sb-kinds .seg-b{flex:1 1 auto;white-space:nowrap}
.sb-who legend{padding:0 4px}.sb-who .check{margin:4px 0}
/* v1.84 · ore per il consulente: schede per persona */
.py-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:0 0 10px}
.py-card{border:1px solid var(--line,#DCE3EC);border-radius:12px;padding:10px 12px}.py-card header{margin:0 0 6px}
.py-nums{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px}.py-nums .py-hi b{color:#B42318}
.py-days{margin:6px 0 0;font-size:13px;line-height:1.45}.py-agr{display:grid;grid-template-columns:minmax(80px,100px) minmax(90px,1fr) minmax(120px,1.3fr) auto;gap:8px;align-items:end;margin:0 0 8px}
.py-agr .f{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0}.py-agr .f>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:18px}
.py-agr input,.py-agr select{margin:0;height:44px;box-sizing:border-box;width:100%;min-width:0;text-transform:uppercase}.py-agr select{text-transform:none}.py-agr>.btn{height:44px;margin:0;align-self:end}
@media (max-width:600px){.py-agr{grid-template-columns:1fr 1fr}.py-agr>.btn{grid-column:1/-1;height:38px}}
/* v1.84 · allattamento nei turni */
td.sh-c.k-allattamento,.sh-k-allattamento,td.mv-c.k-allattamento,.rg-s.k-allattamento{background:#B9E6B4;color:#14401A}.t-seg.k-allattamento{background:#DDF3DA;color:#14401A;border-color:#9CD596}.ps-k-allattamento .ps-dot{background:#B9E6B4}.lg-i.k-allattamento,.k-allattamento.lg{background:#B9E6B4}
.rxf-t td,.rxf-t th{text-align:left}.rxf-diff td{background:rgba(232,176,74,.12)}.rxf-new td{background:rgba(26,127,55,.08)}
/* v1.84 · telefono: i bottoni in alto vanno a capo invece di uscire dallo schermo (il Menu resta sempre visibile) */
@media (max-width:600px){
  header.site .bar .bar-actions{flex-wrap:wrap!important;justify-content:flex-end;row-gap:6px;overflow:visible!important;width:100%}
  header.site .bar .bar-actions>.btn{padding-left:10px;padding-right:10px}
}
/* v1.85 · testo per il consulente */
.py-txt textarea{width:100%;box-sizing:border-box;margin:8px 0 0;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical;min-height:160px}
.tag.ptc{background:#E8F0FE;color:#0B3D91;font-weight:600}
/* v1.85 · animazioni brevi (sotto 1/3 di secondo), spente con «riduci movimento» */
.t-tick{width:16px;height:16px;margin:-3px 6px -3px 0}
@keyframes shland{0%{transform:translateY(-6px) scale(1.06)}55%{transform:translateY(1px) scale(.98)}100%{transform:none}}
.sh-land{animation:shland 280ms cubic-bezier(.34,1.56,.64,1);transform-origin:50% 100%}
@keyframes dashin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dash-in{animation:dashin 240ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 30ms)}
@media (prefers-reduced-motion: reduce){.sh-land,.dash-in,.t-tick{animation:none!important;stroke-dashoffset:0}}
/* v1.85 · Prof: prima la risposta secca, poi il ragionamento; microfono */
.prof-lead{margin:0 0 6px!important;padding:6px 10px;border-radius:10px;background:#E8F1FF;font-weight:600;line-height:1.4}
.prof-ib{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0B57D0;margin-right:4px}
.prof-why{border-left:3px solid var(--line,#DCE3EC);padding-left:9px}.prof-wl{display:block;font-size:12px;font-weight:600;color:var(--muted,#4A5A70);margin:2px 0}
.prof-sub{font-size:13px;opacity:.92}.prof-qn{font-weight:700;margin-right:2px}
.prof-mic{padding:0 10px;display:inline-flex;align-items:center}.prof-mic.on{background:#B42318;color:#fff;border-color:transparent;animation:micp 1s ease-in-out infinite}
@keyframes micp{50%{box-shadow:0 0 0 6px rgba(180,35,24,.18)}}
@media (prefers-reduced-motion: reduce){.prof-mic.on{animation:none}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .prof-lead{background:#1B3355;color:#E6EDF5}:root:not([data-theme="light"]) .prof-ib{color:#8AB4FF}}
:root[data-theme="dark"] .prof-lead{background:#1B3355;color:#E6EDF5}:root[data-theme="dark"] .prof-ib{color:#8AB4FF}
/* v1.86 · accesso dei titolari: «Ricordami», Authenticator la prima volta, Face ID all'apertura dell'app */
.rem-card{text-align:center}.rem-hi{font-size:22px;font-weight:700;margin:4px 0 2px}.rem-mail{margin:0 0 16px}
.rem-bio{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;font-size:17px}
.rem-card .link-btn{display:block;margin:10px auto 0}.rem-check{margin:4px 0 10px}
.tp-qr{max-width:220px;margin:6px auto 4px;background:#fff;padding:6px;border-radius:12px}.tp-qr svg{display:block;width:100%;height:auto}.tp-sec{text-align:center;margin:0 0 6px}
.app-lock{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:var(--bg,#0B1320);animation:alin 200ms cubic-bezier(.23,1,.32,1)}
.app-lock.out{opacity:0;transform:scale(1.02);transition:opacity 200ms ease-out,transform 200ms ease-out}
.al-card{text-align:center;max-width:340px;width:100%}.al-card img{border-radius:16px;margin:0 auto 12px;display:block}.al-card h2{margin:0 0 4px;font-size:24px}.al-card .btn{width:100%;min-height:52px;font-size:17px;margin-top:16px}.al-card .link-btn{margin-top:14px}
body.locked{overflow:hidden}
@keyframes alin{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion: reduce){.app-lock{animation:none}.app-lock.out{transition:none}}
/* v1.86 · chat titolari ↔ dipendenti */
.chat-wrap{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:12px;align-items:start;min-height:420px}.chat-list,.chat-th{min-width:0}
.chat-list{display:flex;flex-direction:column;gap:6px;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:16px;padding:8px}
.chat-c{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:12px;padding:8px;margin:0;color:inherit;font:inherit;cursor:pointer;transition:background-color 140ms ease}
.chat-c:hover{background:var(--soft,#F1F5F9)}.chat-c.on{background:rgba(11,87,208,.10)}.chat-c.unread b{font-weight:800}
.chat-av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;background:linear-gradient(135deg,#4F8BFF,#1A4FD6);color:#fff}
.chat-cm{flex:1;min-width:0;display:flex;flex-direction:column}.chat-cm small{color:var(--muted,#4A5A70);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-ct{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:12px;color:var(--muted,#4A5A70)}.chat-ct i{font-style:normal;background:#0B57D0;color:#fff;border-radius:999px;min-width:20px;padding:1px 6px;text-align:center;font-weight:700}
.chat-new{margin:6px 4px 0}.chat-note{margin:8px 4px 2px}
.chat-th{background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:16px;display:flex;flex-direction:column;min-height:420px;max-height:calc(100vh - 220px);overflow:hidden}
.chat-empty{margin:auto;text-align:center;color:var(--muted,#4A5A70)}.chat-empty span{font-size:40px}
.chat-h{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line,#DCE3EC)}.chat-h b{flex:1}.chat-back{display:none}
.chat-msgs{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:6px;background:var(--soft,#F6F8FB)}
.chat-day{align-self:center;font-size:12px;color:var(--muted,#4A5A70);background:var(--card,#fff);border-radius:999px;padding:2px 10px;margin:6px 0}
.chat-b{position:relative;max-width:78%;padding:8px 12px 18px;border-radius:16px;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);align-self:flex-start;animation:chin 200ms cubic-bezier(.23,1,.32,1) both}
.chat-b.out{align-self:flex-end;background:#0B57D0;border-color:#0B57D0;color:#fff}.chat-b p{margin:0;white-space:pre-wrap;word-break:break-word}
.chat-meta{position:absolute;right:10px;bottom:3px;font-size:11px;opacity:.7}
.chat-del{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;padding:0;margin:0;font-size:15px;line-height:1;background:#B42318;color:#fff;border:2px solid var(--card,#fff);opacity:0;transition:opacity 140ms ease}
.chat-b:hover .chat-del,.chat-b:focus-within .chat-del{opacity:1}@media (hover:none){.chat-del{opacity:.85}}
.chat-b.chat-out{opacity:0;transform:scale(.96);transition:opacity 180ms ease-out,transform 180ms ease-out}
.chat-file{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin:0 0 6px;border-radius:10px;background:rgba(0,0,0,.06);color:inherit;text-decoration:none}.chat-b.out .chat-file{background:rgba(255,255,255,.15)}.chat-file small{opacity:.8}
.chat-in{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--line,#DCE3EC)}.chat-in textarea{flex:1 1 auto;min-width:0;margin:0;resize:none;min-height:44px;font-size:16px}.chat-in .btn{margin:0;min-height:44px}
@keyframes chin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:760px){.chat-wrap{grid-template-columns:minmax(0,1fr);min-height:0}.chat-wrap.has-th .chat-list{display:none}.chat-wrap:not(.has-th) .chat-th{display:none}.chat-back{display:inline-flex}.chat-th{max-height:calc(100vh - 170px)}}
@media (prefers-reduced-motion: reduce){.chat-b{animation:none}.chat-b.chat-out{transition:none}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .chat-c.on{background:rgba(138,180,255,.14)}}
/* v1.86 · turni al telefono: tutte le persone del giorno in vista, scorrimento libero, pressione lunga per prendere il turno */
.sh-wrap.sh-mob{overflow-x:hidden;max-height:none}
.sh-mob table.sh{min-width:0!important;width:100%;table-layout:fixed;touch-action:pan-y}
/* v2.75 · sulle caselle il dito seleziona (niente scorrimento, niente lente e selezione del testo di iPhone); si scorre dalla colonna delle ore */
table.sh td.sh-c{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
table.sh,table.sh *{-webkit-touch-callout:none}.sh-wrap table.sh{-webkit-user-select:none;user-select:none}
table.sh th,table.sh td:not(.sh-c){touch-action:pan-y}
.sh-mob table.sh th.sh-h{width:40px}.sh-mob table.sh td,.sh-mob table.sh th{min-width:0}
.sh-mob td.sh-n{width:22px;font-size:9px}
.sh-mob .sh-lb{font-size:var(--lbf,9px)}
td.sh-c.sh-hold{animation:shhold 280ms cubic-bezier(.34,1.56,.64,1) both;box-shadow:inset 0 0 0 2px #0B57D0,0 6px 16px rgba(11,31,58,.25);z-index:3;position:relative}
@keyframes shhold{0%{transform:scale(1)}60%{transform:scale(1.08)}100%{transform:scale(1.04)}}
body.sh-holding{user-select:none;-webkit-user-select:none}
/* v2.75 · tenuto premuto su un turno: si «carica» per 1,6 s (bordo che si accende e si ingrandisce), poi è preso */
td.sh-c.sh-charge{position:relative;z-index:2;animation:shcharge 1.62s linear both}
td.sh-c.sh-charge::after{content:"";position:absolute;inset:0;border-radius:4px;box-shadow:inset 0 0 0 2px #0B57D0;transform-origin:bottom;animation:shchargef 1.62s linear both;background:rgba(11,87,208,.18);pointer-events:none}
@keyframes shcharge{0%{transform:scale(1)}85%{transform:scale(1.03)}100%{transform:scale(1.05)}}
@keyframes shchargef{0%{transform:scaleY(0);opacity:.35}100%{transform:scaleY(1);opacity:1}}
.sm-acts{display:flex;flex-direction:column;gap:8px;margin:0 0 10px}.sm-acts .btn{width:100%;justify-content:flex-start;text-align:left}
.danger-t{color:#B42318!important}
@media (prefers-reduced-motion: reduce){td.sh-c.sh-hold,td.sh-c.sh-charge{animation:none}td.sh-c.sh-charge::after{animation:none;transform:none}}
/* v1.86 · Cruscotto rinnovato */
.dash-hero{position:relative;overflow:hidden;border-radius:20px;padding:18px 20px 16px;margin:0 0 14px;color:#fff;background:radial-gradient(120% 140% at 100% 0%,#4F8BFF 0%,#1A4FD6 45%,#0B2E86 100%);box-shadow:0 10px 30px rgba(11,46,134,.25)}
.dash-hero:after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
.dh-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}
.dh-hi{margin:0;font-size:15px;opacity:.85}.dash-hero h1{margin:0;font-size:28px;line-height:1.15;color:#fff}
.dh-clock{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.5px;line-height:1}.dh-col{animation:dhblink 2s steps(1) infinite}
@keyframes dhblink{50%{opacity:.35}}
.dh-date{margin:8px 0 10px;font-size:14px;opacity:.9;position:relative;z-index:1}
.dh-chips{display:flex;flex-wrap:wrap;gap:6px;position:relative;z-index:1}.dh-chips span{background:rgba(255,255,255,.16);border-radius:999px;padding:4px 10px;font-size:13px;backdrop-filter:blur(4px)}.dh-chips b{font-size:15px}
.dash-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin:0 0 14px}
.dash-t{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:16px;padding:12px 14px;font:inherit;color:inherit;cursor:pointer;transition:transform 160ms cubic-bezier(.23,1,.32,1),box-shadow 160ms ease;margin:0}
.dash-t:hover{box-shadow:0 6px 18px rgba(11,31,58,.10)}.dash-t:active{transform:scale(.97)}
.dt-i{font-size:18px;line-height:1;margin-bottom:4px}.dt-n{font-size:30px;line-height:1.05;font-variant-numeric:tabular-nums}
.dt-dot{position:absolute;top:12px;right:12px;width:9px;height:9px;border-radius:50%;background:#E5484D;box-shadow:0 0 0 0 rgba(229,72,77,.5);animation:dtp 1.8s ease-out infinite}
@keyframes dtp{0%{box-shadow:0 0 0 0 rgba(229,72,77,.45)}70%{box-shadow:0 0 0 8px rgba(229,72,77,0)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0)}}
.dash-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;align-items:start}.dash-col{display:flex;flex-direction:column;gap:12px}.dash-col .box{margin:0}.dash-now{margin:0}
@media (max-width:820px){.dash-grid{grid-template-columns:1fr}}
.dp-l{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.dp{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--soft,#F6F8FB)}
.dp-av{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;background:#64748B}.dp-av.sm{width:30px;height:30px;font-size:12px}
.dp.far .dp-av{background:linear-gradient(135deg,#4F8BFF,#1A4FD6)}.dp.ban .dp-av{background:linear-gradient(135deg,#34C77B,#1A8F55)}.dp.mag .dp-av{background:linear-gradient(135deg,#94A3B8,#64748B)}
.dp-t{flex:1;min-width:0;display:flex;flex-direction:column}.dp-t small{color:var(--muted,#4A5A70)}
.dp-bar{display:block;height:5px;border-radius:99px;background:rgba(100,116,139,.18);margin-top:5px;overflow:hidden}.dp-bar i{display:block;height:100%;width:100%;border-radius:99px;background:currentColor;color:#1A4FD6;transform-origin:left;transform:scaleX(0);transition:transform 600ms cubic-bezier(.23,1,.32,1)}
.dp.ban .dp-bar i{color:#1A8F55}.dp.mag .dp-bar i{color:#64748B}.dash-go .dp-bar i{transform:scaleX(var(--p,0))}
.dp-live{flex:none;width:10px;height:10px;border-radius:50%;background:#22C55E;animation:dtp2 2s ease-out infinite}
@keyframes dtp2{0%{box-shadow:0 0 0 0 rgba(34,197,94,.5)}70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.dg-h{margin:12px 0 4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#4A5A70)}
.dchips{display:flex;flex-wrap:wrap;gap:6px}.dchip{border-radius:999px;padding:4px 10px;font-size:13px;background:var(--soft,#F1F5F9);border:1px solid var(--line,#DCE3EC)}.dchip small{color:var(--muted,#4A5A70)}
.dchip.far{border-color:#B9CCF5}.dchip.ban{border-color:#A7E3C4}.dchip.abs{background:rgba(229,72,77,.07);border-color:rgba(229,72,77,.3)}.dchip.done{opacity:.75}
.dm-l{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.dm-l li{display:flex;gap:8px;align-items:flex-start}
.dtl{list-style:none;margin:6px 0 0;padding:0 0 0 14px;border-left:2px solid var(--line,#DCE3EC)}.dtl li{position:relative;display:flex;gap:10px;padding:6px 0}.dtl li:before{content:"";position:absolute;left:-20px;top:12px;width:10px;height:10px;border-radius:50%;background:#1A4FD6;border:2px solid var(--card,#fff)}
.dtl b{font-variant-numeric:tabular-nums;min-width:44px}.dtl span{display:flex;flex-direction:column}.dtl small{color:var(--muted,#4A5A70)}
.dash-q{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:14px 0}
.dq{display:flex;align-items:center;gap:8px;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:14px;padding:12px;font-family:inherit;font-weight:600;font-size:14px;line-height:1.2;text-align:left;color:inherit;cursor:pointer;margin:0;min-width:0;transition:transform 160ms cubic-bezier(.23,1,.32,1)}.dq span{font-size:18px}.dq:active{transform:scale(.97)}
.dash-push{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--muted,#4A5A70);margin:0 0 10px}
.dash-in{animation:dashin 380ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i,0) * 35ms)}
@keyframes dashin{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.dash-in,.dt-dot,.dp-live,.dh-col{animation:none!important}.dp-bar i{transition:none}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dp{background:rgba(255,255,255,.04)}:root:not([data-theme="light"]) .dash-hero{box-shadow:none}}
:root[data-theme="dark"] .dp{background:rgba(255,255,255,.04)}
.prof-fb{display:block;margin:6px 0 0;padding:0;background:none;border:0;color:var(--muted,#4A5A70);font-size:12px;text-decoration:underline;cursor:pointer}
.prof-teach{margin-top:6px}.prof-teach textarea{width:100%;box-sizing:border-box;margin:4px 0 0;font-size:15px}
.prof-cmp{font-size:13px;margin:4px 0}.prof-cmp th,.prof-cmp td{padding:4px 6px}
.prof-formal{margin:6px 0;padding:8px 10px;border-radius:12px;background:#FFF4E5;border:1px solid #F3C98B;color:#4A2E00}.prof-formal ul{margin:4px 0 2px;padding-left:18px}.prof-formal li{margin:2px 0}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .prof-formal{background:#3A2A12;border-color:#6B4E1F;color:#FFE2B8}}
:root[data-theme="dark"] .prof-formal{background:#3A2A12;border-color:#6B4E1F;color:#FFE2B8}
/* v1.86 · appunti economia */
.eco-notes-l{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.eco-note{display:flex;gap:10px;align-items:flex-start;background:var(--card,#fff);border:1px solid var(--line,#dce3ee);border-radius:12px;padding:10px 12px}
.eco-note>div{flex:1;min-width:0}.eco-note p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.box.flash{animation:boxFlash 1.6s cubic-bezier(.23,1,.32,1)}
@keyframes boxFlash{0%{box-shadow:0 0 0 0 rgba(11,87,208,.55)}100%{box-shadow:0 0 0 14px rgba(11,87,208,0)}}
@media (prefers-reduced-motion:reduce){.box.flash{animation:none;outline:2px solid var(--blue)}}
/* v1.87 · Cruscotto leggibile anche col tema scuro: le schede usano la superficie scura, non il bianco */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--card:#16233A}}
:root[data-theme="dark"]{--card:#16233A}
.dash-t .dt-n{color:var(--ink,#0E1B2E)}.dash-t .dt-n[data-n="0"]{color:var(--muted,#4A5A70);opacity:.8}
.dash-t span:not(.dt-i){color:var(--muted,#4A5A70)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dash-t{border-color:#2B3D5C;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}:root:not([data-theme="light"]) .dash-t span:not(.dt-i){color:#B6C4D8}:root:not([data-theme="light"]) .dash-t.warn{background:rgba(229,72,77,.14);border-color:#7A2E2E}:root:not([data-theme="light"]) .dash-t.warn .dt-n{color:#FF9B93}:root:not([data-theme="light"]) .dchip{background:#1A2A45;border-color:#2E4260;color:#E9EFF8}:root:not([data-theme="light"]) .dchip small,:root:not([data-theme="light"]) .dp-t small,:root:not([data-theme="light"]) .dash-push{color:#B6C4D8}:root:not([data-theme="light"]) .dchip.done{opacity:1}:root:not([data-theme="light"]) .dq{color:#E9EFF8;border-color:#2B3D5C}}
:root[data-theme="dark"] .dash-t{border-color:#2B3D5C}:root[data-theme="dark"] .dash-t span:not(.dt-i){color:#B6C4D8}:root[data-theme="dark"] .dash-t.warn{background:rgba(229,72,77,.14);border-color:#7A2E2E}:root[data-theme="dark"] .dash-t.warn .dt-n{color:#FF9B93}:root[data-theme="dark"] .dchip{background:#1A2A45;border-color:#2E4260;color:#E9EFF8}:root[data-theme="dark"] .dchip small,:root[data-theme="dark"] .dp-t small,:root[data-theme="dark"] .dash-push{color:#B6C4D8}:root[data-theme="dark"] .dchip.done{opacity:1}:root[data-theme="dark"] .dq{color:#E9EFF8;border-color:#2B3D5C}
/* v1.87 · Consegne */
.cs-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}
.cs-k{background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.cs-k span,.cs-k small{font-size:13px;color:var(--muted,#4A5A70)}.cs-k b{font-size:26px;line-height:1.1;font-variant-numeric:tabular-nums}
.cs-main{display:flex;gap:14px;align-items:flex-start}.cs-cols{flex:1 1 0;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cs-col{background:var(--soft,#EAEFF6);border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.cs-col header{display:flex;align-items:center;gap:8px;padding:2px 4px}.cs-col header i{width:10px;height:10px;border-radius:50%}.cs-col header b{flex:1;font-size:15px}.cs-col header span{font-size:13px;color:var(--muted,#4A5A70)}
.cs-card{background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform 160ms cubic-bezier(.23,1,.32,1)}.cs-card:active{transform:scale(.98)}.cs-card.abs{border-color:#E8A39B}
.cs-top{display:flex;align-items:center;gap:8px}.cs-top b{flex:1;font-size:15px}
.cs-tag{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.cs-tag.cash{background:#FFF1D6;color:#7A4A00}.cs-tag.pos{background:#E8F0FE;color:#0B3D91}.cs-tag.ok{background:#E3F5EC;color:#14653A}
.cs-sub{font-size:13px;color:var(--muted,#4A5A70)}.cs-it{font-size:14px}.cs-iss{font-size:13px;color:#B42318}
.cs-bot{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--line,#EEF2F7)}.cs-bot .cs-sub{flex:1}
.cs-side{flex:0 0 300px;display:flex;flex-direction:column;gap:12px}.cs-side .box{margin:0}.cs-side h3{margin:0 0 8px}
.cs-m{display:flex;justify-content:space-between;gap:8px;font-size:14px;padding:3px 0}
.cs-cl,.cs-sug{display:flex;flex-direction:column;gap:6px;margin-top:8px}.cs-cli{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--soft,#F6F8FB);border:1px solid var(--line,#DCE3EC);border-radius:10px;padding:8px 10px;font:inherit;color:inherit;cursor:pointer;margin:0}.cs-cli small{color:var(--muted,#4A5A70)}
.cs-note{background:#FFF8E8;border:1px solid #F1D9A6;border-radius:12px;padding:8px 10px;font-size:14px;color:#3B2A00}
.cs-hist div{display:flex;gap:10px;font-size:14px;padding:6px 0;border-top:1px solid var(--line,#EEF2F7)}.cs-hist b{min-width:44px;font-variant-numeric:tabular-nums}.cs-hist span:nth-child(2){flex:1}
.cs-newc{background:var(--soft,#F6F8FB);border-radius:12px;padding:10px;margin:6px 0}
.wi-l{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto;margin:8px 0}.wi-r{display:flex;gap:10px;align-items:flex-start;padding:8px;border:1px solid var(--line,#DCE3EC);border-radius:10px}.wi-r span{display:flex;flex-direction:column}.wi-r small{color:var(--muted,#4A5A70)}
.cs-empty{text-align:center;margin:12px 0}
@media (max-width:900px){.cs-main{flex-direction:column}.cs-side{flex:none;width:100%}.cs-cols{grid-template-columns:1fr}.cs-kpi{grid-template-columns:1fr 1fr}}
/* v1.87 · meteo nel Cruscotto */
.dh-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.dh-wx{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.16);border-radius:999px;padding:4px 10px 4px 6px;font-size:15px;animation:wxin 320ms cubic-bezier(.23,1,.32,1) both}
.dh-wx .wx-i{font-size:20px;line-height:1}.dh-wx b{font-size:17px}.dh-wx small{opacity:.85;font-size:12px}
@keyframes wxin{from{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dh-wx{animation:none}}
.bc-h{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.bc-rd{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:6px}
/* v1.87 · compiti di reparto */
.tk-l{list-style:none;margin:6px 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}
.tk-row{display:flex;align-items:center;gap:8px;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-radius:12px;padding:8px 10px}
.tk-row label,.tk-row>span{flex:1;display:flex;gap:10px;align-items:flex-start;min-width:0;cursor:pointer}.tk-row label span,.tk-row>span{display:flex;flex-direction:column}.tk-row small{color:var(--muted,#4A5A70)}
.tk-row input[type=checkbox]{width:22px;height:22px;margin-top:2px;flex:none}.tk-row.done b{text-decoration:line-through;opacity:.7}
.dash-week{margin:0 0 14px}.dash-week h3{margin:0 0 6px}.dw-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.dw-l li{display:flex;gap:10px;align-items:flex-start;background:var(--soft,#F6F8FB);border-radius:12px;padding:8px 10px}.dw-l li span:last-child{display:flex;flex-direction:column;min-width:0}.dw-l small{color:var(--muted,#4A5A70)}.dw-i{font-size:18px;line-height:1.2}
/* v1.88 · sicurezza e spazio sul server */
.sec-h{display:flex;gap:12px;align-items:center;margin:0 0 10px}.sec-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:#E3F5EC}.sec-ic.warn{background:#FFF1D6}
.sec-bars{display:flex;flex-direction:column;gap:10px;margin:0 0 10px}.sec-bars>div{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;font-size:14px}.sec-bars .sec-bar{grid-column:1/-1;display:block;width:100%;height:6px;border-radius:99px;background:var(--soft,#EEF2F7);overflow:hidden}.sec-bars .sec-bar>span{display:block;height:100%;background:#16A37F;border-radius:99px;transition:width 600ms cubic-bezier(.23,1,.32,1)}
.sec-l{margin:0 0 10px;padding-left:18px;color:var(--muted,#4A5A70)}.sec-l li{margin:2px 0}
/* v2.77 · sicurezza: titoletti, aree da completare, esito della prova */
.sec-t{margin:14px 0 6px;font-size:14px;font-weight:700;letter-spacing:.01em}.sec-bars .sec-todo .sec-bar>span{background:#E8A33D}.sec-bars small{font-weight:400}
.ok-t{color:#127A55}.err-t{color:#B42318}.sec-rep{max-height:60vh;overflow:auto;white-space:pre-wrap;font:12.5px/1.45 ui-monospace,Menlo,Consolas,monospace;background:var(--soft,#EEF2F7);border-radius:10px;padding:12px;margin:0 0 10px}.sec-box textarea{width:100%;border-radius:10px;border:1px solid var(--line,#DCE3EC);padding:10px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ok-t{color:#5FD39A}:root:not([data-theme="light"]) .err-t{color:#FF8A80}}
:root[data-theme="dark"] .ok-t{color:#5FD39A}:root[data-theme="dark"] .err-t{color:#FF8A80}   /* v2.87.2 · con il tema chiaro scelto a mano restano verdi e rossi scuri */
.st-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.st-big{margin:6px 0 10px;font-size:15px}.st-big b{font-size:26px;font-variant-numeric:tabular-nums}
.st-bar{display:flex;gap:2px;height:14px;border-radius:99px;overflow:hidden;background:var(--soft,#EEF2F7);margin:0 0 12px}.st-bar i{display:block;min-width:3px}.st-bar .st-free{background:transparent}
.st-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 18px}.st-l li{display:grid;grid-template-columns:12px 1fr auto;gap:2px 10px;align-items:center;font-size:14px}.st-l li i{width:10px;height:10px;border-radius:3px}.st-l small{grid-column:2/-1;color:var(--muted,#4A5A70);font-size:12px}
.st-tips{display:flex;flex-direction:column;gap:8px}.st-tip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line,#DCE3EC);border-radius:12px}.st-tip>div{display:flex;flex-direction:column;min-width:0}.st-tip small{color:var(--muted,#4A5A70)}.st-old{display:flex;gap:6px;align-items:center}.st-old select{width:auto}
.st-q{margin-top:10px}
@media (max-width:560px){.st-tip{flex-direction:column;align-items:stretch}.st-tip .btn{align-self:flex-start}}
.rxb-past{margin:12px 0 0;border:1px dashed var(--line-2,#C9D6EA);border-radius:12px;padding:8px 12px}.rxb-past summary{cursor:pointer;font-weight:600;font-size:14px}.rxb-past[open]{background:var(--soft,#F6F8FB)}
/* v1.88 · agenda dei titolari */
.oag-seg{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--soft,#EEF2F7);margin:0 0 14px;flex-wrap:wrap}.oag-seg button{border:0;background:transparent;padding:8px 14px;border-radius:9px;font:inherit;font-weight:600;font-size:14px;color:var(--muted,#4A5A70);cursor:pointer;transition:background 160ms ease,color 160ms ease}
.oag-seg button[aria-selected=true],.oag-seg button[aria-checked=true],.oag-seg button[aria-pressed=true]{background:var(--card,#fff);color:var(--ink,#0E1B2E);box-shadow:0 1px 3px rgba(11,31,58,.12)}.oag-kind{display:flex;width:100%}.oag-kind button{flex:1}
.oag-warn{background:#FFF1D6;border:1px solid #F1C77A;color:#5A3A00;border-radius:12px;padding:10px 12px;margin:0 0 12px;font-size:14px}
.oag-day{margin:0 0 16px}.oag-day h3{margin:0 0 8px;font-size:15px;color:var(--muted,#4A5A70);font-weight:700}.oag-day.past{opacity:.7}
.oag-it{display:flex;gap:12px;align-items:flex-start;background:var(--card,#fff);border:1px solid var(--line,#DCE3EC);border-left:4px solid #2F6BEF;border-radius:14px;padding:12px 14px;margin:0 0 8px;cursor:pointer;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.oag-it:active{transform:scale(.985)}.oag-it.k-abs{border-left-color:#16A37F}.oag-it.k-todo{border-left-color:#E8833A}.oag-it.done .oag-tx b{text-decoration:line-through;opacity:.6}
.oag-ic{font-size:20px;line-height:1.2}.oag-chk{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid #E8833A;background:transparent;color:#fff;font-weight:700;padding:0;cursor:pointer}.oag-it.done .oag-chk{background:#16A37F;border-color:#16A37F}
.oag-tx{display:flex;flex-direction:column;gap:2px;min-width:0}.oag-tx small{color:var(--muted,#4A5A70)}.oag-tx p{margin:4px 0 0;font-size:14px}.oag-clash{color:#B42318;font-size:13px;margin:6px 0 0}
.oag-empty{text-align:center;padding:30px 10px;color:var(--muted,#4A5A70)}
.dash-oag{margin:0 0 14px}.oag-dh{display:flex;justify-content:space-between;align-items:center;gap:8px}.oag-dh h3{margin:0}
.oag-mini{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.oag-mini li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:var(--soft,#F6F8FB)}.oag-mini li span:last-child{display:flex;flex-direction:column}.oag-mini small{color:var(--muted,#4A5A70)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .oag-warn{background:#3A2A0C;border-color:#7A5A1C;color:#FFE2A8}:root:not([data-theme="light"]) .oag-clash{color:#FF9B93}}
:root[data-theme="dark"] .oag-warn{background:#3A2A0C;border-color:#7A5A1C;color:#FFE2A8}
/* v1.88 · chiusura di cassa */
.cc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cc-sec{margin:0 0 14px}.cc-sec h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#4A5A70)}
.cc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.cc-grid .f{margin:0}
.cc-cmp{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}.cc-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--soft,#F6F8FB);font-size:14px}
.cc-row b{font-variant-numeric:tabular-nums}.cc-row em{font-style:normal;font-weight:700;min-width:110px;text-align:right}.cc-row.ok em{color:#14653A}.cc-row.plus em{color:#8A5A00}.cc-row.minus em{color:#B42318}.cc-row.head{background:transparent;border:1px solid var(--line,#DCE3EC)}
.cc-warn{color:#8A5A00;margin:2px 0 0}
.cc-notes{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}.cc-n{display:grid;grid-template-columns:minmax(150px,1fr) 2fr 100px auto;gap:8px;align-items:center}.cc-n input,.cc-n select{margin:0}
@media (max-width:640px){.cc-n{grid-template-columns:minmax(0,1fr) 84px auto}.cc-n select{grid-column:1/-1}.cc-n>*{min-width:0;width:100%}.cc-n [data-del]{width:auto}}
.cc-cred{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cc-cred li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line,#DCE3EC);border-radius:10px;font-size:14px}
.cc-more{margin:0 0 12px}
.cc-pq{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:0 0 12px}.cc-pq .f{margin:0}
.cc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0 0 12px}.cc-t{border:1px solid var(--line,#DCE3EC);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}.cc-t span{font-size:12px;color:var(--muted,#4A5A70)}.cc-t b{font-size:20px;font-variant-numeric:tabular-nums}
.cc-chart{display:flex;align-items:flex-end;gap:3px;height:56px;padding:4px 0;margin:0 0 12px;border-bottom:1px solid var(--line,#DCE3EC);overflow-x:auto}.cc-bar{flex:1 0 8px;display:flex;align-items:flex-end;height:100%}.cc-bar i{display:block;width:100%;border-radius:3px 3px 0 0}
.cc-bar.z i{background:#16A37F}.cc-bar.p i{background:#E8A33A}.cc-bar.m i{background:#E5484D}
.py-bl{display:flex;flex-direction:column;gap:8px;margin-top:8px}.py-br{display:grid;grid-template-columns:minmax(150px,1.2fr) 100px 1.5fr auto;gap:8px;align-items:center}.py-br select,.py-br input{margin:0}
@media (max-width:600px){.py-br{grid-template-columns:1fr 90px auto}.py-br input[data-bk=note]{grid-column:1/-1}}
/* v1.88 · banca */
.bk-line{width:100%;height:auto;max-height:200px;display:block}.bk-pl{fill:none;stroke:#2F6BEF;stroke-width:2;stroke-linejoin:round}.bk-area{fill:rgba(47,107,239,.10)}.bk-dot{fill:#2F6BEF;stroke:var(--card,#fff);stroke-width:2}.bk-lbl{font-size:12px;font-weight:700;fill:var(--ink,#0E1B2E)}.bk-ax{font-size:11px;fill:var(--muted,#4A5A70)}.bk-zero{stroke:var(--line,#DCE3EC);stroke-dasharray:4 4}
.bk-legend{display:flex;gap:14px;font-size:13px;color:var(--muted,#4A5A70);margin:0 0 6px}.bk-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.bk-legend i.in,.bk-col i.in{background:#16A37F}.bk-legend i.out,.bk-col i.out{background:#E8833A}
.bk-bars{display:flex;gap:6px;align-items:flex-end;height:150px;overflow-x:auto}.bk-m{flex:1 0 34px;display:flex;flex-direction:column;align-items:center;height:100%}.bk-col{flex:1;width:100%;display:flex;gap:2px;align-items:flex-end;justify-content:center}.bk-col i{display:block;width:44%;border-radius:4px 4px 0 0;min-height:2px}.bk-m span{font-size:11px;color:var(--muted,#4A5A70);margin-top:4px}
.bk-tips{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bk-tips li{padding:10px 12px;border-radius:12px;background:var(--soft,#F6F8FB);font-size:14px;border-left:4px solid #2F6BEF}.bk-tips li.k-dup{border-left-color:#E5484D}.bk-tips li.k-up{border-left-color:#E8833A}.bk-tips li.k-rec{border-left-color:#8B5CF6}.bk-tips li.k-banca{border-left-color:#0EA5E9}
.bk-unk{display:flex;flex-direction:column;gap:8px}.bk-u{border:1px solid var(--line,#DCE3EC);border-radius:14px;padding:10px 12px;transition:opacity 300ms ease,transform 300ms cubic-bezier(.23,1,.32,1)}.bk-u.bk-done{opacity:.4;transform:scale(.98)}.bk-u-h{display:flex;justify-content:space-between;gap:10px}.bk-u small{color:var(--muted,#4A5A70);display:block;margin:2px 0 8px}
.bk-u-f{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px}.bk-u-f input,.bk-u-f select{margin:0}
@media (max-width:700px){.bk-u-f{grid-template-columns:1fr 1fr}.bk-u-f button{grid-column:1/-1}}
.bk-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:820px){.bk-2{grid-template-columns:1fr}}
.bk-rec{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bk-rec li{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:var(--soft,#F6F8FB)}.bk-rec li span{display:flex;flex-direction:column}.bk-rec small{color:var(--muted,#4A5A70)}.bk-r-n{text-align:right;font-weight:700}
.bk-af{display:grid;grid-template-columns:90px 150px 130px 1fr auto auto;gap:8px;align-items:center;margin:0 0 10px}.bk-af input,.bk-af select{margin:0}.bk-file.on{background:#E3F5EC}
@media (max-width:760px){.bk-af{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bk-af>*{min-width:0;width:100%}.bk-af #ba-n{grid-column:1/-1}}
.bk-act{white-space:nowrap}.bk-fl{display:flex;gap:8px;margin:0 0 8px;flex-wrap:wrap}.bk-fl input{flex:1 1 220px;margin:0}.bk-fl select{flex:0 1 240px;margin:0}
.bk-txl{display:flex;flex-direction:column}.bk-t{display:grid;grid-template-columns:62px 1fr 170px 100px;gap:10px;align-items:center;padding:8px 6px;border-top:1px solid var(--line,#EEF2F7);font-size:14px;cursor:pointer}.bk-t:hover{background:var(--soft,#F6F8FB)}.bk-t>b{text-align:right;font-variant-numeric:tabular-nums}.bk-ds{display:flex;flex-direction:column;min-width:0}.bk-ds small{color:var(--muted,#4A5A70);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-c{font-size:12px;color:var(--muted,#4A5A70)}.bk-d{font-variant-numeric:tabular-nums;color:var(--muted,#4A5A70)}
@media (max-width:640px){.bk-t{grid-template-columns:52px 1fr 86px}.bk-c{display:none}}
.bk-rl{list-style:none;margin:0;padding:0}.bk-rl li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line,#EEF2F7);font-size:14px}
.bk-prev{max-height:260px;overflow:auto}
/* v1.89 · rifiniture: spazio dopo la spunta nell'intestazione del sito pazienti */
.hero-trust li{display:flex;align-items:baseline;gap:.4em}.hero-trust li::before{content:"✓";margin:0}
/* v1.90 · velocità del sito */
.spd-v{font-weight:700;margin:10px 0 8px}.spd-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 18px}.spd-r{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--line,#E3E8EF);font-size:14px}.spd-r b{font-variant-numeric:tabular-nums;white-space:nowrap}.spd-tips{margin:10px 0 0;padding-left:18px;color:var(--muted,#4A5A70)}.spd-tips li{margin:3px 0}
/* v1.93 · campi data e ora su iPhone: non escono più dal riquadro, testo a sinistra, stessa altezza degli altri campi */
input[type=date],input[type=time],input[type=month],input[type=datetime-local]{min-width:0;max-width:100%;box-sizing:border-box}
.f input[type=date],.f input[type=time],.f input[type=month],dialog input[type=date],dialog input[type=time],dialog input[type=month]{width:100%;display:block;-webkit-appearance:none;appearance:none;text-align:left;min-height:48px;line-height:1.2}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=month]::-webkit-date-and-time-value{text-align:left;margin:0}
dialog .row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}dialog .row2>.f{min-width:0}
/* Prof si fa da parte mentre si scorre in giù (non copre più il testo), torna appena ci si ferma o si risale */
.hp-fab{transition:transform 220ms cubic-bezier(.23,1,.32,1),opacity 220ms ease}.hp-fab.hp-hide{transform:translateY(140%);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){.hp-fab{transition:opacity 150ms ease}.hp-fab.hp-hide{transform:none}}
.oag-kind button{white-space:nowrap;font-size:14px;padding-left:6px;padding-right:6px}@media (max-width:380px){.oag-kind button{font-size:13px}}
.st-resched{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 0}
.bu-ex{margin:16px 0 0;border:1px solid var(--line,#E3E8EF);border-radius:16px;background:var(--card,#fff)}.bu-ex>summary{padding:14px 16px;cursor:pointer;font-size:15px;line-height:1.4}.bu-ex>.bu-grid{padding:0 12px 12px}
/* v1.94 · campi senza tipo (importi, ricerca), mese, indirizzo web: stesso stile di tutti gli altri */
*:where(input:not([type]),input[type=month],input[type=url],input[type=search],input[type=datetime-local]){border:1.5px solid var(--line);background:var(--surface);color:inherit;border-radius:10px;padding:11px 12px;font-size:17px;font-family:inherit;box-sizing:border-box;max-width:100%}
*:where(input:not([type]),input[type=url],input[type=search]){width:100%}
*:where(input[type=month]){min-width:150px}
*:where(input:not([type]),input[type=month],input[type=url],input[type=search]):focus{border-color:var(--blue);outline:none}
.tw-auto{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border-radius:12px;background:linear-gradient(90deg,var(--surface) 30%,transparent),linear-gradient(90deg,transparent,var(--surface) 70%) 100% 0,radial-gradient(farthest-side at 100% 50%,rgba(15,23,42,.12),transparent) 100% 0;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%;background-attachment:local,local,scroll}
/* sotto-schede di Gestione: il numerino resta accanto al nome */
.gest-seg{max-width:100%;overflow-x:auto;scrollbar-width:none}.gest-seg::-webkit-scrollbar{display:none}
.gest-seg button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
@media (max-width:480px){.gest-seg button{padding:7px 12px}}
/* banca: importi su una riga, grafico leggibile */
.bk-r-n,.bk-u-h span{white-space:nowrap}.bk-line text{font-size:13px}
/* tasto «Fatto» disattivato leggibile */
.btn:disabled,.btn[disabled]{opacity:1;background:var(--soft,#E9EEF5);color:var(--muted,#5B6B80);border-color:transparent;cursor:default}
.rs-bar{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:10px;max-width:calc(100% - 32px);padding:10px 10px 10px 16px;border-radius:14px;background:var(--ink,#0F172A);color:var(--surface,#fff);box-shadow:0 10px 30px rgba(15,23,42,.25);font-size:15px;animation:rsIn 260ms cubic-bezier(.23,1,.32,1)}
.rs-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.rs-bar .btn{flex:0 0 auto;white-space:nowrap}.rs-x{background:none;border:0;color:inherit;opacity:.7;font-size:16px;padding:6px;cursor:pointer}
@keyframes rsIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.rs-bar{animation:none}}
.gr-lock{background:#FFF8E6;border-color:#F2D58A}.gr-lock ul{margin:6px 0 0;padding-left:18px}.gr-lock li{margin:2px 0}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .gr-lock{background:#2B2410;border-color:#5C4A12}}
.dash-oag-top{margin:0 0 12px}.dash-oag .oag-mini li{padding:8px 0}
.oag-hb{display:flex;flex-wrap:wrap;gap:8px}.oc-how{font-size:14px;line-height:1.5;color:var(--muted,#4A5A70)}.oc-how p{margin:0 0 8px}
.dash-oag-top{margin:12px 0}@media (max-width:640px){.oag-hb{width:100%}.oag-hb .btn{flex:1 1 auto}}
/* v1.95 · ASL: ritardo e scontrino */
.dash-asl{margin:0 0 12px}.asl-l{margin:4px 0}.asl-t{margin:10px 0 6px}.asl-todo{list-style:none;margin:0;padding:0}.asl-todo li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line,#E3E8EF)}
.asl-box{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:var(--soft,#F1F5FA)}
/* v1.96 · ricette da sparare */
.rl-prog{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--soft,#F1F5FA)}.rl-g{margin:0 0 12px}.rl-gh{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0 0 8px}.rl-gh b{font-size:17px}
.rl-r{padding:10px 0;border-top:1px solid var(--line,#E3E8EF)}.rl-r.bad{background:linear-gradient(90deg,rgba(217,119,6,.08),transparent);border-radius:8px;padding-left:8px}
.rl-f{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.rl-f .f{margin:0;min-width:0}.rl-f input{min-width:0;width:100%;font-family:ui-monospace,Menlo,monospace}
.rl-a{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0}.rl-a .xs{flex:1;min-width:0}
@media (max-width:640px){.rl-f{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* v1.97 · festivi e turni sul Cruscotto */
.dash-duty{margin:0 0 12px}.dd-t{margin:10px 0 4px;font-weight:600;font-size:.92rem}.dd-l{list-style:none;margin:0;padding:0}.dd-l li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;padding:7px 0;border-top:1px solid var(--line,#E3E8EF)}.dd-b{font-size:.82rem;padding:2px 8px;border-radius:999px;background:#E8F1FB;color:#1F4E7A;white-space:nowrap}.dd-warn{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#FFF6E0;font-size:.88rem}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .dd-b{background:#1E3A55;color:#CFE3F7}:root:not([data-theme="light"]) .dd-warn{background:#3A3016}}:root[data-theme="dark"] .dd-b{background:#1E3A55;color:#CFE3F7}:root[data-theme="dark"] .dd-warn{background:#3A3016}
/* v1.98 · Ricette da sparare: tasto in alto, zona trascina/incolla, spara dallo schermo */
.rxl-b{white-space:nowrap}
.rl-zone{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;margin:0 0 12px;padding:18px 16px;border:2px dashed var(--line-2,#C9D3E0);border-radius:14px;background:var(--surface,#fff);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.rl-zone:hover,.rl-zone:focus-visible{border-color:var(--brand,#004AAD);background:var(--soft,#F1F5FA);outline:none}
.rl-zone b{font-size:15px}
.rl-drop{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;background:rgba(0,40,100,.35);backdrop-filter:blur(2px);pointer-events:none}
.rl-drop.on{display:flex}.rl-drop div{background:var(--surface,#fff);color:var(--ink,#0F1B2D);padding:22px 28px;border-radius:16px;font-size:18px;font-weight:600;border:2px dashed var(--brand,#004AAD);box-shadow:0 14px 40px rgba(0,0,0,.25)}
.rl-scr{text-align:center}.rl-scr-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;text-align:left}.rl-scr-h b{font-size:18px}
.rl-scr-t{margin:10px 0 6px;font-weight:600}.rl-scr-c{display:flex;justify-content:center;background:#fff;padding:18px 8px;border-radius:12px;cursor:pointer;overflow:hidden}
.rl-scr-c svg.c39{max-width:100%;fill:#000}.rl-scr-v{font:600 22px ui-monospace,Menlo,monospace;letter-spacing:.06em;margin:8px 0 12px}
.rl-scr-a{justify-content:center}.rl-scr-a .btn{min-width:130px}
.rxl-m{display:none!important}
@media (max-width:700px){.rxl-d{display:none!important}.more-acts.open .rxl-m{display:inline-flex!important}}

/* v1.98 · Ricette da sparare: grafica più fresca e compatta */
.rl-steps{display:flex;gap:6px;list-style:none;margin:0 0 12px;padding:0;flex-wrap:wrap}
.rl-steps li{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--soft,#F1F5FA);color:var(--muted,#5B6B80);font-size:14px;font-weight:500}
.rl-steps i{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface,#fff);font-weight:700;font-size:13px;border:1px solid var(--line,#E3E8EF)}
.rl-steps li.on{background:var(--brand,#004AAD);color:#fff}.rl-steps li.on i{color:var(--brand,#004AAD);border-color:transparent}
.rl-steps li.done{color:#1E7A46}.rl-steps li.done i{background:#DDF3E6;border-color:transparent;color:transparent;position:relative}.rl-steps li.done i::after{content:"✓";color:#1E7A46;position:absolute}
.rl-zone{padding:22px 16px;gap:6px}.rl-zi{font-size:30px;line-height:1}.rl-zone.sm{flex-direction:row;flex-wrap:wrap;justify-content:center;padding:12px 16px;text-align:left}.rl-zone.sm .rl-zi{font-size:22px}.rl-zone.sm .muted{display:none}
.rl-g{padding:14px 16px}.rl-gh{align-items:center;gap:6px 10px;padding:0 0 10px;margin:0;border-bottom:1px solid var(--line,#E3E8EF)}
.rl-av{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#E8F1FB;color:#1F4E7A;font-weight:700;font-size:13px;flex:0 0 auto}
.rl-cf{font:500 13px ui-monospace,Menlo,monospace;color:var(--muted,#5B6B80);letter-spacing:.03em}.rl-n{margin-left:auto;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--soft,#F1F5FA);color:var(--muted,#5B6B80)}
.rl-r{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:end;padding:10px 0;border-top:0}.rl-r+.rl-r{border-top:1px dashed var(--line,#E3E8EF)}
.rl-r.bad{background:none;border-radius:0;padding-left:10px;box-shadow:inset 3px 0 0 #E2A03F}
.rl-r+.rl-r .rl-f .f>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.rl-f input{height:40px;font-size:15px;letter-spacing:.02em}.rl-f .f>span{font-size:12px;color:var(--muted,#5B6B80);margin-bottom:3px}
.rl-a{margin:0;flex-wrap:nowrap}.rl-a .xs{display:none}.rl-r .rl-a{grid-column:2;grid-row:1}.rl-r::after{content:none}
.rl-r .rl-meta{grid-column:1/-1}
.rl-del{width:40px;height:40px;padding:0;justify-content:center;color:var(--muted,#5B6B80)}.rl-del:hover{color:#B42318;border-color:#F4C7C3;background:#FEF3F2}
.rl-miss{color:#9A5B00}
.btn:active{transform:scale(.97)}
@media (max-width:640px){.rl-r{grid-template-columns:minmax(0,1fr)}.rl-r .rl-a{grid-column:1;grid-row:auto;justify-content:flex-end}.rl-n{margin-left:0}.rl-steps li{font-size:13px}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rl-av{background:#1E3A55;color:#CFE3F7}:root:not([data-theme="light"]) .rl-steps li.done i{background:#173B28}}:root[data-theme="dark"] .rl-av{background:#1E3A55;color:#CFE3F7}
.rl-r.bad .rl-a{grid-column:1/-1;grid-row:auto}.rl-r.bad .rl-a .xs{display:block;flex:1}
@media (max-width:640px){
  .rl-r{grid-template-columns:minmax(0,1fr) auto}.rl-r .rl-a{grid-column:2;grid-row:1;align-self:end}
  .rl-r.bad .rl-a{grid-column:1/-1;grid-row:auto}
  .rl-f{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.rl-f .f:first-child{grid-column:1/-1}
  .rl-r:not(.bad) .rl-f .f:nth-child(2){display:none}
  .rl-gh b{font-size:16px}.rl-cf{flex-basis:100%;order:3;padding-left:44px}
}
@media (max-width:640px){.rl-r.bad .rl-f .f:nth-child(2){grid-column:1/-1}}

/* v1.99 · ricette da sparare: copia CF, grandezza del codice */
.rl-cfc{border:1px dashed var(--line-2,#C9D3E0);background:var(--surface,#fff);border-radius:8px;padding:3px 8px;cursor:pointer;color:var(--ink,#0F1B2D);transition:background-color .15s ease,transform .12s ease-out}.rl-cfc:hover{background:var(--soft,#F1F5FA);border-color:var(--brand,#004AAD)}.rl-cfc:active{transform:scale(.97)}
.rl-sz{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 0}.rl-sz .btn{width:42px;justify-content:center;font-size:18px}

/* v1.99 · Cruscotto: segna al volo */
.oag-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 6px}
.oag-quick button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 8px;border-radius:12px;border:1.5px dashed var(--line-2,#C9D3E0);background:var(--surface,#fff);color:var(--brand,#004AAD);font:600 14.5px inherit;font-family:inherit;cursor:pointer;transition:transform .12s ease-out,background-color .15s ease,border-color .15s ease}
.oag-quick button:hover{background:var(--soft,#F1F5FA);border-color:var(--brand,#004AAD);border-style:solid}.oag-quick button:active{transform:scale(.97)}
@media (max-width:400px){.oag-quick button{flex-direction:column;gap:2px;font-size:13px;min-height:54px}}

/* v2.00 · Cruscotto: scorciatoie leggibili anche con testo grande (iPhone) e in tema scuro; titolo allineato; Menu sulla stessa riga del nome */
.oag-quick button{color:var(--blue,#004AAD);min-width:0;text-align:center;line-height:1.2;overflow-wrap:anywhere;padding:8px 6px}
.oag-quick button>span{min-width:0}
@media (max-width:560px){.oag-quick button{flex-direction:column;gap:3px;font-size:13.5px;min-height:62px}}
:root[data-theme="dark"] .oag-quick button{background:#16233A;border-color:#3A5683;color:#BFD6FF}
:root[data-theme="dark"] .oag-quick button:hover{background:#1D2E4C;border-color:#7FA9F0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .oag-quick button{background:#16233A;border-color:#3A5683;color:#BFD6FF}}
.oag-dh{align-items:flex-start}.oag-dh h3{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px;row-gap:2px;min-width:0;line-height:1.25}.oag-dh h3 .small{font-weight:500}.oag-dh .btn{flex:0 0 auto}
@media (max-width:600px){
  header.site .bar{flex-wrap:wrap}
  header.site .bar .bar-actions{width:auto!important;flex:1 1 auto;min-width:0}
}
/* v2.00 · chiusura di cassa smart */
.cc-day{display:flex;align-items:center;gap:8px;font-size:14px}
.cc2 .cc-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin:0 0 12px}.cc-tb{display:flex;flex-wrap:wrap;gap:6px}
.cc-s{border:1px solid var(--line,#E3E8EF);border-radius:14px;padding:12px 14px;margin:0 0 10px;background:var(--surface,#fff)}
.cc-s h3{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 0 10px;font-size:16px}.cc-s h3 .small{font-weight:500}
.cc-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--blue,#004AAD);color:#fff;font-size:13px;font-weight:700;flex:0 0 auto}
.cc-h4{margin:12px 0 6px;font-size:14px}
.cc-g2,.cc-g3{display:grid;gap:10px}.cc-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:560px){.cc-g2,.cc-g3{grid-template-columns:minmax(0,1fr)}}
.cc-f{margin:0;min-width:0}.cc-in{position:relative;display:block}.cc-in input{width:100%;min-width:0;height:46px;font-size:18px;font-variant-numeric:tabular-nums;padding-right:10px}
.cc-in input.bad{border-color:#D14343;box-shadow:0 0 0 3px rgba(209,67,67,.15)}
.cc-eq{display:block;font-style:normal;font-size:12.5px;color:var(--muted,#5B6B80);min-height:16px;margin-top:2px;font-variant-numeric:tabular-nums}
.cc-fondo{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;border-radius:12px;background:var(--soft,#F1F5FA)}
/* v2.79 · conta i pezzi dei contanti */
.cc-pzw{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:10px 0 0}
.cc-pz{flex:1 1 100%;padding:10px 12px 12px;border-radius:12px;background:var(--soft,#F1F5FA)}
.cc-pz h4{margin:8px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.cc-pz h4:first-child{margin-top:0}
.cc-pznow{margin:0 0 8px}
.cc-pzg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 16px}
.cc-pzr{display:grid;grid-template-columns:76px max-content minmax(0,1fr);gap:8px;align-items:center;min-height:44px}
.cc-pzd{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.cc-pzc{display:inline-flex;align-items:center;border-radius:10px;border:1px solid rgba(127,140,160,.35);background:var(--surface,#fff);overflow:hidden}
.cc-pzc button{flex:0 0 40px;width:40px;height:40px;border:0;background:none;font-size:18px;font-weight:700;color:inherit;cursor:pointer;transition:transform .12s ease-out}
.cc-pzc button:active{transform:scale(.92)}
.cc-pzc input{width:52px;height:40px;border:0;border-left:1px solid rgba(127,140,160,.25);border-right:1px solid rgba(127,140,160,.25);text-align:center;font-size:16px;font-variant-numeric:tabular-nums;background:transparent;color:inherit;padding:0;margin:0;border-radius:0!important;border-top:0!important;border-bottom:0!important;box-shadow:none!important;min-height:0!important}
.cc-pzt{text-align:right;font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap}
.cc-pzf{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid rgba(127,140,160,.25)}
.cc-pztot{font-size:18px;font-variant-numeric:tabular-nums}
.cc-pza{display:flex;gap:8px;flex-wrap:wrap}
.cc-list{display:flex;flex-direction:column;gap:6px}.cc-li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,150px) 40px;gap:6px;align-items:start}
.cc-li .cc-t{height:46px;min-width:0}.cc-li .cc-in input{height:46px;font-size:17px}.cc-li .cc-x{width:40px;height:46px;padding:0;justify-content:center}
.cc-add{margin-top:6px}
.cc-cl{list-style:none;margin:0 0 6px;padding:0}.cc-cl li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0;border-top:1px solid var(--line,#E3E8EF)}.cc-cl li>span{flex:1 1 160px;display:flex;flex-direction:column}.cc-cl small{color:var(--muted,#5B6B80)}.cc-am{font-variant-numeric:tabular-nums}
.cc-more summary{cursor:pointer;list-style:none}.cc-more[open] summary{margin-bottom:10px}
.cc-res{border-radius:16px;padding:14px 16px;margin:12px 0;background:var(--soft,#F1F5FA);border:1px solid var(--line,#E3E8EF)}
.cc-rg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:6px 24px}@media (max-width:640px){.cc-rg{grid-template-columns:minmax(0,1fr)}}
.cc-r{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:14.5px}.cc-r b{font-variant-numeric:tabular-nums;white-space:nowrap}.cc-r.big{font-size:16.5px;padding:6px 0}.cc-rx .cc-r.big{border-top:1px solid var(--line-2,#C9D3E0);margin-top:4px}
.cc-out{margin-top:10px;padding:10px 14px;border-radius:12px;font-size:18px;font-weight:700;text-align:center}
.cc-out.ok{background:#E3F5EA;color:#17633A}.cc-out.plus{background:#E8F1FB;color:#1F4E7A}.cc-out.minus{background:#FDE7E4;color:#B42318}
.cc-save{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:6px 0 0}.cc-go{min-height:50px;font-size:17px;padding:0 26px}
.cc-kp{position:fixed;left:50%;bottom:10px;transform:translateX(-50%);z-index:60;display:grid;grid-template-columns:repeat(4,64px);gap:6px;padding:10px;border-radius:18px;background:var(--surface,#fff);border:1px solid var(--line,#E3E8EF);box-shadow:0 14px 40px rgba(0,0,0,.22)}
.cc-kp button{height:52px;border-radius:12px;border:1px solid var(--line,#E3E8EF);background:var(--soft,#F1F5FA);color:var(--ink,#0F1B2D);font-size:20px;font-weight:600;cursor:pointer;transition:transform .1s ease-out}.cc-kp button:active{transform:scale(.95)}
.cc-kp .op{background:#E8F1FB;color:#1F4E7A}.cc-kp .ok{background:var(--blue,#004AAD);color:#fff;border-color:transparent}
.cf-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:8px 0}.cf-day{display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line,#E3E8EF);border-radius:10px}.cf-day input[type=time]{min-width:0;width:100%;height:34px}
.cfg-h{font-size:15px;margin:14px 0 6px}
:root[data-theme="dark"] .cc-out.ok{background:#173B28;color:#BFEBD0}:root[data-theme="dark"] .cc-out.minus{background:#4A1D19;color:#FFC9C2}:root[data-theme="dark"] .cc-out.plus,:root[data-theme="dark"] .cc-kp .op{background:#1E3A55;color:#CFE3F7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cc-out.ok{background:#173B28;color:#BFEBD0}:root:not([data-theme="light"]) .cc-out.minus{background:#4A1D19;color:#FFC9C2}:root:not([data-theme="light"]) .cc-out.plus,:root:not([data-theme="light"]) .cc-kp .op{background:#1E3A55;color:#CFE3F7}}
.cc-n{display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 system-ui,-apple-system,sans-serif;letter-spacing:0;text-indent:0;padding:0}
.cc-g2,.cc-g3{gap:6px 12px}
@media (max-width:560px){.cc-li{grid-template-columns:minmax(0,1fr) 112px 40px}.cc-s{padding:12px}}
.cc-kp{z-index:1000}body.cc-kp-on{padding-bottom:280px}body.cc-kp-on .prof-fab,body.cc-kp-on #prof-fab,body.cc-kp-on .ai-fab{display:none!important}
body.cc-kp-on .hp-fab{display:none!important}
.cc2 .f{margin:0!important}.cc2 .cc-f>span:first-child{margin-bottom:4px;display:block}
:root[data-theme="dark"] .cc-n{background:#3D7BE0}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cc-n{background:#3D7BE0}}
.lg-f{padding:12px 14px}.lg-row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:10px}.lg-row input[type=search]{flex:1 1 220px;min-width:0}.lg-row select{flex:0 1 220px;min-width:0}
.lg-day{margin:0 0 10px}.lg-day h3{margin:0 0 6px;font-size:15px}
.sh-dev{list-style:none;margin:0 0 8px;padding:0}.sh-dev li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--line,#E3E8EF)}.sh-dev li>span{display:flex;flex-direction:column}.sh-dev small{color:var(--muted,#5B6B80)}
.sh-pend{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;margin:8px 0;border-radius:12px;background:#FFF6E0}.sh-pend b{font-size:24px;letter-spacing:4px;font-variant-numeric:tabular-nums}:root[data-theme="dark"] .sh-pend{background:#3A3016}
/* v2.01 · cassa: righe automatiche delle consegne */
.cc-auto{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 12px;border-radius:12px;background:#E3F5EA;color:#17633A}.cc-auto b{font-size:17px}.cc-auto span{font-size:13px}
.cc-al{list-style:none;margin:0 0 8px;padding:0}.cc-al li{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:0 0 6px;border-radius:10px;background:var(--soft,#F1F5FA)}.cc-al li span{flex:1;min-width:0}.cc-al small{color:var(--muted,#5B6B80)}
:root[data-theme="dark"] .cc-auto{background:#173B28;color:#BFEBD0}@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cc-auto{background:#173B28;color:#BFEBD0}}
/* v2.01 · Consegne */
.cn-head .oag-hb{flex-wrap:wrap;gap:8px}.cn-head input[type=date]{height:40px}
.cn-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 10px}
.cn-k{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:14px;border:1px solid var(--line,#E3E8EF);background:var(--surface,#fff)}.cn-k b{font-size:24px;line-height:1.1}.cn-k span{font-size:13px;color:var(--muted,#5B6B80)}.cn-k small{font-size:12px;color:var(--muted,#5B6B80)}
.cn-k.prep b{color:#9A5B00}.cn-k.giro b{color:var(--blue,#004AAD)}.cn-k.ok b{color:#17633A}.cn-k.warn b{color:#B42318}.cn-fl{justify-content:center}
.cn-back{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;margin:0 0 10px;border-radius:14px;background:#FFF6E0;color:#5C3D00;border:1px solid #F0D9A0}
.cn-tabs{margin:0 0 10px;flex-wrap:wrap}.cn-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--soft,#F1F5FA);font-size:12px;font-weight:700;margin-left:4px}
.cn-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.cn-card{border:1px solid var(--line,#E3E8EF);border-radius:16px;padding:12px 14px;background:var(--surface,#fff);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.cn-card:hover{border-color:var(--blue,#004AAD);box-shadow:0 6px 18px -12px rgba(0,40,100,.45)}
.cn-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cn-who{display:flex;flex-direction:column;min-width:0}.cn-who b{font-size:16.5px}.cn-who small{color:var(--muted,#5B6B80);font-size:13px;overflow-wrap:anywhere}
.cn-pill{flex:0 0 auto;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.cn-pill.prep{background:#FFF0D6;color:#8A4B00}.cn-pill.rdy{background:#DDF3E6;color:#17633A}.cn-pill.giro{background:#E3EDFF;color:#1F4E9A}.cn-pill.ok{background:#E3F5EA;color:#17633A}.cn-pill.warn{background:#FDE7E4;color:#B42318}
.cn-rec{margin:6px 0 0;font-size:13.5px}.cn-items{margin:8px 0 0;font-size:14.5px;line-height:1.45;max-height:5.8em;overflow:hidden}.cn-items.big{max-height:none;font-size:16px}
.cn-meta{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.cn-chip{font-size:12.5px;padding:3px 9px;border-radius:999px;background:var(--soft,#F1F5FA);color:var(--ink,#0F1B2D)}.cn-chip.bad{background:#FDE7E4;color:#B42318}
.cn-ready{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin:10px 0 0;padding:10px;border-radius:12px;background:var(--soft,#F1F5FA)}.cn-ready label{display:flex;flex-direction:column;gap:3px;flex:1 1 120px;font-size:12.5px;color:var(--muted,#5B6B80)}.cn-ready input{height:42px;font-size:17px}.cn-ready select{height:42px}
.cn-bot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line,#E3E8EF);font-size:14px}.cn-bot b,.cn-amt{font-size:17px;font-variant-numeric:tabular-nums}
.cn-ed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:980px){.cn-ed{grid-template-columns:minmax(0,1fr)}}
.cn-in{border:1px solid var(--line,#E3E8EF);border-radius:14px;padding:12px;background:var(--surface,#fff);min-width:0}.cn-in h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15.5px}.cn-in textarea{width:100%;min-width:0}
.cn-zone.on{border-color:var(--blue,#004AAD);background:var(--soft,#F1F5FA)}
.cn-thumbs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.cn-th{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border-radius:10px;border:1px solid var(--line,#E3E8EF);background:var(--soft,#F1F5FA);font-size:26px;overflow:hidden}
.cn-th img{width:100%;height:60px;object-fit:cover}.cn-th small{font-size:10px;max-width:80px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted,#5B6B80)}.cn-th button{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:12px;cursor:pointer}.cn-th.new{outline:2px solid #9DBCEB}
.cn-dlg .cn-h4{margin:12px 0 4px;font-size:14px;color:var(--muted,#5B6B80);text-transform:uppercase;letter-spacing:.03em}
.cn-msg pre{white-space:pre-wrap;font:13.5px/1.45 inherit;font-family:inherit;margin:6px 0 0;max-height:220px;overflow:auto;background:var(--soft,#F1F5FA);padding:8px 10px;border-radius:10px}
.cn-files{display:flex;flex-wrap:wrap;gap:8px}.cn-file{display:flex;align-items:center;gap:6px;border-radius:10px;overflow:hidden;border:1px solid var(--line,#E3E8EF);text-decoration:none;color:var(--ink,#0F1B2D)}.cn-file img{height:120px;max-width:200px;object-fit:cover;display:block}.cn-file.doc{padding:10px 12px;font-size:22px}.cn-file.doc span{font-size:13px}
.cn-cf{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line,#E3E8EF);color:#111}.cn-cf span{display:flex;flex-direction:column}.cn-cf small{color:#555}
.cn-sum{font-size:17px;margin:12px 0 0}
.cn-due{font-size:18px;margin:0 0 8px}.cn-paysel button{font-size:16px;min-height:46px}
.cn-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cn-note{height:52px;border-radius:12px;border:1.5px solid var(--line-2,#C9D3E0);background:var(--surface,#fff);color:var(--ink,#0F1B2D);font-size:18px;font-weight:700;cursor:pointer;transition:transform .1s ease-out}.cn-note:active{transform:scale(.95)}.cn-note.ex{background:#E3F5EA;color:#17633A;border-color:#B6E2C6}
.cn-change{margin:10px 0 0;padding:12px 14px;border-radius:12px;font-size:18px;text-align:center;min-height:24px}.cn-change.ok{background:#E3F5EA;color:#17633A}.cn-change.bad{background:#FDE7E4;color:#B42318}.cn-change:empty{display:none}
:root[data-theme="dark"] .cn-pill.prep{background:#3A2A10;color:#FFD9A0}:root[data-theme="dark"] .cn-pill.rdy,:root[data-theme="dark"] .cn-pill.ok,:root[data-theme="dark"] .cn-change.ok,:root[data-theme="dark"] .cn-note.ex{background:#173B28;color:#BFEBD0}:root[data-theme="dark"] .cn-pill.giro{background:#1E3A55;color:#CFE3F7}:root[data-theme="dark"] .cn-pill.warn,:root[data-theme="dark"] .cn-chip.bad,:root[data-theme="dark"] .cn-change.bad{background:#4A1D19;color:#FFC9C2}:root[data-theme="dark"] .cn-back{background:#3A3016;color:#FFE7B0;border-color:#5C4A1E}:root[data-theme="dark"] .cn-k.prep b{color:#FFC46B}:root[data-theme="dark"] .cn-k.ok b{color:#7FD9A0}:root[data-theme="dark"] .cn-k.warn b{color:#FF9A90}:root[data-theme="dark"] .cn-k.giro b{color:#8DB9F7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-pill.prep{background:#3A2A10;color:#FFD9A0}:root:not([data-theme="light"]) .cn-pill.rdy,:root:not([data-theme="light"]) .cn-pill.ok,:root:not([data-theme="light"]) .cn-change.ok,:root:not([data-theme="light"]) .cn-note.ex{background:#173B28;color:#BFEBD0}:root:not([data-theme="light"]) .cn-pill.giro{background:#1E3A55;color:#CFE3F7}:root:not([data-theme="light"]) .cn-pill.warn,:root:not([data-theme="light"]) .cn-chip.bad,:root:not([data-theme="light"]) .cn-change.bad{background:#4A1D19;color:#FFC9C2}:root:not([data-theme="light"]) .cn-back{background:#3A3016;color:#FFE7B0;border-color:#5C4A1E}:root:not([data-theme="light"]) .cn-k.prep b{color:#FFC46B}:root:not([data-theme="light"]) .cn-k.ok b{color:#7FD9A0}:root:not([data-theme="light"]) .cn-k.warn b{color:#FF9A90}:root:not([data-theme="light"]) .cn-k.giro b{color:#8DB9F7}}
.dash-closed{margin:4px 0 10px;padding:10px 12px;border-radius:12px;background:var(--soft,#F1F5FA);font-size:15px}
/* v2.01 · intestazione consegne: data compatta, pulsanti su una riga */
.cn-head .oag-hb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cn-head #cs-date{width:auto;min-width:150px;flex:0 0 auto}
/* v2.01 · passi «Entra con l'impronta»: elenco numerato leggibile */
.pk-steps{margin:4px 0 12px;padding-left:22px;line-height:1.5}.pk-steps li{padding:5px 0}.pk-steps li::marker{color:var(--blue,#0B57D0);font-weight:700}
/* v2.02 · cassa: il totale delle somme sulla stessa riga, dentro il campo a destra */
.cc-f .cc-in input{padding-right:150px}.cc-f .cc-in input[data-p="z.0"]{padding-right:300px}
.cc-f .cc-in .cc-eq{position:absolute;right:7px;top:50%;transform:translateY(-50%);margin:0;min-height:0;padding:5px 11px;border-radius:999px;background:#E7EEF9;color:#0B3C86;font-weight:700;font-size:15.5px;pointer-events:none;white-space:nowrap}
.cc-f .cc-in .cc-eq:empty{display:none}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .cc-f .cc-in .cc-eq{background:#1C3157;color:#CFE0FF}}
:root[data-theme="dark"] .cc-f .cc-in .cc-eq{background:#1C3157;color:#CFE0FF}
@media (max-width:480px){.cc-f .cc-in input{padding-right:128px}.cc-f .cc-in .cc-eq{font-size:14px;padding:4px 9px}}
/* v2.02 · Prof: barre orizzontali nelle risposte (ore, mesi) */
.ps-bars{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px}
.ps-bars li{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}
.ps-bars li span{color:var(--muted,#5B6B80)}
.ps-bars li i{display:block;height:10px;border-radius:0 4px 4px 0;background:#2F6FD6;min-width:2px}
.ps-bars li b{font-weight:600;color:var(--ink,#0F1B2D)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ps-bars li i{background:#6EA2FF}}
:root[data-theme="dark"] .ps-bars li i{background:#6EA2FF}
/* v2.02 · Prof animato: alone che gira, guance, saltello con occhiolino, scintille quando pensa, «eureka» quando risponde */
.prof-av{overflow:visible}
.prof-av .prof-halo{transform-box:view-box;transform-origin:32px 35px;animation:profhalo 14s linear infinite;opacity:.55}
.prof-fab:hover .prof-av .prof-halo,.prof-fab.thinking .prof-av .prof-halo{opacity:1;animation-duration:3s}
.prof-av .prof-sparks{transform-box:view-box;transform-origin:32px 35px;opacity:0;transition:opacity 200ms ease-out}
.prof-fab.thinking .prof-av .prof-sparks{opacity:1;animation:profhalo 1.6s linear infinite}
.prof-fab.thinking .prof-av .prof-pupils{transform:translate(1.6px,-2px)!important}
.prof-av .prof-cheek{transition:opacity 200ms ease-out}.prof-fab:hover .prof-av .prof-cheek,.prof-fab.eureka .prof-av .prof-cheek{opacity:.9}
.prof-fab.hop .prof-av{animation:profhop 1.1s cubic-bezier(.3,1.6,.5,1) 1}
.prof-fab.hop .prof-av .prof-lids rect:last-child{transform:scaleY(1);transition-delay:300ms}
.prof-fab.eureka .prof-av{animation:profeureka .9s cubic-bezier(.3,1.6,.5,1) 1}
.prof-fab.eureka .prof-av .prof-sparks{opacity:1;animation:profburst .9s ease-out 1}
@keyframes profhalo{to{transform:rotate(360deg)}}
@keyframes profhop{0%{transform:translateY(0) scale(1)}18%{transform:translateY(2px) scale(1.06,.92)}40%{transform:translateY(-10px) scale(.96,1.05) rotate(-6deg)}62%{transform:translateY(0) scale(1.04,.96) rotate(3deg)}80%{transform:translateY(-2px) rotate(0)}100%{transform:none}}
@keyframes profeureka{0%{transform:scale(1)}35%{transform:scale(1.16) rotate(-5deg)}65%{transform:scale(.97) rotate(3deg)}100%{transform:none}}
@keyframes profburst{0%{transform:scale(.6);opacity:1}70%{opacity:1}100%{transform:scale(1.35) rotate(40deg);opacity:0}}
@media (prefers-reduced-motion:reduce){.prof-av .prof-halo,.prof-fab.thinking .prof-av .prof-sparks,.prof-fab.hop .prof-av,.prof-fab.eureka .prof-av,.prof-fab.eureka .prof-av .prof-sparks{animation:none}}
.cc-g2 .cc-wide{grid-column:1/-1}
@media (max-width:560px){.cc-f .cc-in input[data-p="z.0"]{padding-right:10px}.cc-f .cc-in input[data-p="z.0"]+.cc-eq{position:static;transform:none;display:inline-block;margin-top:6px;white-space:normal}}
.cc-f .cc-in input[data-p="z.0"]+.cc-eq:empty{display:none!important}   /* v2.67 · niente pillola vuota sotto le casse */
/* v2.03 · grafico a curva degli incassi */
.tr-f{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.tr-f .seg{display:inline-flex}.tr-f .seg-b{padding:7px 12px;font-size:14px}
.tr-fig{margin:0 0 12px}.tr-fig figcaption{font-size:13px;color:var(--muted,#5B6B80);margin:0 0 6px}
.tr-wrap{position:relative;border:1px solid var(--line,#DCE3EC);border-radius:14px;padding:6px 4px 0;background:var(--surface,#fff);outline:none}
.tr-wrap:focus-visible{box-shadow:0 0 0 3px rgba(47,111,214,.35)}
.tr-svg{display:block;width:100%;height:auto;overflow:visible}
.tr-grid{stroke:var(--line,#E3E8EF);stroke-width:1}.tr-ax{fill:var(--muted,#5B6B80);font:11.5px/1 Jost,system-ui;font-variant-numeric:tabular-nums}
.tr-line{fill:none;stroke:#2F6FD6;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tr-area{fill:#2F6FD6;opacity:.10}.tr-dot{fill:#2F6FD6;stroke:var(--surface,#fff);stroke-width:2}
.tr-cross{stroke:var(--muted,#5B6B80);stroke-width:1;stroke-dasharray:3 3}.tr-hot{fill:#2F6FD6;stroke:var(--surface,#fff);stroke-width:2}
.tr-tip{position:absolute;pointer-events:none;background:var(--surface,#fff);border:1px solid var(--line,#DCE3EC);border-radius:10px;padding:6px 10px;box-shadow:0 8px 20px -10px rgba(0,30,80,.35);display:flex;flex-direction:column;white-space:nowrap}
.tr-tip b{font-size:15px;color:var(--ink,#0F1B2D);font-variant-numeric:tabular-nums}.tr-tip span{font-size:12px;color:var(--muted,#5B6B80)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tr-line{stroke:#5A8FEF}:root:not([data-theme="light"]) .tr-area{fill:#5A8FEF;opacity:.16}:root:not([data-theme="light"]) .tr-dot,:root:not([data-theme="light"]) .tr-hot{fill:#5A8FEF}:root:not([data-theme="light"]) .ps-bars li i{background:#5A8FEF}}
:root[data-theme="dark"] .tr-line{stroke:#5A8FEF}:root[data-theme="dark"] .tr-area{fill:#5A8FEF;opacity:.16}:root[data-theme="dark"] .tr-dot,:root[data-theme="dark"] .tr-hot{fill:#5A8FEF}:root[data-theme="dark"] .ps-bars li i{background:#5A8FEF}
/* v2.03 · consegne: strumenti del giro */
.cn-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.ce-alts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:-4px 0 10px}.ce-alts .cs-chip{border:1px solid var(--line,#DCE3EC);background:var(--surface,#fff);color:var(--ink,#0F1B2D);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
/* v2.03 · Economia: cosa manca e dubbi */
.ec-box{margin:0 0 14px}.ec-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.ec-h h3{margin:0}
.ec-sum{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px}.ec-sum.k{background:#E3F5EA;color:#17633A}.ec-sum.w{background:#FFF1D6;color:#6B4500}
.ec-d{margin:10px 0 0}.ec-d>summary{cursor:pointer;font-weight:600}
.ec-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.ec-list>li{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:start;padding:8px 10px;border:1px solid var(--line,#DCE3EC);border-radius:12px}
.ec-list>li>i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px}
.ec-ok>i{background:#E3F5EA;color:#17633A}.ec-warn>i{background:#FFF1D6;color:#6B4500}.ec-no>i{background:var(--track,#EEF2F7);color:var(--muted,#5B6B80)}
.ec-list ul{margin:4px 0 0;padding-left:18px;font-size:13.5px}
.ec-qh{margin:14px 0 6px}.ec-qs{display:grid;gap:8px}.ec-q{border:1px solid var(--line,#DCE3EC);border-left:4px solid #E0A100;border-radius:12px;padding:10px 12px}.ec-q p{margin:0 0 8px}
.ec-a{display:flex;flex-wrap:wrap;gap:6px}.ec-a input{flex:1 1 220px;min-width:0}.ec-a select{flex:0 1 220px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ec-sum.k,:root:not([data-theme="light"]) .ec-ok>i{background:#173B28;color:#BFEBD0}:root:not([data-theme="light"]) .ec-sum.w,:root:not([data-theme="light"]) .ec-warn>i{background:#3D2E0A;color:#FFE2A3}}
:root[data-theme="dark"] .ec-sum.k,:root[data-theme="dark"] .ec-ok>i{background:#173B28;color:#BFEBD0}:root[data-theme="dark"] .ec-sum.w,:root[data-theme="dark"] .ec-warn>i{background:#3D2E0A;color:#FFE2A3}
.ce-psug{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 8px}.ce-psug:empty{display:none}
.ce-pk{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:1.5px solid #9DBBEA;background:#EEF4FD;color:#0F1B2D;border-radius:12px;padding:7px 12px;cursor:pointer;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.ce-pk:active{transform:scale(.97)}.ce-pk b{font-size:14.5px}.ce-pk small{font-size:12.5px;color:#41536B}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ce-pk{background:#16294A;border-color:#33558C;color:#E9EFF8}:root:not([data-theme="light"]) .ce-pk small{color:#B3C3D8}}
:root[data-theme="dark"] .ce-pk{background:#16294A;border-color:#33558C;color:#E9EFF8}:root[data-theme="dark"] .ce-pk small{color:#B3C3D8}
.cn-km{margin:-4px 0 12px;font-size:14px;color:var(--muted,#5B6B80)}.cn-km b{color:var(--ink,#0F1B2D)}
.cn-gauge{margin:0 0 12px;padding:8px 12px;border:1px solid var(--line,#DCE3EC);border-radius:12px;max-width:520px}.cn-gauge span{font-size:14px}
.cn-gauge .gb{height:10px;border-radius:999px;background:var(--track,#EEF2F7);overflow:hidden;margin-top:6px}.cn-gauge .gb i{display:block;height:100%;border-radius:999px;background:#1A7F43}.cn-gauge.low .gb i{background:#C4320A}
/* v2.03 · foto scontrini Z */
.cc-z{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 0}.cc-zbtn{cursor:pointer}
.cc-zl{display:flex;flex-wrap:wrap;gap:8px;width:100%}.cc-zl:empty{display:none}.cc-zt{position:relative}.cc-zt img{width:72px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--line,#DCE3EC);display:block}
.cc-zx{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;border:0;background:#0F1B2D;color:#fff;font-size:12px;cursor:pointer}
.cc-zs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}.cc-zs:empty{display:none}

/* v2.04 · Spiega un referto */
.sr-box h4{margin:16px 0 6px;font-size:15px}
.sr-types{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.sr-types .chip,.sr-neg .chip{display:inline-block;font-size:12px;padding:2px 10px;border-radius:999px;background:var(--soft);color:var(--ink)}
.sr-lead{font-size:16px;font-weight:600;margin:0 0 8px}
.sr-alert{border:2px solid var(--danger);border-radius:var(--r-md);padding:10px 14px;margin:8px 0}
.sr-alert h4{margin:0 0 4px;color:var(--danger)}.sr-alert ul{margin:0;padding-left:18px}
.sr-t{width:100%;border-collapse:collapse;font-size:14px}
.sr-t th,.sr-t td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.sr-t thead th{font-size:12px;color:var(--muted);font-weight:600}
.sr-t th[scope=row] span{display:block;font-weight:400}
.sr-t .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sr-t tr.sr-say td{border-bottom:1px solid var(--line-2);color:var(--ink);font-size:13px;padding-top:0}
.sr-t tr.sr-crit th{box-shadow:inset 3px 0 0 var(--danger)}
.sr-lo,.sr-hi{color:var(--danger);white-space:nowrap}.sr-ok{color:var(--muted);white-space:nowrap}
.sr-l{margin:0;padding-left:20px}.sr-l li{margin:5px 0}.sr-neg{color:var(--muted)}
.sr-more{margin:10px 0}.sr-more summary{cursor:pointer;font-weight:600}
.sr-note{margin-top:14px}

/* v2.04 · tachimetro della benzina (titolari) */
.cn-fuel{--fd-ok:#1A7F43;--fd-mid:#B25E09;--fd-low:#C4320A;--fd-sp:#2F6FD6;display:grid;grid-template-columns:repeat(2,minmax(0,200px)) 1fr;gap:12px 20px;align-items:start;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md,14px);background:var(--surface)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-fuel{--fd-ok:#4CC27E;--fd-mid:#F2A541;--fd-low:#FF8A70;--fd-sp:#5A8FEF}}
:root[data-theme="dark"] .cn-fuel{--fd-ok:#4CC27E;--fd-mid:#F2A541;--fd-low:#FF8A70;--fd-sp:#5A8FEF}
.fd-w{margin:0;text-align:center}.fd-w figcaption{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 2px}
.fd{width:100%;max-width:200px;height:auto;display:block;margin:0 auto;overflow:visible}
.fd-tr{fill:none;stroke:var(--track);stroke-width:14;stroke-linecap:round}
.fd-v{fill:none;stroke-width:14;stroke-linecap:round}.fd-v.ok{stroke:var(--fd-ok)}.fd-v.mid{stroke:var(--fd-mid)}.fd-v.low{stroke:var(--fd-low)}.fd-v.sp{stroke:var(--fd-sp)}
.fd-tk line{stroke:var(--line-2);stroke-width:2;stroke-linecap:round}
.fd-mk{stroke:var(--ink);stroke-width:3;stroke-linecap:round}
.fd-k{stroke:var(--surface);stroke-width:4}.fd-k.ok{fill:var(--fd-ok)}.fd-k.mid{fill:var(--fd-mid)}.fd-k.low{fill:var(--fd-low)}.fd-k.sp{fill:var(--fd-sp)}
.fd-big{font-size:26px;font-weight:800;fill:var(--ink);font-variant-numeric:tabular-nums}
.fd-sm{font-size:12px;fill:var(--muted)}
.fd-t{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.fd-t div{padding:8px 10px;border-radius:10px;background:var(--soft)}
.fd-t dt{font-size:12px;color:var(--muted)}.fd-t dd{margin:0}.fd-t b{display:block;font-size:16px;font-variant-numeric:tabular-nums;color:var(--ink)}.fd-t small{display:block;font-size:12px;color:var(--muted)}
.fd-alert{grid-column:1/-1;margin:0;font-weight:600;color:var(--danger)}
@media (max-width:640px){.cn-fuel{grid-template-columns:1fr 1fr}.fd-t{grid-column:1/-1}}

/* v2.05 · stato del fattorino */
.cn-drv{display:inline-block;margin:0 0 12px;padding:6px 12px;border-radius:999px;font-size:14px;font-weight:600;background:var(--soft);color:var(--ink)}
.cn-drvbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.cn-msgs{list-style:none;margin:0 0 12px;padding:0;font-size:14px}.cn-msgs li{padding:4px 0}.cn-qm{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.cn-pg{list-style:none;margin:0;padding:0;max-height:50vh;overflow:auto}.cn-pg li{padding:6px 0;border-bottom:1px solid var(--line)}
.ce-rx{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--soft)}.ce-rx-h{display:flex;flex-direction:column;gap:2px;margin:0 0 8px}.ce-rx-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ce-rx-a input{flex:1 1 200px;min-height:38px;border:1px solid var(--line-2);border-radius:10px;padding:0 10px;background:var(--surface);color:var(--ink);font:inherit}
.ce-rxl{margin:8px 0 4px;padding-left:20px}.ce-rxl li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}.ce-rxl input{min-height:34px;border:1px solid var(--line-2);border-radius:8px;padding:0 8px;background:var(--surface);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-transform:uppercase}.ce-rxl input[data-k=cf]{width:13.5em}.ce-rxl input[data-k=p1]{width:5.5em}.ce-rxl input[data-k=p2]{width:9em}.ce-rxl input.one{width:12em}.ce-rxl li.bad input:placeholder-shown{border-color:var(--danger)}.ce-rxl button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px;min-width:32px;min-height:32px}.ce-rxl small{flex-basis:100%;color:var(--muted)}
/* v2.08 · consegne: azioni rapide, chat, farmaci, giorno */
.cn-qa{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.cn-qb{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.cn-qb.bad{color:var(--danger);border-color:var(--danger)}.cn-qb:active{transform:scale(.97)}
.cn-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#E5372B;color:#fff;font-size:12px;font-weight:800;margin-left:4px}
.cc-l{max-height:46vh;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:6px 2px;margin:0 0 10px}.cc-b{max-width:80%;padding:8px 12px;border-radius:16px;font-size:14.5px}.cc-b small{display:block;font-size:11.5px;opacity:.75}.cc-b.in{align-self:flex-start;background:var(--soft)}.cc-b.out{align-self:flex-end;background:var(--blue,#0b4fb3);color:#fff}.cc-b audio{display:block;max-width:240px;height:34px;margin-bottom:4px}
.cc-in{display:flex;gap:8px;align-items:flex-end}.cc-in textarea{flex:1;border:1px solid var(--line-2);border-radius:12px;padding:8px 10px;font:inherit;background:var(--surface);color:var(--ink)}
.ce-drugs{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 10px}.ce-dg{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--soft);font-size:13px}.ce-dg.need{background:#FFF1D6;color:#6B4500}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ce-dg.need{background:#3A3016;color:#FFE7B0}}:root[data-theme="dark"] .ce-dg.need{background:#3A3016;color:#FFE7B0}
.ce-day{margin-top:4px}
.nt-b{position:relative}.nt-b.on{color:#E5372B;border-color:#E5372B}.nt-c{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#E5372B;color:#fff;font-size:11.5px;font-weight:800;line-height:19px;text-align:center;box-shadow:0 0 0 2px var(--surface)}
.nt-b.ring svg{animation:ring 900ms cubic-bezier(.36,.07,.19,.97)}@keyframes ring{0%,100%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}}
.nt-l{list-style:none;margin:0;padding:0;max-height:60vh;overflow:auto}.nt-l li{border-bottom:1px solid var(--line)}.nt-l button{display:block;width:100%;text-align:left;padding:10px 4px;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer}.nt-l button:hover{background:var(--soft)}.nt-l small{display:block;color:var(--muted);font-size:12px}.nt-l li.un span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#E5372B;margin-right:6px}
@media (prefers-reduced-motion:reduce){.nt-b.ring svg{animation:none}}
.cn-memo{margin:0 0 12px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.cn-memo summary{cursor:pointer;font-weight:600}.cn-ml{list-style:none;margin:8px 0;padding:0}.cn-ml li{display:flex;justify-content:space-between;gap:8px;padding:4px 0}.cn-ml li.dn span{text-decoration:line-through;color:var(--muted)}.cn-madd{display:flex;gap:8px}.cn-madd input{flex:1;min-height:36px;border:1px solid var(--line-2);border-radius:10px;padding:0 10px;background:var(--surface);color:var(--ink);font:inherit}
.ce-dupe{margin:10px 0;padding:10px 12px;border-radius:12px;border:2px solid #E0A100;background:#FFF6E0;color:#4A3300}.ce-dupe p{margin:4px 0 0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ce-dupe{background:#3A3016;color:#FFE7B0}}:root[data-theme="dark"] .ce-dupe{background:#3A3016;color:#FFE7B0}
/* v2.10 · agenda: vista pulita */
.agc{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.agc-main{min-width:0}.agc-side{position:sticky;top:12px;display:flex;flex-direction:column;gap:12px}
.ag-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 14px}
.ag-head h1{margin:0;font-size:clamp(21px,2.4vw,27px);font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.agh-date{position:relative;display:inline-flex;align-items:center;cursor:pointer;padding:2px 6px;border-radius:10px}
.agh-date:hover{background:var(--soft)}
.agh-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.agh-nav{display:inline-flex;gap:6px;align-items:center}.agh-sp{flex:1}
.agh-act{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.agh-more{position:relative}.agh-more>summary{list-style:none;cursor:pointer}.agh-more>summary::-webkit-details-marker{display:none}
.agh-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:250px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 34px rgba(15,27,45,.18);display:flex;flex-direction:column;transform-origin:top right;animation:aghIn .16s cubic-bezier(.23,1,.32,1)}
@keyframes aghIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.agh-i{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:15px;text-align:left;cursor:pointer}
.agh-i:hover,.agh-i:focus-visible{background:var(--soft)}.agh-i span{width:22px;text-align:center}
.agc .ai-row{display:none}
.agc .todo-chip,.agc .todo-chip.todo-tk,.agc .todo-chip.todo-od{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:400;box-shadow:none;padding:5px 12px;font-size:14px}
.agc .todo-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}
.agc .todo-chip.todo-tk::before,.agc .todo-chip.todo-od::before{background:#D92D20}
.agc .todo-chip.todo-reg::before,.agc .todo-chip.todo-late::before,.agc .todo-chip.todo-dcr::before{background:#D97706}
.agc .todo-chip.todo-ret::before{background:#7C3AED}.agc .todo-chip.todo-tom::before,.agc .todo-chip.todo-wl::before{background:#16A34A}
.agc .todo-chip .arrow{display:none}.agc .todo-chip[aria-expanded="true"]{border-color:var(--blue);background:var(--soft)}
.agc .todo-label{font-weight:600;color:var(--muted)}
.agc-side .avail{flex-direction:column;align-items:stretch;gap:8px;margin:0;padding:14px 16px;border-radius:16px}
.agc-side .av-row{flex-direction:column;align-items:stretch;gap:8px}
.agc-side .av-row select{max-width:none;flex:none;font-weight:600}
.agc-side .av-from{justify-content:space-between}.agc-side .av-from input{flex:1}
.agc-side .av-day{flex-direction:column;align-items:flex-start;gap:6px;padding:8px 0}
.agc-side .av-date{min-width:0;font-size:14.5px}
.agc-side .av-t{min-height:34px;padding:4px 10px;font-size:14px}
.agc-side .av-wa .btn{width:100%}
@media (max-width:1000px){.agc{display:flex;flex-direction:column;gap:0;align-items:stretch}.agc-side{position:static;order:-1;margin:0 0 12px;width:100%;min-width:0;max-width:100%}.agc-side .avail,.agc-side .av-row{min-width:0;max-width:100%}.agc-side .av-row select{min-width:0}.agc-side .av-day{flex-direction:row;flex-wrap:wrap;align-items:center}}
@media (max-width:560px){.ag-head{gap:6px}.ag-head h1{font-size:20px}.agh-sp{display:none}.agh-act{width:100%}.agh-act .new-bk{flex:1}.agh-act #newbk{flex:2}}
.agh-more>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.agc-side .av-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%}.agc-side .av-more{grid-column:1/-1;justify-self:start}
.agc-side .av-t{width:100%}
@media (max-width:1000px){.agc-side .av-times{display:flex;width:auto}}
.ag-head{position:relative;z-index:20}
.agc-main{container-type:inline-size;container-name:agm}
@container agm (max-width:760px){.ag.booked,.ag.dim{grid-template-columns:58px 1fr}.ag>.ag-right{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px}}
.agh-more>summary.btn{min-height:0;height:46px;padding:0 16px;line-height:1}
@media (max-width:1000px){.agc-side .av-day{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.agc-side .av-t{width:auto;flex:none}.agc-side .av-times{flex-wrap:nowrap}.agc-side .av-date{flex:none;min-width:0}}
@media (max-width:560px){.agh-act{flex-wrap:nowrap}.agh-act .btn,.agh-more>summary.btn{min-width:0;padding:0 12px}.agh-menu{right:auto;left:0;transform-origin:top left}.agh-date{flex:1;min-width:0;justify-content:center}.ag-head h1{overflow:hidden;text-overflow:ellipsis}}
.agc{width:100%}.agc-main{width:100%}
.agc .ag.free{background:transparent;border:1.5px dashed var(--line);box-shadow:none;padding:6px 12px;min-height:0}
.agc .ag.free .free-badge{background:none;color:var(--muted);padding:0;font-weight:600}
.agc .ag.free .ok-exams{display:inline;font-size:13.5px;color:var(--muted)}
.agc .ag.free .ok-exam{background:none;border:0;padding:0;margin:0;font-size:13.5px;color:var(--muted);font-weight:400}
.agc .ag.free .ok-exam+.ok-exam::before{content:" · "}
.agc .ag.free .t{color:var(--muted);font-weight:500}
.agc .ag.free .btn{min-height:34px;padding:4px 12px;font-size:14px}
@media (max-width:1000px){.agc-side .av-from,.agc-side .av-res>p.muted,.agc-side .av-wa{display:none}.agc-side .av-day:nth-of-type(n+3){display:none}.agc-side .avail{padding:12px 14px}.agc-side .av-row{flex-direction:row;align-items:center}.agc-side .av-row select{flex:1}}
.agh-menu{left:0;right:auto;transform-origin:top left;gap:0}
.agh-menu .agh-i{min-height:40px;height:auto;padding:8px 12px;margin:0;line-height:1.25;box-shadow:none}
.agh-menu .agh-i{box-sizing:border-box;min-height:42px}
/* v2.10 · nuovo appuntamento: primi 5 giorni liberi */
.bk-slots{margin:-2px 0 12px}.bks-e{margin:0 0 4px}
.bks-h{margin:0 0 8px;font-weight:600;font-size:15px}
.bks-g{display:flex;flex-direction:column;gap:6px}
.bks-d{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bks-l{width:58px;flex:none;font-size:14px;font-weight:600;color:var(--muted)}
.bks-t{min-height:36px;padding:4px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform 140ms cubic-bezier(.23,1,.32,1),background-color 150ms ease}
.bks-t:hover{border-color:var(--blue)}.bks-t:active{transform:scale(.96)}
.bks-t[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.bk-xtra{margin:4px 0 10px}.bk-xtra>summary{cursor:pointer;color:var(--blue);font-weight:600;padding:6px 0;list-style:none}.bk-xtra>summary::-webkit-details-marker{display:none}
.bk-xtra[open]>summary{margin-bottom:6px}
@media (max-width:560px){.bks-l{width:100%}}
.bks-d{display:grid;grid-template-columns:58px repeat(5,minmax(0,1fr)) 34px;gap:6px;align-items:center}
.bks-t{padding:4px 0;min-width:0}
@media (max-width:560px){.bks-d{grid-template-columns:repeat(5,minmax(0,1fr)) 30px}.bks-l{grid-column:1/-1;width:auto}}
.bks-t[aria-pressed="true"]{color:var(--on-blue,#fff)}
.agh-hr{border:0;border-top:1px solid var(--line);margin:4px 6px}
/* v2.11 · autorizza un nuovo computer dentro l'app */
.ap-c{text-align:center;max-width:420px;margin:0 auto}.ap-i{font-size:44px}.ap-c h2{margin:4px 0 8px}
.ap-d{display:inline-block;margin:4px 0 8px;padding:8px 14px;border-radius:12px;background:var(--soft);font-weight:600;color:var(--ink)}
.ap-b{display:flex;flex-direction:column;gap:8px;margin:12px 0 8px}.ap-b .btn{width:100%;min-height:52px;font-size:17px;justify-content:center}
.ap-ok{background:#1A7F43!important;border-color:#1A7F43!important;color:#fff!important}
.cf-who{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 10px;margin:6px 0 4px}
/* v2.34 · pistola dei codici: luce che corre sul bordo, verde se il codice è giusto, rossa se è sbagliato */
@property --rxa{syntax:'<angle>';inherits:false;initial-value:0deg}
.rxin-w{--rxc:#16a34a;position:relative;flex:1 1 200px;display:flex;border-radius:10px}
.rxin-w input{flex:1;min-width:0;transition:border-color .25s ease,box-shadow .35s ease}
.rxin-w::before{content:"";position:absolute;inset:-3px;border-radius:13px;padding:3px;pointer-events:none;opacity:0;
  background:conic-gradient(from var(--rxa),transparent 0 55%,var(--rxc) 75%,#fff 82%,var(--rxc) 89%,transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.rxin-w.ko{--rxc:#dc2626}
.rxin-w.ok::before,.rxin-w.ko::before{animation:rxSweep .9s cubic-bezier(.4,0,.2,1) both}
.rxin-w.ok input,.rxin-w.ok input:focus,.rxin-w.ok input:focus-visible{outline:2px solid var(--rxc) !important;outline-offset:0 !important;border-color:var(--rxc) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rxc) 28%,transparent),0 0 18px color-mix(in srgb,var(--rxc) 45%,transparent) !important}
.rxin-w.ko input,.rxin-w.ko input:focus,.rxin-w.ko input:focus-visible{outline:2px solid var(--rxc) !important;outline-offset:0 !important;border-color:var(--rxc) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rxc) 28%,transparent),0 0 18px color-mix(in srgb,var(--rxc) 45%,transparent) !important;color:var(--rxc) !important;font-weight:700 !important}
.rxin-w.ko{animation:rxShake .32s cubic-bezier(.36,.07,.19,.97) both}
@keyframes rxSweep{0%{--rxa:0deg;opacity:1}90%{opacity:1}100%{--rxa:360deg;opacity:0}}
@keyframes rxShake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.rxin-msg{flex-basis:100%;margin:0;font-size:.88rem;font-weight:600;min-height:0}
.rxin-msg:empty{display:none}
.rxin-msg.ok{color:#15803d}.rxin-msg.ko{color:#b91c1c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rxin-msg.ok{color:#4ade80}:root:not([data-theme="light"]) .rxin-msg.ko{color:#f87171}:root:not([data-theme="light"]) .rxin-w{--rxc:#22c55e}:root:not([data-theme="light"]) .rxin-w.ko{--rxc:#ef4444}}
:root[data-theme="dark"] .rxin-msg.ok{color:#4ade80}:root[data-theme="dark"] .rxin-msg.ko{color:#f87171}:root[data-theme="dark"] .rxin-w{--rxc:#22c55e}:root[data-theme="dark"] .rxin-w.ko{--rxc:#ef4444}
@media (prefers-reduced-motion:reduce){.rxin-w.ok::before,.rxin-w.ko::before,.rxin-w.ko{animation:none}}
/* v2.34 · consegna modificata dopo la stampa: va ristampato il foglio */
.cn-pr.due{position:relative;color:#b45309;border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 16%,transparent)}
.cn-pr.due::after{content:"";position:absolute;top:-2px;right:-2px;width:9px;height:9px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 2px var(--surface)}
.cn-rp{display:block;width:100%;margin:6px 0 2px;padding:7px 10px;border:1px solid #f59e0b;border-radius:10px;background:color-mix(in srgb,#f59e0b 14%,transparent);color:inherit;font:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:transform .16s ease-out}
.cn-rp:active{transform:scale(.98)}
.cn-rpall,.cn-rpd{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0;padding:10px 12px;border:1px solid #f59e0b;border-radius:12px;background:color-mix(in srgb,#f59e0b 13%,transparent)}
.cn-rpall span,.cn-rpd span{flex:1 1 240px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-pr.due{color:#fbbf24}}
:root[data-theme="dark"] .cn-pr.due{color:#fbbf24}
/* v2.34 · Prenota dalla ricetta: trascina o incolla le ricette dal computer */
.rxb-drop{display:block;margin:0 0 12px;padding:14px 16px;border:2px dashed var(--line-2);border-radius:14px;text-align:center;font-size:.92rem;color:var(--muted);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .16s ease-out}
.rxb-drop b{color:var(--ink)}.rxb-drop kbd{font:inherit;font-size:.82em;padding:1px 6px;border:1px solid var(--line-2);border-radius:6px;background:var(--surface)}
.rxb-drop:hover,.rxb-drop:focus-visible{border-color:var(--brand,#2563eb);outline:none}
.rxb-drop.on{border-color:var(--brand,#2563eb);border-style:solid;background:color-mix(in srgb,var(--brand,#2563eb) 10%,transparent);transform:scale(1.01)}
@media (hover:none){.rxb-drop{display:none}}
/* v2.34 · chat con il fattorino: accanto a «Fattorini», campo di testo largo e «Invia» sotto */
.cn-drvact{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.cht-st{margin:-6px 0 8px;font-size:.88rem;color:var(--muted)}.cht-st.on{color:#15803d;font-weight:600}
.cht-in{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.cht-in textarea{width:100%;min-height:64px;resize:vertical;border:1px solid var(--line-2);border-radius:12px;padding:10px 12px;font:inherit;background:var(--surface);color:var(--ink);box-sizing:border-box}
.cht-in .btn{width:100%}
.cht-in .cht-b{display:flex;gap:8px}.cht-in .cht-b .cm-mic{flex:none;width:56px;padding:0}.cht-in .cht-b #cm-ok{flex:1;width:auto}   /* v2.83 · 🎤 accanto a Invia */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cht-st.on{color:#4ade80}}
:root[data-theme="dark"] .cht-st.on{color:#4ade80}
@media (max-width:560px){.cn-drvday{flex-wrap:wrap}.cn-drvact{width:100%;justify-content:stretch}.cn-drvact .btn{flex:1}}
/* v2.34 · consegna pronta: lampo verde, spunta, poi scende in fondo tra le pronte */
.cn-card{position:relative}
.cn-card.cn-doneanim{border-color:#16a34a!important;box-shadow:0 0 0 3px color-mix(in srgb,#16a34a 30%,transparent),0 0 22px color-mix(in srgb,#16a34a 40%,transparent)!important;transition:box-shadow .25s ease-out,border-color .25s ease-out}
.cn-card.cn-doneanim::after{content:"";position:absolute;inset:0;border-radius:inherit;background:color-mix(in srgb,#16a34a 14%,transparent);pointer-events:none;animation:cnDoneBg .85s ease-out both}
.cn-donemark{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;z-index:2;pointer-events:none;animation:cnDonePop .45s cubic-bezier(.23,1,.32,1) both}
.cn-donemark svg{width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cn-donemark circle{fill:#16a34a;stroke:none}
.cn-donemark path{stroke:#fff;stroke-width:5;stroke-dasharray:40;stroke-dashoffset:40;animation:cnDoneTick .35s .2s ease-out forwards}
.cn-card.cn-doneout{opacity:0;transform:translateY(16px) scale(.97);transition:opacity .28s ease-in,transform .28s ease-in}
.cn-card.cn-justdone{animation:cnJustDone 1.6s ease-out}
@keyframes cnDoneBg{0%{opacity:0}30%{opacity:1}100%{opacity:.6}}
@keyframes cnDonePop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}
@keyframes cnDoneTick{to{stroke-dashoffset:0}}
@keyframes cnJustDone{0%{box-shadow:0 0 0 3px color-mix(in srgb,#16a34a 45%,transparent)}100%{box-shadow:0 0 0 0 transparent}}
.cn-sec{margin:18px 0 8px;font-size:1rem;color:#15803d}
.cn-rdylist .cn-card{opacity:.82}
.cn-alldone{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;padding:14px 16px;border:1px solid #16a34a;border-radius:14px;background:color-mix(in srgb,#16a34a 10%,transparent)}
.cn-alldone p{margin:0}.cn-alldone .btn:not(.sm){width:100%}.cn-alldone .btn.sm{align-self:flex-start}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-sec{color:#4ade80}}
:root[data-theme="dark"] .cn-sec{color:#4ade80}
@media (prefers-reduced-motion:reduce){.cn-card.cn-justdone,.cn-donemark,.cn-donemark path{animation:none}.cn-donemark path{stroke-dashoffset:0}}
/* v2.36 · testo delle tendine tagliato in basso (iPhone): altezza e interlinea giuste */
select{line-height:1.25!important}
.cn-ready select,.cn-ready input{height:auto!important;min-height:48px;padding:11px 12px;line-height:1.3!important;font-size:17px;box-sizing:border-box}
.cn-ready select{padding-right:36px}
.cn-ready select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px}
.cn-ready [data-rdy]{flex:1 1 100%;width:100%;min-height:48px}
/* v2.36 · andamento: periodi (Oggi, Ieri, 30 giorni…) su due righe sul telefono */
#tr-q{display:grid;grid-template-columns:repeat(6,1fr)}
#tr-q .seg-b{white-space:nowrap}
@media (max-width:560px){#tr-q{grid-template-columns:repeat(3,1fr)}}
.ce-rxdrug{flex-basis:100%;font-size:.85rem;color:var(--muted);margin:2px 0 0}
/* v2.41 · avviso blu nel livello superiore (popover): sopra le finestre aperte */
.toast[popover]{inset:auto;top:auto;right:auto;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));margin:0;border:0;overflow:visible;width:auto;height:auto;max-width:90vw;color:#fff}
.toast[popover]:not(.show){pointer-events:none}
body.has-mcta .toast[popover]{bottom:calc(86px + env(safe-area-inset-bottom,0px))}
dialog .toast{position:fixed;z-index:2147483647}
/* v2.41 · Insegna al sito */
.lrn-hero{display:flex;gap:14px;align-items:flex-start}
.lrn-hero h3{margin:0 0 4px}
.lrn-brain{font-size:30px;line-height:1;width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,rgba(35,102,232,.14),rgba(61,220,151,.18));animation:lrnPulse 2.8s var(--d3-ease,ease-out) infinite}
@keyframes lrnPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.lrn-steps{list-style:none;counter-reset:ls;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;padding:0}
.lrn-steps li{counter-increment:ls;position:relative;padding:12px 12px 12px 46px;border:1px solid var(--line,#E3E8EF);border-radius:14px;background:var(--surface,#fff);min-width:0}
.lrn-steps li::before{content:counter(ls);position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--d3-b1,#2366E8),var(--d3-b2,#0B3F9E))}
.lrn-steps b{display:block;font-size:14px}.lrn-steps span{display:block;font-size:12px;opacity:.7}
.lrn-kpi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.lrn-kpi div{padding:12px;border-radius:14px;background:rgba(35,102,232,.07);text-align:center;min-width:0}
.lrn-kpi b{display:block;font-size:24px;font-variant-numeric:tabular-nums;line-height:1.1}.lrn-kpi span{font-size:12px;opacity:.75}
.lrn-h{margin:6px 0 8px;font-size:15px}
.lrn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.lrn-eng{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line,#E3E8EF);border-radius:14px;background:var(--surface,#fff);cursor:pointer;min-width:0;opacity:0;transform:translateY(6px);animation:lrnIn 320ms var(--d3-ease,ease-out) forwards;animation-delay:calc(var(--i) * 35ms);transition:border-color 160ms ease,box-shadow 160ms ease}
.lrn-eng:has(input:checked){border-color:var(--d3-b1,#2366E8);box-shadow:0 0 0 1px var(--d3-b1,#2366E8) inset}
.lrn-eng.off{opacity:.55!important}
.lrn-eng input{margin-top:4px;flex:0 0 auto}
.lrn-ico{font-size:22px;line-height:1}
.lrn-tx{min-width:0}.lrn-tx b{display:block;font-size:14px}.lrn-tx small{display:block;font-size:12px;opacity:.7;line-height:1.35}.lrn-tx em{display:block;font-style:normal;font-size:12px;margin-top:4px;font-weight:600}
.lrn-w{font-style:normal;color:#B45309}
@keyframes lrnIn{to{opacity:1;transform:none}}
.lrn-opts{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:12px;align-items:start;margin:14px 0 4px}
.lrn-act{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lrn-act .btn{width:100%;justify-content:center}
.lrn-mem{margin:10px 0 0}
.lrn-set summary{cursor:pointer;list-style:none}.lrn-set summary::-webkit-details-marker{display:none}
.lrn-sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 12px;margin:10px 0}
.lrn-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:640px){.lrn-steps,.lrn-kpi{grid-template-columns:1fr}.lrn-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.lrn-opts,.lrn-2,.lrn-act{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.lrn-brain,.lrn-eng{animation:none;opacity:1;transform:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lrn-w{color:#FBBF24}}
:root[data-theme="dark"] .lrn-w{color:#FBBF24}
/* v2.41 · più passaggi del giro */
.cn-part{display:grid;gap:12px;padding:14px;margin:0 0 14px;border-radius:16px;background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(35,102,232,.08));border:1px solid rgba(245,158,11,.35)}
.cn-part-t{display:flex;gap:12px;align-items:flex-start}.cn-part-t p{margin:0}
.cn-part-i{font-size:26px;line-height:1;animation:cnRide 2.4s ease-in-out infinite}
@keyframes cnRide{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.cn-part-a{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.cn-part-a .btn{width:100%;justify-content:center}
.cn-chip.later{background:rgba(245,158,11,.14);color:#92400E}
.cn-why{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-chip.later{color:#FCD34D}}
:root[data-theme="dark"] .cn-chip.later{color:#FCD34D}
@media (prefers-reduced-motion:reduce){.cn-part-i{animation:none}}
/* v2.41 · quadro animato delle consegne */
.cnb{--c-prep:#F59E0B;--c-rdy:#2366E8;--c-giro:#7C3AED;--c-done:#16A34A;padding:16px;margin:0 0 12px;border-radius:20px;background:var(--surface,#fff);border:1px solid var(--line,#E3E8EF);box-shadow:0 18px 40px -30px rgba(10,27,61,.45)}
.cnb-top{display:flex;gap:14px;align-items:center;min-width:0}
.cnb-ring{position:relative;width:64px;height:64px;flex:0 0 64px}
.cnb-ring svg{width:64px;height:64px;transform:rotate(-90deg)}
.cnb-rt{fill:none;stroke:rgba(127,140,160,.18);stroke-width:7}
.cnb-rf{fill:none;stroke:var(--c-done);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 900ms cubic-bezier(.23,1,.32,1)}
.cnb-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;font-variant-numeric:tabular-nums}
.cnb-tx{flex:1;min-width:0;display:grid;gap:2px}.cnb-tx>b{font-size:17px}
.cnb-who,.cnb-nx{font-size:13px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cnb-who{padding:7px 0 7px 9px;margin:-7px 0 -7px -9px}   /* v2.60 · spazio per l'onda del pallino (prima tagliata a sinistra) */
.cnb-dot{position:relative;display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px;background:#94A3B8}
.cnb-go .cnb-dot{background:var(--c-giro)}.cnb-wa .cnb-dot{background:var(--c-rdy)}
.cnb-go .cnb-dot::after,.cnb-wa .cnb-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:currentColor;animation:cnbWave 1.8s cubic-bezier(.23,1,.32,1) infinite;pointer-events:none}
@keyframes cnbWave{0%{transform:scale(1);opacity:.5}75%,100%{transform:scale(2.5);opacity:0}}
.cnb-pa .cnb-dot,.cnb-ri .cnb-dot{background:var(--c-prep)}.cnb-fi .cnb-dot{background:var(--c-done)}
@keyframes cnbPing{0%{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
.cnb-eur{text-align:right;display:grid;flex:0 0 auto}.cnb-eur span,.cnb-eur small{font-size:12px;opacity:.7}.cnb-eur b{font-size:18px;font-variant-numeric:tabular-nums}
.cnb-bar{position:relative;display:flex;gap:2px;height:12px;margin:16px 0 14px;border-radius:999px;background:rgba(127,140,160,.14)}
.cnb-s{display:block;height:100%;min-width:0;flex:0 0 0;border-radius:999px;transition:flex-basis 800ms cubic-bezier(.23,1,.32,1)}
.cnb-s.done{background:var(--c-done)}.cnb-s.giro{background:var(--c-giro)}.cnb-s.rdy{background:var(--c-rdy)}.cnb-s.prep{background:var(--c-prep)}
.cnb-moto{position:absolute;top:50%;font-size:22px;line-height:1;transform:translate(-50%,-62%) scaleX(-1);transition:left 900ms cubic-bezier(.23,1,.32,1);pointer-events:none;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18))}
.cnb-go .cnb-moto{animation:cnbBob .9s ease-in-out infinite}
@keyframes cnbBob{0%,100%{transform:translate(-50%,-62%) scaleX(-1)}50%{transform:translate(-50%,-72%) scaleX(-1)}}
.cnb-st{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cnb-k{display:grid;gap:2px;justify-items:start;padding:10px 12px;border-radius:14px;border:1px solid var(--line,#E3E8EF);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;position:relative;overflow:hidden;transition:transform 160ms ease-out,border-color 160ms ease}
.cnb-k::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--k,#94A3B8);opacity:.35}
.cnb-k.on::before{opacity:1}
.cnb-k.prep{--k:var(--c-prep)}.cnb-k.rdy{--k:var(--c-rdy)}.cnb-k.giro{--k:var(--c-giro)}.cnb-k.done{--k:var(--c-done)}
.cnb-k b{font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}.cnb-k span{font-size:12px;opacity:.75}
.cnb-k:active{transform:scale(.97)}
.cnb-k.bump b{animation:cnbBump 400ms cubic-bezier(.23,1,.32,1)}
@keyframes cnbBump{40%{transform:scale(1.18)}}
@media (max-width:560px){.cnb-st{grid-template-columns:repeat(2,minmax(0,1fr))}.cnb-top{flex-wrap:wrap}.cnb-eur{text-align:left;flex-basis:100%;grid-auto-flow:column;justify-content:start;gap:8px;align-items:baseline}}
@media (prefers-reduced-motion:reduce){.cnb-rf,.cnb-s,.cnb-moto{transition:none}.cnb-go .cnb-moto,.cnb-dot,.cnb-dot::after{animation:none!important}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cnb{box-shadow:none}}
.cnb-go .cnb-dot{color:var(--c-giro)}.cnb-wa .cnb-dot{color:var(--c-rdy)}
.cnb-ring b{display:flex;align-items:center;justify-content:center}
/* v2.42 · controllo del personale */
.sck-top{display:flex;gap:16px;align-items:flex-start}.sck-top h3{margin:0 0 4px}.sck .cnb-ring b{font-size:13px}
.sck-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.sck-wrap{overflow-x:auto;margin:14px 0 8px;-webkit-overflow-scrolling:touch}
.sck-t{width:100%;border-collapse:separate;border-spacing:0 6px;min-width:720px}
.sck-t th,.sck-t td{text-align:left;padding:8px 10px;vertical-align:middle;font-size:13px}
.sck-t thead th{font-size:12px;font-weight:600;opacity:.75;white-space:nowrap}
.sck-t tbody tr{opacity:0;transform:translateY(4px);animation:lrnIn 300ms cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(var(--i) * 30ms)}
.sck-t tbody th,.sck-t tbody td{background:var(--surface,#fff);border-top:1px solid var(--line,#E3E8EF);border-bottom:1px solid var(--line,#E3E8EF)}
.sck-t tbody th{border-left:4px solid #16A34A;border-radius:12px 0 0 12px;min-width:140px}.sck-t tbody tr.miss th{border-left-color:#F59E0B}
.sck-t tbody td:last-child{border-right:1px solid var(--line,#E3E8EF);border-radius:0 12px 12px 0}
.sck-t tbody th b{display:block;font-size:14px}.sck-t tbody th small{opacity:.7}
.sck-c{white-space:nowrap}.sck-c small{display:block;font-size:11px;opacity:.7;white-space:normal;max-width:140px}
.sck-i{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700;color:#fff}
.sck-c.ok .sck-i{background:#16A34A}.sck-c.no .sck-i{background:#DC2626}.sck-na{opacity:.4;text-align:center}
.sck-a{white-space:nowrap}.sck-a .btn{margin:2px 4px 2px 0}
.dash-sck{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:14px 16px;margin:0 0 14px;border-radius:16px;border:1px solid rgba(245,158,11,.4);background:linear-gradient(135deg,rgba(245,158,11,.12),rgba(245,158,11,.04));color:inherit;font:inherit;cursor:pointer;transition:transform 160ms ease-out}
.dash-sck:active{transform:scale(.98)}.dash-sck-i{font-size:24px}.dash-sck b{display:block}.dash-sck small{opacity:.8}.dash-sck-go{margin-left:auto;font-size:22px;opacity:.6}
@media (prefers-reduced-motion:reduce){.sck-t tbody tr{animation:none;opacity:1;transform:none}}
.sck-t{min-width:760px}.sck-a{white-space:normal;min-width:160px;max-width:190px}.sck-a .btn{display:flex;justify-content:center;width:100%;margin:3px 0}
.sck-c small{max-width:110px}
/* v2.42 · finestra «Giro migliore» */
.rt-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:4px 0 16px}
.rt-tile{padding:10px 12px;border-radius:14px;background:rgba(35,102,232,.07);min-width:0;opacity:0;transform:translateY(6px);animation:lrnIn 320ms cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(var(--i) * 40ms)}
.rt-tile span{display:block;font-size:11px;opacity:.7;text-transform:uppercase;letter-spacing:.03em}.rt-tile b{display:block;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.2}.rt-tile small{display:block;font-size:11px;opacity:.7;line-height:1.3}
.rt-tl{list-style:none;margin:0;padding:0;position:relative}
.rt-tl::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:3px;border-radius:3px;background:linear-gradient(#2366E8,#7C3AED,#16A34A);transform-origin:top;animation:rtLine 900ms cubic-bezier(.23,1,.32,1) both}
@keyframes rtLine{from{transform:scaleY(0)}}
.rt-tl li{position:relative;display:flex;gap:12px;align-items:flex-start;padding:6px 0;opacity:0;transform:translateX(-6px);animation:lrnIn 300ms cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(120ms + var(--i) * 60ms)}
.rt-dot{position:relative;z-index:1;flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:14px;color:#fff;background:linear-gradient(135deg,#2366E8,#0B3F9E);box-shadow:0 0 0 4px var(--surface,#fff)}
.rt-home .rt-dot{background:var(--surface,#fff);color:inherit;border:2px solid var(--line,#E3E8EF);font-size:16px}
.rt-tl li.late .rt-dot{background:linear-gradient(135deg,#F59E0B,#DC2626)}
.rt-st{flex:1;min-width:0;padding:8px 12px;border:1px solid var(--line,#E3E8EF);border-radius:14px;background:var(--surface,#fff)}
.rt-st-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.rt-eta{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}
.rt-st small,.rt-home small{display:block;font-size:12px;opacity:.75}.rt-home b{display:block;padding-top:6px}
.rt-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.rt-wait{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:rgba(245,158,11,.10);font-size:13px}
.rt-how{margin:10px 0 0}
.rt-act{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.rt-act .btn{width:100%;justify-content:center}
@media (max-width:640px){.rt-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.rt-tiles .rt-tile:last-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.rt-tile,.rt-tl li{animation:none;opacity:1;transform:none}.rt-tl::before{animation:none}}
.cs-cred{}
dialog.dlg-route{max-width:min(880px,96vw)!important;width:880px}
/* v2.43 · intestazione Consegne su un rigo */
.cn-head{flex-wrap:wrap;gap:10px}.cn-hb{display:flex;flex-wrap:nowrap;gap:8px;align-items:center;overflow-x:auto;max-width:100%;scrollbar-width:none;padding:2px}
.cn-hb::-webkit-scrollbar{display:none}.cn-hb .btn,.cn-hb input{flex:0 0 auto;white-space:nowrap}
/* tutti i tasti rapidi sullo stesso rigo */
.cn-qa{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.cn-qa::-webkit-scrollbar{display:none}.cn-qa .cn-qb{flex:0 0 auto;white-space:nowrap;min-height:30px;padding:0 10px;font-size:13px}
/* schede ridotte */
.cn-card.mini{padding:12px 14px}
.cn-card.mini .cn-top{margin:0}
.cn-mrow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0 0}
.cn-mtags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.cn-mrow .cn-amt{white-space:nowrap;font-size:16px}
.cn-rpm{cursor:pointer;border:0;font:inherit}
.cn-card.mini .cn-qa{margin-top:8px}
.cn-pill{transition:background-color 300ms ease,color 300ms ease}
.cn-flip .cn-pill{animation:cnFlip 1.2s cubic-bezier(.23,1,.32,1)}
.cn-flip{animation:cnFlipCard 1.4s ease-out}
@keyframes cnFlip{0%{transform:scale(.8)}40%{transform:scale(1.18)}100%{transform:none}}
@keyframes cnFlipCard{0%{box-shadow:0 0 0 0 rgba(22,163,74,.55)}100%{box-shadow:0 0 0 14px rgba(22,163,74,0)}}
@media (prefers-reduced-motion:reduce){.cn-flip,.cn-flip .cn-pill{animation:none}}
/* soldi e fondo nel quadro */
.cnb-eur{display:grid;gap:2px;justify-items:end}.cnb-eur .btn{margin-top:4px}.cnb-fl{opacity:1!important}
.cnb-ch{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}.cnb-chip{cursor:pointer;border:0;font:inherit}
@media (max-width:560px){.cnb-eur{justify-items:start}}
/* giro in corso dal vivo */
.cnl{margin:4px 0 14px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(35,102,232,.06));border:1px solid rgba(124,58,237,.22)}
.cnl-h{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}.cnl-h b{font-size:15px}.cnl-s{font-size:13px;opacity:.85}
.cnl-late{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px}.cnl-late.ok{background:rgba(22,163,74,.14);color:#15803D}.cnl-late.bad{background:rgba(220,38,38,.12);color:#B91C1C}
.cnl-upd{margin-left:auto;font-size:11px;opacity:.6}
/* v2.79 · passaggi già fatti sopra quello in corso */
.cnl-prev{display:grid;gap:6px;margin:10px 0 2px}
.cnl-pv{border-radius:12px;background:rgba(127,140,160,.08);border:1px solid rgba(127,140,160,.2)}
.cnl-pv>summary{position:relative;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;padding:8px 34px 8px 12px;cursor:pointer;list-style:none;min-height:40px;box-sizing:border-box}
.cnl-pv>summary::-webkit-details-marker{display:none}
.cnl-pv>summary::after{content:"›";position:absolute;right:14px;top:8px;font-size:16px;line-height:1.4;opacity:.55;transition:transform .2s cubic-bezier(.23,1,.32,1)}
.cnl-pv[open]>summary::after{transform:rotate(90deg)}
.cnl-pv>summary b{font-size:13px;color:#15803D}.cnl-pv>summary span{font-size:12px;opacity:.8;font-variant-numeric:tabular-nums}
.cnl-pvl{list-style:none;margin:0;padding:0 12px 10px;display:grid;gap:4px}
.cnl-pvl li{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;font-size:13px;padding:4px 6px;border-radius:8px;cursor:pointer}
.cnl-pvl li:hover,.cnl-pvl li:focus-visible{background:rgba(127,140,160,.14)}
.cnl-pvl li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cnl-pvl li small{font-size:12px;opacity:.75;font-variant-numeric:tabular-nums}
.cnl-pvn{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;background:#16A34A}
.cnl-pvl li.abs .cnl-pvn{background:#DC2626}.cnl-pvl li.todo .cnl-pvn{background:#7C3AED}
@media (prefers-reduced-motion:reduce){.cnl-pv>summary::after{transition:none}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cnl-pv>summary b{color:#4ADE80}}:root[data-theme="dark"] .cnl-pv>summary b{color:#4ADE80}
.cnl-track{overflow-x:auto;margin:10px -4px 0;padding:0 4px 4px;scrollbar-width:thin}
.cnl-road{position:relative;min-width:100%;padding-top:4px}
.cnl-road::before{content:"";position:absolute;left:calc(var(--w)/2);right:calc(var(--w)/2);top:22px;height:4px;border-radius:4px;background:rgba(127,140,160,.25)}
.cnl-fill{position:absolute;left:calc(var(--w)/2);top:22px;height:4px;width:0;max-width:calc(100% - var(--w));border-radius:4px;background:linear-gradient(90deg,#16A34A,#7C3AED);transform-origin:left;transition:width 1.1s cubic-bezier(.23,1,.32,1);margin-left:calc(var(--w)/-2)}
.cnl-moto{position:absolute;left:0;top:-2px;margin-left:-14px;font-size:24px;line-height:1;z-index:2;transition:transform 1.1s cubic-bezier(.23,1,.32,1);filter:drop-shadow(0 2px 2px rgba(0,0,0,.2))}
.cnl-moto:not(.stop){animation:cnlBob .9s ease-in-out infinite}
@keyframes cnlBob{0%,100%{margin-top:0}50%{margin-top:-3px}}
.cnl-road ol{list-style:none;margin:0;padding:0;display:flex}
.cnl-road li{flex:0 0 var(--w);width:var(--w);display:grid;justify-items:center;text-align:center;gap:2px;padding:0 4px;cursor:pointer;position:relative;z-index:1}
.cnl-road li.home{cursor:default}
.cnl-n{width:30px;height:30px;margin-top:9px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--surface,#fff);border:2px solid rgba(127,140,160,.45);color:inherit;transition:transform 160ms ease-out}
.cnl-road li:hover .cnl-n{transform:scale(1.08)}
.cnl-road li.done .cnl-n{background:#16A34A;border-color:#16A34A;color:#fff}
.cnl-road li.abs .cnl-n{background:#DC2626;border-color:#DC2626;color:#fff}
.cnl-road li.next .cnl-n{border-color:#7C3AED;color:#7C3AED;box-shadow:0 0 0 0 rgba(124,58,237,.45);animation:cnlPulse 1.8s ease-out infinite}
.cnl-road li.home .cnl-n{font-size:15px}
@keyframes cnlPulse{0%{box-shadow:0 0 0 0 rgba(124,58,237,.45)}70%{box-shadow:0 0 0 10px rgba(124,58,237,0)}100%{box-shadow:0 0 0 0 rgba(124,58,237,0)}}
.cnl-road li b{font-size:12px;line-height:1.25;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}
.cnl-road li small{font-size:11px;opacity:.75;font-variant-numeric:tabular-nums}
.cnl-road li.done small{color:#15803D;opacity:1}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cnl-late.ok,:root:not([data-theme="light"]) .cnl-road li.done small{color:#4ADE80}:root:not([data-theme="light"]) .cnl-late.bad{color:#FCA5A5}}
:root[data-theme="dark"] .cnl-late.ok,:root[data-theme="dark"] .cnl-road li.done small{color:#4ADE80}:root[data-theme="dark"] .cnl-late.bad{color:#FCA5A5}
@media (prefers-reduced-motion:reduce){.cnl-fill,.cnl-moto{transition:none}.cnl-moto,.cnl-road li.next .cnl-n{animation:none}}
/* v2.43 · scheda ridotta che si apre verso il basso */
.cn-card.mini{cursor:pointer}
.cn-chev{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;margin-left:6px;opacity:.7;background:rgba(127,140,160,.12);transition:transform 260ms cubic-bezier(.23,1,.32,1),opacity 160ms ease}
.cn-card.mini:hover .cn-chev{opacity:1}
.cn-card.mini.open .cn-chev{transform:rotate(180deg);opacity:1}
.cn-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows 300ms cubic-bezier(.23,1,.32,1)}
.cn-card.mini.open .cn-more{grid-template-rows:1fr}
.cn-more-in{overflow:hidden;min-height:0;opacity:0;transform:translateY(-6px);transition:opacity 220ms ease,transform 300ms cubic-bezier(.23,1,.32,1)}
.cn-card.mini.open .cn-more-in{opacity:1;transform:none;padding-top:8px;margin-top:8px;border-top:1px dashed var(--line,#E3E8EF)}
.cn-mline{margin:4px 0;font-size:13px}.cn-more .cn-items{margin:6px 0}
.cn-more-a{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 2px}.cn-more-a .btn{width:100%;justify-content:center}
@media (prefers-reduced-motion:reduce){.cn-more,.cn-more-in,.cn-chev{transition:none}}
.cnl-fill{margin-left:0!important}.cnl-road{min-width:0!important;width:max-content}
.cn-head .oag-hb.cn-hb{flex-wrap:nowrap!important}
.cn-qa{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}.cn-qa .cn-qb{padding:0 6px;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}
.cn-fuel-d{margin:0 0 12px;border:1px solid var(--line,#E3E8EF);border-radius:16px;padding:10px 14px;background:var(--surface,#fff)}
.cn-fuel-d>summary{cursor:pointer;font-weight:600;list-style:none}.cn-fuel-d>summary::-webkit-details-marker{display:none}.cn-fuel-d>summary::after{content:" ▾";opacity:.6}.cn-fuel-d[open]>summary::after{content:" ▴"}
.cn-fuel-d[open]>summary{margin-bottom:10px}
@media (max-width:560px){.cnb-top{flex-wrap:wrap}.cnb-eur{display:flex!important;flex-wrap:wrap;gap:2px 10px;align-items:baseline;justify-content:flex-start;flex-basis:100%;text-align:left}.cnb-eur b{font-size:16px}.cnb-eur .btn{margin:4px 0 0;width:100%;justify-content:center}}
.cn-qa{display:flex!important;flex-wrap:nowrap;gap:6px}.cn-qa .cn-qb{flex:1 1 auto;min-width:max-content;padding:0 8px;font-size:12.5px;justify-content:center}
@media (max-width:700px){.cn-head .oag-hb.cn-hb{flex-wrap:wrap!important;overflow:visible}}
.cn-list{align-items:start}
/* v2.44 · mappa del giro */
.rm{margin:0 0 14px}.rm svg{width:100%;height:auto;display:block;border-radius:16px;background:linear-gradient(180deg,rgba(35,102,232,.05),rgba(22,163,74,.05));border:1px solid var(--line,#E3E8EF)}
.rm-sea{fill:rgba(35,102,232,.14)}
.rm-z circle{fill:rgba(127,140,160,.08);stroke:rgba(127,140,160,.25);stroke-dasharray:3 4}.rm-z text{font-size:11px;fill:currentColor;opacity:.55;text-anchor:middle;font-weight:600}
.rm-l{fill:none;stroke:#7C3AED;stroke-width:3;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:rmDraw 1.4s cubic-bezier(.77,0,.175,1) .2s forwards;opacity:.85}
@keyframes rmDraw{to{stroke-dashoffset:0}}
.rm-f rect{fill:var(--surface,#fff);stroke:#0B3F9E;stroke-width:2}.rm-f text{font-size:14px;text-anchor:middle}
.rm-p circle{fill:#2366E8;stroke:var(--surface,#fff);stroke-width:3}.rm-p text{fill:#fff;font-size:12px;font-weight:700;text-anchor:middle;pointer-events:none}
.rm-p{opacity:0;animation:rmPop 320ms cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(.35s + var(--i) * 90ms);transform-box:fill-box;transform-origin:center}
@keyframes rmPop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.rm-p.late circle{fill:#EA580C}.rm-p.ap circle{fill:var(--surface,#fff);stroke:#2366E8;stroke-dasharray:4 3;stroke-width:2.5}.rm-p.ap text{fill:#2366E8}
.rm-p.late.ap circle{stroke:#EA580C}.rm-p.late.ap text{fill:#EA580C}
.rm-k{margin:6px 0 0}.rm-kd{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2366E8;vertical-align:-1px}.rm-kd.ap{background:transparent;border:2px dashed #2366E8;width:8px;height:8px}
@media (prefers-reduced-motion:reduce){.rm-l{animation:none;stroke-dashoffset:0}.rm-p{animation:none;opacity:1}}
/* v2.44 · zone di Giugliano */
.gz-map{width:100%;height:auto;display:block;margin:8px 0;border-radius:14px;background:linear-gradient(180deg,rgba(35,102,232,.04),rgba(22,163,74,.05))}
.gz-pt{fill:#7C3AED;opacity:.28}
.gz-z circle{fill:rgba(35,102,232,.18);stroke:#2366E8;stroke-width:2}.gz-z{opacity:0;animation:rmPop 360ms cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(var(--i) * 60ms);transform-box:fill-box;transform-origin:center}
.gz-n{font-size:15px;font-weight:700;text-anchor:middle;fill:currentColor}.gz-l{font-size:12px;text-anchor:middle;fill:currentColor;opacity:.8}
.gz-f rect{fill:var(--surface,#fff);stroke:#0B3F9E;stroke-width:2}.gz-f text{font-size:13px;text-anchor:middle}
@media (prefers-reduced-motion:reduce){.gz-z{animation:none;opacity:1}}
.cnb-upd{opacity:.75;font-weight:500}
.cn-gz{grid-column:1/-1}
/* v2.44 · i tasti rapidi stanno sempre nella scheda: si stringono invece di uscire dal bordo */
.cn-qa{overflow:visible!important}.cn-qa .cn-qb{flex:1 1 0!important;min-width:0!important;padding:0 6px!important;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cn-qa .cn-qb.bad{flex-grow:.9!important}
/* v2.44 · tasti rapidi: icona sopra, scritta sotto, tutti nella stessa riga e dentro la scheda */
.cn-qa{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px}
.cn-qa .cn-qb{display:grid!important;justify-items:center;align-content:center;gap:1px;min-height:44px!important;padding:4px 2px!important;border-radius:12px!important;font-size:11px!important;line-height:1.15;flex:none!important}
.cn-qa .cn-qb i{font-style:normal;font-size:15px;line-height:1}
/* v2.44 · schede e tasti («Giro migliore», «Partono tutte», «Stampa il giro») sullo stesso rigo */
.cn-tabrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}
.cn-tabrow .cn-tabs{margin:0!important}
.cn-tabtools:empty{display:none}.cn-tabtools .cn-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0!important}.cn-tabtools .btn{white-space:nowrap}
.cn-tabtools .btn{min-height:38px;padding:0 14px;font-size:14px}
/* v2.45 · da chi impara il giro */
.rt-mode{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between;margin:0 0 12px;padding:10px 12px;border-radius:14px;background:rgba(124,58,237,.07);border:1px solid rgba(124,58,237,.2)}
.rt-mode-t{flex:1 1 320px;min-width:0}.rt-mode-t b{display:block}.rt-mode-t small{display:block;font-size:12px;opacity:.8;line-height:1.4}
.rt-mode-s{flex:0 0 auto;margin:0!important}
/* v2.45 · il rigo delle schede usa tutta la larghezza: le schede si allargano, i tasti restano in fondo */
/* v2.66 · le schede stanno su una riga sola (prima «Statistiche» finiva da sola sotto); se i tasti non ci stanno vanno sotto, a destra, tutti insieme */
.cn-tabrow{flex-wrap:wrap}.cn-tabrow .cn-tabs{flex:1 1 auto;display:flex!important;flex-wrap:nowrap!important;min-width:0;overflow-x:auto;scrollbar-width:none}.cn-tabrow .cn-tabs::-webkit-scrollbar{display:none}
.cn-tabrow .cn-tabs>button{flex:0 0 auto;justify-content:center;white-space:nowrap}
.cn-tabtools{flex:0 0 auto;margin-left:auto}.cn-tabtools .cn-tools{justify-content:flex-end}
@media (max-width:900px){.cn-tabtools{flex:1 1 100%}}
/* v2.46 · operazioni in attesa di invio (senza internet) */
.offq{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;padding:10px 16px;border-radius:999px;border:0;background:#F59E0B;color:#1F1300;font:inherit;font-weight:700;font-size:14px;box-shadow:0 12px 28px -12px rgba(0,0,0,.5);cursor:pointer;animation:offqIn 260ms cubic-bezier(.23,1,.32,1)}
@keyframes offqIn{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){.offq{animation:none}}
/* v2.46 · consegna aperta: «aspetto altre ricette / altri prodotti» */
.cn-chip.pend{background:rgba(124,58,237,.12);color:#5B21B6}
.cn-chip.ok{background:rgba(22,163,74,.12);color:#166534;white-space:nowrap}
.cnb-cash{display:inline-flex;align-items:center;justify-self:start;align-self:flex-start;width:max-content;max-width:100%;margin:4px 0 0 0;padding:3px 10px;border:1px solid var(--line,#e2e8f0);border-radius:999px;background:var(--card,#fff);color:inherit;font:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:transform .16s ease-out}
.cnb-cash:active{transform:scale(.97)}
.cnb-cash.over{border-color:#F59E0B;background:rgba(245,158,11,.14);color:#92400E}
.cw-big{font-size:30px;font-weight:700;margin:4px 0 10px;font-variant-numeric:tabular-nums}
.cw-big small{font-size:14px;font-weight:500;color:var(--muted,#64748b)}
.cw-l{list-style:none;margin:0 0 12px;padding:0}
.cw-l li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line,#e2e8f0)}
.cw-l li:first-child{border-top:0}
.cw-l li small{color:var(--muted,#64748b)}
.cw-l li b{font-variant-numeric:tabular-nums;white-space:nowrap}
.cw-l li.tot{border-top:2px solid currentColor}
.cw-l li.tot span,.cw-l li.tot b{font-size:17px;font-weight:700}
:root[data-theme="dark"] .cnb-cash.over{color:#FCD34D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cnb-cash.over{color:#FCD34D}}
.cnb-drr{margin-top:6px;font-size:13px}
.cnb-drr.ok{color:var(--muted,#64748b)}
.cnb-dra{margin-top:6px;border:0;background:none;color:var(--accent,#1d4ed8);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}
:root[data-theme="dark"] .cnb-ov{color:#FCD34D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cnb-ov{color:#FCD34D}}
.cn-chk{margin:8px 0 0;padding:8px 12px;border-radius:12px;background:rgba(22,163,74,.10);color:#166534;font-size:14px}
:root[data-theme="dark"] .cn-chip.ok,:root[data-theme="dark"] .cn-chk{color:#86EFAC}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-chip.ok,:root:not([data-theme="light"]) .cn-chk{color:#86EFAC}}
:root[data-theme="dark"] .cn-chip.pend{color:#C4B5FD}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-chip.pend{color:#C4B5FD}}
.cn-pend{margin:4px 0 0;font-size:13px;color:#5B21B6;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
:root[data-theme="dark"] .cn-pend{color:#C4B5FD}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cn-pend{color:#C4B5FD}}
.ce-pend{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0 10px}
.ce-pend-h{font-size:13px;font-weight:600;margin-right:2px}
.ce-pend .chip-b{min-height:34px}
.ce-pend .chip-b.on{background:rgba(124,58,237,.14);border-color:rgba(124,58,237,.55);color:#5B21B6;font-weight:600}
:root[data-theme="dark"] .ce-pend .chip-b.on{color:#DDD6FE}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ce-pend .chip-b.on{color:#DDD6FE}}
.ce-pend-x{flex-basis:100%}
.cn-pend .lnk{background:none;border:0;padding:2px 0;font:inherit;font-weight:600;color:var(--blue,#1E62DB);text-decoration:underline;text-underline-offset:2px;cursor:pointer;width:auto!important;min-height:0!important}
/* v2.46 · prenotazione di famiglia */
.tag.fam{background:rgba(13,148,136,.12);color:#0F766E}
:root[data-theme="dark"] .tag.fam{color:#5EEAD4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tag.fam{color:#5EEAD4}}
.ag.fam-m{margin-top:-6px;border-top-left-radius:0;border-top-right-radius:0}
.ag.fam-m .t{color:var(--muted,#64748B);text-align:center}
.fam-box .fam-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.fam-box .fam-h h3{margin:0}
.fam-hint{margin:0 0 4px}
.fam-l{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fam-l li{display:grid;grid-template-columns:1fr auto auto auto;gap:4px 12px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04))}
.fam-l li.me{outline:2px solid rgba(13,148,136,.35)}
.fam-l li.off{opacity:.55}
.fam-n{display:flex;flex-direction:column;min-width:0}
.fam-n b{font-weight:600}
.fam-tk{font-variant-numeric:tabular-nums;white-space:nowrap}
.fam-rf{font-size:13px;white-space:nowrap}
.fam-l .lnk{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--blue,#1E62DB);text-decoration:underline;cursor:pointer;width:auto!important;min-height:0!important}
.fam-tot{display:flex;align-items:baseline;gap:10px;justify-content:flex-end;margin:10px 2px 4px;font-size:15px}
.fam-tot b{font-size:18px;font-variant-numeric:tabular-nums}
.fam-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.fam-a .btn{flex:1 1 160px}
.fam-f{margin-top:10px}
@media (max-width:560px){.fam-l li{grid-template-columns:1fr auto}.fam-rf{grid-column:1}}
/* v2.46 · compiti: più persone */
.tk-who{display:block;margin:0 0 12px}
.tk-who>span{display:block;font-size:14px;font-weight:600;margin:0 0 6px}
.tk-chips{display:flex;flex-wrap:wrap;gap:6px}
.tk-chips .chip-b{min-height:36px}
.tk-chips .chip-b.on{background:rgba(35,102,232,.14);border-color:rgba(35,102,232,.6);color:#1E4FBF;font-weight:600}
:root[data-theme="dark"] .tk-chips .chip-b.on{color:#BFD3FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tk-chips .chip-b.on{color:#BFD3FF}}
.fam-hb{display:flex;gap:6px;flex-wrap:wrap}
.fam-pk{margin-top:10px}
.fam-pr{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04));margin:0 0 8px}
.fam-pc{padding-top:30px}
.fam-pc input{width:20px;height:20px}
.fam-pr .row3{display:grid;grid-template-columns:1.4fr 1.3fr .8fr .8fr;gap:8px}
.fam-pr .f{margin-bottom:6px}
@media (max-width:640px){.fam-pr .row3{grid-template-columns:1fr 1fr}}
.bk-famq{margin:-4px 0 10px;padding:10px 12px;border-radius:12px;background:rgba(13,148,136,.08)}
.bk-famq .check{margin:4px 0}
.bk-famnext{margin:0 0 12px;padding:12px 14px;border-radius:14px;background:rgba(13,148,136,.10)}
.bk-famnext .actions{margin:8px 0 0}
.fam-sw{margin:4px 0 0}
.fam-sw .lnk,.fam-noex{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--blue,#1E62DB);text-decoration:underline;cursor:pointer;width:auto!important;min-height:0!important}
.fam-l li .fam-noex{grid-column:1/-1;justify-self:start;font-size:13px}
.fam-self{margin:0 0 10px}
/* v2.47 · prenotazione online per più persone */
.fam-q{margin:6px 0 4px}
.fam-q h4,.fam-p h4{margin:10px 0 6px;font-size:15px}
.fam-n{display:flex!important;flex-direction:row!important;gap:6px}
.fam-n button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);font:inherit;font-weight:600;cursor:pointer}
.fam-n button[aria-pressed="true"]{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue);color:var(--blue)}
.famq-h{font-size:14px;margin:8px 0 0;color:var(--muted,#5B6B82)}
.fam-p{border-top:1px solid var(--line);margin-top:10px;padding-top:4px}
/* v2.47 · «Prossima» si apre: le altre consegne in programma con l'orario stimato */
button.cnb-nx{display:flex;align-items:center;gap:6px;max-width:100%;background:none;border:0;padding:4px 8px;margin:2px -8px 0;border-radius:10px;font:inherit;font-size:13px;color:inherit;cursor:pointer;text-align:left;transition:background-color 160ms ease,transform 160ms cubic-bezier(.23,1,.32,1)}
button.cnb-nx:hover{background:rgba(35,102,232,.08)}
button.cnb-nx:active{transform:scale(.98)}
button.cnb-nx b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.cnb-chev{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform 220ms cubic-bezier(.23,1,.32,1)}
button.cnb-nx[aria-expanded="true"] .cnb-chev{transform:rotate(180deg)}
.cnb-up{display:grid;grid-template-rows:0fr;transition:grid-template-rows 260ms cubic-bezier(.23,1,.32,1),opacity 200ms ease;opacity:0}
.cnb-up.open{grid-template-rows:1fr;opacity:1}
.cnb-up-in{overflow:hidden;min-height:0}
.cnb-ul{list-style:none;margin:10px 0 4px;padding:0;display:grid;gap:6px}
.cnb-ul li{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04))}
.cnb-ul li.next{outline:2px solid rgba(35,102,232,.35)}
.cnb-ul li.late{outline:2px solid rgba(220,38,38,.35)}
.cnb-un{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:rgba(35,102,232,.12);color:#1E4FBF}
.cnb-ul li.home .cnb-un{background:none}
.cnb-ut{display:flex;flex-direction:column;min-width:0}
.cnb-ut b,.cnb-ut small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cnb-ue{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;display:flex;flex-direction:column}
.cnb-unote{margin:2px 2px 6px}
:root[data-theme="dark"] .cnb-un{color:#BFD3FF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cnb-un{color:#BFD3FF}}
@media (prefers-reduced-motion:reduce){.cnb-up,.cnb-chev{transition:none}}
/* v2.48 · Magazzino */
.mag-up{position:relative;cursor:pointer}
.mag-up.busy{opacity:.6;pointer-events:none}
.mag-sub{margin:-6px 0 12px}
.mag-ask{display:flex;gap:8px;margin:0 0 10px}
.mag-ask input{flex:1;min-width:0}
.mag-ans{margin:0 0 14px}
.mag-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 14px}
@media (max-width:600px){.mag-tiles{grid-template-columns:repeat(2,1fr)}.mag-tile b{font-size:18px}}
.mag-tile{padding:12px 14px;border-radius:14px;background:var(--surface,#fff);border:1px solid var(--line,#E2E8F0);display:flex;flex-direction:column;gap:2px}
.mag-tile span{font-size:13px;color:var(--muted,#5B6B82)}
.mag-tile b{font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.mag-tile small{font-size:12px;color:var(--muted,#5B6B82)}
.mag-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin:0 0 14px}
@media (max-width:820px){.mag-grid{grid-template-columns:1fr}}
.mag-grid .box h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}
.mag-grid .lnk,.mag-det .lnk{background:none;border:0;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--blue,#1E62DB);text-decoration:underline;cursor:pointer;width:auto!important;min-height:0!important}
.mag-bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mag-bars li{display:grid;grid-template-columns:minmax(110px,1.2fr) 2fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.mag-bl{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mag-bt{height:10px;border-radius:5px;background:rgba(35,102,232,.10);overflow:hidden}
.mag-bt i{display:block;height:100%;border-radius:0 5px 5px 0;background:#2366E8}
.mag-bars b{font-size:13px;font-variant-numeric:tabular-nums;text-align:right}
.mag-bars small{grid-column:3;font-size:11px;color:var(--muted,#5B6B82);text-align:right}
.mag-tw{overflow-x:auto}
.mag-t{width:100%;border-collapse:collapse;font-size:14px}
.mag-t th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted,#5B6B82);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line,#E2E8F0)}
.mag-t td{padding:7px 8px;border-bottom:1px solid var(--line,#EEF2F7)}
.mag-t .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mag-det{margin:0 0 12px}
.mag-det summary{cursor:pointer;list-style:none}
.mag-det summary h3{display:inline;margin:0}
.mag-det summary::before{content:"▸ ";color:var(--muted,#5B6B82)}
.mag-det[open] summary::before{content:"▾ "}
.mag-diff p{margin:4px 0 8px}
.mag-tr{margin:8px 0 0;color:#2366E8}
.mag-tr svg{width:100%;max-width:360px;height:auto;display:block}
.mag-tr circle{fill:currentColor;stroke:var(--surface,#fff);stroke-width:2}
.mag-tr figcaption{font-size:12px;color:var(--muted,#5B6B82)}
:root[data-theme="dark"] .mag-bt i{background:#6E9BFF}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mag-bt i{background:#6E9BFF}}
.prof-a .mag-t,.mag-ans .mag-t{font-size:13px}
.fam-n button{flex:1 1 0;width:auto!important;margin:0!important;padding:0!important}
/* v2.49 · registrazioni della famiglia */
.reg-fam{padding:8px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04));margin:0 0 8px}
.reg-fh{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;margin:0 0 2px}
.reg-fam .reg-step{margin:4px 0}
.reg-fall{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 0}
.reg-fall .btn{flex:1 1 180px}
.ref-fam{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04));margin:0 0 8px}
.ref-fam>b{flex:1 1 160px}
.ref-fam input[type=file]{flex:1 1 200px;min-width:0;font-size:13px}
.ref-fok{font-size:13px;color:var(--ok,#15803D)}
.ref-fam{flex-wrap:nowrap}
.ref-fam>b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ref-fam .btn{flex:none;white-space:nowrap;width:auto!important}
.ref-fam input[type=file]{flex:0 1 190px;width:190px}
@media (max-width:560px){.ref-fam{flex-wrap:wrap}.ref-fam>b{flex-basis:100%}}
/* v2.52 · Mappa di Giugliano per macro aree (una sola tinta: più scuro = più consegne) */
:root{--gm0:#EEF2F7;--gm1:#DCE8FB;--gm2:#B3CDF6;--gm3:#7FA9EE;--gm4:#4A82E2;--gm5:#1F5BC4;--gm-hi:#fff;--gm-sea:#E3EEFB;--gm-lake:#C9DDF7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--gm0:#18243A;--gm1:#1A2C4A;--gm2:#1F4377;--gm3:#2A5FA8;--gm4:#3D7FD6;--gm5:#6EA3F0;--gm-hi:#0B1320;--gm-sea:#10223B;--gm-lake:#173357}}
:root[data-theme="dark"]{--gm0:#18243A;--gm1:#1A2C4A;--gm2:#1F4377;--gm3:#2A5FA8;--gm4:#3D7FD6;--gm5:#6EA3F0;--gm-hi:#0B1320;--gm-sea:#10223B;--gm-lake:#173357}
.gm-map{width:100%;max-width:640px;height:auto;display:block;margin:8px auto 6px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.gm-sea{fill:var(--gm-sea)}.gm-sl{font-size:10px;fill:var(--muted);font-style:italic}
.gm-lake{fill:var(--gm-lake);stroke:var(--surface);stroke-width:1.5}
.gm-nb{font-size:8.5px;fill:var(--muted);text-anchor:middle;opacity:.85}
.gm-a path{fill:var(--gm0);stroke:var(--surface);stroke-width:1.5;stroke-linejoin:round;transition:filter 160ms ease}
.gm-a[data-l="1"] path{fill:var(--gm1)}.gm-a[data-l="2"] path{fill:var(--gm2)}.gm-a[data-l="3"] path{fill:var(--gm3)}.gm-a[data-l="4"] path{fill:var(--gm4)}.gm-a[data-l="5"] path{fill:var(--gm5)}
.gm-a:hover path{filter:brightness(.93)}
.gm-a{opacity:0;animation:gmIn 320ms cubic-bezier(.23,1,.32,1) forwards;animation-delay:calc(var(--i) * 50ms)}
@keyframes gmIn{to{opacity:1}}
.gm-l{font-size:9.5px;font-weight:600;text-anchor:middle;fill:var(--ink);pointer-events:none}
.gm-n{font-size:11.5px;font-weight:700;text-anchor:middle;fill:var(--ink);pointer-events:none}
.gm-a[data-l="4"] text,.gm-a[data-l="5"] text{fill:var(--gm-hi)}
.gm-pt{fill:#7C3AED;fill-opacity:.6;stroke:var(--surface);stroke-width:1}
.gm-f circle{fill:var(--green,#16A34A);stroke:var(--surface);stroke-width:2}
.gm-leg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:0 0 8px}
.gm-leg>i{width:22px;height:12px;border-radius:3px;background:var(--gm1)}.gm-leg>i[data-l="2"]{background:var(--gm2)}.gm-leg>i[data-l="3"]{background:var(--gm3)}.gm-leg>i[data-l="4"]{background:var(--gm4)}.gm-leg>i[data-l="5"]{background:var(--gm5)}
.gm-lf,.gm-lp{display:inline-flex;align-items:center;gap:5px;margin-left:10px}.gm-lf i,.gm-lp i{width:10px;height:10px;border-radius:50%;background:var(--green,#16A34A)}.gm-lp i{background:#7C3AED;opacity:.6}
@media (prefers-reduced-motion:reduce){.gm-a{animation:none;opacity:1}}
@media (max-width:560px){.gm-l{font-size:11px}.gm-n{font-size:13px}.gm-nb{font-size:9.5px}.gm-sl{font-size:11px}}
/* v2.53 · antifurto con risposta */
.al-st{margin:4px 0 12px;font-size:15px}.al-st.ok{color:var(--green,#16A34A);font-weight:600}.al-st.wait{color:#B45309;font-weight:600}
.al-b{display:flex;gap:8px}.al-b .btn{flex:1}
/* v2.53 · lettura delle chiusure: righe con totale e annullati, rotellina di lettura */
.cc-am2{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important}
.cc-am2 select{grid-column:1/-1}
.cc-al2f{display:flex;flex-direction:column;gap:2px;margin:0}.cc-al2f span{font-size:12px;color:var(--muted)}
.cc-am2 small.cc-zw{color:#B45309;font-weight:600}
.cc-al2 img{cursor:zoom-in}
.cc-rd{display:flex;align-items:center;gap:8px}
.cc-spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--blue,#2366E8);animation:ccSpin .7s linear infinite;flex:0 0 16px}
@keyframes ccSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cc-spin{animation-duration:2s}}
/* v2.53 · più chiusure al giorno */
.cc-parts{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 6px}
.cc-parts button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;cursor:pointer;transition:background-color 160ms ease,transform 160ms ease}
.cc-parts button[aria-selected="true"]{background:var(--blue,#2366E8);border-color:var(--blue,#2366E8);color:#fff;font-weight:600}
.cc-parts button:active{transform:scale(.97)}
.cc-parts .cc-padd{border-style:dashed;color:var(--blue,#2366E8)}
.cc-pday{margin:0 0 8px;color:var(--ink)}
/* v2.53 · zone dei paesi vicini e mappa di calore */
.gm-tb{display:inline-flex;gap:6px;flex-wrap:wrap}
.gm-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.gm-tabs::-webkit-scrollbar{display:none}
.gm-tabs button{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer;transition:background-color 160ms ease,transform 160ms ease}
.gm-tabs button[aria-selected="true"]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.gm-tabs button:active{transform:scale(.97)}
#gm-heat[aria-pressed="true"]{background:#FFF1E6;border-color:#F46036;color:#B33A12}
:root[data-theme="dark"] #gm-heat[aria-pressed="true"]{background:#3A1F12;color:#FFB08A}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #gm-heat[aria-pressed="true"]{background:#3A1F12;color:#FFB08A}}
.gm-map.heat .gm-a path{fill-opacity:.5}
.gm-heat{mix-blend-mode:multiply;pointer-events:auto}
:root[data-theme="dark"] .gm-heat{mix-blend-mode:screen}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .gm-heat{mix-blend-mode:screen}}
.gm-ht{fill:url(#gmHeatG);transform-box:fill-box;transform-origin:center;animation:gmHeatIn 700ms cubic-bezier(.23,1,.32,1) both;animation-delay:calc(var(--i) * 45ms)}
.gm-ht.hot{animation:gmHeatIn 700ms cubic-bezier(.23,1,.32,1) both,gmHeatPulse 2.6s ease-in-out 900ms infinite;animation-delay:calc(var(--i) * 45ms),calc(900ms + var(--i) * 45ms)}
@keyframes gmHeatIn{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}
@keyframes gmHeatPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.14);opacity:.82}}
.gm-hl{width:70px!important;height:10px!important;border-radius:6px!important;background:linear-gradient(90deg,#FFE08A,#FFB627,#F46036,#D7263D)!important}
@media (prefers-reduced-motion:reduce){.gm-ht,.gm-ht.hot{animation:none}}
/* v2.53 · Impostazioni › Regole dei turni */
.tr-g{display:flex;flex-direction:column;gap:12px}.tr-g h3{margin:0}
.tr-r{display:flex;flex-direction:column;gap:4px;margin:0}.tr-r>span{display:flex;flex-direction:column;gap:2px}.tr-r small{font-size:12.5px;line-height:1.35}
.tr-r textarea{min-height:56px;resize:vertical}.tr-by{font-size:11.5px}
.tr-save{position:sticky;bottom:calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px;border-radius:16px;background:var(--surface);box-shadow:0 8px 24px rgba(11,31,58,.12);margin-top:10px}
.tr-save .btn{flex:1}
/* v2.54 · lista delle foto lette: «Altre foto» accanto a «Conferma e aggiungi» */
.cc-aokrow{display:flex;gap:8px;margin-top:8px}.cc-aokrow .btn{flex:1}.cc-aokrow .cc-allok{flex:2;margin:0}
/* v2.54 · differenza tra battuto e riscontrato: verde in più, rosso in meno */
.tr-plus{color:#15803D;font-weight:700}.tr-minus{color:#DC2626;font-weight:700}.tr-ok{color:#15803D;font-weight:600}
:root[data-theme="dark"] .tr-plus,:root[data-theme="dark"] .tr-ok{color:#4ADE80}:root[data-theme="dark"] .tr-minus{color:#F87171}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .tr-plus,:root:not([data-theme="light"]) .tr-ok{color:#4ADE80}:root:not([data-theme="light"]) .tr-minus{color:#F87171}}
/* v2.54 · chiusura di cassa: impostazioni, andamento, grafico e corrispettivi su un rigo */
.cc-tb1{display:flex!important;flex-wrap:nowrap!important;gap:6px;align-items:center;margin-top:8px;width:100%}
.cc-tb1 .btn{flex:1 1 auto;min-width:0;white-space:nowrap;padding:0 10px!important;font-size:14px}
.cc-tb1 .cc-ico{flex:0 0 40px;width:40px;height:40px;padding:0!important;border-radius:50%!important;display:inline-grid;place-items:center;font-size:17px}
@media (max-width:380px){.cc-tb1 .btn{font-size:12.5px;padding:0 7px!important}}

/* v2.55 · spiegazioni lunghe accorciate */
.clp:not(.open){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.clp-more{display:inline-block;margin:-2px 0 8px;padding:2px 0;border:0;background:none;color:var(--blue,#004AAD);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.clp-more:active{opacity:.6}
/* v2.55 · festivi chiusi: niente orari e persone, solo «chiusi» */
tr.f-off>td:nth-child(n+3)>*{display:none}tr.f-off>td:nth-child(3)::after{content:"chiusi";color:var(--muted,#5B6B80);font-size:13px}
tr.f-off>th,tr.f-off>td{padding-top:8px;padding-bottom:8px}
.ref-box>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.ref-box>summary::-webkit-details-marker{display:none}.ref-box>summary::before{content:"▸";margin-right:2px}.ref-box[open]>summary::before{content:"▾"}
/* v2.55 · Convenzione: barra ordinata sul telefono */
@media (max-width:640px){.conv-bar2{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.conv-bar2>*{grid-column:span 3;margin:0!important;justify-content:center;text-align:center}
.conv-bar2>label{display:flex;align-items:center;gap:6px}.conv-bar2>label input{flex:1;min-width:0;width:100%}.conv-bar2>#cgo{grid-column:span 6}.conv-bar2>#ccsv,.conv-bar2>#cprint,.conv-bar2>#casl{grid-column:span 2}}
/* v2.55 · Festivi sul telefono: una scheda per festivo invece della tabella larga */
@media (max-width:640px){
.f-tab,.f-tab tbody{display:block;width:100%}.f-tab thead{display:none}
.f-tab tr{display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line,#E3E8EF)}
.f-tab tr>th,.f-tab tr>td{display:block;padding:0!important;border:0!important;text-align:left}
.f-tab tr>td:nth-child(2){justify-self:end}.f-tab tr>td:nth-child(2) input{width:22px;height:22px}
.f-tab td.f-or{grid-column:1/-1;display:flex!important;align-items:center;gap:6px}.f-tab td.f-or input{flex:1;min-width:0;width:auto}
.f-tab tr>td:nth-child(4),.f-tab tr>td:nth-child(5){display:flex;align-items:center;gap:8px;font-size:13px}
.f-tab tr>td:nth-child(4)::before{content:"Farmacisti";color:var(--muted,#5B6B80)}.f-tab tr>td:nth-child(5)::before{content:"Altri";color:var(--muted,#5B6B80)}
.f-tab tr>td:nth-child(5){justify-self:end}.f-tab tr>td.f-as{grid-column:1/-1}
.f-tab tr.f-off{grid-template-columns:1fr auto auto}.f-tab tr.f-off>td.f-or{grid-column:auto;display:block!important}.f-tab tr.f-off>td:nth-child(n+4){display:none}.f-tab tr.f-off>td.f-or{order:2}.f-tab tr.f-off>td:nth-child(2){order:3}
}
/* v2.55 · Prof: contanti dopo le foto della cassa */
.prof-cont{display:flex;gap:6px;margin-top:8px}.prof-cont input{flex:1;min-width:0;min-height:40px}.prof-cont .btn{flex:0 0 auto}
/* ===== v2.56 · Prof nella veste nuova (colori del sito: notte #0A1B3D, blu #1E62DB, menta #3DDC97) ===== */
.prof-face .pf-eye{transform-box:fill-box;transform-origin:50% 50%;transition:transform 90ms ease-in}.prof-face.blink .pf-eye{transform:scaleY(.15)}
.prof-face .pf-spark{transform-box:fill-box;transform-origin:50% 50%;animation:pfspark 3.6s ease-in-out infinite}
@keyframes pfspark{0%,70%,100%{transform:scale(1) rotate(0);opacity:1}80%{transform:scale(1.35) rotate(45deg);opacity:.85}90%{transform:scale(.9) rotate(90deg)}}
.prof-fab .prof-face{filter:drop-shadow(0 8px 18px rgba(30,98,219,.45))}
.prof-fab.thinking .prof-face .pf-spark{animation:pfspin .9s linear infinite}@keyframes pfspin{to{transform:rotate(360deg)}}
.prof-fab.thinking .prof-face .prof-pupils{transform:translate(1.4px,-2px)!important}
.prof-fab[aria-expanded="true"] .prof-face .prof-mouth{d:path("M16 31c4.5 5 11.5 5 16 0")}
.prof-tag{background:#0A1B3D!important}
.prof-pan.hp-pan{background:rgba(10,27,61,.9);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);color:#EAF0FA;border:0;border-radius:28px;padding:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 40px 80px -30px rgba(0,0,0,.6);gap:12px}
.prof-pan .prof-h{gap:12px}.prof-pan .prof-mini .prof-av{width:42px;height:42px}
.prof-pan .pf-id{display:flex;flex-direction:column;gap:1px;min-width:0}.prof-pan .pf-id b{font-size:17px;color:#fff}.prof-pan .pf-id small{font-size:13px;color:#A3B2C8!important;transition:color 200ms ease}
.prof-pan .pf-live{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#B9F3D6;white-space:nowrap}
.prof-pan .pf-live i{width:7px;height:7px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 0 rgba(61,220,151,.6);animation:pflive 2s ease-out infinite}
@keyframes pflive{0%{box-shadow:0 0 0 0 rgba(61,220,151,.55)}70%{box-shadow:0 0 0 7px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
.prof-pan .prof-h .prof-exp{margin-left:4px}
.prof-pan .prof-h .btn,.prof-pan .prof-h button{color:#DCE4EE;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.06)}
.prof-pan .prof-log{gap:10px;max-height:min(440px,calc(100vh - 300px))}
.prof-pan .prof-m{font-size:14.5px;line-height:1.45}
.prof-pan .prof-me{background:#EAF0FA;color:#0B1A33;border-radius:18px 18px 6px 18px;font-weight:500;max-width:88%}
.prof-pan .prof-bot{background:#fff;color:#0B1A33;border-radius:18px 18px 18px 6px;padding:13px 15px;max-width:94%}
.prof-pan .prof-bot a{color:#1E62DB}
.prof-pan .prof-lead{background:none!important;padding:0!important;margin:0 0 8px!important;font-family:"Plus Jakarta Sans",Jost,system-ui,sans-serif;font-weight:700;font-size:16.5px;line-height:1.3;color:#0B1A33!important}
.prof-pan .prof-ib{display:block;font-family:Figtree,Jost,system-ui,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;color:#1E62DB!important;margin:0 0 4px}
.prof-pan .prof-bot .muted.xs,.prof-pan .prof-bot p.muted{color:#55606F!important}
.prof-pan .prof-bot .muted.xs:last-of-type{border-top:1px dashed #DCE3EE;padding-top:7px;margin-top:8px}
.prof-pan .prof-bot .btn{min-height:40px}
.prof-pan .pf-steps{background:rgba(255,255,255,.05)!important;color:#DCE4EE;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border-radius:16px;padding:11px 14px;display:flex;flex-direction:column;gap:6px;width:min(88%,330px)}
.prof-pan .pf-steps.pf-done{opacity:.7;padding:8px 12px}
.prof-pan .pf-sl{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#A3B2C8}
.prof-pan .pf-step{display:flex;align-items:center;gap:10px;font-size:14px;animation:profin 240ms cubic-bezier(.23,1,.32,1)}
.prof-pan .pf-spin{flex:0 0 14px;width:14px;height:14px;border-radius:50%;border:2px solid rgba(61,220,151,.25);border-top-color:#3DDC97;box-sizing:border-box;animation:pfspin .8s linear infinite}
.prof-pan .pf-step.ok .pf-spin{border:0;animation:none;background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233DDC97' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E")}
.prof-pan .pf-ans{animation:pfans 320ms cubic-bezier(.23,1,.32,1)}@keyframes pfans{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
.prof-pan .pf-hold{opacity:0}.prof-pan .pf-show{animation:pfshow 300ms ease-out}@keyframes pfshow{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.prof-pan .hp-sug .hp-chip{background:rgba(255,255,255,.06);color:#DCE4EE;border:1px solid rgba(255,255,255,.14);border-radius:999px}
.prof-pan .hp-sug .hp-chip:hover{background:rgba(255,255,255,.12)}
.prof-pan .prof-in{padding:6px 6px 6px 6px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);gap:6px}
.prof-pan .prof-in input{background:transparent!important;border:0!important;color:#fff;height:40px;padding:0 10px;box-shadow:none!important}
.prof-pan .prof-in input::placeholder{color:#8F9DB2}
.prof-pan .prof-in .prof-mic{background:rgba(255,255,255,.08)!important;color:#DCE4EE!important;border:0!important}
.prof-pan .prof-in .prof-mic.on{background:#B42318!important;color:#fff!important}
.prof-pan .prof-in .prof-send{flex:0 0 40px;width:40px;height:40px;min-height:0!important;padding:0!important;border-radius:50%!important;display:inline-grid;place-items:center;background:#1E62DB!important;color:#fff!important;border:0!important}
.prof-pan .prof-in .prof-send:active,.prof-pan .prof-in .prof-mic:active{transform:scale(.94)}
.prof-pan .prof-expm{background:#0E1930;color:#EAF0FA;border-color:rgba(255,255,255,.14)}
.prof-pan .prof-fb{color:#55606F}
.prof-pan .prof-formal{color:#4A2E00}
.prof-pan .prof-cont input{background:#F2F5FA;color:#0B1A33;border-radius:12px}
@media (prefers-reduced-motion:reduce){.prof-face .pf-spark,.prof-pan .pf-live i,.prof-pan .pf-spin,.prof-pan .pf-ans,.prof-pan .pf-show,.prof-pan .pf-step{animation:none}}
@media (max-width:560px){.prof-pan.hp-pan{border-radius:24px;padding:14px}}
.cc-mv{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin:8px 0 0;padding:10px 12px;border-radius:14px;background:var(--soft,#EAF0FA)}.cc-mv .btn{margin:0}
/* v2.57 · referti e convenzione della famiglia: una riga per paziente, stato in breve, luce verde (arrivato) o rossa (errore) */
.rf-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.rf-sum{font-size:13px;font-weight:600;padding:2px 10px;border-radius:999px;background:rgba(30,98,219,.12);color:var(--brand,#1E62DB)}
.rf-sum.ok{background:rgba(21,128,61,.14);color:var(--ok,#15803D)}
.rf-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04));margin:0 0 6px;transition:box-shadow .3s}
.rf-row>b{min-width:0;overflow-wrap:anywhere}
.rf-row .btn{margin:0;width:auto!important;white-space:nowrap}
.rf-st{font-size:12px;font-weight:600;white-space:nowrap;padding:2px 8px;border-radius:999px}
.rf-st.ok{color:var(--ok,#15803D);background:rgba(21,128,61,.12)}.rf-st.rd{color:var(--brand,#1E62DB);background:rgba(30,98,219,.12)}.rf-st.no{color:var(--muted,#5a6a80);background:rgba(90,106,128,.12)}
.rf-busy{opacity:.7}.rf-drop{box-shadow:0 0 0 2px var(--brand,#1E62DB) inset}
.rf-glow-ok{animation:rfok 1.8s cubic-bezier(.23,1,.32,1)}.rf-glow-ko{animation:rfko 1.8s cubic-bezier(.23,1,.32,1)}
@keyframes rfok{0%{box-shadow:0 0 0 0 rgba(61,220,151,.0),0 0 0 2px rgba(61,220,151,.9) inset;background:rgba(61,220,151,.28)}35%{box-shadow:0 0 22px 4px rgba(61,220,151,.55),0 0 0 2px rgba(61,220,151,.9) inset}100%{box-shadow:0 0 0 0 rgba(61,220,151,0),0 0 0 0 rgba(61,220,151,0) inset}}
@keyframes rfko{0%,40%{box-shadow:0 0 22px 4px rgba(229,72,77,.55),0 0 0 2px rgba(229,72,77,.95) inset;background:rgba(229,72,77,.22)}20%{transform:translateX(-3px)}30%{transform:translateX(3px)}100%{box-shadow:0 0 0 0 rgba(229,72,77,0),0 0 0 0 rgba(229,72,77,0) inset}}
.rf-ok{margin:6px 0 0;font-size:14px}.rf-send{width:100%;margin:8px 0 0}
.reg-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04));margin:0 0 6px}
.reg-who{display:flex;flex-direction:column;min-width:0}.reg-who b{overflow-wrap:anywhere}
.reg-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1.5px solid var(--line-2,#cbd5e2);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;user-select:none}
.reg-chip input{position:absolute;opacity:0;width:1px;height:1px}.reg-chip.done{border-color:transparent;background:rgba(21,128,61,.14);color:var(--ok,#15803D)}
.reg-chip:has(input:focus-visible){outline:2px solid var(--brand,#1E62DB);outline-offset:2px}
@media (max-width:480px){.rf-row,.reg-row{grid-template-columns:1fr auto}.rf-row>b,.reg-who{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){.rf-glow-ok,.rf-glow-ko{animation-duration:.01s}}
/* v2.57 · referti in blocco */
.rb-sum{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 4px}.rb-sum b{font-size:14px}.rb-sum .ok{color:var(--ok,#15803D)}.rb-sum .wa{color:#B45309}.rb-sum .no{color:var(--danger,#C0362C)}
.rb-list{display:flex;flex-direction:column;gap:6px;max-height:min(56vh,520px);overflow:auto;padding:2px}
.rb-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:8px 10px;border-radius:12px;background:var(--surface-2,rgba(15,23,42,.04));transition:box-shadow .3s}
.rb-dot{width:10px;height:10px;border-radius:50%;margin-top:6px;background:var(--ok,#15803D);box-shadow:0 0 0 3px rgba(21,128,61,.18)}
.rb-warn .rb-dot{background:#D97706;box-shadow:0 0 0 3px rgba(217,119,6,.2)}.rb-no .rb-dot{background:var(--danger,#C0362C);box-shadow:0 0 0 3px rgba(192,54,44,.2)}
.rb-main{display:flex;flex-direction:column;gap:4px;min-width:0}.rb-file{font-size:13px;font-weight:600;overflow-wrap:anywhere}
.rb-main select{width:100%;min-height:40px;font-size:14px}.rb-busy{opacity:.65}
.rb-wa{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rb-wa p{flex-basis:100%}
/* v2.57 · consegne: riquadri tutti della stessa grandezza, pulsanti e prezzo in fondo */
.cn-list:not(.cn-rdylist){align-items:stretch}@media (min-width:701px){.cn-list:not(.cn-rdylist){grid-auto-rows:1fr}}
.cn-list:not(.cn-rdylist)>.cn-card{display:flex;flex-direction:column;min-width:0}
.cn-list:not(.cn-rdylist)>.cn-card>.cn-meta{margin-bottom:auto}
.cn-list:not(.cn-rdylist)>.cn-card .cn-items{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
/* v2.57 · «Nuova consegna» prende lo spazio libero della riga */
@media (min-width:701px){.cn-head .oag-hb.cn-hb{flex:1 1 auto;min-width:0}.cn-head .cn-hb>#cs-new{flex:1 1 220px;justify-content:center;min-width:200px}}
/* v2.57 · scontrino: una riga se è il cliente; codice fiscale calcolato */
.ce-rc-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:28px}.ce-rc-h>b{white-space:nowrap}
.ce-rcw{flex:1 1 auto;min-width:0;font-size:14px;color:var(--muted,#5B6B80);overflow-wrap:anywhere}.ce-rcw i{color:var(--warn,#B45309);font-style:normal}
.ce-rc-h>.lnk{margin-left:auto;white-space:nowrap}
.ce-rcb{margin-top:8px}.ce-rc:not(.open) #rc2-add{display:none}.ce-rc2:empty{display:none}
#ce-st:empty{display:none}
.lnk.ce-cfc{font-size:12.5px;margin-left:6px;font-weight:600;vertical-align:baseline}
.ce-cfw{border:1px dashed var(--line-2,#CBD5E2);border-radius:14px;padding:10px 12px;margin:2px 0 10px;background:var(--soft,rgba(0,74,173,.04))}
.cfw-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px 10px;align-items:end}.cfw-g .f{margin:0;min-width:0}.cfw-g input{width:100%;min-width:0;box-sizing:border-box}
.cfw-s{display:flex}.cfw-s .seg-b{min-width:44px;justify-content:center}
.cfw-r{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;min-height:36px}
.cfw-cf{font-weight:700;font-size:16px;letter-spacing:.04em}.cfw-r .btn{margin-left:auto}.cfw-no{color:var(--warn,#B45309);font-size:13.5px}
@media (max-width:560px){.cfw-g{grid-template-columns:1fr 1fr}.cfw-g>.f:nth-child(2){grid-column:1/-1;order:3}}
/* v2.57 · dentro i riquadri che si aprono (Chrome nuovo) le caselle non escono più dal bordo */
details>*{box-sizing:border-box}
.ce-rx-h{display:flex;flex-direction:row!important;align-items:center;justify-content:center;gap:6px}
.ce-rc-h .lnk,.lnk.ce-cfc{background:none;border:0;padding:2px 0;font:inherit;font-size:14px;font-weight:600;color:var(--blue,#1E62DB);text-decoration:underline;text-underline-offset:2px;cursor:pointer;width:auto!important;min-height:0!important;box-shadow:none}
.lnk.ce-cfc{font-size:12.5px}
/* v2.57 · consegne che aspettano la chiamata del cliente */
.cn-wc>summary{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;cursor:pointer;list-style:none}.cn-wc>summary::-webkit-details-marker{display:none}
.cn-wc>summary::after{content:"▾";margin-left:auto;opacity:.6}.cn-wc[open]>summary::after{content:"▴"}
.cn-wcl{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}
.cn-wcl li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line,#E3E8EF);border-radius:14px;background:var(--surface,#fff)}
.cn-wcw{display:flex;flex-direction:column;min-width:0;flex:1 1 220px}.cn-wcw small{color:var(--muted,#5B6B80);font-size:13px;overflow-wrap:anywhere}
.cn-wca{display:flex;gap:6px;flex-wrap:wrap}.cn-wca .btn{margin:0}
.cn-wc-b{width:100%;margin-top:10px;justify-content:center}
/* v2.57 · prenota dalla ricetta: gli altri orari dello stesso giorno */
.rxb-times{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 4px}.rxb-times:empty{display:none}.rxb-times>span{flex-basis:100%;margin-bottom:2px}
.rxb-times .chip-b{min-width:64px;justify-content:center;font-variant-numeric:tabular-nums}
.rl-bk{margin-left:auto}
.bk-h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.bk-rxic{min-width:40px;height:40px;min-height:40px!important;border-radius:20px!important;padding:0 10px!important;font-size:18px;line-height:1;justify-content:center;width:auto!important}
/* v2.57 · scheda appuntamento: referto e comunicazioni più puliti */
.bk-com-g{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0}
.bk-com-g>.btn{width:100%;margin:0;justify-content:center;text-align:center;white-space:normal;min-height:44px;line-height:1.2}
.bk-com-g>:last-child:nth-child(odd){grid-column:1/-1}
.ref-to{margin:0 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.ref-pick{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;margin:0 0 8px;border:1.5px dashed var(--line-2,#CBD5E2);border-radius:14px;background:var(--soft,rgba(0,74,173,.04));cursor:pointer;transition:border-color 150ms ease,background-color 150ms ease}
.ref-pick:hover,.ref-pick.over{border-color:var(--blue,#1E62DB);background:rgba(30,98,219,.08)}
.ref-pick.has{border-style:solid;border-color:var(--green,#16A34A)}
.ref-fi{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.ref-pi{font-size:22px;line-height:1}.ref-pt{display:flex;flex-direction:column;min-width:0}.ref-pt b{overflow-wrap:anywhere}.ref-pt small{color:var(--muted,#5B6B80);font-size:12.5px}
.ref-upb{width:100%;justify-content:center;margin:0 0 4px}
/* v2.58 · Messaggi sul telefono: mentre la casella di scrittura è sullo schermo, Prof si fa da parte (non copre «Invia») */
body.chat-fab-off .hp-fab:not([aria-expanded="true"]){transform:translateY(140%);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){body.chat-fab-off .hp-fab:not([aria-expanded="true"]){transform:none}}
/* v2.58 · consegna con sole ricette DPC e/o presidi: «non paga nulla» già scelto, niente prezzo */
.cn-ready.cn-free .cn-freet{flex:1 1 100%;margin:0;font-weight:700;color:var(--ok,#1E7A4C)}.cn-ready.cn-free .cn-freet small{font-weight:500;color:var(--muted,#4A5A70)}
/* v2.59 · file incollato in una finestra: il nome sotto il campo «Allega» */
.att-pasted{display:block;margin-top:4px;font-weight:600;color:var(--ok,#1E7A4C);overflow-wrap:anywhere}
/* v2.59 · Turni: «Scrivi cosa fare» chiuso di default sul telefono (c'è già la barra in alto), aperto sul computer */
.tcmd-wrap{margin:0 0 12px}.tcmd-wrap>summary{list-style:none;cursor:pointer;font-weight:700;padding:10px 12px;border:1px solid var(--line,#DCE3EC);border-radius:14px;background:var(--surface,#fff)}.tcmd-wrap>summary::-webkit-details-marker{display:none}.tcmd-wrap[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:0}.tcmd-wrap[open]>.tcmd{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}
body.fab-off .hp-fab:not([aria-expanded="true"]){transform:translateY(140%);opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){body.fab-off .hp-fab:not([aria-expanded="true"]){transform:none}}
/* v2.59 · Prof «Ragionamento» futuristico: luce che gira sul bordo, binario che si riempie, orbite sonar sul passo in corso,
   testo che brilla, cerchio che si espande quando un passo è fatto. Solo trasformazioni e opacità (leggero); rispetta «riduci movimento». */
.prof-pan .pf-steps{position:relative;isolation:isolate;overflow:hidden;background:rgba(255,255,255,.04)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 0 rgba(61,220,151,0);transition:box-shadow 400ms ease,opacity 300ms ease}
.prof-pan .pf-steps.pf-live2::before{content:"";position:absolute;inset:-60%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 62%,rgba(61,220,151,.0) 66%,#3DDC97 78%,#5B8DEF 86%,rgba(91,141,239,0) 92%,transparent 100%);animation:pfRing 2.8s linear infinite;will-change:transform}
.prof-pan .pf-steps.pf-live2::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:14.5px;background:linear-gradient(180deg,#132646,#0F1F3C)}
.prof-pan .pf-steps.pf-live2{box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 28px -6px rgba(61,220,151,.35)}
@keyframes pfRing{to{transform:rotate(360deg)}}
.prof-pan .pf-sl{display:flex;align-items:center;gap:8px}
.prof-pan .pf-sig{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.prof-pan .pf-sig i{width:3px;border-radius:2px;background:#3DDC97;height:40%;transform-origin:bottom;animation:pfSig 1.1s ease-in-out infinite}.prof-pan .pf-sig i:nth-child(2){animation-delay:.18s;height:70%}.prof-pan .pf-sig i:nth-child(3){animation-delay:.36s;height:100%}
.prof-pan .pf-done .pf-sig i{animation:none;height:100%;opacity:.5}
@keyframes pfSig{0%,100%{transform:scaleY(.35);opacity:.5}50%{transform:scaleY(1);opacity:1}}
.prof-pan .pf-steps{--pf-k:0}.prof-pan .pf-rail{position:absolute;left:21px;top:44px;bottom:16px;width:2px;border-radius:2px;background:rgba(255,255,255,.08);overflow:visible}
.prof-pan .pf-rail-f{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:2px;background:linear-gradient(180deg,#3DDC97,#5B8DEF);transform-origin:top;transform:scaleY(calc(var(--pf-k) / 3));transition:transform 500ms cubic-bezier(.23,1,.32,1)}
.prof-pan .pf-rail-dot{position:absolute;left:-2px;top:0;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px rgba(61,220,151,.9);animation:pfDot 1.6s ease-in-out infinite;opacity:.9}.prof-pan .pf-done .pf-rail-dot{display:none}
@keyframes pfDot{0%{transform:translateY(0)}50%{transform:translateY(calc(var(--pf-k) * 34px))}100%{transform:translateY(0)}}
.prof-pan .pf-step{position:relative;z-index:1;min-height:28px}
.prof-pan .pf-orb{position:relative;flex:0 0 16px;width:16px;height:16px;display:grid;place-items:center}
.prof-pan .pf-orb-c{width:8px;height:8px;border-radius:50%;background:#3DDC97;box-shadow:0 0 8px rgba(61,220,151,.9);animation:pfCore 1.2s ease-in-out infinite}
.prof-pan .pf-orb-r{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(61,220,151,.7);animation:pfSonar 1.8s cubic-bezier(.2,.7,.3,1) infinite}.prof-pan .pf-orb-r:nth-child(2){animation-delay:.9s}
@keyframes pfSonar{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.2);opacity:0}}@keyframes pfCore{0%,100%{transform:scale(.85)}50%{transform:scale(1.1)}}
.prof-pan .pf-step.ok .pf-orb-r{animation:pfPop 600ms cubic-bezier(.2,.7,.3,1) 1 forwards}.prof-pan .pf-step.ok .pf-orb-r:nth-child(2){display:none}
.prof-pan .pf-step.ok .pf-orb-c{animation:none;transform:none;background:no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233DDC97' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");width:14px;height:14px;box-shadow:none;border-radius:0}
@keyframes pfPop{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.prof-pan .pf-step:not(.ok) .pf-txt{background:linear-gradient(90deg,#DCE4EE 0%,#DCE4EE 40%,#FFFFFF 50%,#DCE4EE 60%,#DCE4EE 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:pfShine 1.6s linear infinite}
@keyframes pfShine{from{background-position:120% 0}to{background-position:-120% 0}}
.prof-pan .pf-step.ok .pf-txt{color:#A3B2C8;transition:color 300ms ease}
.prof-pan .pf-steps.pf-done{opacity:.75}
.prof-pan .pf-ans{box-shadow:0 0 0 0 rgba(61,220,151,0);animation:pfAnsIn 700ms cubic-bezier(.23,1,.32,1)}@keyframes pfAnsIn{0%{box-shadow:0 0 0 6px rgba(61,220,151,.25);transform:translateY(6px) scale(.98)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0);transform:none}}
@media (prefers-reduced-motion:reduce){.prof-pan .pf-steps.pf-live2::before,.prof-pan .pf-sig i,.prof-pan .pf-rail-dot,.prof-pan .pf-orb-c,.prof-pan .pf-orb-r,.prof-pan .pf-step:not(.ok) .pf-txt,.prof-pan .pf-ans{animation:none}.prof-pan .pf-step:not(.ok) .pf-txt{color:#DCE4EE;background:none}.prof-pan .pf-rail-f{transition:none}}
/* v2.59 · avvisi (toast) sempre leggibili: angoli morbidi anche su più righe (prima il bordo a pillola tagliava il testo),
   contorno chiaro sopra le zone scure (Prof), larghezza giusta; con Prof aperto l'avviso va in alto e non copre la casella */
.toast,.toast[popover]{border-radius:18px;max-width:min(520px,calc(100vw - 32px));width:max-content;box-sizing:border-box;padding:12px 18px;line-height:1.35;text-align:left;font-weight:500;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 14px 40px rgba(0,0,0,.35);overflow-wrap:anywhere}
body:has(.hp-fab[aria-expanded="true"]) .toast,body:has(.hp-fab[aria-expanded="true"]) .toast[popover]{top:calc(14px + env(safe-area-inset-top,0px));bottom:auto}
body:has(.hp-fab[aria-expanded="true"]) .toast{transform:translate(-50%,-12px)}body:has(.hp-fab[aria-expanded="true"]) .toast.show{transform:translate(-50%,0)}
/* v2.60 · Prof: i messaggi non si schiacciano quando la chat è piena (il «Ragionamento» si tagliava a metà); finito il ragionamento resta una riga sola che si apre con un tocco */
.prof-log>*{flex-shrink:0}
.prof-pan .pf-steps.pf-done{width:auto;max-width:min(88%,330px);align-self:flex-start;padding:7px 12px;gap:8px;cursor:pointer;opacity:.85;transition:opacity 150ms ease}
.prof-pan .pf-steps.pf-done:hover{opacity:1}.prof-pan .pf-steps.pf-done:focus-visible{outline:2px solid #3DDC97;outline-offset:2px}
.prof-pan .pf-done:not(.pf-open) .pf-step,.prof-pan .pf-done:not(.pf-open) .pf-rail{display:none}
.prof-pan .pf-done .pf-sl::after{content:"";width:6px;height:6px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 200ms cubic-bezier(.23,1,.32,1)}
.prof-pan .pf-done.pf-open .pf-sl::after{transform:translateY(1px) rotate(-135deg)}
.prof-pan .pf-done.pf-open{padding:11px 14px}
/* v2.60 · tabella vaccini SSR in farmacia (Federfarma Napoli) e calcolatore età */
.vs-box{display:grid;gap:10px;min-width:0}.vs-box>*{min-width:0}
.vs-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line,#E3E8EF);border-radius:14px}
.vs-t{border-collapse:separate;border-spacing:0;width:100%;min-width:880px;font-size:13px;line-height:1.3}
.vs-t th,.vs-t td{padding:7px 8px;border-bottom:1px solid var(--line,#E3E8EF);border-right:1px solid var(--line,#E3E8EF);text-align:center;vertical-align:middle}
.vs-t thead th{position:sticky;top:0;background:#4E8A2A;color:#fff;font-weight:700;font-size:12.5px;white-space:nowrap}
.vs-t thead th.vs-no{background:#D9381E}
.vs-t th.vs-v{background:var(--soft,#F1F5FA);text-align:left;font-weight:700;min-width:150px;position:sticky;left:0;z-index:1}@media (max-width:600px){.vs-t th.vs-v{min-width:104px;max-width:120px;font-size:12px}.vs-t td.vs-tg{min-width:190px}}
.vs-t td.vs-tg{text-align:left;min-width:230px}
.vs-t td.vs-no{background:repeating-linear-gradient(135deg,rgba(148,163,184,.14) 0 6px,transparent 6px 12px);min-width:34px}
.vs-t td.vs-ok{background:rgba(78,138,42,.14);color:#2F6B12;font-weight:800;font-size:15px}
.vs-t td.vs-ri{background:rgba(234,179,8,.14);color:#8A6100;font-weight:800;font-size:16px}
.vs-t td.vs-span{font-weight:600;letter-spacing:.02em;background:rgba(78,138,42,.06)}
.vs-t tr.vs-first>*{border-top:2px solid var(--line,#E3E8EF)}
.vs-calc{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.vs-calc>*{min-width:0}.vs-calc .oag-seg{flex:0 0 auto}
.vs-calc .f{margin:0;min-width:110px;flex:1 1 110px}.vs-calc .vs-cf{flex:2 1 200px}
.vs-res{padding:10px 12px;border-radius:12px;background:var(--soft,#F1F5FA)}
.vs-l{list-style:none;margin:0;padding:0;display:grid;gap:5px}.vs-l li{display:block;padding-left:22px;text-indent:-22px;overflow-wrap:anywhere}.vs-l .vs-ck{display:inline-block;width:22px;text-indent:0}
.vs-ck{color:#2F6B12;font-weight:800}
.vs-pt{grid-column:1/-1}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .vs-t td.vs-ok{color:#9BE07A}:root:not([data-theme="light"]) .vs-t td.vs-ri{color:#F5D06B}:root:not([data-theme="light"]) .vs-ck{color:#9BE07A}}
:root[data-theme="dark"] .vs-t td.vs-ok{color:#9BE07A}:root[data-theme="dark"] .vs-t td.vs-ri{color:#F5D06B}:root[data-theme="dark"] .vs-ck{color:#9BE07A}
/* v2.60 · esame da ripetere */
.rr.rip{border-left:4px solid #C62828;background:rgba(198,40,40,.07)}.rr.rip>b{color:#B3261E;font-size:16px;letter-spacing:.02em}
.rip-why{margin:4px 0 0;font-weight:600}
.rip-acts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.rip-acts .btn{min-height:40px}
/* v2.86.2 · «Ti serve prima?» nella pagina della ripetizione (foto di Lica 26/10, tema scuro: rosso pieno, scritta blu sul rosso, campo stretto):
   riquadro chiaro con il bordo rosso, titolo rosso leggibile, campo largo e tasto rosso sulla stessa riga */
.rip-urg{background:#FDECEA!important;color:#3B0D0C!important;border:1px solid rgba(198,40,40,.35)!important;border-left:4px solid #C62828!important}
.rip-urg .disp-price{border-bottom-color:rgba(198,40,40,.25)}.rip-urg .disp-price span{color:#7A2E2B}.rip-urg .disp-price b{color:#B3261E!important}
.rip-urg .muted{color:#6B3B39!important;opacity:1}.rip-urg .f>span{color:#5C1F1D}
.rip .rip-urg .rip-act{align-items:flex-end}.rip .rip-urg .rip-act .f{flex:1 1 260px;margin:0}.rip .rip-urg .rip-act .f input{width:100%;box-sizing:border-box}
.rip .rip-urg .rip-act .btn{flex:0 0 auto;min-height:48px;background:#C62828;border-color:#C62828;color:#fff;box-shadow:none}
.rip .rip-urg .rip-act .btn:hover{background:#A91F1F}
@media (max-width:560px){.rip-urg .disp-price{flex-direction:column;align-items:flex-start;gap:2px}.rip-urg .disp-price b{text-align:left}.rip .rip-urg .rip-act .btn{flex:1 1 100%}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rip-urg{background:rgba(198,40,40,.14)!important;color:#F6DCDA!important;border-color:rgba(255,138,128,.4)!important;border-left-color:#FF6B5E!important}
  :root:not([data-theme="light"]) .rip-urg .disp-price span,:root:not([data-theme="light"]) .rip-urg .f>span{color:#F2C4C0}:root:not([data-theme="light"]) .rip-urg .disp-price b{color:#FF8A80!important}
  :root:not([data-theme="light"]) .rip-urg .muted{color:#E9B9B5!important}:root:not([data-theme="light"]) .rip .rip-urg .rip-act .btn{background:#D93025;border-color:#D93025}}
:root[data-theme="dark"] .rip-urg{background:rgba(198,40,40,.14)!important;color:#F6DCDA!important;border-color:rgba(255,138,128,.4)!important;border-left-color:#FF6B5E!important}
:root[data-theme="dark"] .rip-urg .disp-price span,:root[data-theme="dark"] .rip-urg .f>span{color:#F2C4C0}:root[data-theme="dark"] .rip-urg .disp-price b{color:#FF8A80!important}
:root[data-theme="dark"] .rip-urg .muted{color:#E9B9B5!important}:root[data-theme="dark"] .rip .rip-urg .rip-act .btn{background:#D93025;border-color:#D93025}
.rip-l{list-style:none;margin:0;padding:0;display:grid;gap:10px}.rip-l>li{display:grid;gap:6px;padding:10px 12px;border-radius:12px;background:rgba(198,40,40,.06);border:1px solid rgba(198,40,40,.18)}
.rip-box h3{color:#B3261E}
/* v2.86.2 · Referti in blocco: Annulla · Carica e invia su WhatsApp · Carica, sulla stessa riga (vanno a capo solo se non ci stanno) */
.rb-btns{display:flex;flex-wrap:wrap;gap:8px}.rb-btns .btn{flex:1 1 150px;min-height:44px}.rb-wa .wa-btn{margin:0 6px 6px 0}
.rb-row.rb-rip{border-color:rgba(198,40,40,.4);background:rgba(198,40,40,.06)}.rb-row.rb-rip .rb-dot{background:#C62828}
.rip .rip-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rr.rip>b,:root:not([data-theme="light"]) .rip-box h3{color:#FF8A80}}
:root[data-theme="dark"] .rr.rip>b,:root[data-theme="dark"] .rip-box h3{color:#FF8A80}
/* v2.60 · Prof pensa: niente passi scritti, solo un'orbita luminosa e un'onda di dati; alla risposta la bolla si chiude e sparisce */
.prof-pan .prof-m.pf-think{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:14px;width:auto;max-width:200px;min-height:52px;padding:10px 18px 10px 12px!important;border-radius:18px;background:transparent!important;color:#DCE4EE;box-shadow:0 0 30px -8px rgba(61,220,151,.45);animation:pfThinkIn 320ms cubic-bezier(.23,1,.32,1)}
.prof-pan .pf-think::before{content:"";position:absolute;inset:-80%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 60%,rgba(61,220,151,.95) 72%,rgba(91,141,239,.95) 84%,transparent 96%);animation:pfSweep 2.2s linear infinite}
.prof-pan .pf-think::after{content:"";position:absolute;inset:1.5px;z-index:-1;border-radius:16.5px;background:radial-gradient(120% 140% at 20% 50%,#173057 0,#0E1A33 70%)}
@keyframes pfSweep{to{transform:rotate(360deg)}}
@keyframes pfThinkIn{from{opacity:0;transform:translateY(6px) scale(.96);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
.pf-orb3{position:relative;flex:0 0 30px;width:30px;height:30px;perspective:120px;transform-style:preserve-3d}
.pf-orb3 i{position:absolute;display:block}
.pf-orb3 .pf-core{left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0,#7CF5C3 35%,#3DDC97 70%);box-shadow:0 0 12px 2px rgba(61,220,151,.85);animation:pfCore2 1.6s ease-in-out infinite}
.pf-orb3 .pf-ring{inset:0;border-radius:50%;border:1.5px solid rgba(124,245,195,.75);border-left-color:transparent;border-bottom-color:rgba(91,141,239,.6)}
.pf-orb3 .pf-ring.a{animation:pfRingA 1.8s linear infinite}.pf-orb3 .pf-ring.b{inset:3px;border-color:rgba(91,141,239,.8);border-right-color:transparent;animation:pfRingB 2.6s linear infinite}
.pf-orb3 .pf-p{left:50%;top:-2px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#fff;box-shadow:0 0 8px 2px rgba(124,245,195,.9);transform-origin:2.5px 17px;animation:pfOrbit 1.4s linear infinite}
@keyframes pfRingA{from{transform:rotateX(64deg) rotateZ(0)}to{transform:rotateX(64deg) rotateZ(360deg)}}
@keyframes pfRingB{from{transform:rotateY(64deg) rotateZ(360deg)}to{transform:rotateY(64deg) rotateZ(0)}}
@keyframes pfOrbit{to{transform:rotate(360deg)}}
@keyframes pfCore2{0%,100%{transform:scale(.85);opacity:.85}50%{transform:scale(1.12);opacity:1}}
.pf-wave{display:grid;gap:5px;width:110px}
.pf-wave i{display:block;height:5px;border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.08) 0,rgba(124,245,195,.95) 45%,rgba(91,141,239,.9) 55%,rgba(255,255,255,.08) 100%);background-size:220% 100%;animation:pfStream 1.3s cubic-bezier(.45,0,.55,1) infinite}
.pf-wave i:nth-child(1){width:86%}.pf-wave i:nth-child(2){width:100%;animation-delay:.18s}.pf-wave i:nth-child(3){width:58%;animation-delay:.36s}
@keyframes pfStream{from{background-position:120% 0}to{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.prof-pan .pf-think::before,.pf-orb3 i,.pf-wave i,.prof-pan .prof-m.pf-think{animation:none!important}.pf-wave i{background:rgba(124,245,195,.5)}}
/* v2.60 · tasti a forma di link: sul telefono si toccano più facilmente (area più alta, impaginazione uguale) */
@media (max-width:700px),(pointer:coarse){
  .link-inline,.clp-more,.av-date,#al-out{padding-top:6px!important;padding-bottom:6px!important;margin-top:-6px;margin-bottom:-6px;min-height:32px}
  .clp-more{margin-bottom:2px}
  .oag-chk{width:30px;height:30px}
}
/* v2.60 · moduli firmati sul tablet */
.md-l{list-style:none;margin:0 0 8px;padding:0}
.md-r{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line,#E3E8EF)}
.md-r:first-child{border-top:0}
.md-r>span{display:grid;min-width:0}.md-r small{font-size:12.5px}.md-r small.ok{color:#0E7A4F}
.md-a{margin:4px 0 0}
.md-wait{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-weight:600}
.md-sp{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:mdsp .9s linear infinite}
@keyframes mdsp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.md-sp{animation:none}}
.md-res{max-height:52vh;overflow:auto;margin:10px 0}
.md-set{margin:6px 0 0}.md-set summary{cursor:pointer;font-weight:600}
:root[data-theme="dark"] .md-r small.ok{color:#6EE7B7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .md-r small.ok{color:#6EE7B7}}
/* v2.61 · traffico in tempo reale nel riepilogo delle consegne (accanto ai contanti) */
.cnb-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:5px 0 1px}
.cnb-chips .cnb-cash{margin:0}
.tf-kr{display:flex;gap:8px;align-items:center;margin:4px 0 0}
.tf-kr input{flex:1;min-width:0;min-height:40px;padding:0 12px;border:1px solid var(--line,#e2e8f0);border-radius:10px;background:var(--card,#fff);color:inherit;font:inherit}
.tf-kr .btn{flex:none;white-space:nowrap}
/* v2.61 · Comunicazioni e notifiche: il tasto sulla riga del titolo; azioni rapide con le parole lunghe che non escono dal riquadro */
.pu-wrap .pu-b{min-width:0}
.pu-wrap .pu-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}
.pu-wrap .pu-h .btn{flex:none;width:auto;margin:0}
.pu-wrap .pu-b p{margin:4px 0 0}
.pu-dash:not(:has(#pu-box:not([hidden]))){display:none}
.dash-q{grid-template-columns:repeat(auto-fit,minmax(172px,1fr))}
.dq{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
/* v2.61 · contanti del fattorino consegna per consegna */
.cw-it{margin:0 0 12px}.cw-it summary{cursor:pointer;font-weight:600;font-size:14px;padding:4px 0}
.cw-items li{align-items:baseline}.cw-items li>span:first-child{min-width:0}
.cw-items .cw-r{display:flex;align-items:baseline;gap:10px;flex:none}
.cw-items li.pos b{color:var(--muted,#64748b);font-weight:500}
/* v2.61 · Consegne: «＋ Nuova consegna» in fondo a destra (Lica), non più allungato in mezzo */
@media (min-width:701px){.cn-head .cn-hb>#cs-new{order:9;flex:0 0 auto;min-width:200px;margin-left:auto}}
/* v2.61 · computer piccoli (1001–1240 px): «Ricette da sparare» e «Consegne» in alto solo con l'icona, così la barra non esce dallo schermo */
@media (min-width:1001px) and (max-width:1240px){header.site .bar-actions #rxl-open,header.site .bar-actions #cn-open-d{font-size:0;gap:0;padding-left:12px;padding-right:12px}header.site .bar-actions #rxl-open>span,header.site .bar-actions #cn-open-d>span{font-size:18px}}
/* v2.61 · Timbratura al contrario in Impostazioni: riquadro leggibile anche col tema scuro (prima bianco con le scritte bianche) */
.ti-set{margin:6px 0 10px 56px;max-width:640px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,currentColor 5%,transparent);border:1px solid color-mix(in srgb,currentColor 12%,transparent);color:inherit}
@media (max-width:600px){.ti-set{margin-left:0}}
/* v2.62 · scatola nera: nella finestra della super password i due collegamenti (delega, badge) si sovrapponevano sul telefono */
.need-dlg p>.link-inline{display:block;margin:2px 0!important;text-align:left}
.need-dlg p>.link-inline+br{display:none}

/* v2.62 · foto degli scontrini lette: il riquadro si illumina di verde (letta bene), arancio (da controllare) o rosso (non letta) */
.cc-al2 li.cc-qok img{box-shadow:0 0 0 2.5px var(--green,#1FA866)}
.cc-al2 li.cc-qmid img{box-shadow:0 0 0 2.5px #E8890C}
.cc-al2 li.cc-qko img,.cc-al2 li.cc-qko .cc-noimg{box-shadow:0 0 0 2.5px var(--danger,#E5484D)}
.cc-al2 li.cc-pop img,.cc-al2 li.cc-pop .cc-noimg{animation:ccQPop .55s cubic-bezier(.23,1,.32,1) both}
.cc-al2 li.cc-qok.cc-pop img{--qg:rgba(31,168,102,.45)}.cc-al2 li.cc-qmid.cc-pop img{--qg:rgba(232,137,12,.45)}.cc-al2 li.cc-qko.cc-pop img,.cc-al2 li.cc-qko.cc-pop .cc-noimg{--qg:rgba(229,72,77,.45)}
@keyframes ccQPop{0%{transform:scale(.94);filter:drop-shadow(0 0 0 transparent)}40%{transform:scale(1.03);filter:drop-shadow(0 0 7px var(--qg,transparent))}100%{transform:none;filter:drop-shadow(0 0 0 transparent)}}
@media (prefers-reduced-motion:reduce){.cc-al2 li.cc-pop img,.cc-al2 li.cc-pop .cc-noimg{animation:none}}

/* v2.63 · conferma timbrature spente/riaccese: la casella sta dentro il testo */
.ask-box .att-oc{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-weight:500}.ask-box .att-oc input{margin-top:3px;flex:none}
/* v2.80 · chiamate al magazzino dal banco */
.qc-k3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 4px}
.qc-k{display:grid;justify-items:center;text-align:center;gap:4px;padding:16px 10px;border-radius:16px;border:1px solid var(--line,#E3E8EF);background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer;min-height:118px;transition:transform 140ms cubic-bezier(.23,1,.32,1),border-color 160ms ease,box-shadow 160ms ease}
.qc-k:active{transform:scale(.97)}.qc-k[aria-pressed="true"]{border-color:var(--blue,#1E62DB);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,#1E62DB) 18%,transparent)}
.qc-ki{font-size:30px;line-height:1}.qc-k b{font-size:15px;line-height:1.2}.qc-k small{font-size:12px;opacity:.7;line-height:1.3}
.qc-sub{margin-top:10px}.qc-sub:empty{display:none}.qc-wait{margin:10px 0;font-weight:600}
.qc-tec{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:6px 0 10px}.qc-tec .btn{min-height:48px}
.qc-qr{display:flex;gap:8px;align-items:stretch}.qc-qr input{flex:1 1 auto;min-width:0}.qc-cam{flex:0 0 48px;display:grid;place-items:center;font-size:20px;cursor:pointer;padding:0!important}
.qc-sug{display:grid;gap:6px;margin:8px 0}.qc-sug:empty{display:none}
.qc-sg{display:grid;gap:2px;text-align:left;padding:8px 12px;border-radius:12px;border:1px solid var(--line,#E3E8EF);background:var(--card,#fff);color:inherit;font:inherit;cursor:pointer}
.qc-sg b{font-size:14px;font-weight:600;line-height:1.3}.qc-sg small{font-size:12px;opacity:.7}.qc-sg.on{border-color:var(--blue,#1E62DB);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,#1E62DB) 18%,transparent)}
.qc-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 10px}.qc-row .oag-seg{margin:0}.qc-pz{display:inline-flex;align-items:center;gap:8px}
.qc-go{width:100%;min-height:52px;margin-top:6px}.qc-foot{justify-content:space-between}
.qc-ck{display:grid;gap:6px}.qc-who{margin-top:4px}.qc-wk{margin:8px 0}.qc-wl{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chip-ck{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--line,#E3E8EF);cursor:pointer;font-size:14px}.chip-ck input{margin:0}
.qc-dock{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:59;width:min(380px,calc(100vw - 104px));max-height:min(60vh,520px);display:flex;flex-direction:column;border-radius:18px;background:var(--card,#fff);color:var(--ink,#0B1A33);border:1px solid var(--line,#E3E8EF);box-shadow:0 18px 50px -18px rgba(11,31,58,.45);overflow:hidden}
.qc-h{display:flex;align-items:center;gap:6px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--line,#E3E8EF)}
.qc-hb{border:0;background:none;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:6px 4px;min-height:36px}.qc-new{margin-left:auto;width:36px;height:36px;border-radius:50%;background:var(--soft,#F1F5FA);font-size:20px;line-height:1;padding:0}
.qc-todo{border:0;border-radius:999px;background:rgba(220,38,38,.12);color:#B91C1C;font:inherit;font-size:13px;font-weight:600;padding:6px 10px;cursor:pointer}
.qc-l{overflow:auto;padding:6px;display:grid;gap:6px}.qc-tl{display:grid;gap:6px;margin:8px 0}
.qc-it{display:grid;grid-template-columns:28px 1fr;gap:4px 8px;align-items:start;padding:8px 10px;border-radius:12px;background:var(--soft,#F1F5FA)}
.qc-it.urg{background:rgba(220,38,38,.09);box-shadow:inset 3px 0 0 #DC2626}.qc-it.mine{background:rgba(30,98,219,.07)}.qc-it.shut{opacity:.75}
.qc-ic{font-size:20px;line-height:1.3}.qc-tx{display:grid;gap:1px;min-width:0}.qc-tx b{font-size:14px;line-height:1.3;overflow-wrap:anywhere}.qc-tx small{font-size:12px;opacity:.75}.qc-st{font-size:12px;font-weight:600;color:#15803D}
.qc-a{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.qc-a .btn{min-height:36px}
/* v2.85.9 · più prodotti nella stessa chiamata (Lica 26/10) e ✕ che riduce il riquadro a linguetta sul bordo sinistro, come Prof e fotocamera */
.qc-x{width:36px;height:36px;border-radius:50%;background:var(--soft,#F1F5FA);font-size:14px;line-height:1;padding:0;display:grid;place-items:center;flex:none}
.qc-pl{grid-column:2;display:grid;gap:4px;margin-top:2px}
.qc-pi{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:10px;background:var(--card,#fff);border:1px solid var(--line,#E3E8EF)}
.qc-pi>span{display:grid;min-width:0}.qc-pi b{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.qc-pi small{font-size:12px;opacity:.75}.qc-pi.shut b{text-decoration:line-through;opacity:.6}.qc-pi .btn{min-height:32px;padding:0 10px;flex:none}
.qc-list{display:grid;gap:6px;margin:0 0 10px}.qc-li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:12px;background:var(--soft,#F1F5FA)}.qc-li b{font-weight:600}
.qc-lx{border:0;background:none;color:inherit;font:inherit;width:36px;height:36px;border-radius:50%;cursor:pointer;flex:none}.qc-add{margin:2px 0 10px}
.qc-tab{position:fixed;left:0;bottom:calc(120px + env(safe-area-inset-bottom,0px));z-index:59;height:48px;min-width:30px;padding:0 7px 0 4px;border:0;border-radius:0 14px 14px 0;background:var(--blue,#1E62DB);color:#fff;display:flex;align-items:center;gap:2px;box-shadow:0 8px 20px -8px rgba(10,27,61,.5);cursor:pointer;transform:translateX(-110%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.23,1,.32,1),opacity .2s ease}
.qc-tab.on{transform:none;opacity:.95;pointer-events:auto}.qc-tab::after{content:"";position:absolute;inset:-14px -18px -14px -4px}
.qc-tab b{font-size:12px;min-width:18px;height:18px;border-radius:9px;background:#fff;color:var(--blue,#1E62DB);display:grid;place-items:center;padding:0 4px}.qc-tab.urg b{background:#DC2626;color:#fff}
@media (hover:hover) and (pointer:fine){.qc-lx:hover{background:var(--line,#E3E8EF)}}
@media (max-width:600px){.qc-k3{grid-template-columns:1fr}.qc-k{grid-template-columns:40px 1fr;justify-items:start;text-align:left;min-height:0;padding:12px 14px;align-items:center}.qc-k .qc-ki{grid-row:span 2}
  .qc-dock{left:10px;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:calc(100vw - 80px)}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .qc-st{color:#4ADE80}:root:not([data-theme="light"]) .qc-todo{color:#FCA5A5}}
:root[data-theme="dark"] .qc-st{color:#4ADE80}:root[data-theme="dark"] .qc-todo{color:#FCA5A5}
@media (prefers-reduced-motion:reduce){.qc-k{transition:none}.qc-tab{transition:opacity .15s ease}}
@media print{.qc-dock,.qc-tab{display:none!important}}
/* v2.85.11 · stato della richiesta di colloquio in Turni › Personale */
.t-cqs{font-size:12px;opacity:.75;align-self:center}.t-cqs:empty{display:none}.t-cqs.ok{opacity:1;color:#15803D;font-weight:600}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .t-cqs.ok{color:#4ADE80}}:root[data-theme="dark"] .t-cqs.ok{color:#4ADE80}
/* v2.80 · referto singolo: aggancia e invia */
.rsm .recap-title{margin-bottom:4px}.rsm #rs-st{margin:0 0 12px}
.rs-why{margin:12px 0;padding:10px 14px;border-radius:12px;background:rgba(217,119,6,.10);border:1px solid rgba(217,119,6,.28)}.rs-why ul{margin:6px 0 0;padding-left:18px}.rs-why li{margin:2px 0}
.rs-to{margin:12px 0 0;font-size:14px}
.rs-auto{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 14px;border-radius:12px;background:rgba(22,163,74,.10);border:1px solid rgba(22,163,74,.28)}
.rs-ring{width:18px;height:18px;border-radius:50%;border:2px solid rgba(22,163,74,.25);border-top-color:#16A34A;animation:rsSpin 1s linear infinite;flex:0 0 18px}
@keyframes rsSpin{to{transform:rotate(360deg)}}
.rs-set{margin-top:12px;font-size:13px}
@media (prefers-reduced-motion:reduce){.rs-ring{animation:none;border-color:#16A34A}}
/* v2.81 · foto sfocata sulla scheda della Foto intelligente */
.fo-soft{margin:0 0 10px;padding:8px 12px;border-radius:10px;font-size:13px;background:rgba(217,119,6,.10);border:1px solid rgba(217,119,6,.28)}.fo-soft.bad{background:rgba(220,38,38,.09);border-color:rgba(220,38,38,.3)}

/* v2.82 · Home: persone e appuntamenti toccabili (stesso aspetto, solo il cursore e il bordo quando si usa la tastiera) */
.dash-now .dp[data-dgo],.dash-now .dchip[data-dgo],.dtl li[data-dbk]{cursor:pointer}
.dash-now .dp[data-dgo]:focus-visible,.dash-now .dchip[data-dgo]:focus-visible,.dtl li[data-dbk]:focus-visible{outline:2px solid var(--blue,#1E62DB);outline-offset:2px;border-radius:10px}
.dtl li[data-dbk].busy{opacity:.6}
/* v2.82 · il suggerimento «Nuovo: fotografa» non deve prendere i tocchi (copriva il giorno delle consegne sul telefono) */
.fo-tip{pointer-events:none}
/* v2.83.2 · scatola nera: tasti troppo piccoli sul telefono (sotto i 28 px) */
@media (max-width:700px){#prof-exp,#hp-x,#cs-traf,#sec-ref,#sec-rep,.chat-del{min-height:32px;min-width:32px}}
/* v2.84 · Dati che escono dal sito */
.usc-l{margin:8px 0 0;padding-left:18px}.usc-l li{margin:0 0 8px;line-height:1.4}
/* v2.84.1 · Impostazioni in ordine: chip sotto i gruppi, schede chiuse, meno spazi vuoti */
.imp-chips{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 14px}
.imp-see{margin:10px 0 0}.imp-see .lnk{font-size:inherit}
.imp-fold:not(.open) > .imp-fb{display:none}
.imp-fold .imp-fold-b{margin-left:auto;flex:none}
.imp-fold .adm-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cat-box.imp-fold > .check{display:flex;align-items:flex-start;gap:8px}
@media (max-width:700px){body[data-tab="impostazioni"] #pane > .box,body[data-tab="impostazioni"] #pane .box + .box{margin-top:10px}body[data-tab="impostazioni"] #pane .box{padding:14px}.imp-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.imp-chips::-webkit-scrollbar{display:none}.imp-chips .chip-b{flex:none}}

/* v2.87.21 · correzioni imparate dalle consegne (Insegna al sito) */
.lrn-cfx{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lrn-cfx li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line,#E3E8EF);border-radius:12px;background:var(--surface,#fff);min-width:0}
.lrn-cfx li span{min-width:0;overflow-wrap:anywhere}
.lrn-cfx li .btn{flex:none;min-height:40px}

/* assets/design3-core.min.css */
:root{--d3-navy:#0a1b3d;--d3-b1:#2366e8;--d3-b2:#0b3f9e;--d3-mint:#3ddc97;--d3-ease:cubic-bezier(.23,1,.32,1);--bg:#eef2f9;--track:#e4eaf5;--r-md:18px;--d3-glow:#2f7bff24;--d3-card:0 1px 2px #0a1b3d0a,0 16px 36px -28px #0a1b3d66}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#060d1c;--surface:#0e1930;--surface-2:#16233f;--line:#1c2a44;--line-2:#2a3d5e;--soft:#14233d;--track:#0a1426;--taken:#101c33;--d3-glow:#2f7bff38;--d3-card:0 1px 0 #ffffff08 inset,0 18px 40px -28px #000c}}:root[data-theme=dark]{--bg:#060d1c;--surface:#0e1930;--surface-2:#16233f;--line:#1c2a44;--line-2:#2a3d5e;--soft:#14233d;--track:#0a1426;--taken:#101c33;--d3-glow:#2f7bff38;--d3-card:0 1px 0 #ffffff08 inset,0 18px 40px -28px #000c}body{background:radial-gradient(1200px 560px at 50% -280px,var(--d3-glow),transparent 70%)no-repeat,var(--bg)}h1,h2{letter-spacing:-.02em}h1{font-weight:600}.btn{color:#fff;background-image:linear-gradient(135deg,var(--d3-b1),var(--d3-b2));border-radius:14px;transition:transform .14s ease-out,box-shadow .2s,filter .15s,background-color .15s;box-shadow:0 10px 22px -14px #0b3f9ee6}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.97)}.btn.sm{border-radius:12px}.btn.ghost{background-image:none;box-shadow:0 1px 2px #0a1b3d0f}.btn.ghost:hover{border-color:var(--blue);filter:none}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select,textarea{border-radius:14px;transition:border-color .15s,box-shadow .2s}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--blue)18%,transparent);outline:none}.box{border-color:color-mix(in srgb,var(--line)70%,transparent);box-shadow:var(--d3-card);border-radius:22px}details{border-radius:18px}dialog{box-shadow:0 40px 90px -30px #050d2099,0 0 0 1px color-mix(in srgb,var(--line)60%,transparent);border-radius:28px}dialog::backdrop{backdrop-filter:blur(6px);background:#050d2080}@keyframes d3pop{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}dialog[open]{animation:d3pop .26s var(--d3-ease)}.subtabs{background:var(--track);border-radius:16px}.subtabs button[aria-pressed=true]{background:var(--d3-navy)!important;color:#fff!important;box-shadow:0 8px 18px -10px #0a1b3dcc!important}.toast{background:var(--d3-navy);color:#fff;box-shadow:0 20px 40px -16px #050d20b3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .subtabs button[aria-pressed=true]{background:linear-gradient(135deg,var(--d3-b1),var(--d3-b2))!important;color:#fff!important}:root:not([data-theme=light]) .toast{background:#1b2c4a}}:root[data-theme=dark] .subtabs button[aria-pressed=true]{background:linear-gradient(135deg,var(--d3-b1),var(--d3-b2))!important;color:#fff!important}:root[data-theme=dark] .toast{background:#1b2c4a}@media (prefers-reduced-motion:reduce){dialog[open]{animation:none}.btn:active{transform:none}}@media print{body{background:#fff}.btn{box-shadow:none}}.ds-l{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.ds-o{border:1.5px solid var(--line);cursor:pointer;border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.ds-o:has(input:checked){border-color:var(--blue);background:color-mix(in srgb,var(--blue)8%,transparent)}.ds-o input{accent-color:var(--blue);margin-top:4px}.ds-o b{display:block}.ds-o small{color:var(--muted)}.cc-all{border:2px dashed color-mix(in srgb,var(--blue)40%,transparent)!important}.cc-allbtn,.cc-allok{justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;display:flex}.cc-al2{flex-direction:column;gap:8px;margin:0 0 10px;padding:0;list-style:none;display:flex}.cc-al2 li{background:var(--soft);border-radius:14px;align-items:center;gap:10px;padding:8px;display:flex}.cc-al2 img,.cc-noimg{object-fit:cover;background:var(--line);border-radius:8px;flex:0 0 52px;place-items:center;width:52px;height:68px;display:grid}.cc-am2{flex:1;grid-template-columns:1fr 110px;align-items:center;gap:6px;min-width:0;display:grid}.cc-am2 select,.cc-am2 input{min-width:0;margin:0}.cc-am2 small{color:var(--muted);grid-column:1/-1}.cc-sum2{flex-wrap:wrap;gap:8px 16px;margin:0 0 10px;font-size:15px;display:flex}.cc-done2{color:var(--ink);margin:10px 0 0}.prof-in{align-items:center;gap:6px}.prof-in input{border-radius:999px;flex:auto;min-width:0;height:46px;padding:0 16px}.prof-in .prof-mic,.prof-in .prof-send{flex:0 0 40px;place-items:center;width:40px;height:40px;transition:transform .14s ease-out;display:inline-grid;border-radius:50%!important;min-height:0!important;padding:0!important}.prof-in .prof-send{background:var(--blue,#1e62db)!important;color:#fff!important;background-image:none!important;border:0!important}.prof-in .prof-mic:active,.prof-in .prof-send:active{transform:scale(.94)}.ic-round{place-items:center;width:40px;height:40px;display:inline-grid;border-radius:50%!important;padding:0!important}@media (prefers-reduced-motion:reduce){.prof-in .prof-mic:active,.prof-in .prof-send:active{transform:none}}.bd-cols{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=760px){.bd-cols{grid-template-columns:1fr}}.bd-col{flex-direction:column;gap:8px;display:flex}.bd-col h4{margin:0;font-size:16px;font-weight:600}.bd-col>.btn{justify-content:center;width:100%;min-height:46px;margin-top:auto}.bd-l{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bd-l li{background:color-mix(in srgb,var(--blue,#1e62db)7%,transparent);border-radius:14px;padding:12px 40px 10px 14px;position:relative}.bd-l li.bd-av{background:#f5a52424}.bd-l li p{margin:0 0 2px;font-size:16px;font-weight:500}.bd-l li small{color:var(--muted,#5b6b86);font-size:13px;display:block}.bd-l li .check{margin:0}.bd-l li.done span{opacity:.6;text-decoration:line-through}.bd-x{color:var(--muted,#5b6b86);cursor:pointer;background:0 0;border:0;border-radius:50%;width:36px;height:36px;position:absolute;top:6px;right:6px}.bd-x:hover{background:color-mix(in srgb,currentColor 12%,transparent)}.bd-ppl{flex-wrap:wrap;gap:6px;display:flex}.bd-ppl .chip{border:1px solid var(--line,#e3e8ef);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;min-height:40px;padding:0 14px}.bd-ppl .chip[aria-pressed=true]{background:var(--blue,#1e62db);color:#fff;border-color:#0000}.cc-zw{color:#7a4100;background:#fff4e5;border-radius:10px;margin:6px 0 0;padding:8px 10px;font-size:14px;font-weight:500;display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cc-zw{color:#ffd9a0;background:#3a2a10}}:root[data-theme=dark] .cc-zw{color:#ffd9a0;background:#3a2a10}.dm-ul{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.dm-ul li{border:1px solid var(--line,#e3e8ef);border-radius:14px;padding:12px 14px}.dm-ul li.off{opacity:.55}.dm-ul small{color:var(--muted,#5b6b86);margin:2px 0 6px;display:block}.demo-box>.btn{justify-content:center;width:100%;min-height:48px}.fu-quick{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.fu-quick .chip{border:1px solid var(--line,#e3e8ef);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;min-height:38px;padding:0 14px}.fu-res{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.fu-res li{border:1px solid var(--line,#e3e8ef);border-radius:16px;padding:14px}.fu-res p{color:var(--muted,#5b6b86);margin:4px 0 8px;font-size:15px}.gal-low{color:#7a4100;background:#fff4e5!important}.gal-sl,.gal-pl{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.gal-sl li{border:1px solid var(--line,#e3e8ef);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;padding:12px 14px;display:grid}.gal-sl li.low{background:#f5a52414;border-color:#f5a524}.gal-sl li .actions{grid-column:1/-1;margin:0}.gal-sl small,.gal-pl small{color:var(--muted,#5b6b86);font-size:13px;display:block}.gal-q{font-size:18px}.gal-pl li{border:1px solid var(--line,#e3e8ef);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.gal-it{grid-template-columns:2fr 1fr 80px auto;align-items:center;gap:6px;margin:0 0 6px;display:grid}.gal-it select[data-f=sid]{grid-column:1/-1}.gal-it input,.gal-it select{min-width:0}@media (width<=640px){.gal-it{grid-template-columns:1fr 1fr}.gal-it [data-f=name]{grid-column:1/-1}}.gal-per{white-space:nowrap;margin:0}.gal-steps{flex-direction:column;gap:10px;margin:0;padding-left:22px;display:flex}.gal-steps li b{display:block}.gal-steps li span{color:var(--muted,#5b6b86);font-size:15px}.gal-ocr pre{white-space:pre-wrap;max-height:200px;font-size:13px;overflow:auto}.isp-due{flex-direction:column;gap:2px;display:flex}.isp-due.late{color:#8b1a10;background:#fdecea!important}.isp-due.soon{color:#7a4100;background:#fff4e5!important}.isp-l{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.isp-i{border:1px solid var(--line,#e3e8ef);border-radius:14px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.isp-i.ok{background:#2bb67312;border-color:#2bb673}.isp-i.no{background:#e5484d12;border-color:#e5484d}.isp-i.na{opacity:.65}.isp-b{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.isp-b button{border:1px solid var(--line,#e3e8ef);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;min-height:42px;font-size:14px}.isp-b button[aria-checked=true][data-v=ok]{color:#fff;background:#2bb673;border-color:#0000}.isp-b button[aria-checked=true][data-v=no]{color:#fff;background:#e5484d;border-color:#0000}.isp-b button[aria-checked=true][data-v=na]{background:var(--muted,#5b6b86);color:#fff;border-color:#0000}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .gal-low,:root:not([data-theme=light]) .isp-due.soon{color:#ffd9a0;background:#3a2a10!important}:root:not([data-theme=light]) .isp-due.late{color:#ffb4ab;background:#3a1512!important}}:root[data-theme=dark] .gal-low,:root[data-theme=dark] .isp-due.soon{color:#ffd9a0;background:#3a2a10!important}:root[data-theme=dark] .isp-due.late{color:#ffb4ab;background:#3a1512!important}.acc-l{flex-direction:column;gap:8px;display:flex}.acc-r{border:1px solid var(--line,#e3e8ef);border-radius:14px;grid-template-columns:minmax(140px,1fr) 2fr auto;align-items:center;gap:8px 12px;padding:10px 12px;display:grid}.acc-n small{color:var(--muted,#5b6b86);font-size:13px;display:block}.acc-t{flex-wrap:wrap;gap:6px;display:flex}.acc-c{background:color-mix(in srgb,currentColor 7%,transparent);color:var(--muted,#5b6b86);border-radius:999px;padding:4px 10px;font-size:13px}.acc-c.on{color:#0e6b35;background:#2bb67324}.acc-c.dl{color:var(--blue,#1e5bd0);background:#1e62db1f}.acc-h{white-space:nowrap;margin:0}@media (width<=700px){.acc-r{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .acc-c.on{color:#7be3a8}}:root[data-theme=dark] .acc-c.on{color:#7be3a8}.cn-one{border:1.5px dashed var(--line,#cbd5e1);background:var(--surface,#fff);border-radius:16px;padding:10px 12px;transition:border-color .15s,background-color .15s}.cn-one.on,.cn-one:focus-within{border-color:var(--blue,#1e62db)}.cn-one.on{background:color-mix(in srgb,var(--blue,#1e62db)7%,var(--surface,#fff))}.cn-one textarea{resize:vertical;font:inherit;color:inherit;outline:none;width:100%;min-height:160px;padding:2px 0;font-size:16px;line-height:1.45;display:block;box-shadow:none!important;background:0 0!important;border:0!important}.cn-one-b{border-top:1px solid var(--line,#e3e8ef);align-items:center;gap:10px;margin-top:4px;padding-top:8px;display:flex}.cn-one-b .xs{flex:1;min-width:0}.cn-att{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);cursor:pointer;flex:none;place-items:center;height:42px;font-size:19px;line-height:1;transition:transform .14s ease-out;display:grid;border-radius:50%!important;width:42px!important;min-height:0!important;padding:0!important}.cn-att:active{transform:scale(.95)}.ce-sum{border:1px solid color-mix(in srgb,var(--blue,#1e62db)30%,var(--line,#e3e8ef));background:color-mix(in srgb,var(--blue,#1e62db)5%,var(--surface,#fff));border-radius:16px;grid-column:1/-1;padding:14px 16px}.ce-sum h3{margin:0 0 2px;font-size:17px}.ce-sls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;display:grid}@media (width<=700px){.ce-sls{grid-template-columns:minmax(0,1fr)}}.ce-sl{grid-template-columns:22px 104px minmax(0,1fr);align-items:baseline;gap:6px;font-size:15px;line-height:1.35;display:grid}.ce-sl b{color:var(--muted,#5b6b82);font-size:13.5px;font-weight:600}.ce-sl span:last-child{overflow-wrap:anywhere}.ce-sl.miss i{color:#b45309;font-style:normal;font-weight:600}.ce-warn{background:#f5a52424;border-radius:12px;margin:10px 0 0;padding:8px 12px;font-size:14px;line-height:1.4}.ce-sum .lnk{color:var(--blue,#1e62db);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-weight:600;text-decoration:underline;width:auto!important;min-height:0!important}.ce-when{border:2px solid var(--blue,#1e62db);background:var(--surface,#fff);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;padding:12px;display:flex}.ce-when>b{flex-basis:100%;font-size:16px}.ce-when input{flex:200px;min-width:0}.cn-orig:not([open]){grid-column:1/-1}.cn-orig>summary{cursor:pointer;align-items:center;gap:8px;min-height:32px;list-style:none;display:flex}.cn-orig>summary:before{content:"▸";transition:transform .15s ease-out}.cn-orig[open]>summary:before{transform:rotate(90deg)}.cn-orig[open]>summary{margin-bottom:8px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ce-sl.miss i{color:#fbbf24}}:root[data-theme=dark] .ce-sl.miss i{color:#fbbf24}@media (prefers-reduced-motion:reduce){.cn-att,.cn-orig>summary:before{transition:none}}.ce-warn,.ce-warn b{color:#5a3b00}.cn-ed.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=980px){.cn-ed.two{grid-template-columns:minmax(0,1fr)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ce-warn,:root:not([data-theme=light]) .ce-warn b{color:#fce3a6}}:root[data-theme=dark] .ce-warn,:root[data-theme=dark] .ce-warn b{color:#fce3a6}.dpc-b{color:#a3171c;white-space:nowrap;background:#e5484d24;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.dpc-b.maybe,.dpc-b.red{color:#7a4a00;white-space:normal;background:#f5a52429}.dpc-chk{color:#a3171c;flex-basis:100%;align-items:center;gap:6px;margin-top:2px;font-size:13px;font-weight:600;display:inline-flex}.dpc-chk.maybe{color:#7a4a00}.dpc-chk.off{color:var(--muted,#5b6b82);font-weight:400}.dpc-chk input{width:18px;height:18px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dpc-b,:root:not([data-theme=light]) .dpc-chk{color:#ff9ea1}:root:not([data-theme=light]) .dpc-b.maybe,:root:not([data-theme=light]) .dpc-b.red,:root:not([data-theme=light]) .dpc-chk.maybe{color:#fcd58a}}:root[data-theme=dark] .dpc-b,:root[data-theme=dark] .dpc-chk{color:#ff9ea1}:root[data-theme=dark] .dpc-b.maybe,:root[data-theme=dark] .dpc-b.red,:root[data-theme=dark] .dpc-chk.maybe{color:#fcd58a}.ce-pres,.ce-rc{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:14px;margin:10px 0;padding:12px}.ce-pres:has(#ce-pon){background:0 0;border:0;padding:0}.ce-pres #ce-pon{width:100%}.ce-pres-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.ce-pr{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 36px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.ce-pr small{grid-column:1/-1}.ce-pr input.miss{border-color:#e5484d}.ce-pres .nt-b.sm,.ce-pr .nt-b.sm{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);cursor:pointer;color:inherit;place-items:center;height:36px;display:grid;border-radius:50%!important;width:36px!important;min-height:0!important;padding:0!important}.ce-pres #ce-padd{width:100%}.ce-rc>b{margin-bottom:6px;display:block}@media (width<=600px){.ce-pr{grid-template-columns:minmax(0,1fr) 36px}.ce-pr input[data-pc]{grid-area:2/1/auto/2}}.nu-q{max-width:520px;margin:0 0 10px}.nu-g{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5b6b82);margin:18px 0 8px;font-size:15px}.nu-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.nu-c{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:16px;min-width:0;padding:12px 14px;display:block!important}.nu-c.chk{border-color:color-mix(in srgb,#f5a524 55%,var(--line,#e3e8ef))}.nu-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.nu-h h3{margin:0;font-size:17px}.nu-h .nt-b.sm,.nu-er .nt-b.sm{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);cursor:pointer;color:inherit;flex:none;place-items:center;height:36px;display:grid;border-radius:50%!important;width:36px!important;min-height:0!important;padding:0!important}.nu-ph{margin:8px 0 4px;padding:0;list-style:none}.nu-ph li{border-top:1px dashed var(--line,#e3e8ef);justify-content:space-between;gap:10px;padding:5px 0;font-size:14.5px;display:flex}.nu-ph li:first-child{border-top:0}.nu-ph span{color:var(--muted,#5b6b82);min-width:0}.nu-ph a{white-space:nowrap;color:var(--blue,#1e62db);font-weight:600;text-decoration:none}.nu-x{margin:4px 0;font-size:14px}.nu-er{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;gap:6px;margin-bottom:6px;display:grid}.push-st{background:var(--soft,#f1f5fa);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 0;padding:8px 12px;display:flex}.push-st.ok{background:#2bb67324}.push-st.bad{background:#f5a52429}.push-st .wa-btn{width:auto!important}.nu-ph li{padding:0}.nu-call{color:inherit;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 2px;text-decoration:none;transition:background-color .15s;display:flex}.nu-call span{color:var(--muted,#5b6b82);flex:1;min-width:0}.nu-call b{white-space:nowrap;color:var(--blue,#1e62db);font-weight:600}.nu-ic{background:#2bb67329;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:15px;font-style:normal;display:grid}.nu-call:hover{background:var(--soft,#f1f5fa)}.nu-call:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){.nu-ic{display:none}}.cc-in{position:relative}.cc-ops{gap:6px;margin-top:6px;display:none}.cc-ops button{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);color:inherit;cursor:pointer;height:40px;font:600 20px/1 Jost,system-ui,sans-serif;border-radius:12px!important;width:44px!important;min-height:0!important;padding:0!important}.cc-ops button:active{transform:scale(.95)}@media (pointer:coarse){.cc-in:focus-within .cc-ops,.cc-in.ops-on .cc-ops{display:flex}}.cc-ops button.hit{background:var(--brand,#2563eb);color:#fff;border-color:#0000}.cc2 .cc-in{display:block}.cc2 .cc-f .cc-in .cc-eq{top:23px}.cc-allb{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cc-allb .cc-allbtn{width:100%}@media (pointer:coarse){.cc-allb{grid-template-columns:1fr}.cc-allb #cc-aph{display:none}}#cc-aphb:not(:empty){border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:14px;margin-top:10px;padding:12px}.cn-att.on{color:#fff;background:#e5484d;border-color:#e5484d;animation:1.4s ease-in-out infinite cnpulse}@keyframes cnpulse{50%{box-shadow:0 0 0 6px #e5484d40}}@media (prefers-reduced-motion:reduce){.cn-att.on{animation:none}}.att-flags ul{margin:8px 0 0;padding:0;list-style:none}.att-flags li{border-top:1px solid var(--line,#e3e8ef);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.att-flags li small{color:#b45309;display:block}.af-b{gap:6px;display:flex}.sp-qrgo{box-shadow:0 0 0 4px #3ddc9773!important}.tr-line2{fill:none;stroke:#e8853d;stroke-width:2px;stroke-dasharray:5 4}.tr-lg{align-items:center;gap:6px;margin-left:10px;font-size:12.5px;display:inline-flex}.tr-lg i{background:var(--blue,#1e62db);border-radius:2px;width:14px;height:3px;display:inline-block}.tr-lg i.b{background:#e8853d}.rf-list{gap:12px;display:grid}.rf-c{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:16px;padding:12px 14px}.rf-c.off{opacity:.7}.rf-h{justify-content:space-between;align-items:center;gap:8px;display:flex}.rf-g{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 12px;margin-top:8px;display:grid}.rf-wd>div,.rf-who{flex-wrap:wrap;gap:6px;display:flex}.chip-c{align-items:center;display:inline-flex}.chip-c input{opacity:0;pointer-events:none;position:absolute}.chip-c span{border:1px solid var(--line,#e3e8ef);cursor:pointer;background:var(--surface,#fff);border-radius:999px;padding:6px 12px;font-size:14px}.chip-c input:checked+span{background:var(--blue,#1e62db);color:#fff;border-color:var(--blue,#1e62db)}.chip-c input:focus-visible+span{outline:2px solid var(--blue,#1e62db);outline-offset:2px}.rf-h .nt-b.sm{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);cursor:pointer;color:inherit;place-items:center;height:36px;display:grid;border-radius:50%!important;width:36px!important;min-height:0!important;padding:0!important}.vb-bar{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(calc(-50% + var(--dx,0px)));z-index:2147483000;color:#fff;background:#0a1b3d;border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 32px);min-height:52px;padding:8px 10px 8px 16px;font-size:15px;display:flex;position:fixed;box-shadow:0 12px 32px -8px #00000073}.vb-dot{background:#ff4d4f;border-radius:50%;flex:none;width:12px;height:12px;animation:1.1s ease-in-out infinite vbp}@keyframes vbp{50%{opacity:.35}}.vb-t{font-variant-numeric:tabular-nums;min-width:38px}.vb-h{color:#c9d7ef;font-size:13.5px}.vb-up{color:#3ddc97;flex-direction:column;align-items:center;font-size:18px;line-height:1;display:flex}.vb-up small{font-size:10px}.vb-live{white-space:nowrap;text-overflow:ellipsis;color:#9fb3d1;max-width:34vw;font-size:13px;overflow:hidden}.vb-live:empty{display:none}.vb-bar button{cursor:pointer;border:0;font:600 14px Jost,system-ui,sans-serif;border-radius:999px!important;width:auto!important;min-height:38px!important;padding:0 14px!important}.vb-x{color:#fff;background:#ffffff1f}.vb-ok{color:#04261a;background:#3ddc97}.cn-att svg,.cn-mic svg{display:block}.cn-mic.on{color:#fff!important;background:#e5484d!important;border-color:#e5484d!important}.cn-mic,.cn-att{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media (prefers-reduced-motion:reduce){.vb-dot{animation:none}}.search .q-mic{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);color:var(--ink,#0a1b3d);cursor:pointer;transition:transform .14s var(--d3-ease);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:none;place-items:center;height:38px;display:grid;border-radius:50%!important;width:38px!important;min-height:0!important;padding:0!important}.search .q-mic:active{transform:scale(.95)}.search .q-mic svg{color:inherit;flex:none;width:18px;height:18px;display:block}.search .q-mic.on{color:#fff;background:#e5484d;border-color:#e5484d}.search-res .q-sec{letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#5b6b82);margin:0;padding:10px 12px 4px;font:600 11px/1.2 Jost,system-ui,sans-serif}.search-res hr.q-sep{border:0;border-top:6px solid var(--soft,#f1f5fa);margin:0}.search-res .q-cmd button{background:color-mix(in srgb,var(--d3-b1)7%,transparent);grid-template-columns:28px minmax(0,1fr);align-items:center}.search-res .q-cmd button .q-when{background:var(--d3-b1);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.search-res .q-cmd button[disabled]{opacity:.6;cursor:not-allowed}.search-res .q-cmd button[disabled] .q-when{background:var(--line-2,#cbd5e1)}.search-res .q-who{flex-direction:column;gap:2px;min-width:0;display:flex}.cmd-c .cmd-k{letter-spacing:.05em;text-transform:uppercase;color:var(--d3-b1);margin:0;font:600 12px Jost,system-ui,sans-serif}.cmd-days{gap:6px;margin:8px 0 10px;padding:0;list-style:none;display:grid}.cmd-days li{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:12px;padding:8px 10px}.cmd-pick{gap:8px;margin:8px 0;display:grid}.cmd-pick .btn{text-align:left;justify-content:flex-start;width:100%}#dlg-body{position:relative}.dlg-x{z-index:3;border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);color:var(--ink,#0a1b3d);cursor:pointer;transition:transform .14s var(--d3-ease);place-items:center;height:40px;display:grid;position:absolute;top:2px;right:2px;border-radius:50%!important;width:40px!important;min-height:0!important;padding:0!important}.dlg-x:active{transform:scale(.95)}.dlg-x svg{display:block}.dlg-x~.recap-title,.dlg-x~h2:first-of-type{padding-right:48px}.cn-th{position:relative}.cn-thst{color:#fff;background:#0a1b3dc7;border-radius:999px;padding:1px 6px;font:600 10px/1.5 Jost,system-ui,sans-serif;position:absolute;bottom:22px;left:4px}.cn-thst.ok{background:#0f7b4f}@media (prefers-reduced-motion:reduce){.search .q-mic,.dlg-x{transition:none}}.ce-wait{gap:6px;margin:6px 0 10px;display:grid}.cw-h{font-size:14px}.cw-row{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) 40px;align-items:center;gap:6px;display:grid}.cw-row input,.cw-row select{min-height:42px;margin:0}.cw-x{border:1px solid var(--line,#e3e8ef);background:var(--soft,#f1f5fa);color:inherit;cursor:pointer;height:40px;border-radius:50%!important;width:40px!important;min-height:0!important;padding:0!important}.cw-add{width:100%}.cn-wait{color:#8a5a00;margin:4px 0 0;font-size:13px}:root[data-theme=dark] .cn-wait{color:#fcd58a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cn-wait{color:#fcd58a}}@media (width<=560px){.cw-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.cw-row input{grid-column:1/-1}}.ce-ex .actions{margin:8px 0 0}.ce-ok{border-color:#0f7b4f!important}.ce-fatt{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:14px;margin:0 0 10px;padding:8px 12px}.ce-fatt #ce-fbox{margin-top:8px}.cn-inv{border:1px solid var(--line,#e3e8ef);border-radius:14px;margin:0 0 10px;padding:8px 12px}.cn-inv>summary{cursor:pointer;list-style:none}.cn-inv>summary::-webkit-details-marker{display:none}.cn-inv[open]>summary{margin-bottom:8px}.ce-rc2{gap:6px;margin:8px 0 0;display:grid}.rc2-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr) 40px;align-items:center;gap:6px;display:grid}.rc2-row input{min-height:42px;margin:0}@media (width<=560px){.rc2-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px}.rc2-row input:first-child{grid-column:1/-1}}.cn-drvday{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:8px 12px;font-size:14px;display:flex}.cn-drvday.none{background:color-mix(in srgb,#e8a23a 10%,var(--surface,#fff));border-color:#e8a23a}.cn-drvl{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.cn-drvl li{border:1px solid var(--line,#e3e8ef);border-radius:12px;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:8px 10px;display:flex}.cn-stp{margin:0 0 12px}.cn-stg{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.cn-stg .box{margin:0}.prof-h .prof-exp{margin-left:auto}.prof-expm{z-index:5;border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:14px;gap:2px;min-width:230px;padding:8px;display:grid;position:absolute;top:58px;right:12px;box-shadow:0 16px 36px -14px #0a1b3d59}.prof-expm p{margin:6px 6px 2px}.prof-expm button{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;min-height:40px;padding:0 10px}.prof-expm button:hover,.prof-expm button:focus-visible{background:var(--soft,#f1f5fa)}.rl-scr.nw{outline-offset:6px;border-radius:14px;outline:3px solid #e8a23a}.rl-scr.nw #rs-who{color:#b26b00}.cn-test{text-align:center;margin:22px 0 4px}.cn-test a{color:var(--muted,#5b6b82);text-decoration:underline}.cn-zmap{grid-column:1/-1}.cn-zmap svg{background:color-mix(in srgb,var(--d3-b1)4%,var(--surface,#fff));border:1px solid var(--line,#e3e8ef);border-radius:14px;width:100%;max-width:640px;height:auto;margin:0 auto;display:block}.zm-sea{fill:#3d9be92e}.zm-s{fill:#3d7bb9;opacity:.8;font:600 12px Jost,system-ui}.zm-z circle{fill:color-mix(in srgb,var(--d3-b1)55%,transparent);stroke:var(--surface,#fff);stroke-width:2px}.zm-n{fill:#fff;text-anchor:middle;font:700 13px Jost,system-ui}.zm-l{fill:var(--ink,#0a1b3d);text-anchor:middle;paint-order:stroke;stroke:var(--surface,#fff);stroke-width:3px;font:600 12px Jost,system-ui}.zm-st{gap:4px;margin:6px 0 0;padding:0 0 0 18px;font-size:14px;display:grid}.zm-st li span{min-width:60%;display:inline-block}.zm-st li b{float:right}.cla-f{margin:10px 0}.cla-l{gap:6px;display:grid}.cla-r{text-align:left;border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);color:inherit;font:inherit;cursor:pointer;transition:transform .12s var(--d3-ease);border-radius:14px;gap:2px;width:100%;padding:10px 12px;display:grid}.cla-r:active{transform:scale(.99)}.cla-r:hover{background:var(--soft,#f1f5fa)}.cla-r.is-cons{background:color-mix(in srgb,#e8a23a 8%,var(--surface,#fff));border-left:5px solid #e8a23a}.cla-n{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cla-ch{color:#3a2400;background:#e8a23a;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.cla-ch.f{background:var(--soft,#f1f5fa);color:var(--ink,#0a1b3d);border:1px solid var(--line,#e3e8ef)}.cla-r small{display:block}.cn-topr{flex:none;align-items:center;gap:6px;display:flex}.cn-pr{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);color:var(--muted,#5b6b82);cursor:pointer;transition:transform .12s var(--d3-ease);place-items:center;height:32px;display:grid;border-radius:50%!important;width:32px!important;min-height:0!important;padding:0!important}.cn-pr:hover{color:var(--d3-b1)}.cn-pr:active{transform:scale(.94)}.cn-pr svg{display:block}:root[data-theme=dark]{--pop:#1c2c4a;--pop-line:#3b517a;--pop-sh:0 18px 44px #000000b3,0 0 0 1px #ffffff0f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--pop:#1c2c4a;--pop-line:#3b517a;--pop-sh:0 18px 44px #000000b3,0 0 0 1px #ffffff0f}}.more-acts,.t-more-m,.sub-more-m,.sh-pop,.ps-why,.agh-menu,.eco-tip,.prof-expm,.cc-kp,.search-res{background:var(--pop,var(--surface));border-color:var(--pop-line,var(--line));box-shadow:var(--pop-sh,0 12px 32px #081e4629)}.more-acts .btn.ghost,.agh-menu .agh-i,.t-more-m .btn,.sub-more-m .btn{background:0 0}:root[data-theme=dark] .agh-menu .agh-i:hover,:root[data-theme=dark] .more-acts .btn.ghost:hover,:root[data-theme=dark] .search-res [data-qi]:hover,:root[data-theme=dark] .search-res button:hover{background:#ffffff14}:root[data-theme=dark] dialog{background:#13213b;box-shadow:0 40px 90px -30px #000000e6,0 0 0 1px #ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) dialog{background:#13213b;box-shadow:0 40px 90px -30px #000000e6,0 0 0 1px #ffffff14}}:root[data-theme=dark] .tipbox,:root[data-theme=dark] .sh-tip{color:#0b1320;background:#e9eff8}.cc-locked{text-align:center;padding:18px 8px}.cc-locked h3{margin:6px 0}.cc-lk-ic{color:#16a34a;background:#16a34a29;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto;font:700 26px/1 Jost,system-ui,sans-serif;display:grid}.cc-locked .actions{justify-content:center}.cc-credit{color:#92400e;vertical-align:1px;background:#fef3c7;border:1px solid #f59e0b;border-radius:999px;padding:1px 8px;font:600 12px/1.6 Jost,system-ui,sans-serif;display:inline-block}.cc-cl li.is-credit{border-left:3px solid #f59e0b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cc-credit{color:#fcd34d;background:#3a2a06;border-color:#b45309}}:root[data-theme=dark] .cc-credit{color:#fcd34d;background:#3a2a06;border-color:#b45309}.tz-bar{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 10px;display:flex}.tz-nav{align-items:center;gap:6px;display:flex}.tz-t{margin:0;font-size:clamp(18px,4.6vw,26px)}.tz-in{animation:.32s cubic-bezier(.23,1,.32,1) both tzIn}.tz-back-in{animation:.34s cubic-bezier(.23,1,.32,1) both tzBack}@keyframes tzIn{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:none}}@keyframes tzBack{0%{opacity:.4;transform:scale(1.02)}to{opacity:1;transform:none}}.sh-zoom{color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;border-radius:8px;margin-right:2px;padding:2px 5px;font-size:15px;line-height:1}.sh-zoom:hover{opacity:1;background:color-mix(in srgb,currentColor 10%,transparent)}table.mv thead th.mv-hdz{cursor:pointer}table.mv thead th.mv-hdz:hover{background:color-mix(in srgb,var(--brand,#2563eb)14%,transparent)}.tz-day .sh-wrap{max-width:100%}@media (prefers-reduced-motion:reduce){.tz-in,.tz-back-in{animation:none}}.sh-pop-w{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;display:grid}.sh-pop-w>.btn,.sh-pop-until>.btn{white-space:normal;justify-content:center;min-height:44px;margin:0;line-height:1.15}.sh-pop-w [data-pw2=once]{grid-column:1}.sh-pop-w [data-pw2=forever]{grid-area:1/2}.sh-pop-until{border:1px solid var(--line,#e3e8ef);border-radius:12px;grid-column:1/-1;grid-template-columns:auto 1fr;gap:0;overflow:hidden;display:grid!important}.sh-pop-until>.btn{border:0!important;border-right:1px solid var(--line,#e3e8ef)!important;border-radius:0!important}.sh-pop-until input{background:0 0;min-height:44px;border:0!important;border-radius:0!important;width:100%!important;padding:6px 10px!important;font-size:15px!important}.sh-pop-w [data-pw2=forever][hidden]+*{grid-column:1/-1}.sh-pop-f{border-top:1px solid var(--line,#e3e8ef);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:8px;display:flex}@media (width<=640px){.sh-pop{transform-origin:bottom;border-radius:18px;max-height:70vh;padding:14px;bottom:8px;overflow:auto;width:auto!important;top:auto!important;left:8px!important;right:8px!important}.sh-pop-k{gap:6px;grid-template-columns:repeat(3,1fr)!important;display:grid!important}.sh-pop-k .sh-tool{min-height:44px;font-size:14px;width:auto!important;padding:4px!important}}.rl-gnw{flex:220px;align-items:center;min-width:0;max-width:420px;display:inline-flex;position:relative}.rl-gn{font:inherit;color:var(--ink,#0f1b2d);background:0 0;border:1px solid #0000;border-radius:10px;width:100%;margin:0;padding:6px 30px 6px 8px;font-size:16px;font-weight:700;transition:border-color .15s,background-color .15s}.rl-gn:hover{border-color:var(--line-2,#cbd5e2)}.rl-gn:focus{border-color:var(--brand,#2563eb);background:var(--surface,#fff);outline:none}.rl-gpen{color:var(--muted,#5a6a80);pointer-events:none;font-size:14px;position:absolute;right:9px}.rl-gnw.bad .rl-gn{background:#e7a33e14;border-color:#e7a33e}.rl-nbad{flex-basis:100%;order:4;padding-left:44px}#dlg.bk-over{outline:3px dashed var(--brand,#2563eb);outline-offset:-10px}#dlg.bk-over:after{content:"Lascia qui il referto o la ricetta";background:var(--brand,#2563eb);color:#fff;pointer-events:none;z-index:5;border-radius:999px;padding:10px 18px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0f1b2d40}@keyframes bkHit{0%{box-shadow:0 0 #2563eb73}to{box-shadow:0 0 0 14px #2563eb00}}.bk-hit{animation:.7s cubic-bezier(.23,1,.32,1) 2 bkHit}@media (prefers-reduced-motion:reduce){.bk-hit{animation:none}}.cs-more{border:1px solid var(--line,#e3e9f1);background:var(--surface,#fff);border-radius:12px;margin:10px 0 0;padding:8px 12px}.cs-more>summary{cursor:pointer;font-weight:600;list-style:none}.cs-more>summary::-webkit-details-marker{display:none}.cs-ml{margin:6px 0 2px;padding-left:18px}.cs-ml li{margin:3px 0}.cs-mp{border-top:1px dashed var(--line,#e3e9f1);padding:6px 0}.cs-mp:first-of-type{border-top:0}.cs-chips{flex-wrap:wrap;gap:6px;margin:4px 0 0;display:flex}.cs-chips .chip{background:var(--soft,#eaf0fa);border-radius:999px;padding:3px 9px;font-size:12px}.lp-res{gap:10px;margin:10px 0 0;display:grid}.lp-row{border:1px solid var(--line,#e3e9f1);border-radius:12px;align-items:flex-start;gap:12px;padding:10px;display:flex}.lp-row img{object-fit:cover;border-radius:10px;flex:none;width:64px;height:64px}.lp-b{flex:1;min-width:0}.lp-in{flex-wrap:wrap;gap:8px;display:flex}.lp-in input{flex:200px;min-width:0}.ce-addto:empty{display:none}.ce-addto{margin:8px 0 0}.ce-addto .ce-warn{margin:0 0 8px}.ce-opl{border:1px solid var(--line,#e3e9f1);background:var(--surface,#fff);border-radius:14px;padding:10px}.ce-opl-t{margin:0 0 6px;display:block}.ce-opl ul{overscroll-behavior:contain;gap:6px;max-height:300px;margin:0 0 6px;padding:0;list-style:none;display:grid;overflow:auto}.ce-opk{text-align:left;border:1px solid var(--line,#e3e9f1);background:var(--bg,#f4f6fa);color:inherit;font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;transition:transform .15s ease-out,border-color .15s ease-out;display:flex}.ce-opk:active{transform:scale(.98)}.ce-opk:hover{border-color:var(--brand,#2563eb)}.ce-opk.same{border-color:var(--brand,#2563eb);box-shadow:inset 3px 0 0 var(--brand,#2563eb)}.ce-opk>span{flex:1;min-width:0;display:grid}.ce-opk small{color:var(--muted,#5a6a80);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.ce-opk i{flex:none;font-style:normal}.ce-day .chip-b[data-day=a]{border-style:dashed}@media (prefers-reduced-motion:reduce){.ce-opk{transition:none}}.ce-opl-f{justify-content:space-between;align-items:center;gap:10px;display:flex}.ce-opl-f .btn{flex:none;width:auto}.cn-ready .cn-sc2,.cn-sc2{background:var(--soft,#eaf0fa);border-radius:10px;flex-basis:100%;margin:0 0 8px;padding:8px 10px;font-size:13.5px;font-weight:400;line-height:1.4}.cn-sc{color:var(--muted,#5a6a80)}.cn-selbar{border:1px solid var(--line,#e3e9f1);background:var(--surface,#fff);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;display:flex}.cn-selbar .btn{flex:none;width:auto;min-height:40px}.cn-selall{cursor:pointer;align-items:center;gap:8px;min-height:40px;padding:0 6px;font-weight:600;display:inline-flex}.cn-selall input,.cn-sel input{accent-color:var(--brand,#2563eb);cursor:pointer;width:22px;height:22px;margin:0}.cn-selc{color:var(--muted,#5a6a80);margin-left:auto;font-size:13px}.cn-selc:empty{display:none}.cn-selc:empty+.btn{margin-left:auto}.cn-sel{cursor:pointer;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;margin:-8px 2px -8px -8px;display:grid}.cn-sel:hover{background:var(--soft,#eaf0fa)}.cn-card.cn-picked{box-shadow:0 0 0 2px var(--brand,#2563eb)}@media (width<=520px){.cn-selbar #cn-selp{flex:100%}.cn-selc{margin-left:0}}.cn-top>.cn-sel+.cn-who{text-align:left;flex:auto;min-width:0}.cn-sel{width:34px;margin-right:0}.cn-selbar .btn:disabled{opacity:.45;cursor:default;box-shadow:none}.wa-seg{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.wa-opt{margin:0 0 4px}.wa-opt .wa-seg{margin-bottom:8px}#wa-go{text-decoration:none}.cn-qa:has(.cn-qb:nth-child(6)){grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;display:grid!important}.cn-qa:has(.cn-qb:nth-child(6)) .cn-qb{min-width:0}.adk:empty{display:none}.adk{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:-4px 0 10px;font-size:13px;line-height:1.35;display:flex}.adk-ok{color:#15803d;font-weight:600}.adk-w{color:#b45309;font-weight:600}.adk-s{color:var(--muted,#5a6a80)}.adk-l{white-space:nowrap;font-weight:600}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .adk-ok{color:#6ee7a0}:root:not([data-theme=light]) .adk-w{color:#fbbf24}}:root[data-theme=dark] .adk-ok{color:#6ee7a0}:root[data-theme=dark] .adk-w{color:#fbbf24}.cn-acts{background:var(--surface,#fff);border:1.5px solid #f2c94c;border-radius:16px;margin:0 0 12px;padding:12px}.cn-acts h3{margin:0 0 8px;font-size:15px}.cn-act{background:var(--soft,#eaf0fa);border-radius:12px;margin:6px 0 0;padding:8px 10px;font-size:14px}.cn-acts .cn-act+.cn-act{margin-top:8px}.cn-act-q{margin:0 0 4px;font-style:italic}.cn-act-h{color:var(--muted,#5a6a80);margin:0 0 4px;font-size:13px}.cn-act ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cn-act li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.cn-act li>span:first-child{flex:180px;min-width:0}.cn-act li.dn{opacity:.6}.cn-act li small{font-weight:600}.cn-act-b{flex:none;gap:6px;display:flex}.cn-act-b .btn{width:auto;min-height:36px}.cc-b.in+.cn-act{max-width:92%;margin:-2px 0 8px}.moto-r{display:inline-block;transform:scaleX(-1)}.cnl-pace{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.cnl-pace.ok{color:#15803d;background:#16a34a24}.cnl-pace.bad{color:#b45309;background:#d9770624}.chat-b{padding:8px 12px 6px}.chat-meta{text-align:right;opacity:.75;margin-top:3px;font-size:11px;line-height:1.3;display:block;position:static}@media (width>=761px){.chat-wrap{align-items:stretch;height:min(680px,100vh - 330px);min-height:420px}.chat-list{min-height:0;overflow:auto}.chat-th{height:100%;min-height:0;max-height:none}}.chat-b.ch-hl{animation:2s cubic-bezier(.23,1,.32,1) chhl}@keyframes chhl{0%,40%{box-shadow:0 0 0 4px #ffb020d9}to{box-shadow:0 0 #ffb02000}}@media (prefers-reduced-motion:reduce){.chat-b.ch-hl{outline:3px solid #ffb020;animation:none}}.nt-l li{align-items:stretch;gap:4px;display:flex}.nt-l li>button[data-nt]{flex:1;width:auto;min-width:0}.nt-l .nt-del{color:var(--muted,#5b6b82);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:0 0 40px;width:40px;margin:0;padding:0;font-size:15px}.nt-l .nt-del:hover{color:#b42318;background:#b4231814}.nt-l li.nt-gone{opacity:0;transition:opacity .18s ease-out,transform .18s ease-out;transform:translate(24px)}@media (prefers-reduced-motion:reduce){.nt-l li.nt-gone{transition:none}}.av-img{object-fit:contain;border-radius:14px;max-width:100%;max-height:55vh;margin:6px 0 10px;display:block}.dm-l .dm-go{all:unset;box-sizing:border-box;cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:6px;transition:background-color .14s ease-out;display:flex}.dm-l .dm-go:hover,.dm-l .dm-go:focus-visible{background:#0b57d014}.dm-l .dm-go:focus-visible{outline:3px solid #9cc2ff}.sec-alert{box-sizing:border-box;gap:8px;max-width:1200px;margin:10px auto 0;padding:0 16px;display:grid}.sec-alert .sa-i{background:var(--danger-soft,#fdecea);color:var(--danger,#b42318);border:1px solid;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;animation:.22s cubic-bezier(.23,1,.32,1) saIn;display:flex}.sec-alert .sa-ic{flex:none;font-size:18px;line-height:1.3}.sec-alert .sa-t{flex:1;gap:2px;min-width:0;font-size:14px;line-height:1.35;display:grid}.sec-alert .sa-t span{color:var(--ink,#0f1b2d);opacity:.85}.sec-alert .sa-a{flex:none;align-items:center;gap:6px;display:flex}.sec-alert .btn{width:auto}.sec-warn{background:var(--danger-soft,#fdecea);color:var(--danger,#b42318);border:1px solid;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:14px;line-height:1.4}.sec-warn>b{margin:0 0 2px;display:block}.sec-warn ol{color:var(--ink,#0f1b2d);margin:6px 0 0;padding-left:20px}#databox .actions,#sysbox .actions,#secbox .actions{flex-wrap:wrap;gap:8px;display:flex}#databox .actions .btn,#sysbox .actions .btn,#secbox .actions .btn{flex:none;max-width:100%;width:auto!important}@keyframes saIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (width<=640px){.sec-alert{padding:0 10px}.sec-alert .sa-i{flex-wrap:wrap}.sec-alert .sa-a{justify-content:flex-end;width:100%}}@media (prefers-reduced-motion:reduce){.sec-alert .sa-i{animation:none}}.sv-file{color:var(--muted,#5a6a80);overflow-wrap:anywhere;margin:-4px 0 10px}.sv-pw{align-items:center;gap:10px;display:flex}.sv-bar{background:var(--soft,#eaf0fa);border-radius:999px;flex:1;height:10px;overflow:hidden}.sv-bar i{background:var(--brand,#2563eb);transform-origin:0;border-radius:inherit;width:100%;height:100%;transition:transform .2s ease-out;display:block;transform:scaleX(0)}.sv-pct{text-align:right;font-variant-numeric:tabular-nums;min-width:3.2em;font-size:18px}.sv-st{min-height:1.4em;margin:8px 0 2px}.sv-eta{font-variant-numeric:tabular-nums;min-height:1.3em;margin:0 0 8px}@media (prefers-reduced-motion:reduce){.sv-bar i{transition:none}}.ps-bar2{flex-wrap:wrap;gap:10px;margin:0 0 12px;display:flex}.ps-bar2 .f{flex:0 200px;min-width:140px;margin:0}.ps-sub{margin:-4px 0 10px}.ps-tiles{margin-bottom:12px}.ps-sec{margin:10px 0}.ps-sec>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 10px;list-style:none;display:flex}.ps-sec>summary::-webkit-details-marker{display:none}.ps-sec>summary h3{margin:0;font-size:17px}.ps-sec>summary:after{content:"▾";color:var(--muted,#5a6a80);margin-left:auto;transition:transform .2s ease-out}.ps-sec[open]>summary:after{transform:rotate(180deg)}.ps-sec .table-wrap{margin-top:8px}.ps-t td:first-child,.ps-t th:first-child{text-align:left;min-width:180px}.ps-t td:not(:first-child),.ps-t th:not(:first-child){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ps-nm{font-weight:600}.ps-tag{color:#9a5b00;background:#e7a33e29;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:11px;display:inline-block}.ps-res h3{margin:0 0 6px;font-size:17px}.ps-empty p{margin:0 0 8px}.ps-yq{margin:8px 0}@media (width<=640px){.ps-t td:first-child,.ps-t th:first-child{min-width:130px}.ps-sec>summary h3{font-size:16px}.ps-tiles{gap:8px;grid-template-columns:1fr 1fr!important;display:grid!important}.ps-tiles .eco-tile{min-width:0;padding:10px}.ps-tiles .n{font-size:20px}.ps-bar2 .f{flex:140px}}@media (prefers-reduced-motion:reduce){.ps-sec>summary:after{transition:none}}.ps-probe{margin:10px 0 0;padding:12px}.ea-box{margin:0 0 14px;padding:12px}.ea-drop{border:2px dashed var(--line-2,#cbd5e2);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;transition:border-color .15s ease-out,background-color .15s ease-out;display:flex}.ea-drop:hover,.ea-drop:focus-visible{border-color:var(--brand,#2563eb);outline:none}.ea-drop.over{border-color:var(--brand,#2563eb);background:#2563eb12}.ea-drop>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ea-big{font-size:28px;line-height:1}.ea-pick{pointer-events:none;flex:none}.ea-hist{margin:10px 2px 0}.ea-hist>summary{cursor:pointer;font-size:14px;font-weight:600}.ea-l{margin:6px 0 0;padding-left:18px}.ea-l li{margin:4px 0}.ea-card{border:1px solid var(--line,#e3e9f1);border-radius:12px;align-items:flex-start;gap:12px;margin:0 0 10px;padding:12px;display:flex}.ea-card p{margin:2px 0 0}.ea-ic{font-size:28px;line-height:1}.ea-chips{flex-wrap:wrap;gap:6px;margin:6px 0 4px;display:flex}.ea-chips .btn{flex:0 auto}@media (width<=640px){.ea-drop{flex-wrap:wrap;gap:10px;padding:12px}.ea-big{font-size:24px}.ea-drop>div{flex-basis:calc(100% - 40px)}}@media (prefers-reduced-motion:reduce){.ea-drop{transition:none}}.ea-inv{margin:10px 2px 0;font-weight:600;display:inline-block}.ea-act{flex-wrap:wrap;gap:8px;display:flex!important}.ea-act .btn{min-width:0;flex:0 auto!important;width:auto!important}.ea-inv{color:var(--brand,#2563eb);font:inherit;cursor:pointer;text-underline-offset:3px;font-size:14px;text-decoration:underline;background:0 0!important;border:0!important;padding:0!important}.ps-probe .btn{display:inline-flex;width:auto!important}@media (width<=700px){.agc-side{order:3;margin:14px 0 0}.agc .ag.free{flex-wrap:nowrap;align-items:center;gap:10px;padding:6px 10px;display:flex}.agc .ag.free .who{flex:1;min-width:0}.agc .ag.free .ok-exams{display:none}.agc .ag.free .actions{flex-wrap:nowrap;flex:none;gap:6px;margin:0}.agc .ag.free .actions .btn{width:auto;min-height:36px;padding:0 12px;font-size:13px}.agc .ag.free .t{flex:none;min-width:44px}.agc details.more{display:none}}.num-ic{border:1px solid var(--line,#e3e9f1);background:var(--surface,#fff);color:var(--blue,#1d4ed8);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;transition:transform .15s ease-out;display:inline-grid}.num-ic:active{transform:scale(.94)}.sd-hero{position:relative}.sd-hero>.num-ic{position:absolute;top:12px;right:12px}.dh-right{align-items:center;gap:10px;display:flex}.prof-pan .prof-m.pf-think{border-radius:50%;place-items:center;width:56px;max-width:56px;height:56px;min-height:56px;display:grid;padding:0!important}.prof-pan .pf-think:after{border-radius:50%}.pf-wave{display:none}@media (width<=480px){.gest-seg{box-sizing:border-box;max-width:calc(100vw - 32px)}.gest-seg button{padding:7px 10px;font-size:14px}}.it-box{padding:18px}.it-h{margin:0 0 4px;font-size:20px}.it-drop{border:2px dashed var(--line-2,#cbd5e2);background:var(--surface,#fff);border-radius:16px;padding:10px;transition:border-color .15s,background-color .15s}.it-drop.over{border-color:var(--brand,#2563eb);background:var(--soft,#eaf0fa)}.it-drop textarea{resize:vertical;font:inherit;color:var(--ink,#0f1b2d);background:0 0;border:0;outline:0;width:100%;min-height:72px;font-size:16px}.it-act{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.it-act .btn{flex:none}.it-card{background:var(--soft,#eaf0fa);border-radius:14px;margin:12px 0 0;padding:12px 14px;animation:.22s cubic-bezier(.23,1,.32,1) itIn}.it-card p{margin:0}.it-wait{align-items:center;gap:8px;display:flex}.it-alt{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;display:flex}.it-links{flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}@keyframes itIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.it-card{animation:none}}.cnl-moto.has-face{align-items:flex-end;display:inline-flex}.moto-face{object-fit:cover;z-index:1;border:2px solid #fff;border-radius:50%;width:30px;height:30px;margin-bottom:12px;margin-right:-12px;animation:1.2s ease-in-out infinite motoBob;position:relative;box-shadow:0 2px 6px #0f1b2d4d}.cnl-moto.stop .moto-face{animation:none}@keyframes motoBob{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-3px)rotate(4deg)}}.dv-face{object-fit:cover;vertical-align:middle;border-radius:50%;width:28px;height:28px;margin-right:6px}@media (prefers-reduced-motion:reduce){.moto-face{animation:none}}@media (pointer:coarse){.cc-zx{width:32px;height:32px;font-size:14px;top:-10px;right:-10px}.cc-zx:before{content:"";position:absolute;inset:-6px}}.cn-grp{color:#0b3a8c;background:#eaf2ff;border:1px solid #bcd3fb;border-radius:10px;margin:6px 0;padding:8px 10px;font-size:13px;line-height:1.4}.cn-grpc{color:#0b3a8c;background:#eaf2ff}.cn-held{color:#8a5a00;margin:6px 0 0}.ce-itn{color:#6b4600;background:#fff4d6;border-radius:8px;margin:4px 0 0;padding:6px 10px;font-size:13px}.cw-row.cw-new{background:#fff4d6;border-radius:10px;transition:box-shadow .3s ease-out,background-color .3s ease-out;box-shadow:0 0 0 2px #f2b53a}.cn-s1x>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;list-style:none;display:flex}.cn-s1x>summary:before{content:"▸";transition:transform .15s ease-out}.cn-s1x[open]>summary:before{transform:rotate(90deg)}.cn-s1x[open]>summary{margin-bottom:6px}:root[data-theme=dark] .cn-grp,:root[data-theme=dark] .cn-grpc{color:#cfe0ff;background:#14284d;border-color:#2a4c8c}:root[data-theme=dark] .ce-itn,:root[data-theme=dark] .cw-row.cw-new{color:#fce3a6;background:#3a2e10}:root[data-theme=dark] .cn-held{color:#fcd58a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cn-grp,:root:not([data-theme=light]) .cn-grpc{color:#cfe0ff;background:#14284d;border-color:#2a4c8c}:root:not([data-theme=light]) .ce-itn,:root:not([data-theme=light]) .cw-row.cw-new{color:#fce3a6;background:#3a2e10}:root:not([data-theme=light]) .cn-held{color:#fcd58a}}@media (prefers-reduced-motion:reduce){.cn-s1x>summary:before,.cw-row.cw-new{transition:none}}.rl-bkok{color:#17633a;background:#e3f5ea;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.rl-bkq{color:#0b3a8c;font-size:13px;font-weight:600}:root[data-theme=dark] .rl-bkok{color:#9be3b6;background:#12301f}:root[data-theme=dark] .rl-bkq{color:#cfe0ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rl-bkok{color:#9be3b6;background:#12301f}:root:not([data-theme=light]) .rl-bkq{color:#cfe0ff}}.nv-k{letter-spacing:.06em;text-transform:uppercase;color:#2366e8;margin:0;font-size:12px;font-weight:700}.nv-s{margin:12px 0 0}.nv-s h3{margin:0 0 6px;font-size:15px}.nv-s ul{margin:0;padding-left:20px}.nv-s li{margin:0 0 6px;line-height:1.45}.nv-o{color:#5b6b80;margin:14px 0 0}:root[data-theme=dark] .nv-k{color:#8db5ff}:root[data-theme=dark] .nv-o{color:#a9b7c9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nv-k{color:#8db5ff}:root:not([data-theme=light]) .nv-o{color:#a9b7c9}}.uso-sg{--sg-ease:cubic-bezier(.23,1,.32,1);left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;color:#fff;transform-origin:50% 100%;background:#0b1f44;border-radius:24px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;width:min(560px,100vw - 32px);padding:14px 14px 12px 16px;display:grid;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 50px -18px #0a1b3db3}.uso-sg[hidden]{display:none}.uso-sg.in{animation:usoIn .42s var(--sg-ease)both}@keyframes usoIn{0%{opacity:0;transform:translate(-50%)translateY(28px)scale(.96)}to{opacity:1;transform:translate(-50%)}}.uso-sg.out{animation:.22s ease-in both usoOut}@keyframes usoOut{to{opacity:0;filter:blur(3px);transform:translate(-50%)translateY(16px)scale(.97)}}.uso-sg-i{background:linear-gradient(145deg,#2c7bf0,#1849b8);border-radius:16px;place-items:center;width:48px;height:48px;font-size:24px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.uso-sg-t{min-width:0}.uso-sg-t small{letter-spacing:.1em;text-transform:uppercase;color:#7fb2ff;font-size:11px;font-weight:700;display:block}.uso-sg-t b{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 1px;font-size:17px;line-height:1.2;display:block;overflow:hidden}.uso-sg-t em{-webkit-line-clamp:2;color:#b9c7e2;-webkit-box-orient:vertical;font-size:13px;font-style:normal;line-height:1.25;display:-webkit-box;overflow:hidden}.uso-sg-go{color:#04281a;white-space:nowrap;cursor:pointer;transition:transform .16s var(--sg-ease),background .2s ease;background:#3ddc97;border:0;border-radius:16px;padding:14px 16px;font:700 15px/1 inherit}.uso-sg-go:active{transform:scale(.96)}.uso-sg.done .uso-sg-go{background:#fff}.uso-sg-x{grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:2px;display:flex}.uso-sg-x button{color:#9fb1d1;cursor:pointer;background:0 0;border:0;min-height:32px;padding:6px 0;font:600 13px inherit}.uso-sg-x button:hover{color:#fff}.uso-sg-bar{background:#ffffff1f;height:3px;position:absolute;bottom:0;left:0;right:0}.uso-sg-bar i{transform-origin:0;background:#3ddc97;height:100%;animation:14s linear both usoBar;display:block}@keyframes usoBar{to{transform:scaleX(0)}}.uso-sh{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.uso-sh[hidden]{display:none}.uso-sh-t{color:#5b6b80;margin-right:4px;font-size:13px;font-weight:600}:root[data-theme=dark] .uso-sg{background:#1b2b4a}:root[data-theme=dark] .uso-sh-t{color:#a9b7c9}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .uso-sg{background:#1b2b4a}:root:not([data-theme=light]) .uso-sh-t{color:#a9b7c9}}@media (prefers-reduced-motion:reduce){.uso-sg.in,.uso-sg.out{animation:none}.uso-sg-bar i{animation:none;transform:none}}@media (width<=720px){.uso-sg{bottom:calc(84px + env(safe-area-inset-bottom))}}.prof-pan .prof-m.pf-think{margin:16px 0 16px 14px;overflow:visible;box-shadow:0 0 16px 2px #3ddc974d,0 0 6px #5b8def40}.prof-pan .pf-think:before{background:conic-gradient(from 0deg,#3ddc9700 0 55%,#3ddc97f2 72%,#5b8deff2 86%,#5b8def00 100%);border-radius:50%;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2.5px),#000 calc(100% - 2px))}.prof-pan .pf-think:after{inset:2px}.prof-pan .pf-steps.pf-live2{-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}.prof-pan.hp-pan{background:#0a1b3df7}.dash-grid~.dash-rxw,.dash-grid~.dash-week{margin-top:14px}.more-acts.open>[hidden]{display:none!important}.rxw-n{color:#fff;background:#e5484d;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-grid}.rxw-n[hidden]{display:none}.dlg-rxw .att{flex-direction:column;gap:12px;display:flex}.rxw-h{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.rxw-h .recap-title{margin:0}.rxw-k{letter-spacing:.12em;text-transform:uppercase;color:var(--blue,#1e62db);margin:0 0 2px;font-size:12px;font-weight:700}.rxw-shot{text-align:left;color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e62db,#0a1b3d);border:0;border-radius:20px;align-items:center;gap:14px;width:100%;padding:16px 18px;transition:transform .16s cubic-bezier(.23,1,.32,1);display:flex;box-shadow:0 14px 30px -14px #1e62dbb3}.rxw-shot:active{transform:scale(.98)}.rxw-shot b{font-size:17px;display:block}.rxw-shot small{opacity:.8;margin-top:2px;font-size:13px;display:block}.rxw-cam{background:#ffffff24;border-radius:16px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:24px;display:grid}.rxw-q input{border-radius:999px;width:100%;min-height:46px;padding:0 16px;font-size:16px}.rxw-list{flex-direction:column;gap:10px;display:flex}.rxw-empty{color:var(--muted,#5b6b86);text-align:center;border:1px dashed var(--line,#dce3ee);border-radius:16px;margin:6px 0;padding:18px 8px}.rxw-it{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:18px;padding:12px 14px}.rxw-it.ord{border-color:#e5484d73;box-shadow:inset 3px 0 #e5484d}.rxw-it.done{opacity:.72}.rxw-t{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rxw-t b{font-size:16px}.rxw-dpc{letter-spacing:.06em;color:#1e62db;background:#1e62db1f;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:700}.rxw-hand{font-size:14px}.rxw-w{color:var(--muted,#5b6b86);margin:2px 0 8px;font-size:13.5px}.rxw-bar{background:color-mix(in srgb,var(--muted,#5b6b86)18%,transparent);border-radius:999px;height:6px;position:relative;overflow:hidden}.rxw-bar i{background:linear-gradient(90deg,#3ddc97,#1e62db);border-radius:999px;position:absolute;inset:0 auto 0 0}.rxw-it.ord .rxw-bar i{background:linear-gradient(90deg,#f5a524,#e5484d)}.rxw-bar em{background:var(--surface,#fff);width:2px;position:absolute;top:0;bottom:0}.rxw-s{margin:6px 0 8px;font-size:13.5px}.rxw-a{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;display:grid}.rxw-a .btn{white-space:normal;text-align:center;justify-content:center;min-width:0;padding-left:6px;padding-right:6px;line-height:1.15}@media (width<=560px){.rxw-a .btn{min-height:46px;font-size:13.5px}.rxw-a.n4,.rxw-a.n2{grid-template-columns:1fr 1fr}.rxw-a.n3{grid-template-columns:1.7fr 1fr 1fr}}.rxw-t{flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.rxw-tt{flex:auto;min-width:0;line-height:1.3}.rxw-tt b{font-size:16px}.rxw-tt .rxw-dpc{vertical-align:2px;white-space:nowrap;display:inline-block}.rxw-edb.btn{white-space:nowrap;flex:none;min-height:40px;padding:0 12px}.toast .toast-undo{white-space:nowrap;flex:none}.rxw-f{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dash-rxw .rxw-dh{justify-content:space-between;align-items:center;gap:10px;display:flex}.dash-rxw h3{margin:0}.dash-rxw .rxw-dn{margin:6px 0}.dash-rxw .rxw-dl{margin:0;padding-left:18px}.dash-rxw .rxw-dl li{margin:3px 0}.dpc-b.rxw-b{color:#8a5a00;background:#f5a5242e}@media (prefers-reduced-motion:reduce){.rxw-shot{transition:none}}.rv-sum{background:var(--surface-2,#f1f5fb);border-radius:18px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 12px;padding:14px 16px;display:flex}.rv-sum span{font-weight:600}.rv-sum b{margin-left:auto;font-size:22px}.rv-sum small{color:var(--muted,#5b6b86);flex-basis:100%}.rv-g>summary{cursor:pointer;align-items:center;list-style:none}.rv-g>summary::-webkit-details-marker{display:none}.rv-ch{color:var(--muted,#5b6b86);margin-left:6px;font-size:24px;line-height:1;transition:transform .2s cubic-bezier(.23,1,.32,1)}.rv-g[open] .rv-ch{transform:rotate(90deg)}.rv-b{border-top:1px solid var(--line,#e3e8ef);margin:10px 0 0}.rv-i{border-bottom:1px solid var(--line,#e3e8ef);padding:10px 0}.rv-l{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rv-i .actions{margin:6px 0 0}.rv-a{margin:10px 0 0}.rv-sum~.cn-card .cn-amt{white-space:nowrap;margin-left:auto}.rv-sum~.cn-card .actions{flex-wrap:wrap;gap:8px;display:flex}.rv-sum~.cn-card .actions>*{white-space:nowrap;flex:auto}.ab-k{color:var(--muted,#5b6b86);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:12px;font-weight:700}.ab-k small{text-transform:none;letter-spacing:0;font-weight:500}.ab-days,.ab-slots{flex-wrap:wrap}.ab-days [role=radio]{flex:40%}.ab-slots [role=radio]{flex:30%}.dash-hero.dh2{background:radial-gradient(120% 90% at 0 0,#1e62db 0,#173b7a 45%,#0a1b3d 100%);position:relative;overflow:hidden}.dash-hero.dh2:before{content:"";pointer-events:none;background:radial-gradient(circle,#3ddc9752,#0000 65%);border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;right:-70px}.dash-hero.dh2 .dh-date b{color:#fff}.dh-next{color:#fff;background:#ffffff14;border:1px solid #ffffff24;border-radius:20px;grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px;margin:14px 0 0;padding:12px 12px 12px 14px;transition:transform .22s cubic-bezier(.23,1,.32,1),opacity .22s;display:grid;position:relative}.dh-next[hidden]{display:none}.dh-next.out{opacity:0;transform:translateY(6px)scale(.98)}.dn-i{background:linear-gradient(145deg,#2c7bf0,#1849b8);border-radius:14px;place-items:center;width:44px;height:44px;font-size:22px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1f}.dn-t{min-width:0}.dn-t small{letter-spacing:.08em;text-transform:uppercase;color:#7fb2ff;white-space:nowrap;font-size:11px;font-weight:700;display:block}.dn-t b{margin:3px 0 2px;font-size:18px;line-height:1.2;display:block}.dn-t em{-webkit-line-clamp:2;color:#b9c7e2;-webkit-box-orient:vertical;font-size:13px;font-style:normal;line-height:1.25;display:-webkit-box;overflow:hidden}.dn-go{color:#04281a;cursor:pointer;white-space:nowrap;background:#3ddc97;border:0;border-radius:14px;padding:13px 14px;font:700 15px/1 inherit;transition:transform .16s cubic-bezier(.23,1,.32,1),background .2s}.dn-no{color:#9fb1d1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:32px;height:32px;font-size:16px}.dn-no:hover{color:#fff;background:#ffffff1a}.dh-sc{scrollbar-width:none;align-items:center;gap:8px;margin:12px -18px 0;padding:0 18px 2px;display:flex;overflow-x:auto}.dh-sc::-webkit-scrollbar{display:none}.dh-sc[hidden]{display:none}.dh-sct{letter-spacing:.06em;text-transform:uppercase;color:#7fb2ff;flex:none;font-size:12px;font-weight:700}.dh-scb{color:#fff;white-space:nowrap;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff29;border-radius:999px;flex:none;padding:9px 14px;font:600 14px inherit;transition:transform .16s cubic-bezier(.23,1,.32,1),background .2s}.dh-scb:hover{background:#ffffff2e}.dh-scb:active{transform:scale(.96)}.dash-mossa h3{align-items:baseline;gap:8px;display:flex}.dmo-l{margin:0;padding:0;list-style:none}.dmo-i{opacity:0;animation:.36s cubic-bezier(.23,1,.32,1) forwards dmoIn;animation-delay:calc(var(--i,0)*45ms + .12s);transform:translateY(8px)}@keyframes dmoIn{to{opacity:1;transform:none}}.dmo-i button{border:0;border-bottom:1px solid var(--line,#e3e8ef);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:10px;grid-template-columns:30px 1fr auto auto;align-items:center;gap:10px;width:100%;padding:10px 4px;transition:background .15s,transform .16s cubic-bezier(.23,1,.32,1);display:grid}.dmo-i:last-child button{border-bottom:0}@media (hover:hover){.dmo-i button:hover{background:var(--surface-2,#f1f5fb)}}.dmo-i button:active{transform:scale(.99)}.dmo-ic{background:var(--surface-2,#f1f5fb);border-radius:10px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.dmo-t{min-width:0}.dmo-t b{font-size:15px;line-height:1.25;display:block}.dmo-t small{color:var(--muted,#5b6b86);font-size:13px;display:block}.dmo-at{color:var(--muted,#5b6b86);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.dmo-ch{color:var(--muted,#5b6b86);font-size:20px;line-height:1}@media (width>=1024px){.dmo-l{columns:2;column-gap:24px}.dmo-i{break-inside:avoid}}@media (prefers-reduced-motion:reduce){.dmo-i{opacity:1;animation:none;transform:none}}:root[data-theme=dark] .dh-next{background:#ffffff0f}.fo-fab{right:22px;bottom:calc(104px + env(safe-area-inset-bottom,0px));z-index:60;cursor:pointer;background:linear-gradient(145deg,#2c7bf0,#1849b8);border:0;border-radius:50%;place-items:center;width:56px;height:56px;transition:transform .2s cubic-bezier(.23,1,.32,1);display:grid;position:fixed;box-shadow:0 14px 30px -10px #0a1b3d8c}.fo-fab svg{width:28px;height:28px}.fo-fab:after{content:"";pointer-events:none;border:2px solid #3ddc97bf;border-radius:50%;position:absolute;inset:-4px}.fo-fab:active{transform:scale(.94)}.fo-fab:hover{transform:translateY(-2px)}body.chat-open .fo-fab{display:none}@media (width<=720px){.fo-fab{right:18px;bottom:calc(164px + env(safe-area-inset-bottom,0px));width:52px;height:52px;transition:transform .2s cubic-bezier(.23,1,.32,1),bottom .32s cubic-bezier(.23,1,.32,1)}body.fab-off .fo-fab{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.fo-fab svg{width:26px;height:26px}.fo-tip{right:80px;bottom:calc(168px + env(safe-area-inset-bottom,0px))}}.fo-tip{right:88px;bottom:calc(110px + env(safe-area-inset-bottom,0px));z-index:60;color:#fff;background:#0a1b3d;border-radius:16px 16px 4px;max-width:220px;padding:10px 14px;font-size:14px;transition:opacity .35s,transform .35s;animation:.4s cubic-bezier(.23,1,.32,1) both foTip;position:fixed;box-shadow:0 14px 30px -12px #00000080}.fo-tip b{font-size:15px;display:block}.fo-tip.out{opacity:0;transform:translateY(6px)}@keyframes foTip{0%{opacity:0;transform:translate(10px)}}.fo-wait{text-align:center;padding:10px 0 4px}.fo-orb{background:radial-gradient(circle at 35% 30%,#7fb2ff,#1e62db 60%,#0a1b3d);border-radius:50%;width:64px;height:64px;margin:0 auto 14px;animation:1.6s ease-in-out infinite foOrb;box-shadow:0 0 #1e62db59}@keyframes foOrb{0%,to{transform:scale(1);box-shadow:0 0 #1e62db59}50%{transform:scale(1.06);box-shadow:0 0 0 16px #1e62db00}}.fo-bar{background:var(--surface-2,#f1f5fb);border-radius:6px;max-width:320px;height:6px;margin:14px auto 0;overflow:hidden}.fo-bar i{background:linear-gradient(90deg,#1e62db,#3ddc97);border-radius:6px;height:100%;transition:width .3s cubic-bezier(.23,1,.32,1);display:block}.dlg-fo,.dlg-fo #dlg-body{padding:0}.fo-sh{padding:14px 18px 20px}@media (width<=720px){.dlg-fo{border-radius:26px 26px 0 0;max-height:96dvh;margin-top:auto}}.fo-top{margin:0 0 6px}.fo-k{letter-spacing:.1em;text-transform:uppercase;color:var(--blue,#1e62db);margin:0 0 2px;font-size:12px;font-weight:700}.fo-sum{flex-wrap:wrap;gap:6px;margin:6px 0 0;display:flex}.fo-pill{white-space:nowrap;color:#1e62db;background:#e6eefc;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:13px;font-weight:600;display:inline-flex}.fo-pill.ok{color:#17633a;background:#e3f5ea}.fo-pill.warn{color:#92400e;background:#fef3c7}.fo-pill.bad{color:#b42318;background:#fde7e4}.fo-pill.vio{color:#6d28d9;background:#efe7fd}.fo-pill.vet{color:#0f766e;background:#ddf5f1}.fo-pill.mut{background:var(--surface-2,#f1f5fb);color:var(--muted,#5b6b86)}.fo-pill.b{color:#1e62db;background:#e6eefc}.fo-grp{border:1px solid var(--line,#e3e8ef);border-radius:22px;margin:12px 0;padding:12px 14px;animation:.4s cubic-bezier(.23,1,.32,1) both foIn}@keyframes foIn{0%{opacity:0;transform:translateY(10px)}}.fo-grp:nth-child(3){animation-delay:60ms}.fo-grp:nth-child(4){animation-delay:.12s}.fo-gh{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.fo-gh h3{margin:0;font-size:20px}.fo-gh .mono{color:var(--muted,#5b6b86);font-family:ui-monospace,monospace;font-size:12px}.fo-doc{border-top:1px solid var(--line,#e3e8ef);padding:12px 0 6px}.fo-doc:first-of-type{border-top:0}.fo-dh{justify-content:space-between;align-items:center;gap:8px;display:flex}.fo-thumb{border:1px solid var(--line,#e3e8ef);cursor:zoom-in;background:#fff;border-radius:8px;width:40px;height:52px;padding:0;overflow:hidden}.fo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.fo-pills{flex-wrap:wrap;gap:6px;margin:6px 0 0;display:flex}.fo-do{color:#fff;background:#0a1b3d;border-radius:18px;margin:10px 0;padding:12px 14px}.fo-do small{letter-spacing:.1em;text-transform:uppercase;color:#7fb2ff;font-size:11px;font-weight:700;display:block}.fo-do p{margin:3px 0 0;font-size:16px;font-weight:600;line-height:1.3}.fo-do.bad{background:#7a1d14}.fo-do.bad small{color:#ffc7c0}.fo-do.warn{background:#5b3a05}.fo-do.warn small{color:#ffe2a3}.fo-drug{border:1px solid var(--line,#e3e8ef);border-radius:18px;margin:8px 0;padding:12px 14px}.fo-drug .t{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.fo-drug .t b{font-size:16px;line-height:1.25}.fo-drug .t b small{color:var(--muted,#5b6b86);font-size:13px;font-weight:500;display:block}.fo-lb{color:var(--muted,#5b6b86);text-transform:uppercase;letter-spacing:.06em;margin:10px 0 2px;font-size:11px;font-weight:700}.fo-tx{margin:0;font-size:15px}.fo-chk{margin:4px 0 0;padding:0;list-style:none}.fo-chk li{border-bottom:1px solid var(--line,#e3e8ef);gap:10px;padding:6px 0;font-size:14px;display:flex}.fo-chk li:last-child{border:0}.fo-chk .i{text-align:center;flex:0 0 20px;width:20px}.fo-chk.sm li{padding:4px 0;font-size:13px}.fo-row{flex-wrap:wrap;gap:8px;margin:10px 0 0;display:flex}.fo-tk{background:var(--surface-2,#f1f5fb);border-radius:16px;justify-content:space-between;align-items:center;margin:10px 0 0;padding:12px 14px;display:flex}.fo-tk b{font-size:22px}.fo-tk small{color:var(--muted,#5b6b86)}:root{--bc-gap-y:14px;--bc-gap-x:24px;--bc-pad:10px 12px;--bc-cap-gap:6px;--bc-radius:12px}.fo-codes{align-items:flex-end;gap:var(--bc-gap-y)var(--bc-gap-x);flex-wrap:wrap;margin:16px 0 0;padding:0;display:flex;container-type:inline-size}.fo-code{text-align:center;padding:var(--bc-pad);border-radius:var(--bc-radius);cursor:copy;flex-direction:column;flex:none;align-items:center;min-width:0;margin:0;transition:background .15s;display:flex}.fo-code:hover{background:var(--surface-2,#f1f5fb)}.fo-code svg{max-width:100%;height:auto;display:block}.fo-code figcaption{margin-top:var(--bc-cap-gap);color:var(--muted,#5b6b86);flex-direction:column;gap:2px;font-size:11.5px;line-height:1.3;display:flex}.fo-code figcaption b{letter-spacing:.06em;color:var(--ink,#0b1a33);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;display:block}@container (width<=560px){.fo-codes>.fo-code{flex:1 1 calc(50% - var(--bc-gap-x)/2)}.fo-codes>.fo-code.is-cf{flex-basis:100%}.fo-codes>.fo-code.is-cf svg{width:100%!important}}.fo-q{margin:14px 0 0;font-weight:700}.fo-seg{grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0;display:grid}.fo-seg [role=radio]{border:1.5px solid var(--line,#e3e8ef);color:inherit;cursor:pointer;background:#fff;border-radius:14px;min-height:50px;font:700 15px inherit;transition:transform .16s cubic-bezier(.23,1,.32,1),background .2s,color .2s}.fo-seg [role=radio][aria-checked=true]{background:var(--blue,#1e62db);border-color:var(--blue,#1e62db);color:#fff}.fo-seg [role=radio]:active{transform:scale(.97)}.fo-cl{margin:6px 0 0}.fo-foot{background:#fff;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:10px 0 4px;display:flex;position:sticky;bottom:0}.fo-foot .btn{flex:auto}.fo-note{margin:8px 0 0}.fo-zoom{z-index:200;cursor:zoom-out;background:#05070ceb;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.fo-zoom img{border-radius:8px;max-width:100%;max-height:100%}.fo-zoom button{color:#fff;background:#ffffff26;border:0;border-radius:50%;width:42px;height:42px;font-size:18px;position:absolute;top:14px;right:14px}:root[data-theme=dark] .fo-seg [role=radio]{background:var(--surface,#182238)}:root[data-theme=dark] .fo-ask{background:#ffffff0d}:root[data-theme=dark] .fo-pt.on{color:#fdba74}:root[data-theme=dark] .fo-foot{background:var(--surface,#182238)}:root[data-theme=dark] .fo-thumb{background:#000}@media (prefers-reduced-motion:reduce){.fo-orb,.fo-grp,.fo-tip{animation:none}}.dlg-fo-pc{width:min(1180px,100vw - 40px);max-width:none}.fo-pc{grid-template-columns:380px 1fr;min-height:min(78vh,760px);display:grid}.fo-left{background:var(--surface-2,#f1f5fb);border-right:1px solid var(--line,#e3e8ef);border-radius:var(--r-dlg,26px)0 0 var(--r-dlg,26px);flex-direction:column;padding:18px 18px 14px;display:flex}.fo-right{max-height:min(78vh,760px);padding:18px 24px 24px;overflow:auto}.fo-right .fo-grp{border:0;margin:0;padding:0;animation:none}.fo-plist{flex:auto;gap:8px;max-height:46vh;margin:12px 0 0;display:grid;overflow:auto}.fo-pi{text-align:left;border:1.5px solid var(--line,#e3e8ef);font:inherit;color:inherit;cursor:grab;background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:transform .16s cubic-bezier(.23,1,.32,1),border-color .15s,box-shadow .15s;display:flex}.fo-pi.on{border-color:var(--blue,#1e62db);box-shadow:0 10px 24px -14px #1e62db99}.fo-pi:active{transform:scale(.98)}.fo-pi.drag{opacity:.5}.fo-pn b{font-size:16px;display:block}.fo-pn small{color:var(--muted,#5b6b86);font-size:12.5px}.fo-pst{color:#17633a;background:#e3f5ea;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.fo-pst.warn{background:#fef3c7}.fo-pst.bad{background:#fde7e4}.fo-kh{color:var(--muted,#5b6b86);margin:10px 0 0;font-size:12.5px}.fo-kh kbd{border:1px solid var(--line,#e3e8ef);background:#fff;border-radius:6px;padding:1px 6px;font:600 12px ui-monospace,monospace}.fo-left .fo-foot{background:0 0;margin-top:10px;position:static}.fo-left .fo-foot .btn{flex:44%}.fo-zones{background:#fff;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 0;padding:8px 0 2px;display:grid;position:sticky;bottom:0}.fo-zone{border:2px dashed var(--line,#e3e8ef);color:var(--muted,#5b6b86);border-radius:16px;place-items:center;min-height:58px;font-size:14px;font-weight:700;transition:background .15s,border-color .15s,transform .15s;display:grid}.fo-zone.hot{border-color:var(--blue,#1e62db);color:var(--blue,#1e62db);background:#e6eefc;transform:scale(1.02)}body.fo-dragging .fo-zone{border-color:#9fb1d1}.fo-drop{z-index:150;backdrop-filter:blur(3px);pointer-events:none;background:#0a1b3d8c;place-items:center;display:none;position:fixed;inset:0}.fo-drop.on{animation:.2s ease-out both foFade;display:grid}@keyframes foFade{0%{opacity:0}}.fo-dz{color:#fff;text-align:center;background:#0a1b3dc7;border:3px dashed #7fb2ff;border-radius:32px;place-items:center;width:min(760px,100vw - 40px);min-height:360px;padding:30px;animation:.35s cubic-bezier(.23,1,.32,1) both foDz;display:grid}@keyframes foDz{0%{opacity:0;transform:scale(.96)}}.fo-dz h2{color:#fff;margin:14px 0 6px;font-size:34px}.fo-dz p{color:#cfdcf5;margin:0;font-size:18px}.fo-dzi{background:linear-gradient(145deg,#2c7bf0,#1849b8);border-radius:50%;place-items:center;width:92px;height:92px;margin:0 auto;display:grid;box-shadow:0 0 0 10px #3ddc972e}.fo-dzk{font-weight:700;color:#3ddc97!important;margin-top:10px!important}:root[data-theme=dark] .fo-left{background:var(--surface,#182238)}:root[data-theme=dark] .fo-pi{background:var(--surface-2,#1f2a44)}:root[data-theme=dark] .fo-zones{background:var(--surface,#182238)}:root{--ease-out3:cubic-bezier(.23,1,.32,1);--ease-io3:cubic-bezier(.77,0,.175,1)}.pane-in{animation:paneIn3 .26s var(--ease-out3)both}@keyframes paneIn3{0%{opacity:0;transform:translateY(8px)}}.st-in{animation:stIn .36s var(--ease-out3)both;animation-delay:calc(var(--si,0)*38ms)}@keyframes stIn{0%{opacity:0;transform:translateY(10px)}}dialog#dlg[open]{animation:none}@keyframes dlgIn{0%{opacity:0;transform:translateY(10px)scale(.97)}}@media (width<=720px){dialog#dlg[open]{animation:none}@keyframes dlgUp{0%{opacity:0;transform:translateY(24px)}}}dialog#dlg[open]::backdrop{animation:.25s ease-out both bdIn}@keyframes bdIn{0%{opacity:0}}.chip,.chip-b,.dq,.dash-t,.cn-qb,.dh-scb,.todo-chip,[role=tab],.oag-seg button,.cn-tabs button,.opt,.tl,.dmo-i button,.rv-g>summary,.bd-x,.hp-chip,.fo-pi{transition:transform .16s var(--ease-out3),background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.chip:active,.chip-b:active,.dq:active,.dash-t:active,.cn-qb:active,.dh-scb:active,.todo-chip:active,[role=tab]:active,.oag-seg button:active,.cn-tabs button:active,.opt:active,.dmo-i button:active,.hp-chip:active{transform:scale(.96)}@media (hover:hover){.dash-t:hover,.dq:hover{transform:translateY(-2px)}.cn-card:hover{box-shadow:0 14px 30px -18px #0a1b3d59}.cn-card{transition:box-shadow .2s ease,transform .2s var(--ease-out3)}}.more-acts.open{transform-origin:100% 0}.toast{transition:opacity .2s var(--ease-out3),transform .26s var(--ease-out3)!important}.badge,.cn-n,.tab-badge{transition:transform .2s var(--ease-out3)}.badge.bump,.cn-n.bump{animation:bump .4s var(--ease-out3)}@keyframes bump{30%{transform:scale(1.25)}}.sk-line,.sk-title{position:relative;overflow:hidden}.sk-line:after,.sk-title:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.3s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.pane-in,.st-in,dialog#dlg[open],dialog#dlg[open]::backdrop,.more-acts.open,.badge.bump,.cn-n.bump,.sk-line:after,.sk-title:after{animation:none!important}.st-in{opacity:1;transform:none}}@media (width<=720px){body:not(.fab-off) .hp-fab{transition:transform .52s cubic-bezier(.34,1.56,.64,1) 80ms,opacity .22s 80ms}body.fab-off .hp-fab:not([aria-expanded=true]){opacity:0;pointer-events:none;transition:transform .2s cubic-bezier(.4,0,1,1),opacity .16s;transform:translateY(70%)scale(.55)}.hp-fab.hp-hello>svg{transform-origin:50% 70%;animation:.8s cubic-bezier(.23,1,.32,1) .2s both hpHello}@keyframes hpHello{0%{transform:rotate(0)}25%{transform:rotate(-12deg)}50%{transform:rotate(9deg)}75%{transform:rotate(-4deg)}to{transform:rotate(0)}}}@media (prefers-reduced-motion:reduce){body:not(.fab-off) .hp-fab,body.fab-off .hp-fab:not([aria-expanded=true]){transition:opacity .15s}body.fab-off .hp-fab:not([aria-expanded=true]){transform:none}.hp-fab.hp-hello>svg{animation:none}}@property --dna{syntax:"<angle>";inherits:false;initial-value:0deg}.dh-next{isolation:isolate;-webkit-backdrop-filter:blur(8px);touch-action:pan-y;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#ffffff1a,#ffffff0a);border:0;grid-template-columns:52px 1fr auto auto;padding:14px 10px 14px 14px;animation:.5s cubic-bezier(.23,1,.32,1) both dnIn}@keyframes dnIn{0%{opacity:0;transform:translateY(10px)scale(.97)}}.dh-next:before{content:"";border-radius:inherit;background:conic-gradient(from var(--dna),#3ddc97,#4c8dff 30%,#a47cff 55%,#3ddc97 80%);-webkit-mask-composite:xor;pointer-events:none;padding:1.5px;animation:7s linear infinite dnSpin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.dh-next:after{content:"";border-radius:inherit;background:conic-gradient(from var(--dna),#3ddc97,#4c8dff,#a47cff,#3ddc97);filter:blur(22px);opacity:.22;z-index:-1;pointer-events:none;animation:7s linear infinite dnSpin;position:absolute;inset:8px}@keyframes dnSpin{to{--dna:360deg}}.dn-i{background:radial-gradient(120% 120% at 30% 20%,#4c8dff,#1849b8 70%);border-radius:17px;width:52px;height:52px;font-size:25px;position:relative;box-shadow:0 10px 22px -10px #4c8dffe6,inset 0 0 0 1px #ffffff2e}.dn-i:after{content:"";border:2px solid #3ddc978c;border-radius:20px;animation:2.4s ease-in-out infinite dnBreath;position:absolute;inset:-4px}@keyframes dnBreath{0%,to{opacity:0;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}.dn-i span{animation:3.2s ease-in-out infinite dnBob;display:block}@keyframes dnBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.dn-t small{letter-spacing:.1em;color:#8ff0c4;align-items:center;gap:6px;font-size:11px;display:inline-flex}.dn-t small:before{content:"";background:#3ddc97;border-radius:50%;width:7px;height:7px;animation:1.8s ease-out infinite dnDot;box-shadow:0 0 #3ddc97b3}@keyframes dnDot{0%{box-shadow:0 0 #3ddc97b3}to{box-shadow:0 0 0 9px #3ddc9700}}.dn-t b{letter-spacing:-.01em;font-size:19px}.dn-go{color:#04281a;background:linear-gradient(145deg,#4be3a4,#22b87a);border-radius:50%;place-items:center;width:52px;height:52px;padding:0;transition:transform .18s cubic-bezier(.23,1,.32,1),box-shadow .2s;display:grid;box-shadow:0 10px 22px -10px #3ddc97e6}.dn-go svg{transition:transform .2s cubic-bezier(.23,1,.32,1)}@media (hover:hover){.dn-go:hover svg{transform:translate(3px)}}.dn-go:active{transform:scale(.92)}.dh-next.done .dn-go{background:#fff}.dn-no{opacity:.7;align-self:start;width:28px;height:28px;font-size:13px}.dh-sc{scroll-snap-type:x mandatory;gap:10px;padding-bottom:4px}.dh-sct{letter-spacing:.08em;color:#8ff0c4;align-self:center;font-size:12px}.dh-tile{scroll-snap-align:start;text-align:left;opacity:0;animation:.42s cubic-bezier(.23,1,.32,1) forwards dtIn;animation-delay:calc(var(--i,0)*60ms + .18s);background:linear-gradient(135deg,#ffffff1f,#ffffff0d);border:1px solid #ffffff24;border-radius:18px;grid-template-columns:34px auto;align-items:center;gap:10px;padding:9px 14px 9px 9px;display:grid;transform:translate(14px)}@keyframes dtIn{to{opacity:1;transform:none}}.dt-i{background:#4c8dff47;border-radius:12px;place-items:center;width:34px;height:34px;font-size:18px;display:grid;box-shadow:inset 0 0 0 1px #ffffff24}.dt-t b{white-space:nowrap;font-size:14px;font-weight:600;line-height:1.2;display:block}.dt-t small{color:#a9bbda;white-space:nowrap;margin-top:1px;font-size:11.5px;font-weight:500;display:block}@media (hover:hover){.dh-tile:hover{background:linear-gradient(135deg,#ffffff2e,#ffffff14)}}.dh-tile:active{transform:scale(.96)}.uso-sg{isolation:isolate}.uso-sg:before{content:"";border-radius:inherit;background:conic-gradient(from var(--dna),#3ddc97,#4c8dff 30%,#a47cff 55%,#3ddc97 80%);-webkit-mask-composite:xor;pointer-events:none;padding:1.5px;animation:7s linear infinite dnSpin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.uso-sg-i{background:radial-gradient(120% 120% at 30% 20%,#4c8dff,#1849b8 70%);position:relative}.uso-sg-i:after{content:"";border:2px solid #3ddc978c;border-radius:19px;animation:2.4s ease-in-out infinite dnBreath;position:absolute;inset:-4px}.uso-sg-t small{color:#8ff0c4}@media (prefers-reduced-motion:reduce){.dh-next,.dh-next:before,.dh-next:after,.dn-i:after,.dn-i span,.dn-t small:before,.uso-sg:before,.uso-sg-i:after{animation:none}.dh-tile{opacity:1;animation:none;transform:none}}.dh-sc{margin:14px 0 0;padding:0;display:block;overflow:visible}.dh-sct{margin:0 0 8px;display:block}.dh-scr{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -18px;padding:0 18px 4px;scroll-padding:0 18px;display:flex;overflow-x:auto}.dh-scr::-webkit-scrollbar{display:none}.nt-rep{border:1px solid var(--line,#d6dfeb);background:var(--surface,#fff);color:var(--blue,#004aad);cursor:pointer;white-space:nowrap;border-radius:999px;align-self:center;min-height:36px;padding:6px 12px;font:600 13px inherit}.avr-l{flex-direction:column;gap:8px;margin:12px 0 8px;padding:0;list-style:none;display:flex}.avr-l:empty{display:none}.avr-i{background:var(--surface-2,#f1f5fb);border-radius:14px 14px 14px 4px;max-width:85%;padding:8px 12px}.avr-i.me{background:#1e62db24;border-radius:14px 14px 4px;align-self:flex-end}.avr-i b{color:var(--muted,#56677e);font-size:12px;display:block}.avr-i span{display:block}.avr-i small{color:var(--muted,#56677e);margin-top:2px;font-size:11px;display:block}.avr-new{animation:.32s cubic-bezier(.23,1,.32,1) both avrIn}@keyframes avrIn{0%{opacity:0;transform:translateY(8px)scale(.97)}}.avr-q{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.avr-f{gap:8px;display:flex}.avr-f input{flex:1;min-width:0;min-height:44px}.avr-f.is-busy{opacity:.6;pointer-events:none}@media (prefers-reduced-motion:reduce){.avr-new{animation:none}}.fo-ask{background:var(--surface-2,#f1f5fb);border-radius:16px;margin:12px 0 4px;padding:12px 14px}.fo-ask .fo-q{margin:0}.fo-ask .fo-q+.fo-seg{margin-top:8px}.fo-ask .fo-seg+.fo-q,.fo-ask .fo-cl+.fo-q{margin-top:14px}.fo-seg.big [role=radio]{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:64px;font-size:16px;line-height:1.1;display:flex}.fo-seg.big i{font-size:22px;font-style:normal}.fo-seg [role=radio][aria-checked=true]{box-shadow:0 8px 20px -10px #004aad99}.fo-pt{color:var(--muted,#56677e);margin:4px 0 0;font-size:13px}.fo-pt b{color:inherit;font-weight:600}.fo-pt.on{color:#9a3412}.fo-pt.on b{font-weight:700}.fo-foot{grid-template-columns:1fr;gap:8px;display:grid}.fo-foot .btn{flex:none;width:100%}.fo-foot2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fo-foot2:empty{display:none}.fo-foot #fo-go{min-height:56px;font-size:17px}.fo-foot #fo-x{min-height:44px}.fo-left .fo-foot{display:flex}.cc-cl li.cc-grp{display:block}.cc-gd summary{cursor:pointer;align-items:center;gap:8px 12px;min-height:44px;list-style:none;display:flex}.cc-gd summary::-webkit-details-marker{display:none}.cc-gd summary>span{flex-direction:column;flex:160px;display:flex}.cc-gd summary>span:after{content:"";display:none}.cc-gd summary .cc-am{padding-right:18px;position:relative}.cc-gd summary .cc-am:after{content:"›";color:var(--muted,#56677e);transition:transform .2s cubic-bezier(.23,1,.32,1);position:absolute;top:50%;right:0;transform:translateY(-50%)rotate(90deg)}.cc-gd[open] summary .cc-am:after{transform:translateY(-50%)rotate(-90deg)}.cc-sub{border-left:2px solid var(--line,#e3e8ef);margin:4px 0 8px 10px!important;padding-left:10px!important}.cc-sub li{padding:6px 0}.cc-sub li:first-child{border-top:0}.cc-gd[open] .cc-sub li{animation:.3s cubic-bezier(.23,1,.32,1) both dmoIn}.cc-grp>.btn{justify-content:center;width:100%;min-height:46px;margin-top:6px}@media (prefers-reduced-motion:reduce){.cc-gd[open] .cc-sub li{animation:none}}.avr-qb{border:1px solid var(--line,#d6dfeb);background:var(--surface,#fff);color:var(--ink,#0d1a2d);cursor:pointer;border-radius:999px;min-height:40px;padding:8px 14px;font:500 14px inherit;transition:transform .16s cubic-bezier(.23,1,.32,1),background .2s}.avr-qb:active{transform:scale(.96)}@media (hover:hover){.avr-qb:hover{background:var(--surface-2,#f1f5fb)}}.ma-h,.ma-row,.ma-foot{display:none}@media (width<=700px){.more-acts{gap:2px;min-width:min(300px,100vw - 24px);max-height:calc(100dvh - 90px);padding:10px;overflow:auto}.more-acts .ma-h{letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#56677e);margin:8px 4px 4px;font-size:11px;font-weight:700;display:block}.more-acts .ma-h:first-child{margin-top:2px}body header.site .more-acts>.btn,body.g4 header.site .more-acts>.btn.ghost{text-align:left;gap:10px;width:100%;min-height:44px;padding:0 10px;font-size:15px;font-weight:500;border:0!important;justify-content:flex-start!important}.more-acts.open{overscroll-behavior:contain;flex-direction:column;align-items:stretch;max-height:calc(100dvh - 96px);overflow-y:auto;display:flex!important}.more-acts.open>[hidden]{display:none!important}.more-acts>.btn>span[aria-hidden]{text-align:center;width:26px;font-size:17px}.more-acts .ma-row{grid-template-columns:1fr 1fr;gap:6px;width:100%;margin:8px 0 2px;display:grid!important}body header.site .more-acts .ma-row .btn,body.g4 header.site .more-acts .ma-row .btn.ghost{border-radius:12px;width:100%;min-height:40px;padding:0 8px;font-size:13px;border:1px solid var(--line,#d6dfeb)!important;justify-content:center!important}.more-acts .ma-foot{border-top:1px solid var(--line,#d6dfeb);align-items:center;gap:8px;width:100%;margin:6px 0 0;padding-top:8px;display:flex!important}.more-acts .ma-foot .who-in{text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#56677e);flex:1;min-width:0;font-size:13px;overflow:hidden}.more-acts .ma-foot .call{width:auto;padding:6px 10px;font-size:13px}.more-acts .ma-foot #logout{width:auto;min-height:36px;padding:0 12px;font-size:13.5px}.more-acts.open{transform-origin:100% 0}@keyframes maIn{0%{opacity:0;transform:scale(.94)translateY(-6px)}}}@media (prefers-reduced-motion:reduce){.more-acts.open{animation:none}}.fo-fab,.hp-fab{transition:transform .32s cubic-bezier(.23,1,.32,1),opacity .22s,bottom .32s cubic-bezier(.23,1,.32,1)}body.fab-away .fo-fab,body.fab-away .hp-fab:not([aria-expanded=true]),body.menu-on .fo-fab,body.menu-on .hp-fab:not([aria-expanded=true]){opacity:0;pointer-events:none;transform:translate(130%)scale(.9)!important}.fab-tab{right:0;bottom:calc(120px + env(safe-area-inset-bottom,0px));z-index:59;background:var(--blue,#1e62db);color:#fff;opacity:0;cursor:pointer;border:0;border-radius:14px 0 0 14px;place-items:center;width:30px;height:48px;transition:transform .28s cubic-bezier(.23,1,.32,1),opacity .2s;display:grid;position:fixed;transform:translate(110%);box-shadow:0 8px 20px -8px #0a1b3d80}.fab-tab.on{opacity:.92;transform:none}body.menu-on .fab-tab{opacity:0;transform:translate(110%)}@media (prefers-reduced-motion:reduce){.fo-fab,.hp-fab,.fab-tab{transition:opacity .15s}body.fab-away .fo-fab,body.fab-away .hp-fab:not([aria-expanded=true]){transform:none!important}}body[data-tab=cruscotto] .fo-fab:after{animation:2.4s cubic-bezier(.23,1,.32,1) infinite foRing}body[data-tab=cruscotto] .fo-fab:before{content:"";pointer-events:none;border:2px solid #3ddc97e6;border-radius:50%;animation:2.4s cubic-bezier(.23,1,.32,1) infinite foRing2;position:absolute;inset:-4px}body[data-tab=cruscotto] .fo-fab{animation:2.4s ease-in-out infinite foGlow}@keyframes foRing{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}@keyframes foRing2{0%{opacity:.8;transform:scale(1)}70%{opacity:0;transform:scale(1.7)}to{opacity:0;transform:scale(1.7)}}@keyframes foGlow{0%,to{box-shadow:0 14px 30px -10px #0a1b3d8c,0 0 #3ddc9700}50%{box-shadow:0 14px 30px -10px #0a1b3d8c,0 0 24px 2px #3ddc9759}}@media (prefers-reduced-motion:reduce){body[data-tab=cruscotto] .fo-fab,body[data-tab=cruscotto] .fo-fab:after,body[data-tab=cruscotto] .fo-fab:before{animation:none}}h3.has-fold{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}h3.has-fold>.fold-b{background:var(--surface-2,#f1f5fb);color:var(--muted,#56677e);cursor:pointer;border:0;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;margin-left:auto;transition:transform .22s cubic-bezier(.23,1,.32,1),background .2s;display:grid}.box.folded>h3.has-fold>.fold-b svg,.box.folded .oag-dh>h3.has-fold>.fold-b svg{transform:rotate(-90deg)}h3.has-fold>.fold-b svg{transition:transform .22s cubic-bezier(.23,1,.32,1)}.box.folded>:not(h3):not(.oag-dh):not(header):not(.dash-hd),.box.folded>.oag-dh>:not(h3):not(.fold-b),.box.folded>header>:not(h3):not(.fold-b),.box.folded>.dash-hd>:not(h3):not(.fold-b){display:none!important}.box.folded{padding-bottom:12px}.box.folded>h3,.box.folded>.oag-dh{margin-bottom:0}.fold-row{gap:8px;align-items:center!important}.fold-row>h3{flex:auto;min-width:0}.fold-row>.fold-b{background:var(--surface-2,#f1f5fb);color:var(--muted,#56677e);cursor:pointer;border:0;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;padding:0;transition:transform .22s cubic-bezier(.23,1,.32,1),background .2s;display:grid}.fold-row>.fold-b svg{transition:transform .22s cubic-bezier(.23,1,.32,1)}.box.folded .fold-row>.fold-b svg{transform:rotate(-90deg)}.ll-hid{display:none!important}.ll-more{border:1px dashed var(--line,#d6dfeb);color:var(--blue,#004aad);cursor:pointer;background:0 0;border-radius:12px;width:100%;margin:6px 0 0;padding:10px;font:600 14px inherit;display:block}.sh-how{margin:0 0 6px}.scn .scn-note{margin:-4px 0 12px}.scn-day{margin:0 0 14px}.scn-h{text-transform:capitalize;align-items:baseline;gap:8px;margin:0 0 6px;font-size:14px;display:flex}.scn-h small{text-transform:none;font-weight:500}.scn-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.scn-r{border:1px solid var(--line,#d6dfeb);background:var(--surface,#fff);border-radius:14px;align-items:center;gap:10px;padding:6px 8px 6px 6px;display:flex}.scn-th{background:var(--surface-2,#f1f5fb);cursor:zoom-in;border:0;border-radius:10px;flex:0 0 56px;place-items:center;width:56px;height:56px;margin:0;padding:0;display:grid;overflow:hidden}.scn-th img{object-fit:cover;width:100%;height:100%;display:block}.scn-pdf{color:var(--muted,#56677e);letter-spacing:.06em;font:700 12px/1 inherit}.scn-i{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scn-i b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.scn-i small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.scn-a{flex:none;gap:4px;display:flex}.scn-a .btn{min-height:36px;margin:0;padding:6px 10px}.scn-del{width:36px;padding:6px 0!important}@media (width<=560px){.scn-a{flex-direction:column}.scn-i small{white-space:normal}}.ps-d:not([open])>.ps-why{display:none}.gest-seg,.adm.adm-wide>.gest-seg:not(#x-seg){scrollbar-width:none;max-width:100%;overflow-x:auto}@media (width<=640px){.ps-why{width:min(340px,100vw - 32px);min-width:0;left:auto;right:0}}.rip-l li.rip-u{box-shadow:inset 3px 0 #f59e0b}.rip-ub{color:#92400e;background:#fef3c7;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rip-ub{color:#fde68a;background:#4a3a06}}:root[data-theme=dark] .rip-ub{color:#fde68a;background:#4a3a06}.fo-plist{align-content:start}.fo-pi{align-items:flex-start}.fo-pn{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fo-pds{border-top:1px solid var(--line,#e3e8ef);flex-direction:column;margin-top:6px;display:flex}.fo-pdr{border-bottom:1px solid var(--line,#e3e8ef);align-items:center;gap:6px;padding:7px 0;font-size:14px;display:flex}.fo-pdr:last-child{border-bottom:0}.fo-pdr b{font-weight:700}.fo-pdr i{color:#17633a;white-space:nowrap;background:#e3f5ea;border-radius:999px;margin-left:auto;padding:3px 9px;font-size:12px;font-style:normal;font-weight:700}.fo-pdr i.w{color:#92400e;background:#fef3c7}.fo-pdr i.s{color:#b42318;background:#fde7e4}.fo-right{padding-bottom:0}.fo-zones{background:var(--surface,#fff);box-shadow:0 -14px 18px -10px var(--surface,#fff);z-index:2;padding:12px 0 18px}.fo-dzh{opacity:.85;margin:14px 0 0;font-size:14px}.fo-dzh kbd{background:#ffffff24;border-radius:6px;padding:1px 7px;font:600 13px ui-monospace,monospace;display:inline-block}.fo-left .fo-foot #fo-more,.fo-left .fo-foot #fo-arch,.fo-left .fo-foot #fo-x{flex:28%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fo-pi{background:var(--surface-2,#16233f);color:var(--ink,#e9eff8)}:root:not([data-theme=light]) .fo-pi.on{background:#1b2f57;border-color:#6fa6f5}:root:not([data-theme=light]) .fo-seg [role=radio]{background:var(--surface-2,#16233f);color:var(--ink,#e9eff8)}:root:not([data-theme=light]) .fo-seg [role=radio][aria-checked=true]{color:#fff;background:#2f6bef;border-color:#2f6bef}:root:not([data-theme=light]) .fo-left{background:var(--surface,#0e1930)}:root:not([data-theme=light]) .fo-zones{background:var(--surface,#0e1930);box-shadow:0 -14px 18px -10px var(--surface,#0e1930)}:root:not([data-theme=light]) .fo-pdr i{color:#bfebd0;background:#173b28}:root:not([data-theme=light]) .fo-pdr i.w{color:#fde68a;background:#4a3a06}:root:not([data-theme=light]) .fo-pdr i.s{color:#ffc9c2;background:#4a1d19}:root:not([data-theme=light]) .fo-pill.ok{color:#bfebd0;background:#173b28}:root:not([data-theme=light]) .fo-pill.warn{color:#fde68a;background:#4a3a06}:root:not([data-theme=light]) .fo-pill.bad{color:#ffc9c2;background:#4a1d19}:root:not([data-theme=light]) .fo-pill.vio{color:#dccbff;background:#33215c}:root:not([data-theme=light]) .fo-pill.b,:root:not([data-theme=light]) .fo-pill{color:#cfe0ff;background:#1b2f57}:root:not([data-theme=light]) .fo-pill.vet{color:#b7f0e8;background:#103b37}:root:not([data-theme=light]) .fo-pill.mut{background:var(--surface-2,#16233f);color:var(--muted,#a3b2c8)}}:root[data-theme=dark] .fo-pi{background:var(--surface-2,#16233f);color:var(--ink,#e9eff8)}:root[data-theme=dark] .fo-pi.on{background:#1b2f57;border-color:#6fa6f5}:root[data-theme=dark] .fo-seg [role=radio]{background:var(--surface-2,#16233f);color:var(--ink,#e9eff8)}:root[data-theme=dark] .fo-seg [role=radio][aria-checked=true]{color:#fff;background:#2f6bef;border-color:#2f6bef}:root[data-theme=dark] .fo-zones{box-shadow:0 -14px 18px -10px var(--surface,#0e1930)}:root[data-theme=dark] .fo-pdr i{color:#bfebd0;background:#173b28}:root[data-theme=dark] .fo-pdr i.w{color:#fde68a;background:#4a3a06}:root[data-theme=dark] .fo-pdr i.s{color:#ffc9c2;background:#4a1d19}:root[data-theme=dark] .fo-pill.ok{color:#bfebd0;background:#173b28}:root[data-theme=dark] .fo-pill.warn{color:#fde68a;background:#4a3a06}:root[data-theme=dark] .fo-pill.bad{color:#ffc9c2;background:#4a1d19}:root[data-theme=dark] .fo-pill.vio{color:#dccbff;background:#33215c}:root[data-theme=dark] .fo-pill.b,:root[data-theme=dark] .fo-pill{color:#cfe0ff;background:#1b2f57}:root[data-theme=dark] .fo-pill.vet{color:#b7f0e8;background:#103b37}:root[data-theme=dark] .fo-pill.mut{background:var(--surface-2,#16233f);color:var(--muted,#a3b2c8)}.dlg-foin .fo-in{flex-direction:column;gap:16px;display:flex}.fo-dzd{cursor:pointer;width:100%;min-height:300px;transition:border-color .2s,background-color .2s;animation:none}.fo-dzd.on{background:#0a283de6;border-color:#3ddc97}.fo-dzb{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.fo-dzb .btn{flex:none;min-width:180px}.fo-dzd .btn.ghost{color:#fff!important;background:#ffffff1a!important;border-color:#ffffff4d!important}.fo-ph h3{margin:0 0 8px;font-size:16px}.fo-inx{justify-content:flex-end;display:flex}.fo-inx .btn{flex:none;min-width:140px}.fo-refb{color:#0b3f8f;background:#e6eefc;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;font-size:14px;display:flex}.fo-refb span{flex:220px}.fo-refb .btn{flex:none}.rb-sint{margin:4px 0 0;font-size:13px;line-height:1.35}.rb-sint b{font-weight:700}.rb-s-rip b,.rb-s-rosso b,.rb-s-nr b{color:#b42318}.rb-s-giallo b{color:#92400e}.rb-s-verde b{color:#17633a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fo-refb{color:#cfe0ff;background:#1b2f57}:root:not([data-theme=light]) .rb-s-rip b,:root:not([data-theme=light]) .rb-s-rosso b,:root:not([data-theme=light]) .rb-s-nr b{color:#ff9b8f}:root:not([data-theme=light]) .rb-s-giallo b{color:#fde68a}:root:not([data-theme=light]) .rb-s-verde b{color:#86efac}}:root[data-theme=dark] .fo-refb{color:#cfe0ff;background:#1b2f57}:root[data-theme=dark] .rb-s-rip b,:root[data-theme=dark] .rb-s-rosso b,:root[data-theme=dark] .rb-s-nr b{color:#ff9b8f}:root[data-theme=dark] .rb-s-giallo b{color:#fde68a}:root[data-theme=dark] .rb-s-verde b{color:#86efac}.okfx{z-index:2147483000;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.okfx-in{background:color-mix(in srgb,var(--surface,#fff)92%,transparent);border-radius:22px;flex-direction:column;align-items:center;gap:10px;padding:22px 28px;animation:.32s cubic-bezier(.23,1,.32,1) both okfxIn;display:flex;box-shadow:0 18px 50px #00000038}.okfx svg{fill:none;stroke-linecap:round;stroke-linejoin:round;width:68px;height:68px}.okfx circle{fill:#16a34a}.okfx path{stroke:#fff;stroke-width:5px;stroke-dasharray:40;stroke-dashoffset:40px;animation:.35s ease-out .15s forwards cnDoneTick}.okfx b{color:var(--text,#111);font-size:1rem}.okfx.okfx-out .okfx-in{opacity:0;transition:opacity .3s ease-out,transform .3s ease-out;transform:scale(.96)}@keyframes okfxIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes cnDoneTick{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.okfx-in,.okfx path{animation:none}.okfx path{stroke-dashoffset:0}}#ce-it{border-color:color-mix(in srgb,var(--accent,#2563eb)55%,var(--line,#ccc));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2563eb)14%,transparent),0 0 16px color-mix(in srgb,var(--accent,#2563eb)18%,transparent)}#ce-it:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#2563eb)30%,transparent),0 0 22px color-mix(in srgb,var(--accent,#2563eb)30%,transparent)}.ce-glow #ce-it{animation:1.1s ease-in-out 2 ceGlow}@keyframes ceGlow{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--accent,#2563eb)35%,transparent),0 0 30px color-mix(in srgb,var(--accent,#2563eb)45%,transparent)}}@media (prefers-reduced-motion:reduce){.ce-glow #ce-it{animation:none}}@media (width<=560px){dialog.dlg-wide,dialog.dlg-route,dialog.dlg-wide.dlg-ce,dialog[class*=dlg-]{left:0;right:0;width:100%!important;max-width:100%!important;margin:auto 0 0!important}}#dlg.dlg-fo .dlg-x{float:right;z-index:6;background:color-mix(in srgb,var(--surface,#fff)82%,transparent);backdrop-filter:blur(10px);height:44px;margin:0 0 -44px;transition:transform .16s ease-out;position:sticky;top:8px;box-shadow:0 4px 14px #0a1b3d29;width:44px!important}#dlg.dlg-fo .dlg-x svg{width:22px;height:22px}.fo-sh .fo-foot{padding:12px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);z-index:4;border-radius:18px 18px 0 0;margin:16px -16px 0;box-shadow:0 -14px 24px -16px #0a1b3d47}:root[data-theme=dark] .fo-sh .fo-foot{background:#13213b;border-top-color:#ffffff1a;box-shadow:0 -14px 24px -14px #000000b3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fo-sh .fo-foot{background:#13213b;border-top-color:#ffffff1a;box-shadow:0 -14px 24px -14px #000000b3}}#tf-act{flex-wrap:wrap;gap:8px;display:flex}#tf-act .btn{flex:40%}.cn-s3 .ce-rxl{gap:8px;margin:8px 0 4px;padding-left:0;list-style:none;display:grid}.cn-s3 .ce-rxl li{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:8px 40px 8px 10px;display:flex;position:relative}.cn-s3 .ce-rxl input[data-k=cf]{flex:2 11em;width:auto;min-width:0}.cn-s3 .ce-rxl input[data-k=p1]{flex:0 0 5.2em;width:auto}.cn-s3 .ce-rxl input[data-k=p2]{flex:7.5em;width:auto;min-width:0}.cn-s3 .ce-rxl input.one{flex:10em;width:auto}.cn-s3 .ce-rxl button[data-rxd]{position:absolute;top:6px;right:4px}.cn-s3 .ce-rxl small{flex-basis:auto;font-size:12.5px}.cn-s3 .ce-rxl .ce-rxdrug{font-size:12.5px;font-weight:600}.cn-s3 .ce-rxl .dpc-chk{margin:0;font-size:12.5px}.cn-s3 .ce-rxl li>span.xs{flex-basis:auto}.ce-prods{margin-top:12px}.cn-s3 .ce-rxl input[data-k=cf]{flex:100%}.cn-s3 .ce-rxl input[data-k=p2]{flex:6em}.cn-s3 .ce-rxl small{flex:auto;margin:0}.cn-s3 .ce-rxl .ce-rxdrug{flex:none}.cn-s3 .ce-rxl li:has(input[data-k=cf][hidden]) input[data-k=p1]{margin-left:0}.cn-s3 .ce-rxl li input[data-k=p1]{min-width:0;flex:0 0 5.4em!important;width:5.4em!important}.cn-s3 .ce-rxl li input[data-k=p2]{min-width:0;flex:7em!important;width:auto!important}@media (width<=640px){.rl-r,.rl-r.bad{grid-template-columns:minmax(0,1fr)!important}.rl-r .rl-a,.rl-r.bad .rl-a{justify-content:flex-start;align-items:center;gap:6px;display:flex;flex-wrap:wrap!important;grid-area:auto/1!important}.rl-r .rl-a .rl-del{margin-left:auto}.rl-f{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important}.rl-f .f:first-child,.rl-r .rl-cfw{grid-column:1/-1}}.rl-cfcalc{margin-left:6px;font-size:12px}.rl-cfw{border:1px dashed var(--line,#e3e8ef);border-radius:12px;margin:8px 0 0;padding:10px}.rl-cfw .cfw-g{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.dash-t{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;padding:10px 14px!important;display:grid!important}.dash-t .dt-i{grid-area:1/1;margin:0!important}.dash-t .dt-n{grid-area:1/2;line-height:1}.dash-t>span:not(.dt-i){grid-area:2/1/auto/-1;line-height:1.25}.dash-t .dt-dot{position:absolute;top:10px;right:10px}.todo-chip.todo-rxw{border-color:color-mix(in srgb,#d97706 45%,var(--line,#e3e8ef))}li.rxw-hot,li.rxw-hot b{color:#b42318}.bd-av{cursor:pointer}.bd-av:hover{background:color-mix(in srgb,var(--accent,#2563eb)5%,transparent)}.bd-rd{color:var(--muted,#5b6b80);font-weight:700}.bd-rd.all{color:#15803d}.bd-rq{margin:0 0 10px;font-style:italic}.bd-rw{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bd-rw h4{margin:0 0 6px;font-size:14px}.bd-rw ul{margin:0;padding-left:18px}.bd-dur .seg{flex-wrap:wrap;gap:6px;display:flex}.bd-dur .seg-b{flex:auto}.sec.disp{box-sizing:border-box;padding-left:16px;padding-right:16px}.disp-h{margin:4px 0 10px;font-size:1.05rem}.disp-days{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin:0 -2px 6px;padding:2px 2px 10px;display:flex;overflow-x:auto}.disp-days::-webkit-scrollbar{display:none}.disp-dc{scroll-snap-align:start;border:1.5px solid var(--line,#e3e8ef);background:var(--surface,#fff);color:inherit;font:inherit;cursor:pointer;border-radius:16px;flex-direction:column;flex:none;align-items:center;gap:1px;min-width:68px;padding:8px 10px;transition:transform .16s ease-out,border-color .16s;display:flex}.disp-dc small{color:var(--muted,#5b6b80);text-transform:capitalize;font-size:12px}.disp-dc b{font-size:22px;line-height:1.1}.disp-dc em{color:#15803d;margin-top:2px;font-size:11px;font-style:normal;font-weight:600}.disp-dc[aria-pressed=true]{background:var(--blue,#1e62db);border-color:var(--blue,#1e62db);color:#fff}.disp-dc[aria-pressed=true] small,.disp-dc[aria-pressed=true] em{color:#fff}.disp-dc:active{transform:scale(.97)}.disp-part{color:var(--muted,#5b6b80);text-transform:uppercase;letter-spacing:.06em;margin:12px 0 6px;font-size:13px;font-weight:700}.disp .disp-times{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;display:grid}.disp .disp-t{text-align:center}.disp-js .disp-day>h2{display:none}.disp-ric>span{flex:100%}.disp-ric button{flex:1 1 0}.disp-price b{text-align:right}.fo-note{margin:10px 0 0;display:block}.fo-note .fo-q{margin:0 0 6px;display:block}.fo-note textarea{border:1px solid var(--line,#d6dfeb);font:inherit;resize:vertical;background:var(--surface,#fff);color:inherit;border-radius:12px;width:100%;min-height:58px;padding:10px 12px;font-size:15px}.fo-note small{margin-top:4px;display:block}#dlg.dlg-nt .nt-h{outline:none;margin-bottom:6px}#dlg.dlg-nt .nt-w{overscroll-behavior:contain;max-height:62vh;margin:0 -4px;padding:0 4px;overflow:auto}#dlg.dlg-nt .nt-sh{letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#5b6b82);align-items:center;gap:8px;margin:12px 2px 6px;font-size:12px;font-weight:700;display:flex}#dlg.dlg-nt .nt-shn{color:#1e62db}.nt-dot{background:#1e62db;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #1e62db26}#dlg.dlg-nt .nt-l{flex-direction:column;gap:6px;max-height:none;display:flex;overflow:visible}#dlg.dlg-nt .nt-l li.nt-i{border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 6px 10px 10px;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .18s ease-out,background-color .2s;display:flex;position:relative}#dlg.dlg-nt .nt-l li.nt-i.un{background:color-mix(in srgb,#1e62db 7%,var(--surface,#fff));border-color:color-mix(in srgb,#1e62db 30%,var(--line,#e3e8ef))}#dlg.dlg-nt .nt-l li.nt-i.un:before{content:"";background:#1e62db;border-radius:0 3px 3px 0;width:3px;position:absolute;top:12px;bottom:12px;left:-1px}#dlg.dlg-nt .nt-ic{background:var(--surface-2,#f1f5fb);border-radius:11px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:19px;display:grid}#dlg.dlg-nt .nt-l li>button.nt-b{text-align:left;color:var(--ink,#0a1b3d);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:3px;min-width:0;padding:0;display:flex}#dlg.dlg-nt .nt-t{-webkit-line-clamp:3;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:15px;line-height:1.35;display:-webkit-box;overflow:hidden}#dlg.dlg-nt .nt-i.un .nt-t{font-weight:600}#dlg.dlg-nt .nt-b small{color:var(--muted,#5b6b82);flex-wrap:wrap;gap:8px;font-size:12.5px;display:flex}#dlg.dlg-nt .nt-go{color:#1e62db;font-weight:600}#dlg.dlg-nt .nt-l .nt-del{background:var(--surface-2,#f1f5fb);color:var(--muted,#5b6b82);border:0;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;margin:2px 0 0;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .15s,color .15s;display:grid;position:relative}#dlg.dlg-nt .nt-l .nt-del:after{content:"";position:absolute;inset:-6px}#dlg.dlg-nt .nt-l .nt-del:active{transform:scale(.9)}@media (hover:hover){#dlg.dlg-nt .nt-l .nt-del:hover{color:#b42318;background:#b423181a}}#dlg.dlg-nt .nt-l li.nt-sw{background:color-mix(in srgb,#b42318 10%,var(--surface,#fff))}#dlg.dlg-nt .nt-l li.nt-gone{opacity:0;transform:translate(-40px)}#dlg.dlg-nt .nt-rep{border:1px solid var(--line,#e3e8ef);color:inherit;background:0 0;border-radius:999px;flex:none;align-self:center;padding:6px 10px;font-size:13px}:root[data-theme=dark] #dlg.dlg-nt .nt-l li.nt-i{background:var(--surface,#131c2e)}:root[data-theme=dark] #dlg.dlg-nt .nt-l li.nt-i.un{background:#16264a;border-color:#2c4a86}:root[data-theme=dark] #dlg.dlg-nt .nt-shn,:root[data-theme=dark] #dlg.dlg-nt .nt-go{color:#7fb0ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #dlg.dlg-nt .nt-l li.nt-i{background:var(--surface,#131c2e)}:root:not([data-theme=light]) #dlg.dlg-nt .nt-l li.nt-i.un{background:#16264a;border-color:#2c4a86}:root:not([data-theme=light]) #dlg.dlg-nt .nt-shn,:root:not([data-theme=light]) #dlg.dlg-nt .nt-go{color:#7fb0ff}:root:not([data-theme=light]) #dlg.dlg-nt .nt-ic,:root:not([data-theme=light]) #dlg.dlg-nt .nt-l .nt-del{background:#ffffff12}}@media (prefers-reduced-motion:reduce){#dlg.dlg-nt .nt-l li.nt-i{transition:none}}.nt-peek{z-index:60;top:calc(env(safe-area-inset-top,0px) + 64px);background:var(--surface,#fff);color:var(--ink,#0a1b3d);font:inherit;text-align:left;cursor:pointer;border:1px solid #1e62db4d;border-radius:16px;align-items:center;gap:10px;max-width:min(92vw,420px);padding:10px 14px 10px 10px;animation:.32s cubic-bezier(.23,1,.32,1) both ntPeek;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 40px -16px #081e4673}.nt-peek .nt-ic{background:#1e62db1a;border-radius:10px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:17px;display:grid}.nt-peek span:last-child{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.3;display:-webkit-box;overflow:hidden}.nt-peek b{letter-spacing:.08em;text-transform:uppercase;color:#1e62db;font-size:11px;display:block}.nt-peek.out{animation:.2s ease-in both ntPeekOut}@keyframes ntPeek{0%{opacity:0;transform:translate(-50%,-12px)scale(.97)}}@keyframes ntPeekOut{to{opacity:0;transform:translate(-50%,-8px)}}:root[data-theme=dark] .nt-peek{color:#e9eff8;background:#16264a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .nt-peek{color:#e9eff8;background:#16264a}}@media (prefers-reduced-motion:reduce){.nt-peek,.nt-peek.out{animation:none}}.chat-del:after{content:"";position:absolute;inset:-10px}.cn-fuel .fd-rt{margin:10px 2px 0}.cn-fuel .fd-add{border:1px solid var(--line,#e3e8ef);border-radius:14px;gap:10px;margin:12px 0 0;padding:12px;display:grid}.cn-fuel .fd-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.cn-fuel .fd-row label:not(.check){flex:140px;gap:4px;font-size:13px;display:grid}.cn-fuel .fd-row input:not([type=checkbox]){width:100%}body.fab-enter .fo-fab,body.fab-enter .hp-fab,body.fab-enter .sfo-fab,body.fab-enter .sp-fab{animation:.5s cubic-bezier(.23,1,.32,1) both fabEnter}body.fab-enter .hp-fab,body.fab-enter .sp-fab{animation-delay:70ms}@keyframes fabEnter{0%{opacity:0;transform:translate(40px)scale(.85)}}.fab-tab:after{content:"";position:absolute;inset:-14px -4px -14px -18px}.fab-tab.nudge{animation:1.5s cubic-bezier(.23,1,.32,1) fabNudge}@keyframes fabNudge{0%,to{transform:none}18%{transform:translate(-7px)}36%{transform:none}54%{transform:translate(-4px)}72%{transform:none}}.fab-tab.nudge svg{animation:1.5s fabNudgeI}@keyframes fabNudgeI{0%,to{opacity:1}30%,60%{opacity:.55}}@media (prefers-reduced-motion:reduce){body.fab-enter .fo-fab,body.fab-enter .hp-fab,body.fab-enter .sfo-fab,body.fab-enter .sp-fab,.fab-tab.nudge,.fab-tab.nudge svg{animation:none}}#dlg.dlg-nt .nt-h:focus,#dlg.dlg-nt .nt-h:focus-visible{box-shadow:none!important;outline:none!important}#dlg.dlg-nt .nt-l li.un span:before{content:none!important}#dlg.dlg-nt .nt-ic,#dlg.dlg-nt .nt-l .nt-del{background:#0a1b3d0f}#dlg.dlg-nt .nt-i.un .nt-ic{background:#1e62db1f}:root[data-theme=dark] #dlg.dlg-nt .nt-ic,:root[data-theme=dark] #dlg.dlg-nt .nt-l .nt-del{background:#ffffff14}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) #dlg.dlg-nt .nt-ic,:root:not([data-theme=light]) #dlg.dlg-nt .nt-l .nt-del{background:#ffffff14}}#hp-x,#prof-exp{position:relative}#hp-x:after,#prof-exp:after{content:"";position:absolute;inset:-8px}.arc-steps{gap:6px;margin:12px 0;padding:0;list-style:none;display:grid}.arc-steps li{color:var(--muted,#5b6b82);grid-template-columns:22px 1fr;align-items:center;column-gap:8px;font-size:14px;display:grid}.arc-steps li small{grid-column:2;font-size:12px}.arc-steps .arc-i{border:2px solid var(--line,#d6dfeb);border-radius:50%;width:16px;height:16px}.arc-steps li.on{color:var(--ink,#0a1b3d)}.arc-steps li.on .arc-i{border-color:#0000 #1e62db #1e62db;animation:.8s linear infinite rcamSpin}.arc-steps li.ok{color:var(--ink,#0a1b3d)}.arc-steps li.ok .arc-i{background:#0f7b4f;border:0;position:relative}.arc-steps li.ok .arc-i:after{content:"✓";color:#fff;text-align:center;font-size:11px;line-height:16px;position:absolute;inset:0}.arc-t th{text-align:left;white-space:nowrap}.arc-t td{vertical-align:top}.arc-warn{background:#b547081a;border-radius:10px;padding:8px 10px}.arc-res{gap:4px;margin:10px 0 0;padding-left:0;list-style:none;display:grid}.arc-hb{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.arc-last.ok{border-left:4px solid #0f7b4f}.arc-last.warn{border-left:4px solid #b54708}.arc-tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px;display:grid}.arc-tile{text-align:left;border:1px solid var(--line,#e3e8ef);background:var(--surface,#fff);color:inherit;font:inherit;border-radius:14px;gap:2px;padding:12px;display:grid}.arc-tile i{font-size:20px;font-style:normal}.arc-tile span{font-weight:600}.arc-tile small{color:var(--muted,#5b6b82)}.arc-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.arc-l{margin:4px 0;padding-left:18px}.arc-l li{margin:3px 0}.arc-q{gap:8px;margin:6px 0 10px;display:flex}.arc-q input{flex:1;min-width:0}@media (prefers-reduced-motion:reduce){.arc-steps li.on .arc-i{animation:none}}svg.c39{background:#fff;border-radius:4px}.sr-rt td.sr-dub{background:color-mix(in srgb,var(--warn,#f2b632)22%,transparent)}.sr-rt td.sr-hum{background:color-mix(in srgb,var(--ok,#2e9e5b)12%,transparent)}.sr-chk{all:unset;cursor:pointer;font:inherit;color:inherit;border-bottom:1px dashed;padding:2px 0}.sr-chk:focus-visible{outline:2px solid var(--blue,#004aad);outline-offset:2px;border-radius:3px}.sr-crop{text-align:center;margin:0 0 10px}.sr-crop canvas{box-shadow:0 0 0 1px var(--line,#e3e8ef);border-radius:8px;max-width:100%;height:auto}.sr-wait{align-items:center;gap:10px;display:flex}.sr-chkbox ul{margin:6px 0 0;padding-left:18px}.rxw-ed{border-top:1px solid var(--line,#7f7f7f40);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:12px;padding-top:12px;display:grid}.rxw-ed .rxw-ew{grid-column:1/-1}.rxw-ef{flex-direction:column;gap:4px;min-width:0;display:flex}.rxw-ef>span{font-size:.82rem;font-weight:600}.rxw-ef input,.rxw-ef textarea{box-sizing:border-box;width:100%}@media (width<=560px){.rxw-ed{grid-template-columns:1fr}}.cn-frigo{margin:6px 0 0;font-size:.92rem}.cn-fr{background:#2b7de924;border-radius:999px;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:2px 8px;display:inline-flex}.cn-frf{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.cn-frf input{min-width:220px}.prof-in .prof-send.prof-mic,.prof-pan .prof-in .prof-send.prof-mic{place-items:center;display:inline-grid}.prof-in .prof-send.tmv-on,.prof-pan .prof-in .prof-send.tmv-on,.prof-in .prof-send.tvc-on,.prof-pan .prof-in .prof-send.tvc-on{color:#fff!important;background:#e5484d!important;border-color:#e5484d!important}.cht-in .cht-b #cm-ok.cm-mic{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;min-height:0;padding:0;display:inline-grid}.cht-in .cht-b #cm-ok.cm-mic.tvc-on{color:#fff!important;background:#e5484d!important}.chat-in #ch-go.chat-one{border-radius:50%;flex:none;place-items:center;width:48px;height:48px;min-height:0;padding:0;display:inline-grid}.chat-in #ch-go.tmv-on{color:#fff!important;background:#e5484d!important;border-color:#e5484d!important}#dlg.dlg-fo .fo-gh{padding-right:52px}html{overscroll-behavior:none}@supports (overflow:clip){html{overflow-x:clip}}.si-pl{overscroll-behavior:contain;gap:6px;max-height:380px;margin:6px 0 4px;display:grid;overflow:auto}.si-pr{background:var(--soft,#eef4ff);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;min-height:40px;padding:8px 10px;display:flex}.si-pr>span{flex-direction:column;min-width:0;display:flex}.si-pr input{flex:none;width:20px;height:20px;margin:2px 0 0}.health .h-warn{background:#fff8e6;border-color:#f2d58c}.health .h-warn .h-dot{background:#b7791f;box-shadow:0 0 0 3px #b7791f2e}.sal-l .sal-go{margin-top:6px;display:block}.sal-l li>div{gap:2px;min-width:0;display:grid}.reg-box .health.sal-l li{border-top:1px solid var(--line);flex-wrap:nowrap;justify-content:flex-start;align-items:flex-start;padding:9px 12px}.reg-box .health.sal-l li.h-warn{border-color:#f2d58c}.reg-box .health.sal-l li.h-bad{border-color:#f2b8b0}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .health .h-warn{background:#2a2410;border-color:#6b5418}:root:not([data-theme=light]) .health .h-warn .h-dot{background:#f0b84a;box-shadow:0 0 0 3px #f0b84a33}}:root[data-theme=dark] .health .h-warn{background:#2a2410;border-color:#6b5418}:root[data-theme=dark] .health .h-warn .h-dot{background:#f0b84a;box-shadow:0 0 0 3px #f0b84a33}.oag-mini li,.dash-oag .oag-mini li{align-items:center;padding:10px 12px}.oag-mini li>.oag-mchk,.dash-oag .oag-mini li>.oag-mchk{margin:-8px -4px -8px -8px}.oag-mini li>span[aria-hidden=true]:first-child{flex:none;justify-content:center;align-items:center;width:24px;font-size:20px;line-height:1;display:flex}.cv-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:0 0 4px;display:flex}.cv-h .conv-sub,.cv-h .imp-chips{margin:0}.cv-t th[scope=row]{text-align:left;white-space:normal;min-width:180px}.cv-t th[scope=row] small{font-size:12px;font-weight:400;display:block}.cv-t td{white-space:nowrap;text-align:right}.cv-t tr.cv-l1 th[scope=row]{padding-left:22px;font-weight:500}.cv-t tr.cv-l2 th[scope=row]{padding-left:40px;font-weight:400}.cv-t td.cv-d.up{color:#17633a;background:#e9f7ef}.cv-t td.cv-d.down{color:#b42318;background:#fdecea}.cv-inc{flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;display:flex}.cv-n{margin:8px 0 0;padding-left:18px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .cv-t td.cv-d.up{color:#9fe3b8;background:#173a27}:root:not([data-theme=light]) .cv-t td.cv-d.down{color:#ffb4ab;background:#3f1d1a}}:root[data-theme=dark] .cv-t td.cv-d.up{color:#9fe3b8;background:#173a27}:root[data-theme=dark] .cv-t td.cv-d.down{color:#ffb4ab;background:#3f1d1a}@media (width<=600px){.cv-t thead{display:none}.cv-t,.cv-t tbody{display:block}.cv-t tr{border-top:1px solid var(--line,#e3e8ef);grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:10px 12px;display:grid}.cv-t tr:first-child{border-top:0}.t-month.cv-t th[scope=row]{grid-column:1/-1;min-width:0;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.t-month.cv-t td{background:0 0;box-shadow:none!important;text-align:left!important;border:0!important;padding:0!important}.t-month.cv-t td:nth-child(2){font-size:17px}.cv-t td:nth-child(4),.cv-t td:nth-child(5){display:none}.t-month.cv-t td:nth-child(3){border-radius:8px;text-align:right!important;padding:3px 8px!important}.cv-t td:nth-child(6){color:var(--muted,#4a5a70);grid-column:1/-1;font-size:13px}.cv-t td:nth-child(6):before{content:attr(data-y)": "}.cv-t tr.cv-l1{padding-left:26px}.cv-t tr.cv-l2{padding-left:40px}.cv-t tr.cv-l1 th[scope=row],.cv-t tr.cv-l2 th[scope=row]{padding-left:0!important}}.sg-sts{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.sg-st{align-items:flex-start;gap:12px;display:flex}.sg-st p{margin:2px 0 6px}.sg-sti{background:var(--soft,#f1f5fa);border-radius:50%;flex:0 0 32px;place-items:center;height:32px;font-size:16px;display:grid}.sg-st.on .sg-sti{color:#0e7a44;background:#ddf5e8;font-weight:700}.sg-stb{flex-wrap:wrap;gap:6px;display:flex}.sg-stb .btn{min-height:40px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sg-st.on .sg-sti{color:#7ee0ae;background:#123d2a}}:root[data-theme=dark] .sg-st.on .sg-sti{color:#7ee0ae;background:#123d2a}.pc-box{border:1px solid var(--line);border-radius:var(--r-md,14px);background:var(--surface);margin:0 0 12px;padding:10px 12px 9px;animation:.24s cubic-bezier(.23,1,.32,1) both dtIn}.pc-steps{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px 0;margin:0;padding:0;list-style:none;display:grid}.pc-steps li{text-align:center;flex-direction:column;align-items:center;gap:5px;min-width:0;display:flex;position:relative}.pc-steps li:before{content:"";background:var(--line);z-index:0;width:100%;height:2px;position:absolute;top:6px;right:50%}.pc-steps li:first-child:before{display:none}.pc-steps li.pc-ok:before,.pc-steps li.pc-now:before,.pc-steps li.pc-stop:before{background:var(--ok,#15803d);opacity:.45}.pc-d{z-index:1;box-sizing:border-box;border:2px solid var(--line-2);background:var(--surface);border-radius:50%;width:14px;height:14px;position:relative}.pc-ok .pc-d{border-color:var(--ok,#15803d);background:var(--ok,#15803d)}.pc-now .pc-d{border-color:var(--brand,#1e62db);box-shadow:0 0 0 3px #1e62db29}.pc-off .pc-d{background:var(--track,#eef2f8);border-style:dashed}.pc-stop .pc-d{background:#b7791f;border-color:#b7791f;box-shadow:0 0 0 3px #b7791f2e}.pc-l{color:var(--muted);white-space:nowrap;letter-spacing:-.005em;font-size:11.5px;line-height:1.2}.pc-ok .pc-l,.pc-now .pc-l{color:var(--ink)}.pc-now .pc-l,.pc-stop .pc-l{font-weight:600}.pc-stop .pc-l{color:#8a5a12}.pc-off .pc-l{opacity:.75}.pc-who{color:var(--ink);margin:8px 0 0;font-size:13.5px;line-height:1.35}.pc-who b{font-weight:600}.pc-who .pc-why{color:var(--muted)}.pc-who .pc-st{color:#8a5a12;font-weight:600}.ag .tag.pc-tag{color:#8a5a12;background:#fff8e6;border-color:#f2d58c}@media (width<=560px){.pc-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 0}.pc-steps li:nth-child(4n+1):before{display:none}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pc-stop .pc-d{background:#f0b84a;border-color:#f0b84a;box-shadow:0 0 0 3px #f0b84a33}:root:not([data-theme=light]) .pc-stop .pc-l,:root:not([data-theme=light]) .pc-who .pc-st{color:#f0b84a}:root:not([data-theme=light]) .ag .tag.pc-tag{color:#f0b84a;background:#2a2410;border-color:#6b5418}:root:not([data-theme=light]) .pc-now .pc-d{border-color:#6fa6f5;box-shadow:0 0 0 3px #6fa6f538}}:root[data-theme=dark] .pc-stop .pc-d{background:#f0b84a;border-color:#f0b84a;box-shadow:0 0 0 3px #f0b84a33}:root[data-theme=dark] .pc-stop .pc-l,:root[data-theme=dark] .pc-who .pc-st{color:#f0b84a}:root[data-theme=dark] .ag .tag.pc-tag{color:#f0b84a;background:#2a2410;border-color:#6b5418}:root[data-theme=dark] .pc-now .pc-d{border-color:#6fa6f5;box-shadow:0 0 0 3px #6fa6f538}@media (prefers-reduced-motion:reduce){.pc-box{animation:none}}.pc-steps li{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;min-height:40px}.pc-steps li.pc-sel .pc-l{text-underline-offset:3px;text-decoration:underline}.pc-det{margin:6px 0 0;line-height:1.5}.pc-keys{flex-wrap:wrap;gap:2px 0;margin-top:2px;display:flex}.pc-k{white-space:nowrap;align-items:center;gap:6px;margin-right:14px;display:inline-flex}.pc-k .pc-d{border-width:2px;width:10px;height:10px}dialog.fv{border:0;border-radius:0;flex-direction:column;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;display:flex;overflow:hidden}dialog.fv:not([open]){display:none}.fv-bar{padding:calc(10px + env(safe-area-inset-top,0px))12px 10px;background:var(--surface,#fff);border-bottom:1px solid var(--line,#e2e8f0);align-items:center;gap:8px;display:flex}.fv-t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.fv-bar .btn{flex:none;min-height:40px}.fv-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 8px calc(16px + env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;align-items:center;gap:8px;min-height:0;display:flex;overflow:auto}.fv-pg,.fv-img{box-shadow:var(--d3-card);background:#fff;border-radius:6px;flex:none;max-width:100%;height:auto}.fv-fr{background:#fff;border:0;border-radius:6px;flex:1;width:100%;min-height:70vh}.fv-msg{text-align:center;margin:24px 12px}
/* assets/design3-site.min.css */
:root{--d3-navy:#0a1b3d;--d3-navy2:#050d20;--d3-glow:#2f7bff;--d3-mint:#3ddc97;--d3-mint-ink:#04261a;--d3-r:24px;--d3-sh:0 24px 50px -30px #0a1b3d73;--d3-ease:cubic-bezier(.23,1,.32,1)}@keyframes d3aur{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-60px,40px)scale(1.15)}}@keyframes d3sheen{0%{transform:translate(-120%)skew(-20deg)}to{transform:translate(320%)skew(-20deg)}}@keyframes d3live{0%{box-shadow:0 0 #3ddc97a6}to{box-shadow:0 0 0 12px #3ddc9700}}@keyframes d3glow{0%,to{box-shadow:0 0 #004aad00,0 10px 22px -12px #004aadcc}50%{box-shadow:0 0 0 4px #2f7bff2e,0 0 26px #2f7bff73}}header.site{background:color-mix(in srgb,var(--surface)88%,transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px)}header.site .btn-book{border-radius:999px;box-shadow:0 10px 22px -12px #004aadcc}header.site .call{border-radius:999px}.hero{background:radial-gradient(120% 90% at 85% 0%,#1b3f8f 0%,var(--d3-navy)45%,var(--d3-navy2)100%)}.hero:before,.hero:after{content:"";pointer-events:none;z-index:0;filter:blur(30px);border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle,#2f7bff8c,#2f7bff00 65%);width:640px;height:640px;animation:16s ease-in-out infinite d3aur;top:-260px;right:-180px}.hero:after{background:radial-gradient(circle,#3ddc9742,#3ddc9700 65%);width:520px;height:520px;animation:22s ease-in-out infinite reverse d3aur;bottom:-320px;left:28%}.hero .hero-ecg{display:none}.hero h1{letter-spacing:-.03em;font-weight:600;line-height:1.02}.hero .lead{color:#c9d7ef;opacity:1}.hero-trust li:before{color:var(--d3-mint)}.hero .plus{opacity:.9}.cta{border-radius:999px;font-weight:600;transition:transform .14s ease-out,filter .15s;position:relative;overflow:hidden;box-shadow:0 18px 40px -16px #95c11fbf}.cta:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff3d,#0000);width:30%;animation:4.2s ease-in-out 2.6s infinite both d3sheen;position:absolute;top:0;bottom:0;left:0}.cta:active{transform:scale(.97)}.svc-card,.hn-card,.g-rev,.guide-card{border-radius:var(--d3-r);box-shadow:var(--d3-sh);transition:transform .25s var(--d3-ease),box-shadow .25s ease;border-color:#0000}a.svc-card:hover,.svc-card:hover,.hn-card:hover,.guide-card:hover{transform:translateY(-5px);box-shadow:0 30px 60px -30px #0a1b3d80}.booking-in{border-radius:32px}.booking{background:0 0}.content h2,.booking h2{letter-spacing:-.02em;font-weight:600}.day,.slot{border-radius:14px;transition:transform .14s ease-out,background-color .15s,border-color .15s,box-shadow .2s}.day:active,.slot:active{transform:scale(.97)}.slot[aria-pressed=true]{animation:2.4s ease-in-out infinite d3glow}.day[aria-pressed=true]{box-shadow:0 8px 18px -10px #004aadb3}@media (width>=561px){.days{padding:6px 4px 12px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),#0000)}}.slot:hover,.day:hover{border-color:var(--blue)}.steps{border-radius:999px}.zone-chips a{border-radius:999px;transition:transform .14s ease-out}.zone-chips a:active{transform:scale(.97)}.faq details{border-radius:18px}.m-cta{background:color-mix(in srgb,var(--surface)95%,transparent)}.m-cta .btn{border-radius:16px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--d3-sh:0 24px 50px -30px #000000b3}:root:not([data-theme=light]) .svc-card,:root:not([data-theme=light]) .hn-card,:root:not([data-theme=light]) .g-rev,:root:not([data-theme=light]) .guide-card{border-color:var(--line)}}:root[data-theme=dark]{--d3-sh:0 24px 50px -30px #000000b3}:root[data-theme=dark] .svc-card,:root[data-theme=dark] .hn-card,:root[data-theme=dark] .g-rev,:root[data-theme=dark] .guide-card{border-color:var(--line)}@media (prefers-reduced-motion:reduce){.hero:before,.hero:after,.cta:after,.slot[aria-pressed=true]{animation:none!important}.svc-card:hover,.hn-card:hover,.guide-card:hover{transform:none}}.zone-chips,.zone-chips>li{margin-left:0!important;padding-left:0!important}.content .home-guides{padding-left:0;padding-right:0}ul.links{margin-left:0!important;padding-left:0!important}ul.links>li{margin-left:0!important}@media (width<=560px){.booking-in{padding-left:18px;padding-right:18px}}.slot[aria-pressed=true],.day[aria-pressed=true]{background:linear-gradient(135deg,var(--d3-b1,#2366e8),var(--d3-b2,#0b3f9e))!important;color:#fff!important;border-color:#0000!important}.day[aria-pressed=true] *{color:#fff!important}
/* assets/design4-site.min.css */
:root{--x4-ink:#0b1a33;--x4-mut:#475673;--x4-bg:#f5f7fb;--x4-card:#fff;--x4-line:#dce4f2;--x4-blue:#1e62db;--x4-link:#1e5bd0;--x4-soft:#eaf2ff;--x4-mint:#3ddc97;--x4-mint-ink:#04261a;--x4-navy:#0a1b3d;--x4-navy2:#050d20;--x4-sh:0 24px 50px -30px #0a1b3d73;--x4-sh2:0 40px 90px -50px #0a1b3d8c;--x4-ease:cubic-bezier(.23,1,.32,1);--x4-w:1200px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--x4-ink:#eaf0fa;--x4-mut:#a3b2c8;--x4-bg:#060d1c;--x4-card:#0e1930;--x4-line:#1f2e4a;--x4-link:#8dbdff;--x4-soft:#14284a;--x4-sh:0 24px 50px -30px #000c;--x4-sh2:0 40px 90px -50px #000000e6}}:root[data-theme=dark]{--x4-ink:#eaf0fa;--x4-mut:#a3b2c8;--x4-bg:#060d1c;--x4-card:#0e1930;--x4-line:#1f2e4a;--x4-link:#8dbdff;--x4-soft:#14284a;--x4-sh:0 24px 50px -30px #000c;--x4-sh2:0 40px 90px -50px #000000e6}@keyframes x4live{0%{box-shadow:0 0 #3ddc97b3}to{box-shadow:0 0 0 12px #3ddc9700}}@keyframes x4glow{0%,to{box-shadow:0 0 18px #3ddc9773}50%{box-shadow:0 0 0 4px #3ddc972e,0 0 34px #3ddc97bf}}@keyframes x4ring{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.5)}}@keyframes x4beat{0%,to{transform:scale(1)}12%{transform:scale(1.08)}24%{transform:scale(.98)}36%{transform:scale(1.05)}}@keyframes x4rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}body{background:var(--x4-bg);color:var(--x4-ink)}a{color:var(--x4-link)}header.site{backdrop-filter:saturate(1.4)blur(16px);color:#fff;background:#050d20eb!important;border-bottom:1px solid #ffffff14!important}header.site .bar{max-width:var(--x4-w);padding:12px 24px}header.site .brand,header.site .brand b{color:#fff}header.site .brand small{color:#b5c6e6}header.site .logo-light{display:none!important}header.site .logo-dark{display:block!important}header.site .call{color:#fff;background:0 0;border-color:#ffffff47}header.site .call span{color:#fff}header.site .btn-book{box-shadow:none;align-items:center;height:42px;padding:0 20px;font-weight:600;display:inline-flex;color:var(--x4-navy)!important;background:#fff!important}header.site .menu{max-width:var(--x4-w);background:0 0;border:0;margin:0 auto;padding:0 24px 10px}header.site .menu a{color:#dce6f8;background:0 0;border:0;border-radius:999px;padding:6px 12px;text-decoration:none}header.site .menu a:hover,header.site .menu a[aria-current]{color:#fff;background:#ffffff1a}.hero.hero4{color:#fff;background:radial-gradient(120% 90% at 85% 0%,#1b3f8f 0%,var(--x4-navy)45%,var(--x4-navy2)100%)!important}.hero.hero4 .h4-in{max-width:var(--x4-w);flex-wrap:wrap;align-items:center;gap:56px;padding:56px 40px 120px;display:flex}.hero-s.hero4 .h4-in{padding-bottom:96px}.h4-text{flex:999 540px;min-width:0}.h4-badge{color:#dce6f8;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;align-items:center;gap:8px;min-height:34px;margin:0;padding:4px 14px;font-size:14.5px;display:inline-flex}.h4-dot{background:var(--x4-mint);border-radius:4px;width:8px;height:8px;animation:1.8s ease-out infinite x4live}.hero.hero4 h1{letter-spacing:-.035em;max-width:none;margin:22px 0 0;font-size:clamp(40px,5.6vw,78px);font-weight:600;line-height:1.02}.hero-s.hero4 h1{font-size:clamp(38px,5vw,68px)}.h4-hl,.h4-hl .w{color:#8dbdff}.hero.hero4 .lead{color:#c9d7ef;opacity:1;max-width:560px;margin:22px 0 0;font-size:19px;line-height:1.55}.h4-cta{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero.hero4 .cta{background:var(--x4-blue);color:#fff;border-radius:999px;align-items:center;gap:10px;height:60px;margin:0;padding:0 30px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 18px 40px -14px #1e62dbd9;color:#fff!important}.hero.hero4 .cta:hover{filter:brightness(1.08)}.h4-ghost{border:1px solid #ffffff52;border-radius:999px;align-items:center;height:60px;padding:0 26px;font-size:18px;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex;color:#fff!important}.h4-ghost:hover{background:#ffffff14}.hero.hero4 .hero-trust{color:#c9d7ef;flex-wrap:wrap;gap:8px 18px;margin:26px 0 0;padding:0;font-size:15.5px;list-style:none;display:flex}.hero.hero4 .hero-trust li{margin:0;padding-left:22px;position:relative}.hero.hero4 .hero-trust li:before{content:"✓";color:var(--x4-mint);font-weight:700;position:absolute;left:0}.hero.hero4 .hero-note{color:#b5c6e6;margin:16px 0 0;font-size:15.5px}.hero.hero4 .hero-note a,.hero.hero4 .crumbs a{color:#dce6f8}.hero.hero4 .crumbs{color:#b5c6e6;margin:0;font-size:14.5px}.hero.hero4 .facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;max-width:680px;margin:26px 0 0;display:grid}.hero.hero4 .facts div{background:#ffffff12;border:1px solid #ffffff24;border-radius:18px;padding:14px 16px}.hero.hero4 .facts dt{color:#b5c6e6;opacity:1;font-size:13px}.hero.hero4 .facts dd{color:#fff;font-size:19px;font-weight:600}.hero.hero4 .price{color:#fff;margin:16px 0 0;font-size:20px;font-weight:600}.h4-live{backdrop-filter:blur(16px);color:#fff;animation:x4rise .8s var(--x4-ease).3s both;background:#ffffff14;border:1px solid #ffffff29;border-radius:28px;flex:360px;max-width:420px;padding:24px;box-shadow:0 40px 80px -30px #0009}.hl-top{align-items:center;gap:8px;display:flex}.hl-top b{flex-grow:1;font-size:17px;font-weight:600}.hl-live{color:#b5c6e6;align-items:center;gap:6px;font-size:13px;display:inline-flex}.hl-live i{background:var(--x4-mint);border-radius:4px;width:7px;height:7px;animation:1.8s ease-out infinite x4live}.hl-name{color:#c9d7ef;margin:10px 0 0;font-size:15px}.hl-svc{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin-top:16px;display:grid}.hl-svc button{color:#fff;white-space:nowrap;background:0 0;border:1px solid #ffffff47;border-radius:999px;height:38px;padding:0 6px;font-size:14px;transition:background-color .15s,transform .14s ease-out}.hl-svc button[aria-checked=true]{color:var(--x4-navy);background:#fff;border-color:#fff;font-weight:600}.hl-big{align-items:baseline;gap:12px;margin-top:20px;display:flex}.hl-big span{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:60px;font-weight:600;line-height:1}.hl-big em{color:#c9d7ef;font-size:18px;font-style:normal}.hl-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.hl-slots button{color:#fff;font-variant-numeric:tabular-nums;background:#ffffff0f;border:1px solid #ffffff38;border-radius:12px;height:44px;font-size:15.5px;transition:transform .14s ease-out,background-color .15s}.hl-slots button[aria-pressed=true]{background:var(--x4-mint);border-color:var(--x4-mint);color:var(--x4-mint-ink);font-weight:600;animation:2.4s ease-in-out infinite x4glow}.hl-go{color:var(--x4-navy);background:#fff;border:0;border-radius:16px;width:100%;height:54px;margin-top:16px;font-size:17px;font-weight:600;transition:transform .14s ease-out}.hl-svc button:active,.hl-slots button:active,.hl-go:active{transform:scale(.97)}.hl-note{color:#b5c6e6;text-align:center;margin:12px 0 0;font-size:13.5px}.hl-wait{color:#c9d7ef;margin:18px 0 4px;font-size:15.5px}.s4-orb{aspect-ratio:1;flex:300px;place-items:center;max-width:380px;display:grid;position:relative}.s4-ring{border:2px solid #5da0ff80;border-radius:50%;width:70%;height:70%;animation:3s ease-out infinite x4ring;position:absolute}.s4-ring.b{border-color:#3ddc9766;animation-delay:1.5s}.s4-core{background:radial-gradient(circle at 35% 30%,#2f7bff,#0a1b3d 75%);border-radius:50%;width:62%;height:62%;position:absolute;box-shadow:0 0 80px #2f7bff8c,inset 0 0 40px #ffffff1f}.s4-ico{color:#fff;filter:drop-shadow(0 0 12px #8dbdffcc);width:34%;height:34%;animation:1.6s ease-in-out infinite x4beat;position:relative}@media (width<=760px){.s4-orb{display:none}}.content.x4{max-width:var(--x4-w);padding:0 40px}.x4-sec{margin:96px 0 0!important}.x4-kick{letter-spacing:.12em;text-transform:uppercase;color:var(--x4-link);font-size:14px;font-weight:600;margin:0 0 10px!important}.content.x4 h2,.s4-main h2,.booking h2,.faq h2,.g-revs h2{letter-spacing:-.025em;font-weight:600;line-height:1.08}.content.x4 h2{margin:0 0 8px;font-size:clamp(32px,4vw,52px)}.content.x4 p,.content.x4 li{max-width:none}.content.x4 .home-news{z-index:2;position:relative;margin:-72px 0 0!important}.content.x4 .home-news h2{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.content.x4 .hn-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;display:grid}.content.x4 .hn-card{background:var(--x4-card);box-shadow:var(--x4-sh);color:var(--x4-ink);border:0;border-radius:22px;flex-direction:column;gap:6px;padding:18px 22px;text-decoration:none;display:flex}.content.x4 .hn-tag{color:#0e5c3a;background:#e8f8f0;border-radius:999px;align-self:flex-start;padding:3px 12px;font-size:13.5px;font-weight:600}.content.x4 .hn-card b{font-size:18px;font-weight:600}.content.x4 .hn-all{text-align:right;margin:10px 0 0}.x4-svc{margin-top:32px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:18px!important;display:grid!important}.x4-svc .svc-card{background:var(--x4-card);box-shadow:var(--x4-sh);border-radius:26px;flex-direction:column;gap:12px;padding:26px;border:0!important;display:flex!important}.x4-ic{background:var(--ib);color:var(--if);border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.x4-svc .svc-card>b{color:var(--x4-ink);font-size:22px;font-weight:600}.x4-svc .svc-card>span:not(.x4-ic):not(.x4-pr){color:var(--x4-mut);flex-grow:1;margin:0;font-size:15.5px;line-height:1.45}.x4-pr{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0!important;display:flex!important}.x4-pr strong{color:var(--x4-ink);font-size:22px}.x4-pr small{color:var(--x4-mut);font-size:15px;font-weight:500}.x4-pr em{color:#475673;background:#eef2f8;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:14px;font-style:normal;font-weight:600}.x4-pr em.ok{color:#0e5c3a;background:#e8f8f0}.x4-steps{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid;margin:32px 0 0!important;padding:0!important}.x4-steps li{background:var(--x4-card);box-shadow:var(--x4-sh);color:var(--x4-mut);border-radius:26px;font-size:16px;line-height:1.5;margin:0!important;padding:30px!important}.x4-steps li:before{display:none!important}.x4-steps li b{color:var(--x4-ink);margin:12px 0 6px;font-size:21px;font-weight:600;display:block}.x4-n{color:#c9dafb;font-size:52px;font-weight:600;line-height:1;display:block}.x4-steps li.x4-dark{background:var(--x4-navy);color:#c9d7ef}.x4-steps li.x4-dark b{color:#fff}.x4-steps li.x4-dark .x4-n{color:#2d4f91}.content.x4 .x4-grad{background:linear-gradient(150deg,#e7f0ff,#f3ecff);border-radius:32px;flex-wrap:wrap;align-items:center;gap:32px;margin:96px 0 0;padding:40px;display:flex}.x4-grad>div{flex:340px}.x4-grad h2{color:#0b1a33;font-size:36px!important}.x4-grad p{color:#475673;font-size:17px}.x4-sy{flex:420px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid!important}.x4-sy li{margin:0!important}.x4-sy a{background:#fff;border-radius:16px;justify-content:space-between;align-items:center;height:58px;padding:0 18px;font-size:16.5px;font-weight:600;text-decoration:none;display:flex;box-shadow:0 10px 24px -18px #0a1b3d80;color:#0b1a33!important;border:0!important}.x4-sy a span{color:#1e5bd0}.content.x4 .g-revs,.s4-wrap~.content .g-revs{margin-top:96px}.g-rev-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:18px!important;display:grid!important}.g-rev{box-shadow:var(--x4-sh);background:var(--x4-card)!important;border:0!important;border-radius:24px!important;padding:26px!important}.g-rev blockquote{font-size:17px;line-height:1.5}.guide-grid{margin-top:28px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;gap:18px!important;display:grid!important}.guide-card{box-shadow:var(--x4-sh);flex-direction:column;gap:10px;text-decoration:none;background:var(--x4-card)!important;color:var(--x4-ink)!important;border:0!important;border-radius:24px!important;padding:26px!important;display:flex!important}.guide-card b{font-size:20px;font-weight:600;line-height:1.25}.guide-card span{color:var(--x4-mut);font-size:15.5px}.guide-card small{color:var(--x4-mut);font-size:13.5px}.x4-more{color:var(--x4-link);margin-top:auto;font-size:15.5px;font-style:normal;font-weight:600}.content.x4 .x4-navy{background:var(--x4-navy);color:#fff;border-radius:32px;flex-wrap:wrap;align-items:center;gap:40px;margin:96px 0 0;padding:44px;display:flex}.x4-navy>div{flex:2 420px}.x4-navy h2{color:#fff;font-size:38px!important}.x4-navy p{color:#c9d7ef;font-size:17.5px;line-height:1.55}.x4-wbtn{background:#fff;border-radius:999px;flex:none;align-items:center;min-height:56px;padding:0 26px;font-size:17px;font-weight:600;text-decoration:none;transition:transform .14s ease-out;display:inline-flex;color:var(--x4-navy)!important}.x4-wbtn:active{transform:scale(.97)}.x4-where{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:28px;display:grid}.x4-card{background:var(--x4-card);box-shadow:var(--x4-sh);border-radius:26px;flex-direction:column;gap:8px;padding:30px;display:flex}.x4-card p{margin:0}.x4-card .map{border-radius:18px;margin:6px 0 8px;display:block;overflow:hidden}.x4-card .map img{width:100%;display:block}.x4-card .btn{justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;margin-top:auto;display:flex}.x4-hours{grid-template-columns:auto 1fr;gap:10px 18px;margin:6px 0 10px;font-size:16px;display:grid}.x4-hours dt{color:var(--x4-mut)}.x4-hours dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.x4-big{letter-spacing:-.02em;font-size:30px;font-weight:600}.x4-big a{color:var(--x4-ink);text-decoration:none}.content.x4 .home-zones,.content.x4 .faq{margin-top:96px}.booking{background:0 0!important;padding:96px 0 0!important}.booking .booking-in{margin:0 auto;max-width:var(--x4-w)!important;background:var(--x4-card)!important;box-shadow:var(--x4-sh2)!important;border:0!important;border-radius:36px!important;padding:44px!important}.booking h2{margin:0!important;font-size:clamp(30px,3.4vw,42px)!important}.booking .lead-s{color:var(--x4-mut);margin:12px 0 20px;font-size:17px}.bk .services{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:10px!important}.bk .svc{transition:transform .14s ease-out,border-color .15s,background-color .15s;border:1px solid var(--x4-line)!important;background:var(--x4-card)!important;border-radius:18px!important;padding:16px!important}.bk .svc[aria-pressed=true]{border:2px solid var(--x4-blue)!important;background:var(--x4-soft)!important;box-shadow:none!important}.bk .svc:active,.bk .choice button:active,.bk .slot:active,.bk .day:active{transform:scale(.97)}.bk .choice button{border-radius:18px!important}.bk .choice button[aria-pressed=true]{border:2px solid var(--x4-blue)!important;background:var(--x4-soft)!important;box-shadow:none!important}.bk h3{font-weight:600!important}.bk .steps{background:0 0!important;border-radius:0!important}.bk .slots{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))!important;gap:10px!important}.bk .slot{height:50px;font-size:17px;border:1px solid var(--x4-line)!important;background:var(--x4-card)!important;border-radius:14px!important;padding:0!important}.bk .slot[aria-pressed=true]{background:var(--x4-blue)!important;color:#fff!important;border-color:var(--x4-blue)!important;animation:none!important;box-shadow:0 0 0 4px #1e62db26,0 12px 26px -10px #1e62dbe6!important}.bk .slot.more{color:var(--x4-link);font-size:15px;font-weight:600;border-style:dashed!important}.bk .slot:disabled{opacity:.4}.firsts{flex-direction:column;gap:14px;margin-top:6px;display:flex}.fx-h{margin:4px 0 0!important}.fx-day{flex-direction:column;gap:8px;display:flex}.fx-day>b{font-size:16px;font-weight:600}.fx-all{align-self:flex-start;margin-top:2px}.bk .linkbtn{color:var(--x4-link);text-underline-offset:3px;background:0 0;border:0;padding:6px 0;font-weight:600;text-decoration:underline}.bk-bar{background:var(--x4-navy);color:#fff;border-radius:20px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;padding:18px 20px;display:flex}.bb-t{flex-direction:column;flex:220px;min-width:0;display:flex}.bb-t b{font-size:18px;font-weight:600}.bb-t small{color:#b5c6e6;font-size:14.5px}.bk-bar .bb-go{border:0;border-radius:999px;height:54px;padding:0 28px;font-size:17px;font-weight:600;background:var(--x4-mint)!important;color:var(--x4-mint-ink)!important;box-shadow:none!important;background-image:none!important}.bk-bar .bb-go:disabled{opacity:1;color:#b5c6e6!important;background:#ffffff24!important}.bk-bar:not(.on) .bb-t b{color:#c9d7ef;font-weight:500}@media (width<=560px){.bk-bar .bb-go{justify-content:center;width:100%}}.bk form .actions .btn,.bk .actions.next .btn,.bk #bk-next .btn{border-radius:16px;justify-content:center;width:100%;min-height:56px;font-size:17.5px}.s4-wrap{max-width:var(--x4-w);z-index:2;flex-wrap:wrap;align-items:flex-start;gap:32px;margin:-56px auto 0;padding:0 40px;display:flex;position:relative}.content.s4-main{flex-direction:column;flex:999 560px;gap:18px;min-width:0;max-width:none;margin:0;padding:0;display:flex}.s4-card{background:var(--x4-card);box-shadow:var(--x4-sh);border-radius:28px;padding:36px;margin:0!important}.s4-card h2{margin:0 0 12px!important;font-size:30px!important}.s4-card p,.s4-card li{max-width:none;font-size:17.5px;line-height:1.65}.s4-card.x4-dark{background:var(--x4-navy);color:#c9d7ef}.s4-card.x4-dark h2,.s4-card.x4-dark a{color:#fff}.s4-side{flex:320px;position:sticky;top:130px}.s4-live{background:var(--x4-navy);backdrop-filter:none;box-shadow:var(--x4-sh2);border:0;max-width:none;animation:none}.s4-wrap+.booking,.s4-wrap~.booking{padding-top:72px!important}@media (width<=960px){.s4-side{position:static}}.faq details{box-shadow:0 1px 0 var(--x4-line);background:var(--x4-card)!important;border:0!important;border-radius:18px!important;margin:0 0 10px!important}.faq summary{font-weight:600}@media (width>=900px){.content.x4 .faq{grid-template-columns:1fr 1fr;align-items:start;gap:0 18px;display:grid}.content.x4 .faq h2{grid-column:1/-1}}.s4-wrap~.content{max-width:var(--x4-w);padding:0 40px}.s4-wrap~.content>section{margin-top:72px}ul.links{flex-wrap:wrap;gap:10px;list-style:none;display:flex}ul.links li{margin:0}ul.links a{background:var(--x4-card);box-shadow:var(--x4-sh);border-radius:999px;align-items:center;min-height:46px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.zone-chips a{border-radius:999px}main>.content:not(.x4):not(.s4-main){max-width:860px}footer.site{color:#c9d7ef;margin-top:110px;padding-top:20px;background:var(--x4-navy2)!important;border:0!important}footer.site b{color:#fff}footer.site a{color:#dce6f8}footer.site .legal{color:#8fa3c4;border-color:#ffffff14}.updated{max-width:var(--x4-w);color:var(--x4-mut);margin:56px auto 0;padding:0 40px}.m-cta{background:#050d20f0!important;border-top:1px solid #ffffff14!important}.m-cta .btn{border-radius:16px;font-weight:600;background:var(--x4-blue)!important;color:#fff!important;background-image:none!important}.m-cta .m-wa{color:#fff}@media (width<=640px){header.site .bar{padding:10px 16px}header.site .menu{padding:0 16px 8px}.hero.hero4 .h4-in{gap:28px;padding:34px 16px 96px}.hero.hero4 .lead{font-size:17.5px}.h4-cta .cta,.h4-ghost{justify-content:center;width:100%;height:56px}.h4-live{max-width:none;padding:20px}.content.x4,.s4-wrap~.content{padding:0 16px}.x4-sec,.content.x4 .x4-grad,.content.x4 .x4-navy,.content.x4 .g-revs,.content.x4 .home-zones,.content.x4 .faq{margin-top:64px!important}.content.x4 .x4-grad,.content.x4 .x4-navy{border-radius:26px;padding:24px}.x4-grad h2,.x4-navy h2{font-size:28px!important}.x4-sy{grid-template-columns:1fr}.x4-wbtn{text-align:center;justify-content:center;width:100%;padding:12px 20px}.booking{padding-top:64px!important}.booking .booking-in{margin:0 16px;border-radius:26px!important;padding:22px 16px!important}.s4-wrap{margin-top:-48px;padding:0 16px}.s4-card{border-radius:24px;padding:22px}.s4-card h2{font-size:25px!important}.x4-card{padding:22px}.updated{padding:0 16px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .x4-n{color:#24406f}:root:not([data-theme=light]) .content.x4 .x4-grad{background:linear-gradient(150deg,#13274b,#221a45)}:root:not([data-theme=light]) .x4-grad h2{color:#fff}:root:not([data-theme=light]) .x4-grad p{color:#c9d7ef}:root:not([data-theme=light]) .x4-sy a{background:#0e1930;color:#eaf0fa!important}:root:not([data-theme=light]) .x4-sy a span{color:#8dbdff}:root:not([data-theme=light]) .x4-pr em{color:#c9d7ef;background:#1b2b46}:root:not([data-theme=light]) .x4-pr em.ok,:root:not([data-theme=light]) .content.x4 .hn-tag{color:#7fe3b4;background:#0f3a2a}:root:not([data-theme=light]) .x4-ic{background:color-mix(in srgb,var(--if)22%,#0e1930);color:color-mix(in srgb,var(--if)55%,#fff)}:root:not([data-theme=light]) .x4-steps li.x4-dark,:root:not([data-theme=light]) .content.x4 .x4-navy,:root:not([data-theme=light]) .s4-card.x4-dark,:root:not([data-theme=light]) .s4-live,:root:not([data-theme=light]) .bk-bar{background:#13285a}}:root[data-theme=dark] .x4-n{color:#24406f}:root[data-theme=dark] .content.x4 .x4-grad{background:linear-gradient(150deg,#13274b,#221a45)}:root[data-theme=dark] .x4-grad h2{color:#fff}:root[data-theme=dark] .x4-grad p{color:#c9d7ef}:root[data-theme=dark] .x4-sy a{background:#0e1930;color:#eaf0fa!important}:root[data-theme=dark] .x4-sy a span{color:#8dbdff}:root[data-theme=dark] .x4-pr em{color:#c9d7ef;background:#1b2b46}:root[data-theme=dark] .x4-pr em.ok,:root[data-theme=dark] .content.x4 .hn-tag{color:#7fe3b4;background:#0f3a2a}:root[data-theme=dark] .x4-ic{background:color-mix(in srgb,var(--if)22%,#0e1930);color:color-mix(in srgb,var(--if)55%,#fff)}:root[data-theme=dark] .x4-steps li.x4-dark,:root[data-theme=dark] .content.x4 .x4-navy,:root[data-theme=dark] .s4-card.x4-dark,:root[data-theme=dark] .s4-live,:root[data-theme=dark] .bk-bar{background:#13285a}@media (prefers-reduced-motion:reduce){.h4-dot,.hl-live i,.hl-slots button[aria-pressed=true],.s4-ring,.s4-ico,.h4-live{animation:none!important}}.x4-card .addr{margin:0;display:block!important}.x4-card .addr b{display:block}.x4-hours dt{white-space:nowrap}.faq details>summary{padding:18px 20px!important}.faq details>div{padding:0 20px 18px!important}.x4-card .addr br{display:none}.x4-steps li:after{display:none!important}.g-rev .stars{color:#e6a100}@media (width<=640px){#bk-next2.bk-bar{border:0;border-radius:20px;gap:10px;margin:16px 0 0;padding:14px 16px;position:sticky;bottom:8px;box-shadow:0 18px 40px -16px #050d20cc;background:var(--x4-navy)!important;flex-wrap:wrap!important}#bk-next2.bk-bar .bb-t{flex:100%}#bk-next2.bk-bar .bb-t b{font-size:16.5px}#bk-next2.bk-bar .bb-go{flex:100%;justify-content:center;width:100%}}@media (width<=640px) and (prefers-color-scheme:dark){:root:not([data-theme=light]) #bk-next2.bk-bar{background:#13285a!important}}@media (width<=640px){:root[data-theme=dark] #bk-next2.bk-bar{background:#13285a!important}}.hero:not(.hero4){background:radial-gradient(120% 90% at 85% 0%,#1b3f8f 0%,var(--x4-navy)45%,var(--x4-navy2)100%)!important}.hero .plus,.hero:not(.hero4) .hero-ecg{display:none!important}.hero:not(.hero4) .hero-in{max-width:var(--x4-w);padding:52px 40px 64px}.hero:not(.hero4) h1{letter-spacing:-.03em;font-size:clamp(34px,4.6vw,60px);font-weight:600;line-height:1.04}.hero:not(.hero4) .lead{color:#c9d7ef;opacity:1;max-width:640px}.hero:not(.hero4) .crumbs,.hero:not(.hero4) .crumbs a{color:#b5c6e6}.hero:not(.hero4) .cta{border-radius:999px;align-items:center;min-height:56px;padding:0 28px;font-weight:600;display:inline-flex;box-shadow:0 18px 40px -14px #1e62dbd9;color:#fff!important;background:var(--x4-blue)!important}.hero:not(.hero4) .facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;max-width:680px;display:grid}.hero:not(.hero4) .facts div{background:#ffffff12;border-radius:18px;padding:12px 16px;border:1px solid #ffffff24!important}.hero:not(.hero4) .facts dt{color:#b5c6e6;opacity:1}.hero:not(.hero4) .facts dd{font-weight:600}main>.content:not(.x4):not(.s4-main){max-width:900px;padding-left:24px;padding-right:24px}main>.content:not(.x4) h2{letter-spacing:-.02em;font-weight:600}main>.content:not(.x4) .table-wrap,main>.content:not(.x4) table{border-radius:20px}@media (width<=640px){.hero:not(.hero4) .hero-in{padding:34px 16px 44px}.hero:not(.hero4) .cta{justify-content:center;width:100%}main>.content:not(.x4):not(.s4-main){padding-left:16px;padding-right:16px}}#mego,#meok,#meback{justify-content:center;width:100%;min-height:52px;margin-top:8px}.manage .card,.content .card{box-shadow:var(--x4-sh)!important;background:var(--x4-card)!important;border:0!important;border-radius:24px!important}.bk .done .actions .btn,.bk .wl-box .actions .btn{flex:auto;justify-content:center;min-height:52px}.x4-svc .svc-card .x4-ic{flex:none;place-items:center;color:var(--if)!important;margin:0!important;display:grid!important}.x4-svc .svc-card .x4-ic svg{width:28px;height:28px;display:block}main>.content.prose:first-child,main>.content.manage:first-child{background:var(--x4-card);box-shadow:var(--x4-sh);border-radius:28px;max-width:900px;margin:36px auto 0;padding:32px 36px}main>.content.prose:first-child>h1:first-child,main>.content.manage:first-child h1{letter-spacing:-.025em;margin:0 0 14px;font-size:clamp(30px,4vw,44px);font-weight:600;line-height:1.08}main>.content.manage:first-child>section{margin:0}main>.content.prose .btn,main>.content.manage .btn{border-radius:16px;justify-content:center;align-items:center;min-height:52px;display:inline-flex}@media (width<=640px){main>.content.prose:first-child,main>.content.manage:first-child{border-radius:24px;margin:20px 16px 0;padding:22px 18px}main>.content.prose .btn,main>.content.manage .btn{width:100%}}.hl-svc{flex-wrap:wrap;display:flex!important}.hl-svc button{flex:auto;padding:0 12px}.back{min-height:40px}.zm-pt a:hover circle,.zm-pt a:focus circle{fill:var(--green)}@media (width<=700px){header.site .menu a{align-items:center;min-height:40px;display:inline-flex}header.site .bar-actions .call{justify-content:center;min-width:40px;min-height:40px}.hl-svc button{height:40px}.others ul.links a,.zone-ex li>a{box-sizing:border-box;min-height:40px;padding:6px 0;display:inline-block}.zone-map a{pointer-events:none}.bk .linkbtn{min-height:40px}}.faq .pz{background:var(--x4-card);box-shadow:0 1px 0 var(--x4-line);border-radius:18px;grid-column:1/-1;margin:0 0 18px;padding:18px}.pz-l{color:var(--x4-mut);margin:0 0 10px;font-size:15px;display:block}.pz-l b{color:var(--x4-ink);font-weight:600}.pz-row{gap:8px;display:flex}.pz-row input{border:1px solid var(--x4-line);background:var(--x4-bg);color:var(--x4-ink);border-radius:14px;flex:auto;min-width:0;height:48px;padding:0 14px;font-size:16px}.pz-row input:focus{outline:2px solid var(--x4-blue);outline-offset:1px}.pz-go{background:var(--x4-blue);color:#fff;cursor:pointer;touch-action:manipulation;transition:transform .16s var(--x4-ease);border:0;border-radius:14px;flex:none;height:48px;padding:0 18px;font-size:16px;font-weight:600}.pz-go:active{transform:scale(.97)}.pz-go:disabled{opacity:.6}.pz-out{gap:14px;margin-top:12px;display:grid}.pz-out:empty{display:none}.pz-qa{animation:pzIn .22s var(--x4-ease)both;gap:6px;display:grid}.pz-me{background:var(--x4-blue);color:#fff;overflow-wrap:anywhere;border-radius:16px 16px 4px;justify-self:end;max-width:85%;margin:0;padding:9px 13px;font-size:15px}.pz-a{background:var(--x4-soft);color:var(--x4-ink);overflow-wrap:anywhere;border-radius:16px 16px 16px 4px;justify-self:start;max-width:94%;padding:11px 14px;font-size:15px;line-height:1.45}.pz-a p{margin:0 0 6px}.pz-a p:last-child{margin:0}.pz-a ul{margin:2px 0 8px;padding-left:18px}.pz-a li{margin:2px 0}.pz-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pz-link,.pz-ask{background:var(--x4-card);color:var(--x4-link);border:1px solid var(--x4-line);font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform .16s var(--x4-ease);border-radius:999px;align-items:center;min-height:44px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.pz-link:active,.pz-ask:active{transform:scale(.97)}.pz-ask{color:var(--x4-ink);font-weight:500}.pz-wait{align-items:center;gap:5px;min-height:40px;display:inline-flex}.pz-wait i{background:var(--x4-mut);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite pzDot}.pz-wait i:nth-child(2){animation-delay:.15s}.pz-wait i:nth-child(3){animation-delay:.3s}.pz-n{color:var(--x4-mut);margin:10px 0 0;font-size:13px}@keyframes pzIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@keyframes pzDot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.pz-qa,.pz-wait i{animation:none}}.pz-w{margin-top:10px}.pz-wf{border:1px solid var(--x4-line);background:var(--x4-card);border-radius:14px;gap:8px;margin-top:10px;padding:12px;display:grid}.pz-f{gap:4px;font-size:14px;display:grid}.pz-f input,.pz-f textarea{font:inherit;border:1px solid var(--x4-line);background:var(--x4-card);color:var(--x4-ink);box-sizing:border-box;border-radius:10px;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.pz-hp{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.pz-c{align-items:flex-start;gap:8px;font-size:14px;display:flex}.pz-c input{flex:none;width:22px;height:22px;margin-top:1px}.pz-wf .pz-go{min-height:44px}.pz-st{margin:0;font-size:14px}.pz-ok{margin:0;font-weight:600}
