/* Ponti Servizi Online — grafica ispirata al portale Fauser, autore Claudio Scarano */
:root{--navy:#132d5a;--purple:#423e77;--link:#10468a;--edge:#dadfe7;--text:#182634}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:white;color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:12.5px;line-height:1.55}
a{color:var(--link)} a:focus-visible{outline:3px solid #f5a623;outline-offset:2px}
.pf-wrap{max-width:970px;padding:0 18px;margin:0 auto}
.pf-skip{position:absolute;left:12px;top:-60px;padding:8px;background:white;z-index:20}.pf-skip:focus{top:5px}
.pf-top{background:linear-gradient(105deg,#102e60,#3e3d73);color:white}
.pf-top-inner{height:96px;display:flex;align-items:center;justify-content:space-between}
.pf-identity{display:flex;align-items:center;gap:13px;text-decoration:none;color:#fff}.pf-identity:hover{color:#fff}
.pf-logo-holder{width:74px;height:74px;display:flex;align-items:center;justify-content:center;flex:none}
.pf-logo-holder img{display:block;max-width:74px;max-height:74px;width:100%;height:100%;object-fit:contain}.pf-logo-text{font-size:15px;font-weight:900;font-style:italic;color:#fff}
.pf-identity-text{display:flex;flex-direction:column;line-height:1.25}.pf-identity-text small{font-size:10.5px;color:#e1e7f7}.pf-identity-text strong{font-size:18px;font-weight:700;letter-spacing:-.3px;margin:5px 0 2px}.pf-identity-text em{font-size:9px;font-style:normal;letter-spacing:.6px;text-transform:uppercase;color:#d6e3ff}
.pf-site{color:#e8ebff;text-decoration:none;font-size:12px}.pf-site:hover{text-decoration:underline;color:white}
.pf-body{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:28px;align-items:start;padding-top:20px;padding-bottom:25px;min-height:530px}
.pf-main{min-width:0}.pf-main h1{font-size:22px;line-height:1.25;margin:0 0 5px;color:#161d28}
.pf-intro{font-size:12.5px;margin:0 0 18px;line-height:1.55}
.pf-service{display:flex;gap:14px;align-items:flex-start;margin:0 0 21px;min-width:0;scroll-margin-top:20px}
.pf-service-text{min-width:0;flex:1}.pf-service h2{font-size:14px;color:#171717;line-height:1.2;margin:0 0 6px;font-weight:700}
.pf-service p{font-size:11.8px;line-height:1.55;margin:0 0 9px;color:#263340}
.pf-service-button{display:inline-block;padding:4px 8px;background:#0e2c60;border-radius:1px;font-size:10.5px;font-weight:700;line-height:1.25;color:white;text-decoration:none}
.pf-future{display:inline-block;color:#687b91;margin-left:8px;font-size:10.5px}
.pf-service img.pf-photo{width:170px;height:103px;object-fit:cover;display:block;flex:none;box-shadow:0 0 0 1px #e4e4e4}
.pf-side{font-size:12px}.pf-menu{display:flex;flex-direction:column;border:1px solid #d4dbe4;padding:12px 14px;gap:5px;margin:0 0 14px;background:white}
.pf-menu a{text-decoration:none;color:#104a94;line-height:1.35;font-size:12px}.pf-menu a:hover{text-decoration:underline}
.pf-auth{border:1px solid #d7dee5;margin:0}.pf-auth h2{margin:0;padding:7px 12px;background:#f6f6f6;border-bottom:1px solid #d7dee5;font-size:19px;line-height:1.3;font-weight:700;color:#0d1729}.pf-auth-body{padding:12px}
.pf-user{font-size:12px;line-height:1.5;margin:0 0 13px}.pf-user strong{display:block;margin-top:4px;overflow-wrap:anywhere;font-size:13px;color:#263855}
.pf-sso,.pf-auth-button{display:block;text-align:center;text-decoration:none;color:white!important;font-size:11.5px;font-weight:700;border-radius:1px;line-height:1.4;padding:9px 6px}
.pf-sso{background:#e52228;margin:0 0 10px}.pf-sso:hover{background:#c9171d}
.pf-auth-button{background:#112e62}.pf-auth-button:hover{background:#224d8d}
.pf-exit{display:block;text-align:center;margin-top:10px;font-size:11.5px}
.pf-welcome{border:1px solid #e0e4eb;background:#fafbfd;padding:16px;margin:0 0 24px}.pf-welcome h2,.pf-login-entry h2{font-size:17px;margin:0 0 7px}.pf-welcome p,.pf-login-entry p{font-size:12.5px;margin:0 0 10px}.pf-main-user{display:block;font-size:14px;margin-top:5px;color:#16396b}.pf-subtitle{font-size:18px;margin:0 0 18px}.pf-login-entry{max-width:400px;border-top:2px solid #112e62;padding-top:15px}.pf-go{margin-top:3px;font-size:12px;padding:8px 25px}
.pf-footer{background:linear-gradient(105deg,#112f61,#3e3e77);color:white;padding:30px 0 14px}.pf-footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
.pf-footer-inner strong{font-size:13px;line-height:1.4;display:block}.pf-footer-inner p{font-size:12px;margin:7px 0;color:#e3e9f8}.pf-footer-inner a{color:#e8effd;text-decoration:none}.pf-footer-inner a:hover{text-decoration:underline}
.pf-bottom{font-size:10px;color:#bdc9e6;margin-top:24px;border-top:1px solid #ffffff28;padding-top:12px}
@media(max-width:790px){.pf-wrap{padding:0 20px}.pf-body{grid-template-columns:minmax(0,1fr) 215px;gap:22px}.pf-service img.pf-photo{width:120px;height:89px}.pf-top-inner{height:94px}.pf-site{display:none}.pf-auth h2{font-size:19px}}
@media(max-width:600px){.pf-body{display:flex;flex-direction:column;gap:25px}.pf-side{width:100%}.pf-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.pf-service img.pf-photo{width:112px;height:85px}.pf-service{gap:10px}.pf-service h2{font-size:14px}.pf-footer-inner{grid-template-columns:1fr;gap:15px}.pf-identity-text strong{font-size:16px}.pf-identity-text small{font-size:9px}.pf-logo-holder{width:54px;height:54px}.pf-logo-holder img{max-width:54px;max-height:54px}}
@media(max-width:370px){.pf-service img.pf-photo{width:90px;height:75px}.pf-future{display:block;margin:5px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Accesso OAuth Google: icona originale multicolore, asset locale */
.pf-sso,.pf-google-go{display:inline-flex;justify-content:center;align-items:center;gap:9px;vertical-align:middle}
.pf-sso{display:flex;min-height:38px;padding:7px 10px}
.pf-google-icon{width:20px;height:20px;flex:0 0 20px;display:block;background:#fff;border-radius:3px;padding:2px;object-fit:contain}
.pf-google-go{font-size:12px;padding:8px 14px;min-height:38px}
@media(max-width:790px){.pf-body{grid-template-columns:minmax(0,1fr) 215px;gap:21px}.pf-top-inner{height:91px}.pf-logo-holder{width:62px;height:62px}.pf-logo-holder img{max-width:62px;max-height:62px}}
@media(max-width:600px){.pf-top-inner{height:82px}.pf-body{grid-template-columns:1fr}.pf-service img.pf-photo{width:110px;height:84px}.pf-logo-holder{width:52px;height:52px}.pf-logo-holder img{max-width:52px;max-height:52px}.pf-service{margin-bottom:23px}.pf-service p{font-size:12px}}
