/* H1 — page-level styles of the new line (what the system does not carry): dashboard pieces. One selector, one home. */
.h0 .rail .it,.h0 .rail .logo{text-decoration:none;color:inherit}.h0 .rail .it .pill{margin-left:auto;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:999px;background:rgba(47,109,246,.12);color:var(--ink)}
.h0 .rail .foot{display:flex;align-items:center;gap:10px}.h0 .rail .foot .who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink2)}.h0 .rail .foot .ib{width:34px;height:34px}
.h0 .topbar .inst,.h0 .topbar .tsearch,.h0 .topbar .ib,.h0 .topbar .av{text-decoration:none;color:inherit}
.h0 .tabbar a{text-decoration:none}
.h0 .h .acts{display:flex;gap:8px;flex-wrap:wrap}
.h0 .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.h0 .kpis .kpi{padding:16px 18px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.h0 .kpi small{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.h0 .kpi b.num{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;margin:6px 0 4px;color:var(--ink)}.h0 .kpi.ok b.num{color:var(--ok)}.h0 .kpi.warn b.num{color:var(--warn)}.h0 .kpi span{font-size:12.5px;color:var(--ink2)}
.h0 .g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.h0 .card .ch{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.h0 .card .ch b{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}.h0 .card .ch small{color:var(--ink3);font-size:12.5px}
.h0 .bars7{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;align-items:end;height:150px;padding-top:6px}.h0 .bars7 .b7{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}.h0 .bars7 .b7 i{display:block;width:100%;max-width:38px;height:max(4px,var(--h));border-radius:8px 8px 4px 4px;background:linear-gradient(180deg,var(--t2),var(--t1));animation:h0grow .6s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom}.h0 .bars7 .b7 small{font-size:11px;color:var(--ink3)}@keyframes h0grow{from{transform:scaleY(0)}}
.h0 .todo{display:grid;gap:8px}.h0 .todo .ti{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;background:var(--bg3);color:var(--t1);text-decoration:none;border-left:3px solid var(--t1);font-weight:600;font-size:14px}.h0 .todo .ti.warn{border-left-color:var(--warn)}.h0 .todo .ti.bad{border-left-color:var(--bad)}.h0 .todo .ti span{flex:1;min-width:0}.h0 .todo .ti svg{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h0 .lfeed{display:grid;gap:2px}.h0 .lfeed .lfi{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--line)}.h0 .lfeed .lfi:last-child{border-bottom:0}.h0 .lfeed .dot{width:8px;height:8px;border-radius:50%;background:var(--t1)}.h0 .lfeed .lfi b{display:block;font-size:13.5px}.h0 .lfeed .lfi small{display:block;color:var(--ink3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h0 .lfeed .when{color:var(--ink3);font-size:12px;white-space:nowrap}
.h0 .mt14{margin-top:14px}.h0 .muted{color:var(--ink3);font-size:14px;margin:0}
.h0 .btn svg,.h0 .h0i{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.h0 .rail .it svg,.h0 .tabbar a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.h0 .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.h0 .g2{grid-template-columns:1fr}}
.h0 .tabbar a{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700;color:var(--ink2);position:relative;padding-bottom:2px}.h0 .tabbar a[aria-current=page]{color:var(--t1)}
/* H1 — Voucher */
.h0 .flash{padding:10px 14px;border-radius:12px;margin-bottom:12px;font-weight:600;font-size:14px}.h0 .flash.ok{background:var(--oksoft);color:var(--ok)}.h0 .flash.bad{background:var(--badsoft);color:var(--bad)}
.h0 .vgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}
.h0 .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.h0 .toolbar .seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--bg3);max-width:100%;overflow-x:auto;scrollbar-width:none}.h0 .toolbar .seg::-webkit-scrollbar{display:none}.h0 .toolbar .seg a{flex:0 0 auto;white-space:nowrap;text-decoration:none;color:var(--ink2);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px;height:32px;display:inline-flex;align-items:center;gap:6px}.h0 .toolbar .seg a.on{background:var(--bg2);color:var(--ink);box-shadow:var(--shadow)}.h0 .toolbar .seg a small{font-weight:700;color:var(--ink3);font-size:11px}
.h0 .vsearch{margin-left:auto}.h0 .srch{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg2)}.h0 .srch svg{width:16px;height:16px;stroke:var(--ink3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.h0 .srch input{border:0;outline:0;background:transparent;font:inherit;width:190px;color:var(--ink)}
.h0 .vbulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--bg3);margin-bottom:10px}.h0 .vbulk .vselc{color:var(--ink3);font-size:13px}.h0 .vbulk .vselc{color:var(--ink3);font-size:13px}.h0 .vbulk .vtpl{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink2);font-weight:700}.h0 .vbulk .vtpl select{height:32px;border-radius:9px;border:1px solid var(--line);background:var(--bg2);font:inherit;font-size:13px;padding:0 8px}.h0 .vbulk .btn.sm{height:36px}
.h0 .btn.dng{color:var(--bad)}.h0 .btn:disabled{opacity:.45;cursor:not-allowed}
.h0 .tw{overflow-x:auto}.h0 .vt{width:100%;border-collapse:collapse;font-size:14px}.h0 .vt th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:8px 10px;border-bottom:1px solid var(--line)}.h0 .vt td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.h0 .vt tr:last-child td{border-bottom:0}.h0 .vt td.c,.h0 .vt th.c{width:34px}.h0 .vt td.r,.h0 .vt th.r{width:44px;text-align:right}.h0 .vt code{font-family:var(--mono);font-weight:700;font-size:13.5px;letter-spacing:.04em}.h0 .vt td.note{color:var(--ink2);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h0 .stt{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700;background:var(--bg3);color:var(--ink2)}.h0 .stt.ok{background:var(--oksoft);color:var(--ok)}.h0 .stt.act{background:rgba(47,109,246,.12);color:var(--t1)}.h0 .stt.bad{background:var(--badsoft);color:var(--bad)}
.h0 .ib.sm{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:var(--bg2);cursor:pointer}.h0 .ib.sm svg{width:16px;height:16px;stroke:var(--ink2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h0 .vempty,.h0 .vcap{padding:14px 4px}
.h0 .tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.h0 .tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;text-align:left;font:inherit;color:var(--ink)}.h0 .tile.on{border-color:var(--t1);box-shadow:0 0 0 3px rgba(47,109,246,.15)}.h0 .tile b{font-size:14px}.h0 .tile small{color:var(--ink3);font-size:12px}.h0 .tile .ic svg{width:22px;height:22px;stroke:var(--t1);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h0 .fr2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.h0 .fr2 label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2)}.h0 .fr2 input,.h0 .fr2 select{height:38px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);font:inherit;font-size:14px;padding:0 10px;color:var(--ink);min-width:0}.h0 .fr2 .dur{display:grid;grid-template-columns:1fr 1.5fr;gap:6px}
.h0 .btn.wide{width:100%;justify-content:center}
@media (max-width:1100px){.h0 .vgrid{grid-template-columns:1fr}}
@media (max-width:700px){.h0 .vsearch{margin-left:0;width:100%}.h0 .srch{width:100%}.h0 .srch input{width:100%}.h0 .vbulk .btn{flex:1 1 auto}}
.h0 .vbulk .vsel{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;margin:0;padding:0;background:none;border:0;font-weight:700;font-size:13px;position:static;width:auto}.h0 .vbulk .vsel input{position:static;opacity:1;margin:0;width:16px;height:16px}
.h0 .vbulk .vtpl{margin:0;padding:0;background:none;border:0;white-space:nowrap}.h0 .vbulk .vtpl select{width:auto}
.h0 .fr2 input,.h0 .fr2 select,.h0 .fr2 .dur input,.h0 .fr2 .dur select{width:100%;box-sizing:border-box}
.h0 .vbulk{row-gap:8px}
.h0 .vbulk .vtpl{display:inline-flex;align-items:center;gap:6px}.h0 .vbulk .vselc{white-space:nowrap}
/* H1 — Reception */
.h0 .rgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:14px;align-items:start}
.h0 .rlink-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.h0 .rlink-row code{flex:1 1 260px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:13px;padding:9px 12px;border-radius:10px;background:var(--bg3)}
.h0 .rmail{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin-top:8px}.h0 .rmail label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2);flex:1 1 220px}.h0 .rmail input{height:36px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);font:inherit;padding:0 10px;width:100%;box-sizing:border-box}
.h0 .rdevs{display:grid;gap:8px;margin-bottom:12px}.h0 .rdev{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:var(--bg3)}.h0 .rdev .av{width:34px;height:34px;border-radius:10px;font-size:12px}.h0 .rdev .rd-body{flex:1 1 180px;min-width:0}.h0 .rdev .rd-body b{display:block;font-size:14px}.h0 .rdev .rd-body small{color:var(--ink3);font-size:12px}.h0 .rdev form.inline{display:inline-flex;margin:0}
.h0 .radd{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.h0 .radd input{flex:1 1 220px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);font:inherit;padding:0 12px;min-width:0;box-sizing:border-box}
.h0 .fr2 .dur .unit{display:inline-flex;align-items:center;font-size:13px;color:var(--ink3);padding-left:2px}
.h0 .rkiosk{border-radius:16px;overflow:hidden;background:#0d1b3a;color:#fff;box-shadow:var(--shadow)}.h0 .rkiosk.light{background:#f4f6fb;color:var(--ink)}.h0 .rk-top{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;background:rgba(255,255,255,.06)}.h0 .rkiosk.light .rk-top{background:rgba(0,0,0,.04)}.h0 .rk-top .dep{width:8px;height:8px;border-radius:50%;background:var(--ok)}
.h0 .rk-body{padding:26px 22px 20px;text-align:center}.h0 .rk-body h2{margin:0 0 4px;font-size:26px}.h0 .rk-body p{margin:0 0 16px;opacity:.8;font-size:14px}.h0 .rk-valid{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:12px;background:rgba(255,255,255,.1);font-size:13px;margin-bottom:14px}.h0 .rkiosk.light .rk-valid{background:rgba(0,0,0,.05)}.h0 .rk-valid b{font-size:24px}
.h0 .rk-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--t1),var(--t2));color:#fff;font-weight:800;font-size:16px}.h0 .rk-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h0 .rk-foot{padding:10px 14px;font-size:12px;opacity:.7;text-align:center}
@media (max-width:1100px){.h0 .rgrid{grid-template-columns:1fr}}
.h0 .rmail input,.h0 .rmail .btn.sm{height:40px}.h0 .ropts .btn.wide{height:38px}.h0 .rlink-row code{height:40px;display:flex;align-items:center;box-sizing:border-box}.h0 .rlink-row .btn.sm{height:40px}
/* H1 — Statistiche e Storico accessi */
.h0 .bars30{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;align-items:end;height:140px}.h0 .bars30 i{display:block;height:max(3px,var(--h));border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--t2),var(--t1));animation:h0grow .6s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom}.h0 .axis{display:flex;justify-content:space-between;font-size:11px;color:var(--ink3);margin-top:6px}
.h0 .hbars{display:grid;gap:8px}.h0 .hb{display:grid;grid-template-columns:96px minmax(0,1fr) 56px;align-items:center;gap:10px;font-size:13px}.h0 .hb span{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h0 .hb i{display:block;height:12px;border-radius:6px;background:var(--bg3);position:relative;overflow:hidden}.h0 .hb i::after{content:"";position:absolute;inset:0;width:var(--w);border-radius:6px;background:linear-gradient(90deg,var(--t1),var(--t2))}.h0 .hb b{text-align:right;font-variant-numeric:tabular-nums}
.h0 .heat{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;overflow-x:auto}   /* one column of rows: vouchler.css's older .heat (the dashboard mini-map) set 24 columns and laid the seven days on one line */.h0 .hrow{display:grid;grid-template-columns:34px repeat(24,minmax(14px,1fr));gap:3px;align-items:center}.h0 .hrow span{font-size:11px;color:var(--ink3)}.h0 .hrow i{display:block;aspect-ratio:1;border-radius:4px;background:rgba(47,109,246,calc(.08 + var(--a) * .82))}.h0 .hrow.hh small{font-size:10px;color:var(--ink3);text-align:center}
.h0 .hlegend{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--ink3)}.h0 .hlegend i{width:80px;height:8px;border-radius:4px;background:linear-gradient(90deg,rgba(47,109,246,.1),rgba(47,109,246,.9))}.h0 .hlegend b{margin-left:auto;color:var(--ink2)}
.h0 code.mono{font-family:var(--mono);font-size:12.5px;color:var(--ink2)}
/* H1 — Stampa */
.h0 .pgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
.h0 .tpls{display:grid;gap:10px;margin-bottom:12px}.h0 .tpl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--bg2)}.h0 .tpl.def{border-color:var(--t1);box-shadow:0 0 0 3px rgba(47,109,246,.12)}
.h0 .thumb{aspect-ratio:1/1.15;border-radius:8px;background:#fff;border:1px dashed color-mix(in srgb,var(--c) 30%,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;color:var(--c);overflow:hidden}.h0 .thumb .th-h{font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.h0 .thumb .th-code{font-family:var(--mono);font-weight:800;font-size:12px;letter-spacing:.06em}.h0 .thumb .th-f{font-size:6.5px;text-align:center;line-height:1.3;opacity:.75}
/* the thumbnail's logo (D-M416, D-M445) — in THIS sheet since D-M461: stampa.php is an H0 page and never loads style.css, so the mark had no size and a sizeless SVG in a centred flex column is zero pixels wide */
.h0 .thumb .th-logo{display:block;flex:none;max-width:64%;max-height:26px;object-fit:contain}.h0 .thumb .th-brand{display:flex;justify-content:center;align-items:center;height:24px;max-width:none}.h0 .thumb .th-brand svg,.h0 .thumb .th-brand img{display:block;flex:none;height:22px;width:auto;aspect-ratio:120/96;opacity:.92}
.h0 .tp-body b{display:block;font-size:14px}.h0 .tp-body small{color:var(--ink3);font-size:12px}.h0 .tp-body em{font-style:normal;color:var(--t1);font-weight:700}
.h0 .tp-acts{grid-column:1 / -1;display:flex;gap:6px;flex-wrap:wrap}.h0 .tp-acts form.inline{display:inline-flex;margin:0}
.h0 .pavail label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:10px}.h0 .pavail select{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);font:inherit;font-size:14px;padding:0 10px}.h0 .pavail .muted{margin-top:8px;font-size:12.5px}
@media (min-width:700px){.h0 .tp-acts{grid-column:2}}
@media (max-width:1100px){.h0 .pgrid{grid-template-columns:1fr}}
/* H1 — Impostazioni */
.h0 .sboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.h0 .sbox{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--bg2);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}.h0 .sbox:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(20,40,80,.08)}
.h0 .sb-ico{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(47,109,246,.1)}.h0 .sb-ico svg{width:22px;height:22px;stroke:var(--t1);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h0 .sb-body{min-width:0}.h0 .sb-body b{display:block;font-size:15px}.h0 .sb-body small{display:block;color:var(--ink3);font-size:12.5px;margin:2px 0 6px}.h0 .sb-body .stt{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h0 .sb-go svg{width:18px;height:18px;stroke:var(--ink3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:820px){.h0 .sboxes{grid-template-columns:1fr}}
.h0 .sb-body .stt{white-space:normal;height:auto;line-height:1.3;padding:4px 10px;display:inline-block}
/* H1 — Sala macchine */
.h0 .wire{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.h0 .wacts{display:flex;gap:8px;flex-wrap:wrap}.h0 .wacts form.inline{display:inline-flex;margin:0}
.h0 .muted2{color:var(--ink3);font-size:12px}.h0 .late{color:var(--warn);font-weight:700}.h0 .racts{display:inline-flex;gap:6px;align-items:center;justify-content:flex-end}.h0 .racts form.inline{display:inline-flex;margin:0}.h0 .vt td.r .racts{white-space:nowrap}
.h0 .vt .stt{white-space:nowrap}
/* H1 — the guided-setup notice on the dashboard */
.h0 .ob{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#fff6e0,#fff);border:1px solid #f1d9a0;box-shadow:0 10px 30px rgba(224,169,43,.12)}
.h0 .ob-ico{width:52px;height:52px;border-radius:14px;background:var(--warnsoft);display:flex;align-items:center;justify-content:center}.h0 .ob-ico svg{width:26px;height:26px;stroke:var(--warn);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.h0 .ob-body b{display:block;font-size:17px;margin-bottom:2px}.h0 .ob-body p{margin:0;color:var(--ink2);font-size:14px}
.h0 .ob-acts{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.h0 .ob-alt{font-size:12.5px;color:var(--ink3);text-decoration:none}.h0 .ob-alt:hover{text-decoration:underline}
@media (max-width:700px){.h0 .ob{grid-template-columns:52px minmax(0,1fr)}.h0 .ob-acts{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between}.h0 .ob-acts .btn{flex:1 1 auto}}
.h0 .ob-acts .btn{white-space:normal;height:auto;min-height:44px;line-height:1.25;padding:8px 16px;text-align:center}
/* H1 — Impostazioni (page), Registro, editor del biglietto */
.h0 .setgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,420px);gap:14px;align-items:start}@media (max-width:1100px){.h0 .setgrid{grid-template-columns:1fr}}
.h0 .sform label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:12px}.h0 .sform label small{font-weight:400;color:var(--ink3);font-size:12px}.h0 .sform input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.h0 .sform select,.h0 .sform textarea,.h0 .eform input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),.h0 .eform select,.h0 .eform textarea{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);font:inherit;font-size:14px;padding:0 10px;color:var(--ink);width:100%;box-sizing:border-box}.h0 .sform textarea,.h0 .eform textarea{height:auto;padding:8px 10px;resize:vertical}
.h0 .sform .btn,.h0 .eform .btn{margin-top:2px}.h0 .vsel.tall{align-self:flex-end;height:40px}.h0 .sform .vsel,.h0 .eform .vsel{display:inline-flex;align-items:center;gap:8px;white-space:normal;font-weight:600;font-size:13px;color:var(--ink);margin-bottom:12px}.h0 .sform .vsel input,.h0 .eform .vsel input{width:16px;height:16px;margin:0}
.h0 .seg2{border:0;padding:0;margin:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.h0 .seg2 legend{font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:6px}.h0 .seg2 .sopt{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;margin:0}.h0 .seg2 .sopt:has(input:checked){border-color:var(--t1);box-shadow:0 0 0 3px rgba(47,109,246,.14)}.h0 .seg2 .sopt b{display:block;font-size:13.5px}.h0 .seg2 .sopt small{color:var(--ink3);font-size:11.5px}.h0 .seg2 .sopt input{margin:0}
.h0 .ob.small{padding:12px 14px}
.h0 .rfilters{gap:8px}.h0 .rfilters .srch{flex:1 1 220px}.h0 .rfilters .rsel{height:36px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);font:inherit;font-size:13px;padding:0 10px}.h0 .vt td.nowrap{white-space:nowrap}.h0 .vt td.wrap{white-space:normal;word-break:break-word;color:var(--ink2)}.h0 .pager{display:flex;align-items:center;gap:10px;justify-content:center;padding:12px 0 4px}
.h0 .egrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:14px;align-items:start}@media (max-width:1100px){.h0 .egrid{grid-template-columns:1fr}}
.h0 .eform label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2);margin-bottom:12px}.h0 .fr3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.h0 .checks{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.h0 .eacts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.h0 .eform input[type=range]{width:100%}.h0 .eform input[type=color]{height:40px;width:100%;border:1px solid var(--line);border-radius:10px;padding:2px;background:var(--bg2)}
.h0 .epv{position:sticky;top:14px}.h0 .tkt{background:#fff;border:1px dashed #cfd6e2;border-radius:10px;padding:18px 16px;text-align:center;color:var(--tc);font-size:calc(14px * var(--ts) / 100)}.h0 .tkt-logo{display:block;margin:0 auto 10px;max-width:100%;height:auto}.h0 .tkt-head{font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.9em}.h0 .tkt-ssid{font-size:.85em;margin-top:4px;opacity:.8}.h0 .tkt-custom{margin:10px 0 6px;font-size:.9em;white-space:pre-wrap}.h0 .tkt-code{font-family:var(--mono);font-weight:800;letter-spacing:.12em;font-size:calc(24px * var(--cs) / 100);margin:8px 0}.h0 .tkt-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;font-size:.8em;opacity:.85}.h0 .tkt-foot{margin-top:10px;font-size:.75em;opacity:.7;white-space:pre-wrap}
@media (max-width:700px){.h0 .fr3,.h0 .checks,.h0 .seg2{grid-template-columns:1fr}.h0 .epv{position:static}}
.h0 .sform .sopt,.h0 .sform .vsel,.h0 .eform .vsel{flex-direction:row;align-items:center}.h0 .sform .sopt span{display:flex;flex-direction:column}
.h0 .ob.small{grid-template-columns:44px minmax(0,1fr)}.h0 .ob.small .ob-ico{width:44px;height:44px}.h0 .ob.small .ob-body b{font-size:15px}.h0 .ob.small .ob-acts{grid-column:2;flex-direction:row;justify-content:flex-start}
.h0 .card .ch small{flex:1 1 auto}
/* H2 — strutture, ricerca in barra */
.h0 .sbox-inst{cursor:default}.h0 .sbox-inst:hover{transform:none}.h0 .sbox.off{opacity:.7}.h0 .sbox-inst .sb-go{display:flex;align-items:center}.h0 .sbox-inst .sb-go svg{width:16px;height:16px}.h0 .bapt{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.h0 .bapt input{height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);font:inherit;padding:0 10px;min-width:220px}
.h0 .topbar form.tsearch{display:inline-flex;align-items:center;gap:8px}.h0 .topbar form.tsearch input{border:0;outline:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);width:180px;min-width:0}.h0 .topbar form.tsearch kbd{margin-left:auto}
@media (max-width:700px){.h0 .topbar form.tsearch input{width:0;padding:0}.h0 .topbar form.tsearch kbd{display:none}.h0 .sbox-inst{grid-template-columns:44px minmax(0,1fr)}.h0 .sbox-inst .sb-go{grid-column:1 / -1}.h0 .sbox-inst .sb-go .btn{width:100%}}
.h0 .sbox-inst{grid-template-columns:44px minmax(0,1fr) auto}
.h0 .h0-guard{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;background:var(--warnsoft);margin:10px 0}.h0 .h0-guard.ok{background:var(--oksoft)}.h0 .h0-guard > svg{width:20px;height:20px;stroke:var(--warn);fill:none;stroke-width:2;flex:0 0 20px}.h0 .h0-guard.ok > svg{stroke:var(--ok)}.h0 .h0-guard > div{flex:1 1 240px;min-width:0}.h0 .h0-guard b{display:block;font-size:13.5px}.h0 .h0-guard small{color:var(--ink2);font-size:12.5px}.h0 .h0-guard-f{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2);flex:1 1 200px}.h0 .h0-guard-f input{height:38px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);font:inherit;padding:0 10px}
/* 944: the provider inside a customer's structure; the rail logo with more presence */
.h0 .h0-support{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:linear-gradient(135deg,#fff6e0,#fff);border:1px solid #f1d9a0;margin-bottom:14px}.h0 .h0-support > span{width:36px;height:36px;border-radius:10px;background:var(--warnsoft);display:inline-flex;align-items:center;justify-content:center}.h0 .h0-support > span svg{width:18px;height:18px;stroke:var(--warn);fill:none;stroke-width:2}.h0 .h0-support > div{flex:1 1 240px;min-width:0}.h0 .h0-support b{display:block;font-size:14px}.h0 .h0-support small{color:var(--ink2);font-size:12.5px}.h0 .h0-support form.inline{margin:0}
.h0 .rail .logo svg{width:36px;height:36px}.h0 .rail .logo .name{font-size:19px;letter-spacing:-.02em}.h0 .rail .top{padding-bottom:6px}
/* 945 — contrast (AA): the small greys of the new line are readable, the blue chip too */
.h0 .muted2,.h0 .muted,.h0 .vt th,.h0 .card .ch small,.h0 .kpi small,.h0 .rdev .rd-body small,.h0 .tp-body small,.h0 .sb-body small,.h0 .lfeed .lfi small,.h0 .lfeed .when,.h0 .bars7 .b7 small,.h0 .axis,.h0 .hrow span{color:#55607a}.h0 .kpi span,.h0 .sform label small{color:#4c5772}
.h0 .stt{color:#4c5772}.h0 .stt.act{background:rgba(47,109,246,.12);color:#1d4fc4}.h0 .stt.ok{color:#176a3c}.h0 .stt.bad{color:#a12f2f}
.h0 .rail .foot .who,.h0 .h .acts .ob-alt,.h0 .ob-alt{color:#55607a}
.h0 .tile small,.h0 .fr2 .dur .unit,.h0 .vbulk .vselc,.h0 .thumb .th-f,.h0 .tk-foot{color:#55607a}.h0 .btn.dng{color:#b02a2a}.h0 .todo .ti{color:#1d4fc4}.h0 .todo .ti.warn{color:#8a5400}.h0 .todo .ti.bad{color:#a12f2f}
.h0 .btn.p{background:linear-gradient(135deg,#2557d3,#3466e0)}

/* ---- the template editor (970): rows that line up, sliders with their value, a real file button ---- */
.h0 .eform .fr2,.h0 .eform .fr3{gap:14px;align-items:start}
.h0 .eform label{margin-bottom:14px}
.h0 .eform label.rng{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 10px}
.h0 .eform label.rng .rl{font-size:12px;font-weight:700;color:var(--ink2)}
.h0 .eform label.rng .rv{font-size:12px;color:var(--ink3);background:var(--bg3);border-radius:8px;padding:2px 8px;justify-self:end}
.h0 .eform label.rng .rv b{color:var(--ink);font-weight:800}
.h0 .eform label.rng input[type=range]{grid-column:1/-1;width:100%;margin:6px 0 0;accent-color:var(--t1)}
.h0 .eform label.filebox input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.h0 .eform label.filebox{position:relative;grid-column:1/-1}
.h0 .eform label.filebox .fb .btn{white-space:nowrap}
.h0 .eform label.filebox .rl{font-size:12px;font-weight:700;color:var(--ink2)}
.h0 .eform label.filebox .fb{display:flex;align-items:center;gap:10px;min-height:40px}
.h0 .eform label.filebox .fn{font-size:12.5px;color:var(--ink3);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h0 .eform .checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:6px}
.h0 .eform .vsel{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);margin:0}
.h0 .eform .fr2 .vsel.tall{align-self:end;height:40px;margin-bottom:14px;box-sizing:border-box}
.h0 .eform input[type=color]{height:40px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--bg2)}
.h0 .eform .eacts{display:flex;gap:10px;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--line);margin-top:6px}
.h0 .eform .ch.mt14{margin-top:6px}
/* ---- the rail row (970): the label gives way, the pill stays inside the rail ---- */
.h0 .rail .it .lbl{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h0 .rail .it .pill{flex:none}
/* ---- the gold thread (970): a hairline of gold under every card heading, like the portal ---- */
.h0 .card .ch{border-bottom:1px solid #e6d9b6;padding-bottom:8px;position:relative}
.h0 .card .ch::after{content:"";position:absolute;left:0;bottom:-1px;width:44px;height:2px;background:linear-gradient(90deg,#c99a2e,#e0b95a);border-radius:2px}
/* ---- the "?" doors and the guide (970) ---- */
.h0 .hlp{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--bg2);color:var(--ink2);font-size:12px;font-weight:800;text-decoration:none;vertical-align:middle;margin-left:6px;position:relative;top:-3px}
.h0 .hlp:hover{border-color:#c99a2e;color:#7a5a12;background:#fbf3df}
.h0 .guide-toc .toc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}
.h0 .guide-toc .toc a{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;text-decoration:none;color:var(--ink)}
.h0 .guide-toc .toc a:hover{background:var(--bg3)}
.h0 .guide-sec{margin-top:14px;scroll-margin-top:80px}
.h0 .guide-sec .n,.h0 .guide-toc .n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2b3547;color:#fff;font-size:12px;font-weight:800;flex:none}
.h0 .guide-sec .lead{margin:0 0 12px;color:var(--ink2);font-size:14.5px;line-height:1.55}
.h0 .guide-sec .where{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:8px 12px;border-radius:10px;background:var(--bg3);color:var(--ink2);font-size:13.5px}
.h0 .guide-sec .where svg{width:16px;height:16px;flex:none}
.h0 .guide-sec .gbody{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:18px;align-items:start}
.h0 .guide-sec .gbody.noshot{grid-template-columns:1fr}
.h0 .guide-sec .shot{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--bg3);box-shadow:var(--shadow);position:sticky;top:76px}
.h0 .guide-sec .shot a{display:block;max-height:620px;overflow:hidden}
.h0 .guide-sec .shot img{display:block;width:100%;height:auto}
.h0 .guide-sec .shot figcaption{font-size:12px;color:var(--ink3);padding:7px 10px;border-top:1px solid var(--line);background:var(--bg2)}
.h0 .guide-sec .gsteps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px;counter-reset:gstep}
.h0 .guide-sec .gsteps li{counter-increment:gstep;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);line-height:1.55;font-size:14.5px;white-space:normal;overflow-wrap:anywhere}
.h0 .guide-sec .gsteps li::before{content:counter(gstep);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fbf3df;border:1px solid #e0b95a;color:#7a5a12;font-weight:800;font-size:12px;margin-top:1px}
.h0 .guide-sec .ob-body p{margin:0 0 8px;line-height:1.55}
.h0 .guide-sec .ob-body p:last-child{margin-bottom:0}
.h0 .guide-sec .hlp-top{margin-left:auto;color:var(--ink3);text-decoration:none;font-size:14px}
@media (max-width:1000px){.h0 .guide-sec .gbody{grid-template-columns:1fr}.h0 .guide-sec .shot{position:static}.h0 .guide-toc .toc{grid-template-columns:1fr}}
/* ---- the two touches (970): tabular figures, the gold only on the number that matters; the "create" box in a deeper ivory than the list ---- */
.h0 .kpis .kpi .num,.h0 .hero .stat2 .num,.h0 .vt b,.h0 .tw td b{font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.h0 .kpis .kpi.ok .num{color:#9a6e10}
.h0 .kpis .kpi.ok{background:linear-gradient(160deg,#fffdf9,#fbf3df);border-color:#e6d9b6}
.h0 .vgrid > .card:last-child{background:linear-gradient(160deg,#f5f1e6,#efe9db);border-color:#e2d8c2}
.h0 .vgrid > .card:last-child .tile{background:var(--bg2)}
.h0 .vgrid > .card:last-child input,.h0 .vgrid > .card:last-child select{background:#fffdf9}
/* voucher table on a phone (13/9, demo dal telefono): one card per row instead of a table that scrolls sideways —
   first line: checkbox, code, status badge, print; second line: duration · use · note */
@media (max-width:700px){
.h0 .tw .vt thead{display:none}
.h0 .tw .vt,.h0 .tw .vt tbody{display:block;width:100%}
.h0 .tw .vt tr{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px 4px;border-bottom:1px solid var(--line)}
.h0 .tw .vt tr:last-child{border-bottom:0}
.h0 .tw .vt td{display:block;padding:0;border:0;min-width:0;width:auto}
.h0 .tw .vt td.c{flex:0 0 24px;width:24px}
.h0 .tw .vt td.code{flex:1 1 40%;min-width:0}
.h0 .tw .vt td.code code{font-size:15px;white-space:nowrap}
.h0 .tw .vt td:nth-child(5){flex:0 0 auto;margin-left:auto}
.h0 .tw .vt td:nth-child(5) .stt{white-space:nowrap}
.h0 .tw .vt td.r{flex:0 0 auto;text-align:right}
.h0 .tw .vt td:nth-child(3),.h0 .tw .vt td:nth-child(4),.h0 .tw .vt td.note{flex:0 0 auto;order:9;font-size:12.5px;color:var(--ink2)}
.h0 .tw .vt td.code{flex-basis:calc(100% - 200px)}
.h0 .tw .vt td:nth-child(3){order:8;margin-left:32px;margin-top:-4px}
.h0 .tw .vt td:nth-child(4){margin-top:-4px}
.h0 .tw .vt td:nth-child(4)::before,.h0 .tw .vt td.note:not(:empty)::before{content:"· "}
.h0 .tw .vt td.note{margin-top:-4px}
}
@media (max-width:700px){.h0 .hrow{grid-template-columns:28px repeat(24,minmax(0,1fr));gap:2px}.h0 .hrow i{border-radius:2px}.h0 .hrow.hh small{font-size:8px}}   /* the whole day fits a phone: the evening peak is the point of the map */
/* measured 556 (gcontrast/gtouch at 390 px): the active tab label of the bottom bar was 4.38:1 in blue on the paper — a deeper blue reads 5.9:1;
   the "?" beside a page title was 22 px — 28 px; the old-shell footer (support) was 2.95:1 with 15 px links */
.h0 .tabbar a[aria-current="page"], .h0 .tabbar a.on { color: #2457c4; }   /* same specificity as the rule that paints it --t1, later in the sheet: wins */
.h h1 a.hlp, .hlp { min-width: 28px; min-height: 28px; box-sizing: border-box; }

/* the AI page and the credits chip/banner (D-M324/333) */
.h0 .rail .foot .ib.chip-cr-low { background: #fde8e8 !important; color: #b93434 !important; font-weight: 800; } .h0 .cr-low { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 10px 16px 0; }
.h0 .aih-wallet { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 14px 18px; border-radius: 14px; background: #fff; border: 1px solid #e6e9f0; margin: 12px 0 16px; } .h0 .aih-wallet b { font-size: 26px; display: block; } .h0 .aih-wallet small { display: block; font-size: 12px; color: #6b7280; }
.h0 .aih-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; } .h0 .aih-card { border: 1px solid #e6e9f0; border-radius: 14px; padding: 14px 16px; background: #fff; display: flex; flex-direction: column; gap: 8px; } .h0 .aih-card h3 { margin: 0; font-size: 16px; } .h0 .aih-card p { margin: 0; font-size: 13.5px; line-height: 1.5; color: #4b5563; } .h0 .aih-card footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; border-top: 1px dashed #e6e9f0; } .h0 .aih-cost { font-size: 12px; font-weight: 700; color: #2b6cb0; } .h0 .aih-soon { border-style: dashed; opacity: .9; }
/* low credits, in the design (D-M334): a card at the top of the page, icon + words + one button */
.h0 .cr-low-card { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 14px 18px; border-radius: 16px; background: linear-gradient(135deg, #fff7e6, #fff); border: 1px solid #f1d38e; box-shadow: 0 8px 24px rgba(201,154,46,.12); } .h0 .cr-low-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #c99a2e; color: #fff; font-size: 20px; flex: none; } .h0 .cr-low-t b { display: block; font-size: 15px; } .h0 .cr-low-t small { display: block; color: #6b7280; font-size: 13px; } .h0 .cr-low-card .btn { margin-left: auto; flex: none; }
/* the rail's logo: bigger, centred (D-M334) */
.h0 .rail .top { justify-content: center; padding: 14px 8px 18px; } .h0 .rail .logo { margin-top: 0; gap: 10px; font-size: 18px; } .h0 .rail .logo svg { width: 40px; height: 32px; }
/* the dashboard's two boxes: same top, same height; the empty chart keeps a floor (D-M334) */
.h0 .g2{align-items:stretch}.h0 .g2 > .card{margin:0;display:flex;flex-direction:column}.h0 .g2 > .card > .bars,.h0 .g2 > .card > .chart{flex:1;min-height:180px}
.h0 .h0-credits{background:linear-gradient(135deg,#e6efff,#fff);border-color:#b9d0ff}.h0 .h0-credits.is-zero{background:linear-gradient(135deg,#fde8e8,#fff);border-color:#f0b4b4}.h0 .h0-credits > span{font-size:20px;color:#2f6df6;background:#fff;border-radius:10px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}.h0 .h0-credits.is-zero > span{color:#b93434}.h0 .h0-credits .btn{margin-left:auto}
.h0 .rail .top{display:flex;justify-content:center;padding:14px 8px 10px}.h0 .rail .logo.logo-xl{display:inline-flex;align-items:center;gap:10px;font-size:20px;font-weight:900;letter-spacing:-.01em}.h0 .rail .logo.logo-xl svg{width:36px;height:36px}
/* D-M334: the dashboard's two-column rows aligned top and bottom */
.h0 .g2{align-items:stretch}.h0 .g2 > .card,.h0 .g2 > *{margin:0}.h0 .g2 > .card{display:flex;flex-direction:column}
/* the Vouchler mark + lettering on a ticket without its own logo, in the editor preview and on the sheet (D-M337) */
.h0 .ticket-brandmark, .ticket-brandmark { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 auto 8px; font-weight: 900; letter-spacing: .02em; font-size: 17px; } .ticket-brandmark svg, .ticket-brandmark img { width: 28px; height: 28px; }
/* the new-device link block (D-M340): the QR at the left in its own tile, the words, the link and the mail form at its side */
.h0 .rlink-box{display:flex;gap:22px;align-items:flex-start}.h0 .rlink-qr{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 10px 8px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 1px 6px rgba(0,0,0,.06);float:none;margin:0}.h0 .rlink-qr>svg{width:168px;height:168px;display:block;border-radius:8px;border:0;box-shadow:none}.h0 .rlink-qr small{max-width:168px;text-align:center;color:var(--ink3);font-size:11.5px;line-height:1.35}
.h0 .rlink-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px}.h0 .rlink-body .rlink-lead{margin:0}.h0 .rlink-body .rlink-row{margin-bottom:0;flex-wrap:nowrap}.h0 .rlink-body .rlink-row code{min-width:0;overflow-x:auto;white-space:nowrap}.h0 .rlink-body .rmail{margin-top:2px}
@media (max-width:720px){.h0 .rlink-box{flex-direction:column;align-items:center}.h0 .rlink-body{width:100%}}
.h0 .h0-ctrl{background:linear-gradient(135deg,#fff1d6,#fff);border-color:#f0cf8e}.h0 .h0-ctrl.is-key{background:linear-gradient(135deg,#fde8e8,#fff);border-color:#f0b4b4}.h0 .h0-ctrl > span{background:#fff;border-radius:10px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:#b93434}.h0 .h0-ctrl .btn{margin-left:auto}
/* the product's mark hidden by the live preview (D-M477): a class that sets display would otherwise win over the hidden attribute */
.ticket-brandmark[hidden],.tkt .ticket-brandmark[hidden]{display:none!important}

.chip-cr-sup{outline:1.5px dashed #c99a2e;outline-offset:2px}.chip-cr-sup::before{content:'assistenza \00B7 ';opacity:.7;font-size:.85em}   /* the provider's own credits, in assistance (D-M616) */

/* the AI map, for the customer (D-M620) */
.aih-hero{display:flex;gap:22px;align-items:center;flex-wrap:wrap;border:1px solid rgba(0,0,0,.07);border-radius:16px;padding:18px 22px;margin:0 0 18px;background:linear-gradient(135deg,rgba(201,154,46,.10),rgba(255,255,255,.4))}.aih-bal small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute,#6b7280)}.aih-bal b{font-size:34px;font-weight:800;letter-spacing:-.01em;display:block;line-height:1.1}.aih-low{font-size:12px;color:#b23b3b;font-weight:600}.aih-hero-t{flex:1;min-width:240px}.aih-hero-t p{margin:0 0 10px;color:var(--mute,#6b7280)}.aih-hero-a{display:flex;gap:8px;flex-wrap:wrap}
/* D-M870: the month's included credits and the bought ones, under the balance (ai.php) */
.aih-bal .aih-inc{display:block;margin-top:6px;font-size:12.5px;line-height:1.35;font-weight:500;opacity:.8;max-width:34ch;text-transform:none;letter-spacing:0}
.aih-card .aih-icon{font-size:26px;line-height:1;margin-bottom:8px}.aih-how{margin-top:22px;border-top:1px solid rgba(0,0,0,.07);padding-top:16px}.aih-how h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute,#6b7280);margin:0 0 8px}.aih-how ul{margin:0 0 0 18px;line-height:1.6;font-size:13.5px}

/* the AI functions' switches (D-M623) */
.ai-sw-list{display:flex;flex-direction:column;gap:6px}.ai-sw-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid rgba(0,0,0,.06);margin:0}.ai-sw-row:first-child{border-top:0}.ai-sw-name b{display:block;font-size:14px}.ai-sw-name small{display:block;color:var(--mute,#6b7280);font-size:12.5px}
.ai-sw{display:inline-flex;align-items:center;gap:8px;border:0;background:none;cursor:pointer;font:inherit;color:var(--mute,#6b7280);font-size:12px;padding:0}.ai-sw i{display:inline-block;width:38px;height:22px;border-radius:11px;background:rgba(0,0,0,.18);position:relative;transition:background .2s}.ai-sw i::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .2s}.ai-sw.on i{background:#1e9e6a}.ai-sw.on i::after{left:18px}.ai-sw.on{color:#15734d;font-weight:600}
.aih-card.aih-off{opacity:.55}

/* D-M872: the glyphs that replaced the emoji (hq_icon), sized like the text they sit in — here too: these pages ship with this sheet */
.ico-g{display:inline-flex;width:1em;height:1em;vertical-align:-.14em;flex:none}.ico-g svg,.pn-hero-ico svg,.pr-ghost svg,.pr-eyebrow svg{width:1em;height:1em}
/* D-M1442: the technical doors of the engine room — copies, machine settings, maintenance */
.h0 .sm-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.h0 .sm-door{text-decoration:none}.h0 .sm-door:hover{border-color:var(--t1)}.h0 .sm-door .stt{margin-top:2px}
.h0 .pp-seat-note{margin:10px 0 0;font-size:13px;color:var(--ink3)}.h0 .pp-seat-note a{font-weight:700;white-space:nowrap}
/* D-M1444: the controller row of Impostazioni (a list row the product sheet never styled: address and site ran together) */
.setgrid .mlist{display:grid;gap:10px}.setgrid .mli{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}.setgrid .mli .d{width:40px;height:40px;border-radius:12px;background:var(--bg3);display:inline-flex;align-items:center;justify-content:center}.setgrid .mli b{display:block;font-size:14px;overflow-wrap:anywhere}.setgrid .mli small{color:var(--ink3);font-size:12px}
.vsel input{flex:none}
/* the access history's period and filters (D-M1448) */
.h0 .ac-filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin:0 0 12px}.h0 .ac-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--ink2);margin:0;min-width:0}.h0 .ac-filters input{height:36px;box-sizing:border-box;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:inherit;width:150px;max-width:100%}.h0 .ac-filters .btn{height:36px}@media (max-width:700px){.h0 .ac-filters label{flex:1 1 45%}.h0 .ac-filters input{width:100%}.h0 .ac-filters .btn{flex:1 1 100%}}
/* D-M1467: the changes of the controller in Impostazioni — the customer's request (two modes, the console lookup, the reason), the owner's
   box of a request (facts, signals, verdict, alarms, apply and drop), the owner's move fieldset and the history; one column on a phone */
.h0 .creq .cr-intro{margin:0 0 12px}.h0 .creq .seg2 .sopt input{flex:none}.h0 .cr-find{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 10px}.h0 .cr-find .muted2{flex:1 1 200px;min-width:0}
.h0 .cr-msg-bad{color:var(--bad)!important}.h0 .cr-msg-warn{color:var(--warn)!important}.h0 .cr-msg-ok{color:var(--ok)!important}
.h0 .cr-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:0 0 12px}
.h0 .cr-con{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:inherit;cursor:pointer;min-height:44px}
.h0 .cr-con b{font-size:14px;overflow-wrap:anywhere}.h0 .cr-con small{font-size:12px;color:var(--ink3)}.h0 .cr-con em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--warn)}
.h0 .cr-con.on{border-color:var(--t1);box-shadow:0 0 0 3px rgba(47,109,246,.14)}.h0 .cr-con.old,.h0 .cr-con.notowner{opacity:.6;cursor:not-allowed}
.h0 .cr-chosen{display:flex;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;font-weight:700;color:var(--ok)}.h0 .cr-manual{margin:0 0 10px;font-size:13px}.h0 .cr-manual summary{cursor:pointer;color:var(--ink2);font-weight:600;margin-bottom:8px}
.h0 .cr-owner{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg2)}.h0 .cr-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 10px}.h0 .cr-head b{font-size:15px;flex:1 1 auto}
.h0 .cr-ico{width:34px;height:34px;border-radius:10px;background:var(--bg3);display:inline-flex;align-items:center;justify-content:center;flex:none}
.h0 .cr-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 14px;margin:0 0 10px;font-size:13.5px}.h0 .cr-facts dt{color:var(--ink3);font-weight:700}.h0 .cr-facts dd{margin:0;overflow-wrap:anywhere}
.h0 .cr-sig{list-style:none;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--bg3);display:grid;gap:4px;font-size:13px}.h0 .cr-sig li.warn{color:var(--bad);font-weight:700}
.h0 .cr-apply,.h0 .cr-drop{margin:0}.h0 .cr-drop{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.h0 .cr-alarm{align-items:flex-start!important;color:var(--bad)!important}.h0 .cr-alarm input{margin-top:3px}
.h0 .cr-force{margin:0 0 10px;font-size:13px}.h0 .cr-force summary{cursor:pointer;font-weight:700;color:var(--ink2);margin-bottom:8px}
.h0 .cr-move{border:1px dashed var(--line);border-radius:12px;padding:10px 12px 2px;margin:0 0 12px}.h0 .cr-move legend{font-size:12px;font-weight:800;color:var(--ink2);padding:0 4px}.h0 .cr-move .muted2{margin:0 0 10px}
.h0 .cr-hist{margin-top:14px}.h0 .cr-hist summary{cursor:pointer;font-weight:700;color:var(--ink2);margin-bottom:8px}.h0 .cr-hmove{display:block;color:var(--ink3);font-size:11.5px;overflow-wrap:anywhere}
@media (max-width:700px){.h0 .creq .seg2{grid-template-columns:1fr}.h0 .cr-facts{grid-template-columns:1fr;gap:2px}.h0 .cr-facts dd{margin-bottom:6px}.h0 .cr-list{grid-template-columns:1fr}}
.h0 .cr-vch{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 12px;background:var(--warnsoft)}.h0 .cr-vch b{display:block;font-size:13.5px;margin:0 0 6px}.h0 .cr-vch ul{margin:0 0 8px;padding-left:18px;font-size:13px;color:var(--ink2)}.h0 .cr-vch ul li{margin:2px 0}.h0 .cr-vch .vsel{margin:0!important;align-items:flex-start!important}.h0 .cr-vch .vsel input{margin-top:3px}   /* D-M1471: the vouchers of the old console, read and confirmed */
