/* JARVIS — pagine di accesso e backend (scorrevoli, a differenza del volto) */
@font-face{font-family:Inter;font-style:normal;font-weight:400 500;font-display:swap;
           src:url(vendor/inter-latin.woff2) format("woff2")}
@font-face{font-family:Orbitron;font-style:normal;font-weight:500 700;font-display:swap;
           src:url(vendor/orbitron-latin.woff2) format("woff2")}
:root{
  --bg1:#04060d; --bg2:#0b1733; --card:#0a1830; --field:#061022;
  --accent:#5ee7ff; --text:#e8f6ff; --muted:#7f9bb5;
  --line:rgba(94,231,255,.28); --ok:#4dffb0; --warn:#ffc35c; --err:#ff6b8a;
}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;background:radial-gradient(ellipse at 50% 0%,var(--bg2) 0%,var(--bg1) 70%) fixed;
     color:var(--text);font:15px/1.5 Inter,system-ui,sans-serif;padding:20px 16px 60px}
h1{font-family:Orbitron,sans-serif;font-size:19px;letter-spacing:.28em;color:var(--accent);text-shadow:0 0 14px rgba(94,231,255,.5)}
h2{font-family:Orbitron,sans-serif;font-size:14px;letter-spacing:.14em;color:var(--accent);margin-bottom:4px}
a{color:var(--accent)}
.sub{font-size:13px;color:var(--muted);margin-bottom:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px}
label{display:block;font-size:13px;margin-bottom:12px}
input[type=text],input[type=password],input[type=email],input[type=number],select,textarea{
  display:block;width:100%;margin-top:5px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);
  background:var(--field);color:var(--text);font:14px Inter,system-ui,sans-serif;outline:0}
textarea{min-height:190px;resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
.check{display:flex;align-items:center;gap:8px;color:var(--muted)}
button{font:500 14px Inter,system-ui,sans-serif;color:var(--text);cursor:pointer;padding:9px 16px;border-radius:10px;
       border:1px solid var(--line);background:transparent}
button:hover{background:rgba(94,231,255,.1)}
button:disabled{opacity:.5;cursor:default}
button.primary{background:var(--accent);color:#04121c;border-color:var(--accent);font-weight:600}
button.primary:hover{background:#8ff0ff}
button.danger{border-color:rgba(255,107,138,.5);color:var(--err)}
button.small{padding:5px 10px;font-size:12px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row>label{flex:1 1 180px;min-width:0}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}
.note{font-size:13px;line-height:1.5;padding:9px 12px;border-radius:10px;margin:10px 0 0;display:none;overflow-wrap:anywhere}
.note.show{display:block}
.note.ok{background:rgba(77,255,176,.08);border:1px solid rgba(77,255,176,.4)}
.note.err{background:rgba(255,107,138,.08);border:1px solid rgba(255,107,138,.4)}
.note.warn{background:rgba(255,195,92,.07);border:1px solid rgba(255,195,92,.35)}
.tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.tag.ok{border-color:rgba(77,255,176,.5);color:var(--ok)}
.tag.warn{border-color:rgba(255,195,92,.5);color:var(--warn)}
code{background:var(--field);padding:2px 6px;border-radius:6px;font-size:12px;overflow-wrap:anywhere}

/* Accesso */
.login{width:min(400px,100%);margin:12vh auto 0}
.login h1{text-align:center;margin-bottom:6px}
.login .sub{text-align:center}
.login button{width:100%;padding:11px;font-size:15px}

/* Backend */
.wrap{max-width:860px;margin:0 auto}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.top .who{font-size:13px;color:var(--muted)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tabs button{border-radius:999px}
.tabs button.on{border-color:var(--accent);color:var(--accent);background:rgba(94,231,255,.08)}
section{display:none}
section.on{display:block}
.scroll{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid rgba(94,231,255,.14);vertical-align:middle}
th{color:var(--muted);font-weight:500}
td.right{text-align:right;white-space:nowrap}
ul.health{list-style:none;font-size:14px}
ul.health li{padding:8px 0;border-bottom:1px solid rgba(94,231,255,.14)}

/* Telefono: con campi sotto i 16px iOS ingrandisce la pagina al tocco e la manda fuori dai bordi */
@media (max-width:860px), (pointer:coarse){
  input[type=text],input[type=password],input[type=email],input[type=number],select,textarea{font-size:16px}
}
html,body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (max-width:560px){
  body{padding:14px 10px 40px}
  .card{padding:16px}
  .login{margin-top:6vh}
}
