:root{
  --ima-bg:#0b1220;
  --ima-card:#0f1b31;
  --ima-text:#e6edf7;
  --ima-muted:#a9b7d0;
  --ima-accent:#2f7cf6;
  --ima-border:rgba(255,255,255,.12);
  --ima-danger:#ff4d4f;
  --ima-ok:#23c483;
}

.ima-portal{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, sans-serif;
  color: var(--ima-text);
  background: linear-gradient(180deg, var(--ima-bg), #080e1a);
  border: 1px solid var(--ima-border);
  border-radius: 14px;
  padding: 20px;
  max-width: 680px;
  margin: 24px auto;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.ima-portal h2{ margin:0 0 10px; font-size: 22px; }
.ima-portal p{ margin: 0 0 14px; color: var(--ima-muted); }

.ima-portal .ima-alert{
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--ima-border);
  margin: 0 0 14px;
  background: rgba(255,255,255,.06);
}
.ima-portal .ima-alert--error{ border-color: rgba(255,77,79,.5); }
.ima-portal .ima-alert--ok{ border-color: rgba(35,196,131,.5); }

.ima-portal label{ display:block; margin: 10px 0 6px; color: var(--ima-text); font-weight: 600; }
.ima-portal input[type="email"],
.ima-portal input[type="password"]{
  width:100%;
  padding: 12px 12px;
  border-radius: 10px;
  border: 1px solid var(--ima-border);
  background: rgba(255,255,255,.04);
  color: var(--ima-text);
}

.ima-portal .ima-actions{ margin-top: 14px; display:flex; gap: 10px; align-items:center; }
.ima-portal button{
  border: 0;
  background: var(--ima-accent);
  color: white;
  padding: 12px 14px;
  border-radius: 10px;
  font-weight: 700;
  cursor: pointer;
}

.ima-portal a{ color: #9fc2ff; }
