/* ============ Accesso Colliery — pagina di login/registrazione ============ */
*{box-sizing:border-box}
body{margin:0}
@keyframes ac-pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes ac-step-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}

#ac-root{
  position:relative;width:100vw;min-height:100vh;overflow:hidden;
  display:flex;flex-direction:column;background:#0b1408;
  font-family:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:#fff;-webkit-font-smoothing:antialiased;letter-spacing:-0.008em;font-variant-numeric:tabular-nums;
}
#ac-beams{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.ac-scrim{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 90% at 50% -10%, rgba(11,20,8,0) 40%, rgba(11,20,8,.55) 100%),
             linear-gradient(180deg, rgba(11,20,8,.35) 0%, rgba(11,20,8,0) 22%, rgba(11,20,8,.28) 78%, rgba(11,20,8,.7) 100%);
}

/* ---------- nav ---------- */
.ac-nav{position:relative;z-index:20;width:100%;max-width:1180px;margin:0 auto;padding:22px 26px;display:flex;align-items:center;justify-content:space-between}
.ac-nav-logo{position:relative;width:118px;height:26px}
.ac-nav-logo img{position:absolute;left:0;top:5px;width:118px;height:42px;filter:brightness(0) invert(1);opacity:.96;transform:translateY(-8px)}
.ac-nav-actions{display:flex;align-items:center;gap:10px}
.ac-btn-ghost{
  height:38px;padding:0 18px;border-radius:10px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);backdrop-filter:blur(10px);color:#fff;
  font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s;
}
.ac-btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28)}
.ac-btn-white{
  height:38px;padding:0 18px;border-radius:10px;border:none;background:#fff;color:#122a0c;
  font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;
  transition:transform .2s,box-shadow .2s;box-shadow:0 10px 22px -12px rgba(255,255,255,.5);
}
.ac-btn-white:hover{transform:translateY(-1px)}

/* ---------- stage ---------- */
.ac-stage{position:relative;z-index:10;flex:1;display:flex;align-items:center;justify-content:center;padding:20px 22px 56px}

/* ---------- hero ---------- */
#ac-hero{
  position:absolute;text-align:center;max-width:900px;padding:0 12px;
  transition:opacity .4s ease, transform .6s cubic-bezier(.16,1,.3,1), filter .4s ease;
}
#ac-root[data-mode="hero"] #ac-hero{opacity:1;transform:none;filter:none;pointer-events:auto}
#ac-root:not([data-mode="hero"]) #ac-hero{opacity:0;transform:translateY(-56px) scale(.97);filter:blur(3px);pointer-events:none}

.ac-badge{
  display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:999px;
  background:rgba(255,255,255,.06);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);
  font-size:12.5px;color:rgba(255,255,255,.82);margin-bottom:26px;
}
.ac-badge-dot{width:7px;height:7px;border-radius:50%;background:#7CE06B;box-shadow:0 0 10px #7CE06B;animation:ac-pulse 2.4s ease-in-out infinite}
.ac-h1{margin:0;font-size:60px;line-height:1.02;font-weight:700;letter-spacing:-0.03em;max-width:820px}
.ac-h1 .grad{background:linear-gradient(100deg,#8CE07A,#4FB23E 60%,#2E7D24);-webkit-background-clip:text;background-clip:text;color:transparent}
.ac-hero-sub{margin:24px auto 0;font-size:18px;line-height:1.55;color:rgba(255,255,255,.72);max-width:560px}
.ac-hero-cta{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:36px;flex-wrap:wrap}
.ac-btn-cta{
  height:52px;padding:0 28px;border-radius:13px;border:none;
  background:linear-gradient(150deg,#5CB251,#3E8C36);color:#fff;font-family:inherit;font-size:15.5px;font-weight:700;
  cursor:pointer;display:inline-flex;align-items:center;gap:9px;
  box-shadow:0 18px 40px -16px rgba(92,178,81,.85);transition:transform .2s,box-shadow .2s;
}
.ac-btn-cta:hover{transform:translateY(-2px);box-shadow:0 24px 50px -16px rgba(92,178,81,.95)}
.ac-btn-cta2{
  height:52px;padding:0 26px;border-radius:13px;border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.05);backdrop-filter:blur(10px);color:#fff;font-family:inherit;font-size:15.5px;font-weight:600;
  cursor:pointer;transition:background .2s,border-color .2s;
}
.ac-btn-cta2:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.32)}
.ac-chips{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}
.ac-chip{
  display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);
  font-size:12px;font-weight:500;color:rgba(255,255,255,.66);
}
.ac-chip svg{color:#7CE06B}

/* ---------- auth card (dark glass, come l'hero) ---------- */
#ac-cardwrap{
  position:relative;width:100%;display:flex;justify-content:center;will-change:transform,opacity;
  transition:opacity .5s ease, transform .8s cubic-bezier(.16,1,.3,1);
}
#ac-root[data-mode="hero"] #ac-cardwrap{opacity:0;transform:translateY(120px);pointer-events:none}
#ac-root:not([data-mode="hero"]) #ac-cardwrap{opacity:1;transform:translateY(0);pointer-events:auto}

.ac-card{
  position:relative;width:100%;max-width:740px;display:flex;align-items:stretch;
  background:linear-gradient(180deg, rgba(24,40,18,.66), rgba(12,22,9,.78));
  backdrop-filter:blur(22px) saturate(1.25);-webkit-backdrop-filter:blur(22px) saturate(1.25);
  border:1px solid rgba(255,255,255,.13);border-radius:28px;overflow:hidden;color:#fff;
  box-shadow:0 44px 110px -42px rgba(0,0,0,.78), inset 0 1px 0 rgba(255,255,255,.1);
  transition:max-width .55s cubic-bezier(.16,1,.3,1);
  color-scheme:dark;
}
#ac-root[data-mode="register"] .ac-card{max-width:920px}

/* --- rail brand --- */
.ac-rail{
  position:relative;flex:0 0 262px;padding:26px 24px 24px;overflow:hidden;
  background:linear-gradient(168deg, rgba(92,178,81,.28) 0%, rgba(56,120,46,.16) 46%, rgba(11,20,8,.05) 100%);
  border-right:1px solid rgba(255,255,255,.09);color:#fff;
  display:flex;flex-direction:column;
}
.ac-rail::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(130% 75% at 0% 0%, rgba(140,224,122,.22), transparent 55%);
}
.ac-rail-swoosh{
  position:absolute;right:-98px;bottom:-38px;width:320px;opacity:.1;pointer-events:none;
  filter:brightness(0) invert(1);transform:rotate(-10deg);
}
.ac-rail-body{position:relative;z-index:1;display:none;flex:1;flex-direction:column}
#ac-root[data-mode="login"] .ac-rail-body[data-rail="login"],
#ac-root[data-mode="hero"] .ac-rail-body[data-rail="login"]{display:flex}
#ac-root[data-mode="register"] .ac-rail-body[data-rail="register"]{display:flex}
.ac-rail-body h3{margin:0;font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.ac-rail-body p{margin:10px 0 0;font-size:13px;line-height:1.55;color:rgba(255,255,255,.62)}
.ac-rail-list{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
.ac-rail-list li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:rgba(255,255,255,.85)}
.ac-rail-list .ck{
  flex:none;width:19px;height:19px;border-radius:6px;background:rgba(140,224,122,.14);border:1px solid rgba(140,224,122,.3);
  display:inline-flex;align-items:center;justify-content:center;
}
.ac-rail-list .ck::after{
  content:"";width:9px;height:5px;border-left:2px solid #9EE08D;border-bottom:2px solid #9EE08D;
  transform:rotate(-45deg) translateY(-1px);
}
.ac-rail-note{margin-top:auto !important;padding-top:18px;font-size:12px !important;color:rgba(255,255,255,.45) !important}

/* step list nella rail */
.ac-steps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column}
.ac-steps li{position:relative;display:flex;align-items:center;gap:12px;padding:9px 0;color:rgba(255,255,255,.45);transition:color .25s}
.ac-steps li:not(:last-child)::before{
  content:"";position:absolute;left:12.5px;top:34px;width:1.5px;height:14px;background:rgba(255,255,255,.16);
}
.ac-steps .num{
  flex:none;width:26px;height:26px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  transition:background .25s,color .25s,border-color .25s,box-shadow .25s;
}
.ac-steps .lb{font-size:13.5px;font-weight:600}
.ac-steps li.on{color:#fff}
.ac-steps li.on .num{
  background:linear-gradient(150deg,#5CB251,#3E8C36);color:#fff;border-color:rgba(140,224,122,.5);
  box-shadow:0 8px 20px -8px rgba(92,178,81,.9);
}
.ac-steps li.done{color:rgba(255,255,255,.8)}
.ac-steps li.done .num{background:rgba(140,224,122,.16);border-color:rgba(140,224,122,.35);font-size:0}
.ac-steps li.done .num::after{
  content:"";width:9px;height:5px;border-left:2px solid #9EE08D;border-bottom:2px solid #9EE08D;
  transform:rotate(-45deg) translateY(-1px);
}

/* --- pannello form --- */
.ac-main{flex:1;min-width:0;padding:22px 30px 24px;display:flex;flex-direction:column}
.ac-card-top{display:flex;align-items:center;gap:14px}
.ac-back{
  flex:none;width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.65);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,background .2s;
}
.ac-back:hover{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.1)}
.ac-card-head{margin-top:18px}
.ac-card-head h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.025em;line-height:1.1;color:#fff}
.ac-card-head p{margin:5px 0 0;font-size:13.5px;color:rgba(255,255,255,.55)}

/* segmented */
.ac-seg{position:relative;display:flex;flex:1;max-width:250px;margin-left:auto;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:4px}
.ac-seg-ind{
  position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);border-radius:8px;
  background:linear-gradient(150deg,#5CB251,#3E8C36);box-shadow:0 6px 16px -6px rgba(92,178,81,.8);
  transform:translateX(0);transition:transform .4s cubic-bezier(.34,1.2,.5,1);
}
#ac-root[data-mode="register"] .ac-seg-ind{transform:translateX(100%)}
.ac-seg button{
  position:relative;z-index:1;flex:1;padding:7px 0;border:none;background:transparent;
  font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;color:rgba(255,255,255,.55);transition:color .25s;
}
#ac-root:not([data-mode="register"]) .ac-seg button[data-seg="login"],
#ac-root[data-mode="register"] .ac-seg button[data-seg="register"]{color:#fff}

/* dots (mobile) */
.ac-dots{display:none;gap:7px;margin-top:14px}
.ac-dots i{width:22px;height:5px;border-radius:99px;background:rgba(255,255,255,.14);transition:background .25s,width .25s}
.ac-dots i.on{background:#5CB251;width:34px;box-shadow:0 0 12px rgba(92,178,81,.7)}
.ac-dots i.done{background:rgba(92,178,81,.45)}

/* form */
.ac-form{display:flex;flex-direction:column;margin-top:16px;flex:1}
.ac-pane{display:none;flex-direction:column;gap:13px;border:0;margin:0;padding:0;min-width:0}
#ac-root[data-mode="login"] .ac-pane[data-pane="login"],
#ac-root[data-mode="hero"] .ac-pane[data-pane="login"]{display:flex}
#ac-root[data-mode="register"] .ac-pane[data-pane="register"]{display:flex}

/* step del wizard */
.ac-step{display:none;flex-direction:column;gap:12px}
.ac-step.on{display:flex;animation:ac-step-in .35s cubic-bezier(.2,.7,.2,1)}

/* campi con icona (login) */
.ac-field{position:relative}
.ac-field .ic{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.4);display:flex;pointer-events:none}
.ac-field input{
  width:100%;height:50px;padding:0 16px 0 44px;border:1px solid rgba(255,255,255,.14);border-radius:13px;
  background:rgba(255,255,255,.055);font-family:inherit;font-size:14.5px;color:#fff;outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.ac-field input::placeholder{color:rgba(255,255,255,.35)}
.ac-field input:focus{border-color:rgba(140,224,122,.7);background:rgba(255,255,255,.08);box-shadow:0 0 0 4px rgba(92,178,81,.18)}
.ac-field input.err{border-color:rgba(240,130,105,.8)}
.ac-error{font-size:12.5px;color:#F5A291;margin:-6px 0 0;padding-left:4px}
/* la riga fissa sotto «Nome utente o mail»: chi entra con che cosa */
.ac-nota{font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.62);margin:-6px 0 0;padding-left:4px}
.ac-forgot{text-align:right;margin-top:-4px}
.ac-forgot span{font-size:12.5px;font-weight:500;color:#9EE08D;cursor:pointer}

/* campi con label (registrazione) */
.fe2{display:flex;flex-direction:column;gap:6px;min-width:0}
.fe2 label{font-size:12px;font-weight:600;color:rgba(255,255,255,.6);letter-spacing:.01em}
.fe2 label em{font-style:normal;font-weight:500;color:rgba(255,255,255,.32)}
.fe2 input,.fe2 select{
  width:100%;height:44px;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:11px;
  background:rgba(255,255,255,.055);font-family:inherit;font-size:14px;color:#fff;outline:none;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.fe2 input::placeholder{color:rgba(255,255,255,.35)}
.fe2 select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c9d6c2' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;
}
.fe2 select option{background:#14230f;color:#fff}
.fe2 input:focus,.fe2 select:focus{border-color:rgba(140,224,122,.7);background:rgba(255,255,255,.08);box-shadow:0 0 0 4px rgba(92,178,81,.18)}
.fe2 input.err,.fe2 select.err{border-color:rgba(240,130,105,.8)}
.fe2 input[type="file"]{padding:9px 13px;height:auto;font-size:13px;color:rgba(255,255,255,.6);cursor:pointer}
.fe2 input[type="file"]::file-selector-button{
  margin-right:10px;padding:6px 12px;border:none;border-radius:8px;background:rgba(255,255,255,.12);color:#E8F2E2;
  font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;
}
/* «Allega file» al posto della casella nativa (R13): lo stesso aspetto di «Indietro» */
.ac-allega{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ac-allega-btn{
  display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:11px;cursor:pointer;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:rgba(255,255,255,.75);
  font-family:inherit;font-size:13.5px;font-weight:600;transition:border-color .2s,color .2s,background .2s;
}
.ac-allega-btn:hover{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.09)}
.ac-allega-btn.err{border-color:rgba(240,130,105,.8)}
.ac-allega-btn.allega-sopra{outline:2px dashed #5DBB4A;outline-offset:2px}
.ac-allega .allega-nomi{font-size:12px;color:rgba(255,255,255,.6);overflow-wrap:anywhere}
.fe2-err{display:none;font-size:12px;color:#F5A291}
.fe2-err.on{display:block}
.fe2-err.ok{color:#A9E29B}
.fe2-hint{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5}

/* autofill scuro (Chrome) */
.ac-field input:-webkit-autofill,.fe2 input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px #1a2b14 inset;-webkit-text-fill-color:#fff;
  caret-color:#fff;border-color:rgba(255,255,255,.2);
}

.ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ac-grid.three{grid-template-columns:1.2fr 1.4fr 1fr}

/* referenti opzionali */
.ac-refs-toggle{
  display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 14px;border-radius:10px;cursor:pointer;
  border:1.5px dashed rgba(255,255,255,.22);background:rgba(255,255,255,.03);color:#9EE08D;
  font-family:inherit;font-size:12.5px;font-weight:600;transition:border-color .2s,background .2s;
}
.ac-refs-toggle em{font-style:normal;font-weight:500;color:rgba(255,255,255,.35)}
.ac-refs-toggle:hover{border-color:rgba(140,224,122,.5);background:rgba(140,224,122,.07)}
.ac-refs{display:none;flex-direction:column;gap:10px}
.ac-refs.open{display:flex}
.ac-refs-lbl{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}

/* IVA agevolata */
.ac-iva{
  display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:12px;
  cursor:pointer;font-size:13.5px;color:rgba(255,255,255,.78);background:rgba(255,255,255,.03);
  transition:border-color .2s,background .2s;
}
.ac-iva:has(input:checked){border-color:rgba(140,224,122,.55);background:rgba(92,178,81,.12)}
.ac-iva input{position:absolute;opacity:0;pointer-events:none}
.ac-iva .box{
  flex:none;width:20px;height:20px;border-radius:7px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);
  display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
/* spuntata: la V verde in corsivo, come nel gestionale (UI32) */
.ac-iva input:checked + .box{border-color:#5CB251;background:rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ctext x='10.5' y='16.5' text-anchor='middle' font-family='Georgia,Times New Roman,serif' font-style='italic' font-weight='700' font-size='19' fill='%235CB251'%3EV%3C/text%3E%3C/svg%3E") center/100% no-repeat}
.ac-iva-up{display:none}
.ac-iva-up.open{display:block}

/* nav row */
.ac-navrow{display:flex;align-items:center;gap:12px;margin-top:18px}
.ac-prev{
  display:none;align-items:center;gap:7px;height:48px;padding:0 18px;border-radius:13px;cursor:pointer;
  border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:rgba(255,255,255,.75);
  font-family:inherit;font-size:14px;font-weight:600;transition:border-color .2s,color .2s,background .2s;
}
.ac-prev:hover{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.09)}
.ac-prev.show{display:inline-flex}
.ac-submit{
  flex:1;height:50px;border:none;border-radius:13px;background:linear-gradient(150deg,#5CB251,#3E8C36);color:#fff;
  font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 16px 32px -14px rgba(62,140,54,.85);transition:transform .2s,box-shadow .2s;
}
.ac-submit:hover{transform:translateY(-1px);box-shadow:0 22px 40px -14px rgba(62,140,54,.95)}

/* footer card */
.ac-foot{margin-top:16px;font-size:12.5px;color:rgba(255,255,255,.42);text-align:center}
.ac-foot span{color:#9EE08D;font-weight:600;cursor:pointer}
#ac-foot-login,#ac-foot-register{display:none}
#ac-root[data-mode="login"] #ac-foot-login,#ac-root[data-mode="hero"] #ac-foot-login{display:block}
#ac-root[data-mode="register"] #ac-foot-register{display:block}

/* ---------- «Entra come…»: un pulsante per mestiere ----------
   Compaiono solo con ACCESSI_RAPIDI acceso, e solo sul pannello di accesso:
   in registrazione non c'entrano niente. In pagina non c'è nessuna password —
   il pulsante entra da sé, e quindi non c'è niente da leggere. */
.ac-rapidi{display:none;margin-top:18px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08)}
#ac-root[data-mode="login"] .ac-rapidi,#ac-root[data-mode="hero"] .ac-rapidi{display:block}
.ac-rapidi-testa{display:flex;align-items:center;justify-content:space-between;
  gap:10px;margin-bottom:10px}
.ac-rapidi-t{font-size:12.5px;font-weight:600;color:rgba(255,255,255,.5);
  text-transform:uppercase;letter-spacing:.06em}
/* che sia una porta aperta si deve vedere, non ricordare */
.ac-rapidi-avviso{font-size:11px;font-weight:600;color:#F0C674;
  background:rgba(240,198,116,.11);border:1px solid rgba(240,198,116,.3);
  border-radius:999px;padding:3px 9px;cursor:help}
.ac-rapidi-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:7px}
.ac-rapido{width:100%;text-align:left;cursor:pointer;padding:8px 11px;border-radius:11px;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
  color:inherit;font-family:inherit;transition:background .15s,border-color .15s}
.ac-rapido:hover{background:rgba(140,224,122,.13);border-color:rgba(140,224,122,.36)}
.ac-rapido-r{display:block;font-size:12.5px;font-weight:700;color:#E8F2E4}
.ac-rapido-n{display:block;margin-top:2px;font-size:11px;color:rgba(255,255,255,.45)}

/* ---------- responsive ---------- */
@media (max-width:880px){
  .ac-card,#ac-root[data-mode="register"] .ac-card{max-width:480px;flex-direction:column}
  .ac-rail{flex:none;padding:16px 22px;flex-direction:row;align-items:center;gap:12px;border-right:none;border-bottom:1px solid rgba(255,255,255,.09)}
  .ac-rail-swoosh{right:-60px;bottom:-90px;width:220px}
  .ac-rail-body{flex:1;justify-content:center}
  .ac-rail-body h3{font-size:15.5px}
  .ac-rail-body p,.ac-rail-list,.ac-steps,.ac-rail-note{display:none !important}
  #ac-root[data-mode="register"] .ac-dots{display:flex}
  .ac-main{padding:18px 22px 22px}
  .ac-grid,.ac-grid.three{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .ac-h1{font-size:40px}
  .ac-grid,.ac-grid.three{grid-template-columns:1fr}
  .ac-grid[style]{grid-template-columns:1fr 88px 88px !important}
}

/* «Password dimenticata?» ora è un collegamento (28-09-2026) */
.ac-forgot a{font-size:12.5px;font-weight:500;color:#9EE08D;text-decoration:none}
.ac-forgot a:hover{text-decoration:underline}

/* I requisiti della password sotto il campo, ognuno si spunta in verde mentre
   si scrive (Francesco, 05-10-2026): registrazione e scelta della password */
.req-pwd{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;font-size:12px;color:rgba(255,255,255,.6)}
.req-pwd li{display:flex;align-items:center;gap:6px;line-height:1.4}
.req-pwd .req-ck{flex:0 0 14px;height:14px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);position:relative}
.req-pwd li.ok{color:#A9E29B}
.req-pwd li.ok .req-ck{border-color:#4A9A3F;background:#4A9A3F}
.req-pwd li.ok .req-ck::after{content:"";position:absolute;left:4px;top:1px;width:3px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@media (max-width:520px){.req-pwd{grid-template-columns:1fr}}

/* registrazione in tre tempi (05-10-2026): la mail da confermare, poi i dati
   dell'azienda per chi è già entrato. Chi completa non torna all'accesso */
.ac-attesa{font-size:14px;line-height:1.55;color:#E2ECDC}
.ac-attesa strong{color:#fff}
.ac-attesa .ac-attesa-nota{font-size:12.5px;color:rgba(255,255,255,.55);margin-top:8px}
.ac-avviso{margin:0 0 12px;padding:10px 12px;border-radius:10px;font-size:13.5px;line-height:1.5;background:rgba(200,72,60,.18);border:1px solid rgba(244,132,118,.45);color:#F7D5CF}
#ac-root[data-fase="azienda"] .ac-nav-actions,
#ac-root[data-fase="azienda"] .ac-seg,
#ac-root[data-fase="azienda"] .ac-back,
#ac-root[data-fase="azienda"] #ac-foot-login,
#ac-root[data-fase="azienda"] #ac-hero{display:none}

/* TENDINE CON VOCI DISEGNATE DALLA PAGINA (nota 64, 08-10-2026): niente
   finestrella di sistema bianca all'apertura in Chrome. Browser vecchi: come prima. */
@supports (appearance: base-select) {
  /* tutte le tendine a voce singola della pagina, anche quelle senza stile */
  select:not([multiple]) {
    appearance: base-select;
  }
  select::picker(select) {
    appearance: base-select;
    box-sizing: border-box;
    margin: 0;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 11px;
    background: #14230f;
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
    max-width: calc(100vw - 24px);
    max-height: min(320px, 70vh);
    overflow-y: auto;
  }
  select::picker(select) option {
    padding: 7px 12px;
    border-radius: 7px;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
  }
  select::picker(select) option:hover,
  select::picker(select) option:focus {
    background: rgba(92, 178, 81, .2);
    color: #fff;
  }
  select::picker(select) option:checked {
    background: rgba(92, 178, 81, .34);
    color: #fff;
    font-weight: 600;
  }
  select::picker(select) option::checkmark {
    display: none;
  }
  select::picker(select) option:disabled {
    color: rgba(255, 255, 255, .35);
    opacity: .6;
    cursor: default;
  }
  select::picker(select) option:disabled:hover,
  select::picker(select) option:disabled:focus {
    background: transparent;
  }
  select::picker-icon {
    color: inherit;
  }
  .fe2 select {
    appearance: base-select;
  }
  .fe2 select::picker-icon {
    display: none;
  }
  .fe2 select::picker(select) {
    appearance: base-select;
    box-sizing: border-box;
    margin: 0;
    padding: 4px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 11px;
    background: #14230f;
    color: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
    max-width: calc(100vw - 24px);
    max-height: min(320px, 70vh);
    overflow-y: auto;
  }
  .fe2 select::picker(select) option {
    padding: 7px 12px;
    border-radius: 7px;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
  }
  .fe2 select::picker(select) option:hover,
  .fe2 select::picker(select) option:focus {
    background: rgba(92, 178, 81, .2);
    color: #fff;
  }
  .fe2 select::picker(select) option:checked {
    background: rgba(92, 178, 81, .34);
    color: #fff;
    font-weight: 600;
  }
  .fe2 select::picker(select) option::checkmark {
    display: none;
  }
}

/* la partita IVA: la tendina del paese e accanto le cifre (11-10-2026,
   «GESTIONE ACCESSO CLIENTE», 2 b; sections/_partita-iva-paese) */
.piva-riga{display:flex;gap:6px;min-width:0}
.piva-riga select{flex:0 1 42%;min-width:0;padding-right:30px}
.piva-riga input{flex:1 1 auto;min-width:0}

/* le spunte disegnate (UI32; Francesco, 09 e 11-09-2026): anche fuori dal
   gestionale — registrazione, accesso, primo accesso del cliente invitato —
   la casella intera è la spunta, con la V verde in corsivo al posto del
   quadratino nativo. Quelle dentro .ac-iva sono nascoste e disegnate dalla .box */
input[type="checkbox"] { appearance: none; -webkit-appearance: none; display: inline-block; flex: none;
  width: 20px; height: 20px; margin: 0; border: 1px solid rgba(255,255,255,.28); border-radius: 7px;
  background: rgba(255,255,255,.06) center/100% no-repeat; cursor: pointer; vertical-align: middle; }
input[type="checkbox"]:checked { border-color: #5CB251; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ctext x='10.5' y='16.5' text-anchor='middle' font-family='Georgia,Times New Roman,serif' font-style='italic' font-weight='700' font-size='19' fill='%235CB251'%3EV%3C/text%3E%3C/svg%3E"); }
/* spenta: attenuata; :where() ne abbassa il peso sotto «.ac-iva input», che
   resta nascosto anche spento (la .ac-iva spenta si attenua lei) */
:where(input[type="checkbox"]):disabled { opacity: .45; cursor: not-allowed; }
.ac-iva:has(input:disabled) { opacity: .45; cursor: not-allowed; }
