@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100%;background:var(--paper,#F1F4F8)}
body{
 --ink:#13202E; --ink2:#3C4A59; --ink3:#4A5563;
 --paper:#F1F4F8; --card:#fff;
 --brand:#012D68; --brand-deep:#00133B;
 --gen-a:#00707B; --gen-a-vivo:#01B2BE;
 --gen-b:#6B4A00; --gen-b-vivo:#FDB702;
 --no:#9A2F24;   --noSoft:#F0BFB5;
 --ok:#1F6B5E;   --okSoft:#CFE8DB;
 --warn:#8A5407; --warnSoft:#FBE3AE;
 --lib:#012D68;  --libSoft:#D3E0F2;
 --tick:rgba(0,19,59,.18);
 --brand-rgb:1,45,104;
 --deep-rgb:0,19,59;
 --no-rgb:154,47,36;
 --hair:rgba(var(--deep-rgb),.08);
 --lift:0 1px 2px rgba(var(--deep-rgb),.04),0 8px 24px rgba(var(--deep-rgb),.05);
 font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--ink);font-size:16px;
 background:var(--paper);-webkit-font-smoothing:antialiased}
.disp{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em}
.mono{font-family:'IBM Plex Sans',system-ui,sans-serif;font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.shell{max-width:760px;margin:0 auto;padding-bottom:calc(88px + env(safe-area-inset-bottom));min-height:100vh;background:var(--paper)}
.shell.con-upd{padding-bottom:calc(168px + env(safe-area-inset-bottom))}
.gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:calc(28px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(180deg,var(--brand),var(--brand-deep));color:#fff}
.gate.splash{background:transparent;justify-content:flex-end;gap:0;position:relative;overflow-y:auto}
.gate.splash::before{content:"";position:fixed;inset:0;z-index:0;background:#00133B url("/splash/splash-android-1080x2400.png") center top / cover no-repeat;pointer-events:none}
.gate.splash > *{position:relative;z-index:1}
.gate.splash .gate-brand{display:none}
.gate.splash .card{margin:0}
.gate.splash .gate-legal{margin-top:12px;text-shadow:0 1px 4px rgba(0,19,59,.75)}
.gate.splash-only{justify-content:center}
@media (orientation:landscape){
 .gate.splash::before,#root:empty{background-image:url("/splash/MASTER-approved-landscape.png")}
}
.gate-brand{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:18px}
.gate-brand img{width:72px;height:72px;border-radius:18px}
.gate h1{margin:12px 0 0;font-size:30px;letter-spacing:.12em;color:#fff}
.gate .sub{margin:8px 0 0;color:#fff;font-size:16px;line-height:1.45;max-width:280px}
.gate .sub .am{color:var(--gen-b-vivo)}
.gate .card{width:100%;max-width:360px;border:0;border-radius:20px;margin-bottom:0;box-shadow:0 16px 48px rgba(0,0,0,.28)}
.gate .btn-p{background:var(--brand);border-color:transparent}
.gate .seg{background:var(--paper)}
.gate .seg button[data-on="1"]{background:var(--brand);color:#fff;box-shadow:none}
.gate .spin{border-color:rgba(255,255,255,.22);border-top-color:#fff}
.gate-legal{margin-top:18px;background:none;border:0;color:#fff;font:inherit;font-size:14px;font-weight:500;cursor:pointer;opacity:.85;text-decoration:underline;text-underline-offset:3px}
.priv{margin:0;padding:0 0 0 1.15em;color:var(--ink2);font-size:14px;line-height:1.55}
.priv li{margin:0 0 10px}
.priv li:last-child{margin-bottom:0}
.priv b{color:var(--ink);font-weight:600}
.top{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--brand),var(--brand-deep));color:#fff;padding:calc(14px + env(safe-area-inset-top)) 20px 14px}
.top .brand{display:flex;align-items:center;gap:10px}
.top .brand img{width:28px;height:28px;border-radius:8px}
.top h1{margin:0;font-size:22px;font-weight:700;letter-spacing:.09em}
.nav{display:flex;align-items:center;gap:8px;margin-top:14px}
.nav button{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:12px;width:40px;height:40px;font-size:20px;cursor:pointer;flex:none}
.nav .m{flex:1;text-align:center;font-size:20px;font-weight:600;letter-spacing:.06em}
.tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:linear-gradient(180deg,var(--brand),var(--brand-deep));padding:8px 6px calc(8px + env(safe-area-inset-bottom))}
.tabs button{flex:1;background:none;border:0;color:rgba(255,255,255,.55);padding:6px 2px 5px;font-size:12px;letter-spacing:0;cursor:pointer;font-family:inherit;text-transform:none;font-weight:500;display:flex;flex-direction:column;align-items:center;gap:3px}
.tabs button svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tabs button[data-on="1"]{color:#fff;font-weight:600}
.upd{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:45;background:var(--brand);color:#fff;border-radius:14px;padding:12px 14px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;box-shadow:0 8px 24px rgba(var(--deep-rgb),.28)}
.upd-gate{bottom:calc(20px + env(safe-area-inset-bottom))}
.upd span{flex:1 1 140px;font-size:14px;font-weight:500;line-height:1.4}
.upd button{background:#fff;color:var(--brand);border:0;border-radius:10px;padding:8px 12px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;flex:none}
.upd button.upd-dopo{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.ver{margin:28px 2px 8px;padding-bottom:8px}
.ver-n{font-size:13px;color:var(--ink3);font-weight:600;letter-spacing:.02em}
.ver .check{margin-top:10px}
.ver .help{margin-top:4px}
.body{padding:16px 16px 0}
.body-cal{padding:12px 0 0}
.body-cal .vtog,.body-cal .alert,.body-cal .achips,.body-cal .wnav{margin-left:16px;margin-right:16px}
.card{background:var(--card);border:0;border-radius:18px;margin-bottom:12px;box-shadow:var(--lift)}
.ch{padding:18px 20px 0;border:0;font-size:15px;letter-spacing:0;color:var(--ink);font-weight:600}
.cb{padding:12px 20px 20px}
.day{display:block;width:100%;text-align:left;background:var(--card);border:0;border-radius:14px;margin-bottom:8px;padding:14px 16px 16px;cursor:pointer;font:inherit;color:inherit}
.day[data-e="lib"]{background:var(--libSoft)}
.day[data-e="ferie"]{background:var(--okSoft)}
.day[data-e="no"]{background:var(--noSoft)}
.day[data-e="disp"]{background:var(--warnSoft)}
.day[data-e="incalcolabile"]{background:var(--warnSoft)}
.day[data-t="1"] .dnum{background:var(--brand);color:#fff;border-radius:999px;padding:2px 8px}
.day[data-no="1"]{outline:2px solid var(--no);outline-offset:-2px}
.dtop{display:flex;align-items:baseline;gap:9px}
.dnum{font-size:22px;font-weight:700;line-height:1;min-width:30px;font-variant-numeric:tabular-nums}
.ddow{font-size:13px;color:var(--ink2);letter-spacing:0;font-weight:600}
.sp{flex:1}
.chip{font-size:12px;letter-spacing:0;padding:4px 9px;border-radius:999px;font-weight:600;white-space:nowrap;border:0}
.c-g{background:var(--brand);color:#fff}
.c-w{background:var(--warnSoft);color:var(--warn)}
.c-n{background:var(--noSoft);color:var(--no)}
.lines{margin-top:10px;display:flex;flex-direction:column;gap:6px}
.line{display:flex;align-items:center;gap:8px;font-size:14px}
.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--ink3)}
.dot.da{background:var(--gen-a-vivo)}
.dot.db{background:var(--gen-b-vivo)}
.dot.dn{background:var(--no)}
.dot.dok{background:var(--ok)}
.who{font-size:12px;letter-spacing:0;color:var(--ink2);min-width:52px;max-width:7.5em;flex:none;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.who.wa{color:var(--gen-a)}
.who.wb{color:var(--gen-b)}
.band{position:relative;height:22px;margin-top:10px;background:var(--paper);border:0;border-radius:8px;overflow:hidden}
.band::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1.5px;background:var(--ink3);opacity:.55;z-index:1}
.band .hr{position:absolute;top:0;bottom:0;width:1px;background:var(--tick)}
.band .bar{position:absolute;height:7px;border-radius:3px}
.b-a{top:2px;background:var(--gen-a-vivo)}.b-b{top:12px;background:var(--gen-b-vivo)}
.bg{top:0;bottom:0;background:repeating-linear-gradient(45deg,rgba(var(--no-rgb),.35) 0 4px,rgba(var(--no-rgb),.12) 4px 8px)}
.bn{top:0;bottom:0;background:rgba(var(--brand-rgb),.12)}
.bx{display:flex;justify-content:space-between;margin-top:4px;font-size:12px;color:var(--ink2);font-variant-numeric:tabular-nums}
.vtog{margin-bottom:12px}
.cal-grid{background:rgba(0,19,59,.09)}
.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;align-items:stretch}
.gh{font-size:11px;text-align:center;color:var(--ink3);font-weight:500;letter-spacing:0;padding:4px 0 6px}
.body-cal .gh-row{padding:0 0 0;background:var(--paper)}
.cell{background:var(--card);border:0;border-radius:0;padding:4px 2px 5px;cursor:pointer;font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-height:68px}
.cell[data-e="lib"]{background:var(--libSoft)}
.cell[data-e="no"]{background:var(--noSoft)}
.cell[data-e="disp"]{background:var(--warnSoft)}
.cell[data-e="ferie"]{background:var(--okSoft)}
.cell[data-e="incalcolabile"]{background:var(--warnSoft)}
.cell[data-cf="1"]{outline:2px solid var(--no);outline-offset:-2px}
.cell .crow{display:flex;align-items:center;justify-content:space-between;gap:2px;min-width:0}
.cell .n{font-size:11.5px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--ink3)}
.cell[data-t="1"] .n{background:var(--brand);color:#fff;border-radius:999px;padding:1px 6px;font-weight:600}
.cell .riga{display:flex;align-items:center;gap:2px;min-width:0;font-size:11px;line-height:1.2;letter-spacing:-.02em;font-weight:600;color:var(--ink)}
.cell .riga .barretta{width:2px;height:10px;border-radius:1px;flex:none}
.cell .riga.a .barretta{background:var(--gen-a-vivo)}
.cell .riga.b .barretta{background:var(--gen-b-vivo)}
.cell .riga span{min-width:0;white-space:nowrap;overflow:hidden}
.cell .riga[data-k="ora"]{font-size:8.5px}
.cell .riga[data-k="riposo"]{color:var(--ink3);font-weight:500}
.cell .riga[data-k="ferie"]{color:var(--ok);background:var(--okSoft);border-radius:3px;padding:1px 2px;margin:0 -2px}
.cell .riga[data-k="congedo"]{color:var(--warn);background:var(--warnSoft);border-radius:3px;padding:1px 2px;margin:0 -2px}
.cell .riga[data-k="congedo"][data-w="1"] span::after{content:"!";margin-left:2px;color:var(--warn);font-weight:700}
.day .line[data-k="congedo"][data-w="1"] .mono::after{content:" · da richiedere";color:var(--warn);font-weight:600}
.cell .riga[data-k="no"]{color:var(--no)}
.cell .riga[data-k="disp"]{color:var(--warn)}
.day .line[data-k="ferie"]{background:var(--okSoft);border-radius:8px;padding:4px 6px;margin:0 -6px}
.day .line[data-k="congedo"]{background:var(--warnSoft);border-radius:8px;padding:4px 6px;margin:0 -6px}
.marks{display:flex;align-items:center;gap:3px;flex:none}
.dtop .marks{align-self:center}
.dotm{width:6px;height:6px;border-radius:50%;display:block;box-sizing:border-box;flex:none}
.dotm.di{background:var(--brand)}
.dotm.cp{width:7px;height:6px;border-radius:0;background:var(--no);border:none;clip-path:polygon(50% 0,0 100%,100% 100%)}
.dotm.no{width:6px;height:6px;border-radius:1px;background:var(--ok);transform:rotate(45deg)}
.blank{min-height:68px;background:var(--paper)}
.legend{margin:12px 16px 8px;padding:0}
.legend-how{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--ink2);font-weight:400}
.legend-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.legend-list li{display:flex;align-items:center;gap:12px}
.legend-list i{width:28px;height:28px;border-radius:6px;border:0;display:block;flex:none;box-sizing:border-box}
.legend-list b{display:block;font-size:15px;font-weight:600;color:var(--ink);line-height:1.25}
.legend-list span{display:block;font-size:13px;color:var(--ink2);line-height:1.4;margin-top:2px;font-weight:400}
.lg-lib{background:var(--libSoft)}
.lg-no{background:var(--noSoft)}
.lg-disp{background:var(--warnSoft)}
.lg-ferie{background:var(--okSoft)}
.lg-oggi{background:var(--brand)}
.lg-marks{background:var(--paper);display:flex!important;align-items:center;justify-content:center}
.lg-marks::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand)}
.lg-nota{background:var(--okSoft);display:flex!important;align-items:center;justify-content:center}
.lg-nota::before{content:"";width:6px;height:6px;background:var(--ok);transform:rotate(45deg)}
.lg-cong{background:var(--noSoft);display:flex!important;align-items:center;justify-content:center}
.lg-cong::before{content:"";width:7px;height:6px;background:var(--no);clip-path:polygon(50% 0,0 100%,100% 100%)}
label.f{display:block;font-size:13px;letter-spacing:0;color:var(--ink2);margin-bottom:6px;font-weight:500}
input.i,select.i,textarea.i{width:100%;padding:12px 14px;border:0;border-radius:12px;font:inherit;font-size:16px;background:var(--paper);color:var(--ink)}
input.i:focus,select.i:focus,textarea.i:focus{outline:2px solid var(--brand);outline-offset:2px;background:#fff}
.r2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.r3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.fld{margin-bottom:14px}
.fld-in{position:relative}
.fld-in > .i{padding-right:34px}
.fld-pw{position:relative}
.fld-pw > .i{padding-right:44px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;width:40px;height:40px;padding:0;cursor:pointer;color:var(--ink3);display:flex;align-items:center;justify-content:center;border-radius:10px}
.pw-eye svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.pw-eye:focus{outline:2px solid var(--brand);outline-offset:0}
.fld-ok{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--ok);font-weight:700;font-size:16px;pointer-events:none}
.check-ok span::after{content:" ✓";color:var(--ok)}
.kid-h .fld{flex:1;margin-bottom:0}
.btn{border:0;background:var(--paper);color:var(--ink);border-radius:12px;padding:12px 16px;font:inherit;font-size:15px;cursor:pointer;font-weight:500}
.btn-p{background:var(--brand);color:#fff}
.btn-d{color:var(--no);background:var(--noSoft)}
.btn-s{padding:8px 12px;font-size:13px}
.btn:disabled{opacity:.45}
.pick-pdf{display:block;width:100%;max-width:420px;padding:10px 0;font:inherit;font-size:15px;color:var(--ink)}
.pick-pdf::-webkit-file-upload-button,.pick-pdf::file-selector-button{
  font:inherit;font-size:15px;font-weight:500;background:var(--brand);color:#fff;border:0;border-radius:12px;
  padding:12px 16px;margin-right:12px;cursor:pointer}
.pick-pdf:disabled{opacity:.45}
.btns{display:flex;gap:8px;flex-wrap:wrap}
.seg{display:flex;border:0;border-radius:12px;overflow:hidden;background:var(--paper);padding:3px;gap:3px}
.seg button{flex:1;border:0;background:transparent;padding:9px 4px;font:inherit;font-size:14px;cursor:pointer;color:var(--ink2);border-radius:10px}
.seg button:last-child{border-right:0}
.seg button[data-on="1"]{background:var(--card);color:var(--brand);font-weight:600;box-shadow:0 1px 3px rgba(var(--deep-rgb),.1)}
.ov{position:fixed;inset:0;background:rgba(var(--deep-rgb),.4);z-index:60;display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--paper);width:100%;max-width:760px;max-height:92vh;overflow-y:auto;border-radius:22px 22px 0 0}
.sh{position:sticky;top:0;background:linear-gradient(180deg,var(--brand),var(--brand-deep));color:#fff;padding:16px 18px;display:flex;align-items:center;gap:10px;border-radius:22px 22px 0 0}
.sh .t{flex:1;font-size:17px;font-weight:600;letter-spacing:.04em}
.sh-ok{font-size:12px;font-weight:600;letter-spacing:0;color:rgba(255,255,255,.8);flex:none}
.sh button{background:rgba(255,255,255,.12);border:0;color:#fff;width:36px;height:36px;border-radius:12px;font-size:18px;cursor:pointer}
.sb{padding:16px}
.alert{border-radius:14px;padding:12px 14px;margin-bottom:10px;font-size:14px;line-height:1.5;border:0}
.a-w{background:var(--warnSoft);color:var(--warn)}
.a-n{background:var(--noSoft);color:var(--no)}
.a-i{background:var(--libSoft);color:var(--brand)}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{text-align:left;font-size:13px;letter-spacing:0;color:var(--ink2);padding:8px 8px;border-bottom:1px solid var(--hair);font-weight:500}
.tbl td{padding:8px;border-bottom:1px solid var(--hair)}
.tbl tr[data-hi="1"] td{background:var(--noSoft)}
.tbl tr[data-hi="2"] td{background:var(--warnSoft)}
.hint{font-size:13px;color:var(--ink3);line-height:1.5;margin-top:6px}
.empty{text-align:center;padding:40px 20px;color:var(--ink3);font-size:15px}
.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--hair);border-top-color:var(--ink);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
.doc-prev{background:var(--card);border-radius:16px;box-shadow:var(--lift);margin:12px 0 0;overflow:hidden;border-left:4px solid var(--brand)}
.doc-prev-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--ink3);padding:12px 16px 0}
pre.out{font-size:13px;line-height:1.6;background:transparent;border:0;border-radius:0;padding:10px 16px 16px;overflow-x:auto;margin:0;white-space:pre-wrap}
.achips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.achip{border:0;background:var(--card);border-radius:999px;padding:7px 13px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;color:var(--ink2)}
.achip[data-on="1"]{color:var(--brand);font-weight:600}
.achip.k-n{background:var(--noSoft);color:var(--no);box-shadow:none}
.achip.k-w{background:var(--warnSoft);color:var(--warn);box-shadow:none}
.achip.k-i{background:var(--libSoft);color:var(--brand);box-shadow:none}
.wnav{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.wnav button{background:var(--card);color:var(--ink);border:0;border-radius:12px;width:40px;height:40px;font-size:20px;cursor:pointer;flex:none}
.wnav .m{flex:1;text-align:center;font-size:16px;font-weight:600;letter-spacing:0}
.set-grp{font-size:11px;letter-spacing:.08em;color:var(--ink3);font-weight:600;margin:22px 2px 4px;text-transform:uppercase}
.set-grp:first-child{margin-top:4px}
.set-list{background:transparent;border-radius:0;margin-bottom:8px;overflow:hidden}
.set-row{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--hair);padding:14px 2px;font:inherit;color:inherit;cursor:pointer}
.set-list .set-row:last-child{border-bottom:1px solid var(--hair)}
.set-row:active{background:transparent;opacity:.7}
.set-row .set-t{font-size:16px;font-weight:600;color:var(--ink);flex:none}
.set-row .set-v{margin-left:auto;font-size:13px;color:var(--ink2);font-weight:400;text-align:right;max-width:58%;line-height:1.35}
.set-row .set-v.set-warn{color:var(--warn);font-weight:600}
.set-row .go{display:none}
.back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--brand);font:inherit;font-size:15px;font-weight:600;cursor:pointer;padding:8px 0;margin-bottom:12px}
.qmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border:0;border-radius:50%;background:var(--paper);color:var(--ink3);font:inherit;font-size:12px;font-weight:700;cursor:pointer;vertical-align:2px;padding:0}
.f .qmark{vertical-align:middle}
.set-sec{margin:0 0 28px}
.set-sec .set-grp{margin:0 0 10px}
.set-h{margin:0 0 8px;font-size:22px;font-weight:600;color:var(--ink);letter-spacing:0}
.set input.i,.set select.i,.set textarea.i{background:#fff}
.set input.i:focus,.set select.i:focus,.set textarea.i:focus{background:#fff}
.set .btn{background:var(--card)}
.set .btn-p{background:var(--brand);color:#fff}
.set .btn-d{background:var(--noSoft);color:var(--no)}
.set .seg,.set .weekdays{background:var(--card)}
.set .seg button[data-on="1"],.set .weekdays button[data-on="1"]{background:var(--brand);color:#fff;box-shadow:none}
.set .codice-v{background:var(--card)}
.set .val-fisso{background:var(--card);border-radius:12px;padding:12px 14px}
.set .ver{margin-top:32px;padding:8px 0;background:transparent}
.set .ver .check{margin-top:8px}
button.link{background:none;border:0;padding:0;font:inherit;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.help{font-size:14px;color:var(--ink2);line-height:1.55;margin:4px 0 12px;font-weight:400}
.help b{color:var(--ink);font-weight:600}
.check{display:flex;align-items:flex-start;gap:10px;margin:14px 0 8px;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer}
.check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--brand)}
.weekdays{display:flex;gap:4px;background:var(--paper);border-radius:12px;padding:3px}
.weekdays button{flex:1;min-width:0;border:0;background:transparent;border-radius:9px;padding:8px 2px;font:inherit;font-size:12px;font-weight:500;cursor:pointer;color:var(--ink2);text-transform:capitalize}
.weekdays button[data-on="1"]{background:var(--card);color:var(--brand);font-weight:600;box-shadow:0 1px 3px rgba(var(--deep-rgb),.1)}
.schema-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.schema-n{width:22px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink3);flex:none}
.schema-row .seg{flex:1;min-width:0}
.schema-row .seg button{font-size:13px;padding:9px 4px}
.kid-h{display:flex;align-items:flex-end;gap:8px;margin-bottom:12px}
.impegno{border-top:1px solid var(--hair);padding-top:12px;margin:12px 0}
.val-fisso{padding:2px 0 6px;font-size:17px;font-weight:600;color:var(--ink)}
.codice-row{display:flex;align-items:stretch;gap:10px}
.codice-v{flex:1;min-width:0;background:var(--paper);border:0;border-radius:14px;padding:14px 16px;font-size:22px;font-weight:600;letter-spacing:.16em;font-variant-numeric:tabular-nums;color:var(--ink);user-select:all;word-break:break-all;line-height:1.2}
.btn-ico{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;white-space:nowrap}
.btn-ico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.log{margin:0 0 22px;padding:0 0 20px;border-bottom:1px solid var(--hair)}
.log:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.log-d{font-size:13px;color:var(--ink3);font-weight:600;margin-bottom:4px}
.log-t{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--ink);letter-spacing:0}
.log ul{margin:0;padding:0 0 0 1.15em;color:var(--ink2);font-size:14px;line-height:1.55}
.log li{margin:0 0 6px}
.log li:last-child{margin-bottom:0}
.pad-x{padding-left:16px;padding-right:16px}
.blk{margin:0 0 22px}
.blk .set-h{margin-bottom:10px}
.lib-riga{display:flex;flex-direction:column;align-items:stretch;gap:10px;border-bottom:1px solid var(--hair);padding:12px 0}
.lib-capo{display:flex;align-items:flex-start;gap:10px}
.lib-capo > div{flex:1;min-width:0}
.periodo{margin-bottom:14px}
.periodo .r2 > .fld{margin-bottom:8px}
.periodo .btn{margin-top:0}
.pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--libSoft);color:var(--brand);vertical-align:2px;margin-left:6px}
.set-h .qmark,.set-grp .qmark{vertical-align:middle}
@media (max-width:360px){
 .cell{padding:4px 2px 5px}
 .cell .riga{font-size:11px}
 .cell .riga[data-k="ora"]{font-size:8.5px}
}
