:root{--font-titolo:"Anton", "Poppins", system-ui, sans-serif;--font-testo:"Poppins", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-testo);color:var(--testo-base);background:var(--sfondo-pagina);font-synthesis:none;text-rendering:optimizelegibility;--ink:#111317;--muted:#66707c;--line:#dfe4ea;--filo:.5px;--white:#fff;--blue:#0e2236;--blue-dark:#081726;--gold:#d6b25e;--gold-scuro:#77530d;--gold-chiaro:#f0e0bb;--sfondo-pagina:#f4f6f8;--testo-base:#17191d;--navy-nero:#11171c;--grigio-fondo:#eef2f5;--grigio-1:#33414c;--grigio-2:#55636e;--grigio-3:#6a7681;--grigio-4:#7d8ea0;--grigio-5:#8b98a3;--grigio-6:#9fb0c0;--line-chiara:#e7ebee;--line-media:#d8e1e9;--line-scura:#cbd2d8;--green:#19774e;--green-soft:#eaf7f0;--amber:#9a5c00;--amber-soft:#fff5df;--red:#bd332b;--red-soft:#fff0ef;--red-su-navy:#e8a9a2;--ciano-su-navy:#5fd0e8;--verde-su-navy:#3fd39a;--viola:#6b2fb5;--viola-su-navy:#c9a6ff;--info:#0b5f96;--info-soft:#e4f2fb;--t-rapida:.18s;--t-media:.3s;--t-lenta:.6s}@media (resolution<=1.5x){:root{--filo:1px}}*{box-sizing:border-box}html{background:var(--sfondo-pagina)}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}input,select{min-width:0}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;box-shadow:0 0 0 3px #d6b25e66}[tabindex="-1"]:focus-visible,[role=dialog]:focus-visible{box-shadow:none;outline:none}.topbar{z-index:100;background:var(--blue);color:#fff;border-bottom:2px solid var(--gold);justify-content:space-between;align-items:center;gap:16px;height:68px;padding:0 22px;display:flex;position:sticky;top:0}.auth-page{background:var(--grigio-fondo);place-items:center;min-height:100vh;padding:22px;display:grid}.app-loading{color:#ffffffb3;background:radial-gradient(95% 80% at 50% 32%,#1b8fd62e,#0000 60%),linear-gradient(#0a1420 0%,#05070b 72%);align-content:center;place-items:center;gap:12px;min-height:100vh;padding:22px;display:grid}.app-loading img{object-fit:contain;border-radius:4px;width:128px;height:auto}.app-loading strong{font-size:13px}.auth-card{border:1px solid #d7dde3;border-top:4px solid var(--blue);background:#fff;width:min(440px,100%);padding:28px;box-shadow:0 16px 45px #222e381a}.auth-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:20px;display:flex}.auth-brand img{object-fit:contain;background:#0b0d10;border-radius:4px;width:48px;height:48px;padding:5px}.auth-brand>div{gap:2px;display:grid}.auth-brand strong{font-size:16px}.auth-brand span{color:var(--muted);font-size:11px}.auth-switch{background:var(--grigio-fondo);border-radius:4px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;margin:20px 0;padding:4px;display:grid}.auth-switch button{color:#606a74;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:11px;font-weight:800;display:flex}.auth-switch button.active{color:#fff;background:var(--testo-base)}.auth-heading{gap:6px;margin-bottom:18px;display:grid}.auth-heading h1{font-size:24px}.auth-heading p{color:var(--grigio-2);font-size:12px;line-height:1.5}.rete-page{background:var(--sfondo-pagina);place-items:center;min-height:100vh;padding:24px;display:grid}.rete-card{background:var(--white);border:1px solid #d7dde3;border-top:4px solid var(--gold);width:min(420px,100%);padding:28px;box-shadow:0 16px 45px #222e381a}.rete-card h1{font-family:var(--font-titolo);text-transform:uppercase;color:var(--blue);font-size:24px;font-weight:400;line-height:1.1}.rete-card p{color:var(--grigio-2);margin-top:10px;font-size:12.5px;line-height:1.55}.rete-cta{width:100%;min-height:44px;color:var(--white);background:var(--blue);border:1px solid var(--blue);border-radius:4px;justify-content:center;align-items:center;gap:8px;margin-top:17px;font-size:12px;font-weight:800;display:flex}.rete-se{font-size:11px}.rete-dettaglio{background:var(--grigio-fondo);color:var(--grigio-2);font-family:var(--font-mono);word-break:break-word;border-radius:4px;margin-top:7px;padding:9px 10px;font-size:10px;line-height:1.45;display:block}.auth-form{gap:12px;display:grid}.auth-form>.auth-submit,.auth-form>.auth-message{margin-top:0}.auth-form>.auth-submit{margin-top:4px}.auth-submit{color:#fff;background:var(--blue);border:1px solid var(--blue);width:100%;min-height:44px;font-family:var(--font-titolo);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;gap:8px;margin-top:17px;font-size:12px;display:flex}.auth-submit:disabled{opacity:.55}.auth-message{margin-top:12px;padding:10px;font-size:11px;line-height:1.45}.auth-message.error{color:#8c2d27;background:var(--red-soft);border:1px solid #efc1bd}.auth-message.success{color:#20613f;background:var(--green-soft);border:1px solid #c7e0d1}.auth-security{color:#66727c;text-align:center;justify-content:center;align-items:flex-start;gap:6px;margin-top:14px;font-size:10px;line-height:1.4;display:flex}.compact-auth-card{gap:16px;display:grid}.compact-auth-card .auth-heading{margin:0}.text-button{min-height:34px;color:var(--grigio-2);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}label{gap:4px;display:grid}label>span{color:#2c3640;text-transform:none;letter-spacing:0;font-size:15px;font-weight:700}label>span svg{vertical-align:-2px;color:var(--amber)}input,select{height:30px;color:var(--testo-base);border:1px solid var(--line-scura);background:#fff;border-radius:4px;padding:0 8px;font-size:12.5px}textarea{width:100%;min-height:88px;color:var(--testo-base);border:1px solid var(--line-scura);font:inherit;resize:vertical;background:#fff;border-radius:4px;padding:10px 11px}input:disabled,select:disabled{color:#4d5660;background:var(--grigio-fondo);opacity:1}.text-button:disabled{opacity:.55}.title-icon{width:34px;height:34px;color:var(--gold);background:var(--blue);border-radius:4px;flex:none;place-items:center;display:grid}.status{text-transform:uppercase;border-radius:4px;justify-self:start;padding:4px 6px;font-size:10px;font-weight:800}.status.ok{color:var(--green);background:var(--green-soft)}@media (width<=760px){input,select,.text-button,.auth-submit{min-height:44px}.topbar{height:auto;min-height:66px;padding:max(8px, env(safe-area-inset-top)) 12px 8px;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;display:grid}.auth-page{padding:12px}.auth-card{padding:20px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:-1ms!important}}.lib{border:1px solid var(--line-chiara);background:var(--white);border-radius:8px;overflow:hidden}.welcome-splash{z-index:700;background:radial-gradient(88% 72% at 50% 30%,#1a3aaa33,#0000 62%),#000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow:hidden}.welcome-splash.hide{opacity:0;pointer-events:none;transition:opacity .5s}.welcome-canvas{z-index:2;pointer-events:none;display:none;position:absolute;inset:0}.welcome-splash.shattering .welcome-inner{opacity:0;transition:opacity .3s}.welcome-inner{z-index:3;text-align:center;width:100%;max-width:640px;position:relative;transform:translateY(-11vh)}.welcome-logo{opacity:0;filter:drop-shadow(0 0 30px #3c6eeb80);width:min(210px,54vw);height:auto;margin:0 auto 26px;animation:.8s cubic-bezier(.16,1,.3,1) .1s forwards welcomeLogo;display:block;transform:translateY(12px)scale(.9)}.welcome-title{font-family:var(--font-titolo);text-transform:uppercase;white-space:nowrap;letter-spacing:.02em;font-size:clamp(22px,7vw,48px);font-weight:400;line-height:1}.auth-heading h1,.auth-brand strong{font-family:var(--font-titolo);letter-spacing:.01em;font-weight:400}.welcome-title .w{color:#0000;background-image:linear-gradient(90deg,#fff 0%,#173a8a 100%);background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;background-size:var(--tw,100%) 100%;background-position:var(--wx,0) 0;opacity:0;filter:blur(14px);animation:1s cubic-bezier(.2,.7,.2,1) forwards welcomeWord;animation-delay:calc(.35s + var(--i) * .15s);margin:0 .1em;display:inline-block;transform:translateY(44px)}.welcome-sub{font-family:var(--font-testo);letter-spacing:.16em;text-transform:uppercase;color:#6d82b6;white-space:nowrap;opacity:0;margin:16px auto 0;font-size:clamp(10px,2.6vw,12px);font-weight:700;animation:.9s 1.5s forwards welcomeSub}.welcome-inner.attesa{transform:none}.welcome-cta{font-family:var(--font-titolo);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;cursor:pointer;background:0 0;background-image:linear-gradient(90deg, var(--white) 0%, #173a8a 100%);color:#0000;opacity:0;-webkit-background-clip:text;background-clip:text;border:none;margin:0 auto;padding:max(0px,22px - .5em) 16px;font-size:clamp(24px,10vw,52px);font-weight:400;line-height:1;animation:.8s forwards welcomeCta;display:block}@media (prefers-reduced-motion:reduce){.welcome-cta{opacity:1;animation:none}.welcome-logo,.welcome-title .w,.welcome-sub{opacity:1;filter:none;animation:none;transform:none}}@keyframes welcomeCta{to{opacity:1}}@keyframes welcomeLogo{to{opacity:1;transform:none}}@keyframes welcomeWord{to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes welcomeSub{to{opacity:1}}.app-update{z-index:400;width:min(430px,100vw - 36px);min-height:68px;color:var(--white);background:var(--ink);border:1px solid #2f3d48;border-left:4px solid var(--blue);border-radius:4px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 34px #0000003d}.app-update>div{gap:3px;min-width:0;display:grid}.app-update strong{font-size:13px}.app-update span{color:#c7d0d9;font-size:10px;line-height:1.35}.app-update button{min-height:38px;color:var(--white);background:var(--blue);border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:800;display:inline-flex}@media (width<=760px){.app-update{right:10px;bottom:calc(76px + env(safe-area-inset-bottom));width:calc(100vw - 20px);padding:10px 11px}.app-update strong{font-size:12px}.app-update button{min-height:44px;padding:0 10px}}
