
:root{
  --bg:#0f172a; /* slate-900 */
  --card:#111827; /* gray-900 */
  --muted:#94a3b8; /* slate-400 */
  --text:#e5e7eb; /* gray-200 */
  --accent:#ef7f1b; /* Giampietro arancio */
  --accent2:#22d3ee; /* cyan-400 */
  --danger:#ef4444;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  background: radial-gradient(1200px 600px at 10% -10%, rgba(239,127,27,.15), transparent 60%), var(--bg);
  color:var(--text);
}
.container{max-width:1100px;margin:40px auto;padding:0 16px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px; padding:20px; box-shadow:0 10px 30px rgba(0,0,0,.25);
}
h1{font-size:28px;margin:0 0 8px}
h2{font-size:18px;margin:0 0 6px;color:var(--muted)}
.header{
  display:flex; justify-content:space-between; align-items:center; margin-bottom:16px
}
.brand{display:flex; gap:12px; align-items:center}
.brand .logo{width:42px; height:42px; border-radius:12px; background:radial-gradient(40px 40px at 30% 30%, var(--accent), var(--accent2));}
.brand .title{font-weight:700; letter-spacing:.3px}
.btn{
  display:inline-block; padding:12px 16px; border-radius:12px; text-decoration:none; color:#fff;
  border:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.15));
  transition:transform .05s ease, box-shadow .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-1px); box-shadow:0 10px 20px rgba(0,0,0,.25); border-color:rgba(255,255,255,.2)}
.btn-accent{background:linear-gradient(180deg, rgba(239,127,27,.8), rgba(239,127,27,.4)); border-color:rgba(239,127,27,.7)}
.grid{display:grid; gap:14px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:10px}
.input{width:100%; padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.03); color:var(--text)}
.label{font-size:13px; color:var(--muted); margin-bottom:6px; display:block}
.row{display:grid; gap:10px}
footer{margin-top:24px; color:var(--muted); font-size:13px}
.alert{padding:12px 14px; border-radius:12px; background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.25); color:#fecaca}
.topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:16px}
.topbar a{color:#fff; text-decoration:none}
.small{font-size:12px; color:var(--muted)}
.badge{font-size:11px; padding:4px 8px; background:rgba(255,255,255,.08); border-radius:999px; border:1px solid rgba(255,255,255,.12)}
