/* Pagina /login — stessa grafica del login della webmail (skin Roundcube «iocos»,
   /usr/share/psa-roundcube/skins/iocos): pannello scuro a sinistra, scheda bianca a destra. 14/11/2026 */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter/inter-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter/inter-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --lg-bg:#F6F7F9; --lg-card:#fff; --lg-card-border:#ECEEF2;
  --lg-title:#12161C; --lg-text:#1F2630; --lg-muted:#6B7380; --lg-faint:#8A929E;
  --lg-input:#FBFBFC; --lg-input-focus:#fff; --lg-input-border:#DDE1E7; --lg-ico-bg:#F3F4F6;
  --lg-accent:#FF6600; --lg-accent-dark:#E55B00; --lg-link:#B84800; --lg-teal:#1FAD97;
  --lg-shadow:0 1px 2px rgba(18,22,28,.04),0 18px 48px rgba(18,22,28,.08);
}
@media (prefers-color-scheme:dark){
  :root{
    --lg-bg:#0E1116; --lg-card:#161A21; --lg-card-border:#252B35;
    --lg-title:#F2F4F7; --lg-text:#E4E7EC; --lg-muted:#98A1AE; --lg-faint:#7D8693;
    --lg-input:#1D222B; --lg-input-focus:#20262F; --lg-input-border:#2C333E; --lg-ico-bg:#232933;
    --lg-link:#FF9A55; --lg-shadow:0 18px 48px rgba(0,0,0,.4);
  }
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;}
.lg-body{font-family:Inter,'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--lg-bg);color:var(--lg-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;}
.lg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.lg{display:flex;min-height:100vh;min-height:100dvh;}

/* ── pannello del marchio ── */
.lg-brand{position:relative;flex:0 0 44%;max-width:640px;display:flex;flex-direction:column;justify-content:space-between;padding:3rem 3.5rem;color:#F7F4F0;
  background-color:#12161C;
  background-image:radial-gradient(120% 80% at 110% 110%,rgba(31,173,151,.38) 0,rgba(31,173,151,0) 55%),radial-gradient(90% 70% at -10% -10%,rgba(255,102,0,.32) 0,rgba(255,102,0,0) 55%);
  overflow:hidden;}
.lg-brand::before{content:'';position:absolute;width:520px;height:520px;right:-170px;bottom:-170px;border-radius:50%;border:70px solid rgba(255,102,0,.1);pointer-events:none;}
.lg-brand-top{display:flex;align-items:center;gap:.75rem;position:relative;}
.lg-brand-mark{width:44px;height:auto;}
.lg-brand-name{font-size:1.35rem;font-weight:800;letter-spacing:.06em;}
.lg-brand-body{position:relative;max-width:26rem;}
.lg-eyebrow{display:inline-block;margin:0 0 1rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#FFB27F;background:rgba(255,102,0,.14);border:1px solid rgba(255,102,0,.3);border-radius:999px;}
.lg-headline{margin:0 0 1rem;font-size:2.4rem;line-height:1.12;font-weight:700;letter-spacing:-.02em;color:#fff;}
.lg-headline em{font-style:normal;color:var(--lg-accent);}
.lg-sub{margin:0;font-size:1.05rem;line-height:1.6;color:rgba(247,244,240,.72);}
.lg-features{list-style:none;margin:2rem 0 0;padding:0;}
.lg-features li{display:flex;align-items:center;gap:.65rem;margin-bottom:.7rem;color:rgba(247,244,240,.85);font-size:.95rem;}
.lg-features li::before{content:'';flex:0 0 auto;width:1.35rem;height:1.35rem;border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%235CD6C4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 8.5l2.5 2.5L12 5.5'/%3E%3C/svg%3E") center/70% no-repeat rgba(31,173,151,.22);}
.lg-brand-foot{position:relative;font-size:.85rem;color:rgba(247,244,240,.5);}
.lg-brand-foot a{color:rgba(247,244,240,.8);text-decoration:none;}
.lg-brand-foot a:hover{color:#fff;text-decoration:underline;}

/* ── scheda di accesso ── */
.lg-panel{flex:1 1 auto;display:flex;align-items:center;justify-content:center;padding:2rem 1.25rem;}
.lg-card{width:100%;padding:2.5rem 2.25rem 2rem;background:var(--lg-card);border:1px solid var(--lg-card-border);border-radius:16px;box-shadow:var(--lg-shadow);}
.lg-card-logo{display:none;align-items:center;gap:.6rem;margin:0 0 1.5rem;text-decoration:none;color:var(--lg-title);}
.lg-card-logo img{width:40px;height:auto;}
.lg-card-logo span{font-size:1.1rem;font-weight:800;letter-spacing:.06em;}
.lg-title{margin:0 0 .35rem;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;color:var(--lg-title);}
.lg-lead{margin:0 0 1.75rem;color:var(--lg-muted);font-size:.95rem;}

.lg-alert{margin:0 0 1rem;padding:.7rem .9rem;border-radius:10px;font-size:.9rem;}
.lg-alert--error{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;}
.lg-alert--warn{background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412;}

.lg-field{position:relative;display:flex;margin:0 0 .9rem;border:1px solid var(--lg-input-border);border-radius:10px;background:var(--lg-input);transition:border-color .15s,box-shadow .15s,background-color .15s;}
.lg-field:focus-within{border-color:var(--lg-accent);background:var(--lg-input-focus);box-shadow:0 0 0 3px rgba(255,102,0,.15);}
.lg-ico{flex:0 0 46px;display:flex;align-items:center;justify-content:center;background:var(--lg-ico-bg);color:var(--lg-muted);border-radius:9px 0 0 9px;border-right:1px solid var(--lg-input-border);}
.lg-ico svg{width:18px;height:18px;}
.lg-field input{flex:1 1 auto;min-width:0;height:48px;padding:0 .9rem;border:0;background:transparent;color:var(--lg-text);font:inherit;font-size:1rem;outline:none;}
.lg-field input::placeholder{color:#9AA3AF;}
.lg-eye{flex:0 0 46px;display:flex;align-items:center;justify-content:center;border:0;background:var(--lg-ico-bg);color:var(--lg-muted);cursor:pointer;border-radius:0 9px 9px 0;border-left:1px solid var(--lg-input-border);padding:0;}
.lg-eye:hover,.lg-eye:focus-visible{color:var(--lg-accent);outline:none;}
.lg-eye:focus-visible{box-shadow:0 0 0 2px var(--lg-accent) inset;}
.lg-eye svg{width:20px;height:20px;display:block;}
.lg-eye .icon-off{display:none;}
.lg-eye.is-visible .icon-on{display:none;}
.lg-eye.is-visible .icon-off{display:block;}
#login-password::-ms-reveal{display:none;}

.lg-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.2rem 0 1.25rem;font-size:.9rem;}
.lg-row a{color:var(--lg-link);text-decoration:none;font-weight:500;}
.lg-row a:hover{text-decoration:underline;}
.lg-check{display:inline-flex;align-items:center;gap:.45rem;color:var(--lg-muted);cursor:pointer;}
.lg-check input{width:17px;height:17px;accent-color:var(--lg-accent);margin:0;}

.lg-submit{width:100%;height:48px;border:0;border-radius:10px;background:var(--lg-accent);color:#fff;font:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 6px 16px rgba(255,102,0,.28);transition:background-color .15s,transform .1s;}
.lg-submit:hover{background:var(--lg-accent-dark);}
.lg-submit:active{transform:translateY(1px);}
.lg-submit:focus-visible{outline:2px solid var(--lg-accent);outline-offset:3px;}

.lg-secure{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:1.25rem;font-size:.8rem;color:var(--lg-faint);}
.lg-secure svg{width:13px;height:13px;color:var(--lg-teal);}
.lg-foot{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--lg-card-border);text-align:center;font-size:.85rem;color:var(--lg-faint);}
.lg-foot p{margin:.25rem 0;}
.lg-foot a{color:var(--lg-link);text-decoration:none;}
.lg-foot a:hover{text-decoration:underline;}


/* ── contenitore scheda + note legali (views/partials/auth_page.php) ── */
.lg-panel{flex-direction:column;}
.lg-panel-inner{width:100%;max-width:400px;display:flex;flex-direction:column;gap:1.25rem;}
.lg-text{margin:0 0 1rem;font-size:.92rem;color:var(--lg-muted);line-height:1.55;}
.lg-text b{color:var(--lg-text);}
.lg-back{display:block;margin-top:1rem;text-align:center;font-size:.9rem;color:var(--lg-link);text-decoration:none;}
.lg-back:hover{text-decoration:underline;}
.lg-alert--ok{background:#ECFDF5;border:1px solid #A7F3D0;color:#065F46;}
.lg-legal{font-size:.74rem;line-height:1.55;color:var(--lg-faint);text-align:center;padding:0 .25rem;}
.lg-legal p{margin:0 0 .5rem;}
.lg-legal a{color:var(--lg-muted);text-decoration:underline;text-decoration-color:rgba(107,115,128,.35);text-underline-offset:2px;}
.lg-legal a:hover{color:var(--lg-link);}
.lg-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .9rem;margin:0 0 .5rem;font-weight:500;}
.lg-legal-links a{text-decoration:none;}
.lg-legal-links a:hover{text-decoration:underline;}
.lg-legal-copy{color:var(--lg-muted);}
.lg-legal-cookie{opacity:.85;}

/* ── responsive, come la webmail ── */
@media (max-width:1024px){
  .lg-brand{flex-basis:40%;padding:2.5rem 2rem;}
  .lg-headline{font-size:1.9rem;}
  .lg-features{display:none;}
}
@media (max-width:768px){
  .lg-brand{display:none;}
  .lg-panel{justify-content:flex-start;padding-top:8vh;}
  .lg-card{padding:2rem 1.5rem 1.5rem;}
  .lg-card-logo{display:flex;}
}
@media (max-width:480px){
  .lg-panel{padding:6vh 16px 2rem;}
  .lg-card{border:0;box-shadow:none;background:transparent;padding:1rem .25rem;}
}
