/* PulseEQ base (derivato da LYRAS Login) */
body {
  background:#0b1020;
  color:#e2e8f0;
  font-family:'Segoe UI',sans-serif;
  margin:0;
}

/* Login page layout */
.login-body {
  display:flex;
  align-items:center;
  justify-content:center;
  height:100vh;
}

.login-wrapper {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}

/* Logo EOS - stile PERSEUS */
h1.logo-eos {
  font-family:'Orbitron',sans-serif;
  font-size:64px;
  background:linear-gradient(90deg,#7c3aed,#06b6d4);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  letter-spacing:4px;
  text-transform:uppercase;
  text-shadow:
    0 0 12px rgba(124,58,237,0.7),
    0 0 24px rgba(6,182,212,0.7);
  margin:0 0 20px 0;
}

/* General h1 for other pages */
h1 {
  font-family:'Orbitron',sans-serif;
  font-size:36px;
  background:linear-gradient(90deg,#7c3aed,#06b6d4);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  margin-bottom:30px;
  letter-spacing:1px;
}

/* General form styling */
form {
  position:relative;
  background:#0f172a;
  padding:30px 40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.05);
  box-shadow:0 0 25px rgba(0,0,0,0.25);
  overflow:hidden;
}

form::before {
  content:"";
  position:absolute;
  top:0; left:0; right:0; bottom:0;
  border-radius:14px;
  border:2px solid transparent;
  background:linear-gradient(90deg,#7c3aed,#06b6d4) border-box;
  -webkit-mask:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events:none;
  animation:neonPulse 4s ease-in-out infinite;
  opacity:0.9;
}

@keyframes neonPulse {
  0%,100% { opacity:0.3; }
  50% { opacity:0.9; }
}

/* Login form - NESSUN box neon (stile PERSEUS) */
.login-form {
  background:transparent;
  padding:0;
  border:none;
  box-shadow:none;
  position:static;
  overflow:visible;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.login-form::before {
  content:none;
}

/* Input password */
input[type=password] {
  padding:10px 14px;
  border-radius:10px;
  border:1px solid #1f2a44;
  background:#111827;
  color:#e2e8f0;
  width:240px;
  font-size:16px;
  transition:border-color 0.3s ease, box-shadow 0.3s ease;
}

input[type=password]:focus {
  border-color:#06b6d4;
  box-shadow:0 0 10px rgba(6,182,212,0.4);
  outline:none;
}

/* Login form specific input/button sizing */
.login-form input[type=password] {
  width:260px;
  text-align:left;
}

.login-form button {
  margin-top:14px;
  width:260px;
}

/* Button */
button {
  margin-top:18px;
  width:100%;
  background:linear-gradient(90deg,#7c3aed,#06b6d4);
  border:none;
  color:white;
  padding:10px;
  border-radius:10px;
  font-weight:600;
  cursor:pointer;
  transition:all 0.3s ease;
}

button:hover {
  filter:brightness(1.1);
  transform:translateY(-1px);
}

/* Error message */
.err {
  color:#ef4444;
  margin-top:10px;
  font-size:14px;
  text-align:center;
}

/* Login footnote - stile PERSEUS */
.login-footnote {
  margin-top:18px;
  font-size:12px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(148,163,184,0.7);
}

/* ═══════════════════════════════════════════════════════════
   DASHBOARD PulseEQ v1
   ═══════════════════════════════════════════════════════════ */

.dashboard-body {
  background:#0b1020;
  color:#e2e8f0;
  font-family:'Segoe UI',sans-serif;
  min-height:100vh;
  margin:0;
}

.dashboard-wrapper {
  max-width:1100px;
  margin:40px auto 60px;
  padding:0 20px;
}

.dashboard-header {
  text-align:left;
  margin-bottom:24px;
}

.dashboard-subtitle {
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:rgba(148,163,184,0.8);
}

.dashboard-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
}

.dash-card {
  background:rgba(15,23,42,0.95);
  border-radius:16px;
  border:1px solid rgba(148,163,184,0.25);
  padding:16px 18px;
  box-shadow:0 18px 30px rgba(0,0,0,0.4);
}

.dash-card-wide {
  grid-column:1 / -1;
}

.dash-card-title {
  font-family:'Orbitron',sans-serif;
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:12px;
  background:linear-gradient(90deg,#7c3aed,#06b6d4);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.dash-metric-row {
  display:flex;
  gap:18px;
  margin-bottom:8px;
  flex-wrap:wrap;
}

.dash-metric {
  flex:1;
  min-width:120px;
}

.dash-metric-label {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:rgba(148,163,184,0.9);
  margin-bottom:4px;
}

.dash-metric-value {
  font-size:14px;
  font-weight:600;
}

.dash-metric-value.small {
  font-size:12px;
  word-break:break-all;
}

.dash-empty {
  font-size:13px;
  color:#94a3b8;
}

.dash-note {
  font-size:11px;
  color:#64748b;
  margin-top:8px;
}

/* severity pills riusabili */
.sev-pill {
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  border:1px solid rgba(148,163,184,0.5);
}

.sev-info { border-color:#38bdf8; color:#e0f2fe; }
.sev-low { border-color:#22c55e; color:#bbf7d0; }
.sev-medium { border-color:#eab308; color:#fef9c3; }
.sev-high { border-color:#f97316; color:#fed7aa; }
.sev-critical { border-color:#ef4444; color:#fecaca; }

.dash-list {
  max-height:280px;
  overflow-y:auto;
}

.dash-list-item {
  padding:8px 0;
  border-bottom:1px solid rgba(30,41,59,0.9);
  font-size:12px;
}

.dash-list-item:last-child {
  border-bottom:none;
}

.dash-list-kind {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.14em;
  color:#e2e8f0;
  margin-bottom:4px;
}

.dash-list-meta {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:#94a3b8;
}

.dashboard-footer {
  margin-top:18px;
  display:flex;
  gap:16px;
  font-size:12px;
}

.dash-link {
  color:#06b6d4;
  text-decoration:none;
}

.dash-link-muted {
  color:#64748b;
}
