/* Diggio Assistenza Remota — stile comune alle pagine e al pannello */
:root{
  --sfondo:#0b1220; --sfondo2:#111c31; --carta:#16233c; --bordo:#25375a;
  --testo:#e8eefc; --tenue:#9db0d0; --blu:#3b82f6; --blu2:#60a5fa;
  --verde:#22c55e; --rosso:#ef4444; --giallo:#f59e0b;
  --ombra:0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{
  margin:0;
  background:radial-gradient(1200px 600px at 50% -10%, #1b2c4d 0%, transparent 60%), var(--sfondo);
  color:var(--testo);
  font:16px/1.65 "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--blu2)}
.wrap{max-width:980px; margin:0 auto; padding:32px 20px 64px}
.wrap.largo{max-width:1200px}

header.sito{text-align:center; padding:24px 0 8px}
header.sito img{max-width:240px; height:auto}
h1{font-size:clamp(26px,4.5vw,40px); margin:18px 0 6px; letter-spacing:.2px}
.sub{color:var(--tenue); font-size:clamp(15px,2.2vw,18px); margin:0 auto; max-width:660px}

h3.sezione{font-size:15px; text-transform:uppercase; letter-spacing:1.4px;
  color:var(--tenue); margin:44px 0 16px; font-weight:600}

.card{background:var(--carta); border:1px solid var(--bordo); border-radius:14px; padding:22px}
.principale{margin:36px 0 8px; padding:32px 28px; text-align:center;
  background:linear-gradient(180deg,var(--carta),var(--sfondo2));
  border:1px solid var(--bordo); border-radius:18px; box-shadow:var(--ombra)}

.bottone{display:inline-flex; align-items:center; gap:12px; cursor:pointer;
  background:linear-gradient(180deg,var(--blu2),var(--blu)); color:#fff; border:0;
  text-decoration:none; font-size:19px; font-weight:600; font-family:inherit;
  padding:16px 34px; border-radius:12px; box-shadow:0 8px 20px rgba(59,130,246,.35);
  transition:transform .15s ease, box-shadow .15s ease}
.bottone:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(59,130,246,.45)}
.bottone.piccolo{font-size:15px; padding:10px 20px; box-shadow:none}
.bottone svg{width:22px;height:22px;flex:0 0 auto}

.nota{margin-top:14px; font-size:14px; color:var(--tenue)}
.pastiglia{display:inline-block; font-size:13px; padding:4px 12px; border-radius:999px}
.pastiglia.ok{color:var(--verde); border:1px solid rgba(34,197,94,.35); background:rgba(34,197,94,.08)}

.passi{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.passo{background:var(--carta); border:1px solid var(--bordo); border-radius:14px; padding:22px 20px}
.num{width:34px;height:34px;border-radius:50%; background:var(--blu); color:#fff; font-weight:700;
  display:flex; align-items:center; justify-content:center; margin-bottom:12px}
.passo > b{display:block; margin-bottom:4px}
.passo span{color:var(--tenue); font-size:15px}

.griglia{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px}
.sist{background:var(--carta); border:1px solid var(--bordo); border-radius:14px; padding:18px 20px}
.sist > b{display:block; margin-bottom:10px; font-size:16px}
.sist a{display:block; text-decoration:none; padding:5px 0; font-size:15px}
.sist a:hover{text-decoration:underline}

.campo{display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap}
.campo label{width:130px; flex:0 0 auto; color:var(--tenue); font-size:14px}
.campo code{flex:1 1 260px; background:#0d1526; border:1px solid var(--bordo); border-radius:8px;
  padding:9px 12px; font-size:14px; word-break:break-all; font-family:Consolas,Menlo,monospace}
.copia{background:transparent; border:1px solid var(--bordo); color:var(--tenue);
  border-radius:8px; padding:9px 14px; cursor:pointer; font-size:14px; font-family:inherit}
.copia:hover{border-color:var(--blu); color:var(--blu2)}

input[type=text], input[type=password], textarea{
  background:#0d1526; border:1px solid var(--bordo); color:var(--testo);
  border-radius:8px; padding:11px 13px; font:15px inherit; font-family:inherit; width:100%}
input:focus, textarea:focus{outline:none; border-color:var(--blu)}

.avviso{margin-top:34px; border-left:3px solid var(--blu); background:rgba(59,130,246,.07);
  border-radius:0 10px 10px 0; padding:16px 20px; color:var(--tenue); font-size:15px}
.avviso b{color:var(--testo)}
.errore{border-left-color:var(--rosso); background:rgba(239,68,68,.08)}
.ok{border-left-color:var(--verde); background:rgba(34,197,94,.08)}

table{width:100%; border-collapse:collapse; font-size:15px}
th{text-align:left; font-size:12px; text-transform:uppercase; letter-spacing:1px;
  color:var(--tenue); font-weight:600; padding:0 12px 10px; border-bottom:1px solid var(--bordo)}
td{padding:14px 12px; border-bottom:1px solid rgba(37,55,90,.5); vertical-align:middle}
tr:last-child td{border-bottom:0}
.spia{display:inline-block; width:10px; height:10px; border-radius:50%; margin-right:8px}
.spia.on{background:var(--verde); box-shadow:0 0 10px rgba(34,197,94,.8)}
.spia.off{background:#4a5a76}
.spia.boh{background:var(--giallo)}
.mono{font-family:Consolas,Menlo,monospace; font-size:14px}

footer{margin-top:52px; padding-top:22px; border-top:1px solid var(--bordo);
  text-align:center; color:var(--tenue); font-size:13px; line-height:1.9}
footer a{color:var(--tenue)}
footer .rag{color:var(--testo); font-weight:600}

@media (max-width:820px){
  .passi{grid-template-columns:1fr}
  .campo label{width:100%}
  table, thead, tbody, th, td, tr{display:block}
  thead{display:none}
  tr{background:var(--carta); border:1px solid var(--bordo); border-radius:12px;
     margin-bottom:14px; padding:8px 4px}
  td{border-bottom:0; padding:8px 14px}
  td::before{content:attr(data-et); display:block; font-size:11px; text-transform:uppercase;
     letter-spacing:1px; color:var(--tenue); margin-bottom:3px}
}
