@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff)format("woff")}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff")}
.app{--bg:#f3f3f0;--surface:#fff;--surface-2:#f9f9f7;--sunken:#ecece8;--hover:#f1f1ee;--line:#e2e2dd;--line-strong:#cacac3;--text:#18191c;--text-2:#4a4d54;--text-3:#64676e;--text-inv:#fff;--accent:#2b4ec2;--accent-hover:#213e9e;--accent-soft:#e8ecfa;--accent-text:#24439f;--ok:#17744b;--ok-soft:#e3f2ea;--warn:#8f5400;--warn-soft:#faefd9;--bad:#b0281c;--bad-soft:#fbe8e5;--neutral:#5c5f66;--neutral-soft:#ecece8;--c-maison:#8c2f3c;--c-palestra:#c2521c;--c-shop:#0e7676;--c-lancio:#6646be;--c-studio:#587320;--c-personale:#686b72;--r-sm:4px;--r:6px;--r-lg:10px;--sh-pop:0 10px 28px #12141c24, 0 1px 3px #12141c14;--sh-panel:0 1px 0 #12141c08;--ring:0 0 0 2px var(--surface), 0 0 0 4px var(--accent);--busy:repeating-linear-gradient(135deg, transparent 0 6px, #12141c0d 6px 7px);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01" 0;font-family:IBM Plex Sans,Helvetica Neue,system-ui,sans-serif;font-size:13px;line-height:1.45}.app.scuro{--bg:#101113;--surface:#17181b;--surface-2:#1b1d20;--sunken:#0c0d0f;--hover:#202226;--line:#2a2c31;--line-strong:#3a3d43;--text:#e9eaec;--text-2:#b3b6bd;--text-3:#90939a;--text-inv:#101113;--accent:#8099f2;--accent-hover:#9db0f5;--accent-soft:#1e2640;--accent-text:#a9b9f6;--ok:#55c78f;--ok-soft:#14291f;--warn:#e5a646;--warn-soft:#2e2312;--bad:#f2796d;--bad-soft:#331614;--neutral:#a3a6ad;--neutral-soft:#24262a;--c-maison:#e38593;--c-palestra:#f2925f;--c-shop:#45c4c2;--c-lancio:#a992f2;--c-studio:#a3c266;--c-personale:#9ea1a8;--sh-pop:0 12px 32px #00000080, 0 0 0 1px #2a2c31;--busy:repeating-linear-gradient(135deg, transparent 0 6px, #ffffff0d 6px 7px)}.app *{box-sizing:border-box}.app h1,.app h2,.app h3,.app h4,.app p{margin:0}.app a{color:var(--accent-text);text-decoration:none}.app a:hover{text-decoration:underline}.app button,.app input,.app select,.app textarea{font:inherit;color:inherit}.app :focus-visible{box-shadow:var(--ring);outline:none}.t-page{letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.25}.t-sec{font-size:14px;font-weight:600}.t-kpi{letter-spacing:-.02em;font-size:26px;font-weight:500;line-height:1.1}.t-meta{color:var(--text-3);font-size:12px}.t-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600}.num,.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.num{text-align:right;white-space:nowrap}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.muted{color:var(--text-3)}.dim{color:var(--text-2)}.pos{color:var(--ok)}.neg{color:var(--bad)}.warnc{color:var(--warn)}.trunc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px;display:block}.ic.sm{width:14px;height:14px}.ic.lg{width:20px;height:20px}.ic.fill{fill:currentColor;stroke:none}.btn{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);height:32px;color:var(--text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.app.scuro .btn.primary{color:#0d1020}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.app.scuro .btn.danger{color:#1a0806}.btn.danger-soft{color:var(--bad);border-color:var(--line-strong)}.btn.sm{gap:4px;height:26px;padding:0 8px;font-size:12px}.btn.lg{border-radius:8px;height:44px;padding:0 18px;font-size:15px}.btn.icon{width:32px;padding:0}.btn.icon.sm{width:26px}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn .kbd{margin-left:4px}.btn.primary .kbd{color:inherit;background:#ffffff2e;border-color:#ffffff4d}.kbd{border:1px solid var(--line-strong);background:var(--surface-2);min-width:18px;height:18px;color:var(--text-2);border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;line-height:1;display:inline-flex}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>label,.field .lbl{color:var(--text-2);font-size:12px;font-weight:500}.field .hint{color:var(--text-3);font-size:11.5px}.field.err .hint{color:var(--bad)}.input{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);align-items:center;gap:8px;min-width:0;height:32px;padding:0 10px;display:flex}.input input,.input select{background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;padding:0}.input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field.err .input{border-color:var(--bad)}.input .pre,.input .suf{color:var(--text-3);flex:none}.input.amount input{text-align:right;font-variant-numeric:tabular-nums}.input.lg{height:44px;font-size:15px}.textarea{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);resize:vertical;width:100%;min-height:64px;padding:8px 10px}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.check input{accent-color:var(--accent);width:15px;height:15px;margin:0}.seg{border-radius:var(--r);background:var(--sunken);gap:2px;padding:2px;display:inline-flex}.seg button{height:26px;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:500;display:inline-flex}.seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000014}.app.scuro .seg button.on{background:var(--hover)}.toggle{background:var(--line-strong);border:0;border-radius:9px;flex:none;width:30px;height:18px;padding:0;position:relative}.toggle:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle.on{background:var(--accent)}.toggle.on:after{left:14px}.menu{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-pop);border-radius:8px;min-width:220px;padding:4px}.menu .m-search{border-bottom:1px solid var(--line);height:32px;color:var(--text-3);align-items:center;gap:8px;margin:-4px -4px 4px;padding:0 8px;display:flex}.menu .m-i{height:30px;color:var(--text);border-radius:4px;align-items:center;gap:8px;padding:0 8px;display:flex}.menu .m-i.on{background:var(--accent-soft)}.menu .m-i .r{color:var(--text-3);margin-left:auto;font-size:12px}.menu .m-sep{background:var(--line);height:1px;margin:4px -4px}.menu .m-h{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:6px 8px 2px;font-size:11px;font-weight:600}.cl{--c:var(--c-personale);border-radius:var(--r-sm);background:color-mix(in oklab, var(--c) 12%, transparent);height:22px;color:var(--text);white-space:nowrap;align-items:center;gap:5px;max-width:100%;padding:0 8px 0 5px;font-size:12.5px;font-weight:500;display:inline-flex}.cl .em{text-align:center;width:14px;font-size:12px;line-height:1}.cl.lg{height:28px;padding:0 10px 0 7px;font-size:14px}.cl.lg .em{width:18px;font-size:15px}.cl.dot{background:0 0;height:auto;padding:0}.cl.dot:before{content:"";background:var(--c);border-radius:2px;flex:none;width:8px;height:8px}.sw{--c:var(--c-personale);background:var(--c);border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.av{--c:var(--c-personale);background:color-mix(in oklab, var(--c) 16%, var(--surface));width:32px;height:32px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--c) 30%, transparent);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.av.lg{border-radius:12px;width:48px;height:48px;font-size:24px}.c-maison{--c:var(--c-maison)}.c-palestra{--c:var(--c-palestra)}.c-shop{--c:var(--c-shop)}.c-lancio{--c:var(--c-lancio)}.c-studio{--c:var(--c-studio)}.c-personale{--c:var(--c-personale)}.badge{border-radius:var(--r-sm);white-space:nowrap;background:var(--neutral-soft);height:20px;color:var(--neutral);align-items:center;gap:5px;padding:0 7px;font-size:11.5px;font-weight:500;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.nodot:before{display:none}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.info{background:var(--accent-soft);color:var(--accent-text)}.badge.outline{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--text-2);background:0 0}.tag{border-radius:var(--r-sm);background:var(--sunken);height:20px;color:var(--text-2);align-items:center;padding:0 6px;font-size:11.5px;display:inline-flex}.count{background:var(--sunken);min-width:18px;height:18px;color:var(--text-2);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-flex}.count.accent{background:var(--accent);color:#fff}.count.bad{background:var(--bad);color:#fff}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-panel);border-radius:8px;min-width:0}.panel-h{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:44px;padding:0 14px;display:flex}.panel-h .t-sec{flex:1;align-items:center;gap:8px;display:flex}.panel-b{padding:14px}.panel-f{border-top:1px solid var(--line);background:var(--surface-2);border-radius:0 0 8px 8px;align-items:center;gap:8px;padding:8px 14px;display:flex}.kv{grid-template-columns:140px 1fr;gap:8px 12px;font-size:13px;display:grid}.kv dt{color:var(--text-3)}.kv dd{margin:0}.divider{background:var(--line);height:1px}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex;overflow-x:auto}.tabs a{height:38px;color:var(--text-2);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 10px;font-weight:500;display:inline-flex}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.on{color:var(--text);border-bottom-color:var(--accent)}.tbl-wrap{overflow-x:auto}.tbl{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.tbl th{z-index:1;text-align:left;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;height:32px;padding:0 10px;font-size:12px;font-weight:500;position:sticky;top:0}.tbl th.num{text-align:right}.tbl th .srt{align-items:center;gap:4px;display:inline-flex}.tbl th.sorted{color:var(--text)}.tbl td{border-bottom:1px solid var(--line);vertical-align:middle;height:38px;padding:0 10px}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--hover)}.tbl tr.sel td{background:var(--accent-soft)}.tbl tr.focus td{box-shadow:inset 0 1px 0 var(--accent), inset 0 -1px 0 var(--accent)}.tbl tr.focus td:first-child{box-shadow:inset 2px 0 0 var(--accent), inset 0 1px 0 var(--accent), inset 0 -1px 0 var(--accent)}.tbl td.cb,.tbl th.cb{width:34px;padding-right:0}.tbl tr.grp td{background:var(--surface-2);height:34px;font-size:12.5px;font-weight:600}.tbl tr.sub td{background:var(--surface-2);font-size:12.5px}.tbl tr.exp td{background:var(--surface-2);height:auto;padding:10px 10px 12px}.tbl tr.muted-row td{color:var(--text-3)}.tbl tfoot td{background:var(--surface-2);border-top:1px solid var(--line-strong);border-bottom:0;font-weight:600}.tbl .row-actions{opacity:0;justify-content:flex-end;gap:2px;display:flex}.tbl tr:hover .row-actions,.tbl tr.focus .row-actions{opacity:1}.bulk{background:var(--text);color:var(--surface);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 8px 14px;display:flex}.bulk .btn{border-color:color-mix(in oklab, var(--surface) 25%, transparent);color:var(--surface);background:0 0}.bulk .btn:hover{background:color-mix(in oklab, var(--surface) 12%, transparent)}.bulk .btn.primary{background:var(--surface);color:var(--text);border-color:var(--surface)}.bulk .kbd{color:inherit;border-color:color-mix(in oklab, var(--surface) 35%, transparent);background:0 0}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter{border-radius:var(--r);border:1px dashed var(--line-strong);height:28px;color:var(--text-2);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:0 8px;font-size:12.5px;display:inline-flex}.filter.on{background:var(--surface);color:var(--text);border-style:solid}.filter .v{font-weight:600}.bar{background:var(--sunken);border-radius:3px;height:6px;position:relative;overflow:visible}.bar>i{background:var(--accent);border-radius:3px;display:block;position:absolute;top:0;bottom:0;left:0}.bar>i.ok{background:var(--ok)}.bar>i.warn{background:var(--warn)}.bar>i.bad{background:var(--bad)}.bar>i.ghost{background:color-mix(in oklab, var(--accent) 30%, transparent)}.bar>b{background:var(--text);border-radius:1px;width:2px;display:block;position:absolute;top:-3px;bottom:-3px}.bar.lg{border-radius:5px;height:10px}.bar.lg>i{border-radius:5px}.stack{background:var(--sunken);border-radius:5px;gap:2px;height:10px;display:flex;overflow:hidden}.stack>i{background:var(--c,var(--accent));height:100%;display:block}.vbars{align-items:flex-end;gap:6px;height:120px;display:flex}.vbars .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.vbars .pair{justify-content:center;align-items:flex-end;gap:2px;width:100%;height:100%;display:flex}.vbars .b{background:var(--accent);border-radius:2px 2px 0 0;width:100%;max-width:16px}.vbars .b.alt{background:color-mix(in oklab, var(--text) 18%, transparent)}.vbars .b.fut{box-shadow:inset 0 0 0 1.5px var(--accent);background:0 0;border-bottom:0}.vbars .lbl{color:var(--text-3);font-size:11px}.legend{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--accent);border-radius:2px;width:10px;height:10px;display:inline-block}.shell{background:var(--bg);flex-wrap:wrap;min-height:100vh;display:flex}.shell-side{background:var(--surface-2);border-right:1px solid var(--line);flex:0 0 232px}.shell-main{flex-direction:column;flex:999 560px;min-width:0;display:flex}.content{flex-direction:column;gap:20px;width:100%;max-width:1480px;padding:20px 28px 40px;display:flex}.pagehead{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.pagehead .grow{flex-direction:column;flex:1;gap:4px;min-width:240px;display:flex}.crumbs{color:var(--text-3);align-items:center;gap:6px;font-size:12.5px;display:flex}.crumbs a{color:var(--text-3)}.side{flex-direction:column;gap:14px;padding:12px 10px;font-size:13px;display:flex}.side .who{align-items:center;gap:10px;padding:4px 6px 6px;display:flex}.side .who .mark{background:var(--text);width:28px;height:28px;color:var(--surface);border-radius:7px;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.side .grp{flex-direction:column;gap:1px;display:flex}.side .grp .t-label{padding:0 8px 4px;font-size:10.5px}.nav-i{border-radius:var(--r);align-items:center;gap:10px;height:30px;padding:0 8px;font-weight:500;display:flex;color:var(--text-2)!important;text-decoration:none!important}.nav-i:hover{background:var(--hover);color:var(--text)!important}.nav-i .ic{color:var(--text-3)}.nav-i .count{margin-left:auto}.nav-i .k{opacity:0;margin-left:auto}.nav-i:hover .k{opacity:1}.nav-i.on{background:var(--surface);box-shadow:0 0 0 1px var(--line), 0 1px 2px #0000000a;color:var(--text)!important}.app.scuro .nav-i.on{background:var(--hover);box-shadow:0 0 0 1px var(--line)}.nav-i.on .ic{color:var(--accent)}.top{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:nowrap;align-items:center;gap:10px;height:56px;padding:0 16px 0 12px;display:flex}.search{border-radius:var(--r);background:var(--sunken);max-width:440px;height:34px;color:var(--text-3);cursor:text;border:1px solid #0000;flex:280px;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:13px;display:flex}.search .kbd{margin-left:auto}.timer{border:1px solid var(--line-strong);background:var(--surface);border-radius:8px;align-items:center;gap:10px;height:36px;padding:0 4px 0 10px;display:flex}.timer.run{border-color:color-mix(in oklab, var(--ok) 45%, transparent);background:color-mix(in oklab, var(--ok) 6%, var(--surface))}.timer .pulse{background:var(--ok);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 25%, transparent);border-radius:50%;flex:none}.timer.pause .pulse{background:var(--warn);box-shadow:none}.timer .clock{font-variant-numeric:tabular-nums;min-width:62px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;font-weight:500}.timer .proj{color:var(--text-2);max-width:170px;font-size:12.5px}.stopbtn{background:var(--text);width:28px;height:28px;color:var(--surface);cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.bell{position:relative}.bell .dotn{background:var(--bad);width:7px;height:7px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:5px;right:6px}.rows{flex-direction:column;display:flex}.row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:40px;padding:6px 14px;display:flex}.row:last-child{border-bottom:0}.row:hover{background:var(--hover)}.row .grow{flex:1;min-width:0}.row-h{color:var(--text-2);background:var(--surface-2);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 14px 6px;font-size:12px;font-weight:600;display:flex}.tick{border:1.5px solid var(--line-strong);background:0 0;border-radius:50%;flex:none;width:16px;height:16px;padding:0}.tick.done{background:var(--ok);border-color:var(--ok)}.prio{align-items:flex-end;gap:1.5px;height:12px;display:inline-flex}.prio i{background:var(--line-strong);border-radius:1px;width:3px;display:block}.prio i:first-child{height:5px}.prio i:nth-child(2){height:8px}.prio i:nth-child(3){height:11px}.prio.p1 i:first-child{background:var(--text-2)}.prio.p2 i:nth-child(-n+2){background:var(--warn)}.prio.p3 i{background:var(--bad)}.tl{flex-direction:column;display:flex}.tl-i{grid-template-columns:76px 20px 1fr;gap:0 10px;min-height:44px;display:grid}.tl-i .d{color:var(--text-3);text-align:right;padding-top:2px;font-size:12px}.tl-i .rail{justify-content:center;display:flex;position:relative}.tl-i .rail:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0}.tl-i:first-child .rail:before{top:8px}.tl-i:last-child .rail:before{bottom:calc(100% - 12px)}.tl-i .node{background:var(--surface);border:2px solid var(--line-strong);border-radius:50%;width:12px;height:12px;margin-top:4px;position:relative}.tl-i .node.ok{border-color:var(--ok);background:var(--ok)}.tl-i .node.acc{border-color:var(--accent)}.tl-i .node.warn{border-color:var(--warn)}.tl-i .node.bad{border-color:var(--bad);background:var(--bad)}.tl-i .body{padding-bottom:12px;font-size:13px}.modal{background:var(--surface);box-shadow:var(--sh-pop);border:1px solid var(--line);border-radius:12px;overflow:hidden}.modal-h{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.modal-b{flex-direction:column;gap:14px;padding:16px;display:flex}.modal-f{border-top:1px solid var(--line);background:var(--surface-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.scrim{background:#0b0c1061;background:lab(3.33707% .219084 -1.99215/.38)}.drawer{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;min-width:0;display:flex;box-shadow:-12px 0 32px #12141c14}.toast{background:var(--text);color:var(--surface);box-shadow:var(--sh-pop);border-radius:8px;align-items:center;gap:10px;padding:10px 12px 10px 14px;font-size:13px;display:flex}.toast .btn{color:inherit;border-color:color-mix(in oklab, var(--surface) 30%, transparent);background:0 0}.alert{background:var(--warn-soft);color:var(--text);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.alert .ic{color:var(--warn);margin-top:1px}.alert.bad{background:var(--bad-soft)}.alert.bad .ic{color:var(--bad)}.alert.info{background:var(--accent-soft)}.alert.info .ic{color:var(--accent)}.drop{border:1.5px dashed var(--line-strong);background:var(--surface-2);text-align:center;color:var(--text-2);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.pdf{background:var(--sunken);border-radius:8px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex}.pdf .page{aspect-ratio:1/1.414;color:#222;background:#fff;flex-direction:column;gap:8px;width:100%;max-width:420px;padding:34px 36px;display:flex;box-shadow:0 1px 3px #0000001f,0 6px 18px #0000000f}.pdf .page .ln{background:#e4e4e0;border-radius:2px;height:5px}.pdf .page .ln.h{background:#c9c9c4;width:60%;height:9px}.sk{background:linear-gradient(90deg, var(--sunken) 0%, var(--hover) 50%, var(--sunken) 100%);background-size:200% 100%;border-radius:4px;animation:1.4s ease-in-out infinite sk}@keyframes sk{0%{background-position:100% 0}to{background-position:-100% 0}}.kb{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.kb-col{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.kb-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px;font-size:12.5px;display:flex}.phone{background:var(--bg);flex-direction:column;width:390px;height:844px;display:flex;position:relative;overflow:hidden}.m-head{align-items:center;gap:10px;padding:58px 16px 8px;display:flex}.m-timer{background:var(--text);height:52px;color:var(--surface);border-radius:12px;align-items:center;gap:10px;margin:0 12px;padding:0 6px 0 14px;display:flex}.m-timer .clock{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:17px;font-weight:500}.m-timer .stopbtn{background:var(--surface);width:44px;height:40px;color:var(--text);border-radius:9px}.tabbar{background:color-mix(in oklab, var(--surface) 94%, transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:repeat(5,minmax(0,1fr));height:84px;padding:6px 8px 28px;display:grid;position:absolute;bottom:0;left:0;right:0}.tabbar a{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:10.5px;font-weight:500;display:flex;color:var(--text-3)!important;text-decoration:none!important}.tabbar a.on{color:var(--accent-text)!important}.tabbar a .ic{width:22px;height:22px}.tabbar .plus{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:40px;display:flex}.app.scuro .tabbar .plus{color:#0d1020}.sheet{background:var(--surface);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #0000002e}.grabber{background:var(--line-strong);border-radius:3px;width:36px;height:5px;margin:8px auto 4px}
html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html:has(body.scuro){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{min-height:100%;margin:0}body.app{min-height:100vh}.app button{cursor:pointer}.app button[disabled]{cursor:not-allowed}.app input::placeholder,.app textarea::placeholder{color:var(--text-3);opacity:1}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.input input:focus-visible,.input select:focus-visible,.p-accesso .code input:focus-visible{box-shadow:none}.p-accesso .code input:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.app .stopbtn{color:var(--surface)}.app .m-timer .stopbtn{color:var(--text)}.app .tabbar a,.app .tabbar button{color:var(--text-3)}
.p-accesso{background:var(--bg);flex-direction:column;align-items:center;gap:40px;min-height:100vh;padding:64px 16px;display:flex}.p-accesso .marca{align-items:center;gap:10px;display:flex}.p-accesso .marca .m{background:var(--text);width:32px;height:32px;color:var(--surface);border-radius:8px;justify-content:center;align-items:center;font-weight:600;display:flex}.p-accesso .card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:28px;display:flex;box-shadow:0 1px 2px #0000000a}.p-accesso .card.larga{max-width:460px}.p-accesso .card h1{font-size:20px;font-weight:600}.p-accesso .code{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.p-accesso .code input{border:1px solid var(--line-strong);background:var(--surface);text-align:center;border-radius:8px;outline:0;min-width:0;height:52px;padding:0;font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:500}.p-accesso .code input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.p-accesso .code.err input{border-color:var(--bad)}.p-accesso .passi{flex-wrap:wrap;justify-content:center;gap:22px;display:flex}.p-accesso .step{align-items:center;gap:10px;display:flex}.p-accesso .step .n{border:1.5px solid var(--line-strong);background:var(--surface);border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:flex}.p-accesso .step.done .n{background:var(--ok);border-color:var(--ok);color:#fff}.p-accesso .step.now .n{border-color:var(--accent);color:var(--accent-text);box-shadow:0 0 0 4px var(--accent-soft)}.p-accesso .step.now b{font-weight:600}.p-accesso .step b{font-weight:500}.p-accesso .qr{border:1px solid var(--line);background:#fff;border-radius:10px;align-self:center;width:184px;height:184px;padding:12px}.p-accesso .qr img{width:100%;height:100%;display:block}.p-accesso .segreto{letter-spacing:.04em;word-break:break-all;background:var(--sunken);text-align:center;border-radius:6px;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.p-accesso .codici{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;padding:14px 16px;font-family:IBM Plex Mono,monospace;font-size:14px;display:grid}
