:root{
  --bg-base: #0a0d12;
  --bg-card: #10141b;
  --bg-card-hover: #161b24;
  --bg-elevated: #1a1f29;
  --border: #1e242f;
  --border-strong: #2a313f;
  --text-primary: #e6edf3;
  --text-secondary: #8b97a8;
  --text-muted: #5a6475;
  --accent-gold: #d4af37;
  --accent-gold-dim: #8a7324;
  --accent-green: #4ade80;
  --accent-amber: #f59e0b;
  --accent-red: #ef4444;
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg-base);color:var(--text-primary);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;min-height:100%}
a{color:var(--accent-gold)}
.input{
  width:100%;padding:9px 11px;background:var(--bg-elevated);border:1px solid var(--border-strong);
  border-radius:6px;color:var(--text-primary);font-size:13.5px;outline:none;
}
.input:focus{border-color:var(--accent-gold-dim)}
.label{
  font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);
  font-weight:600;display:block;margin-bottom:6px;
}
.btn{
  padding:10px 16px;font-size:13.5px;font-weight:600;letter-spacing:.5px;border-radius:6px;
  border:1px solid var(--accent-gold-dim);cursor:pointer;
  background:linear-gradient(135deg,var(--accent-gold),var(--accent-gold-dim));color:#1a1000;
}
.btn:disabled{opacity:.55;cursor:not-allowed}
.btn-ghost{
  background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);
  padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;
}
.card{
  background:var(--bg-card);border:1px solid var(--border-strong);border-radius:10px;
  box-shadow:var(--shadow-md);
}
.error-box{
  background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--accent-red);
  padding:8px 12px;border-radius:5px;font-size:12.5px;margin-bottom:14px;
}
.badge{
  display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;
}
.badge--verde{background:rgba(74,222,128,.12);color:var(--accent-green);border:1px solid rgba(74,222,128,.3)}
.badge--ambra{background:rgba(245,158,11,.12);color:var(--accent-amber);border:1px solid rgba(245,158,11,.3)}
.badge--rosso{background:rgba(239,68,68,.12);color:var(--accent-red);border:1px solid rgba(239,68,68,.3)}
