
:root{
  --red:#e50914;
  --red-dark:#650006;
  --black:#030303;
  --panel:#0b0b0d;
  --line:#351015;
  --text:#f4f4f4;
  --muted:#a8a8ad;
}
*{box-sizing:border-box}
html{background:var(--black)}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  background:
    radial-gradient(circle at 80% 5%,rgba(229,9,20,.14),transparent 28rem),
    linear-gradient(145deg,#020202,#09090b 62%,#030303);
}
.noise{
  position:fixed;inset:0;pointer-events:none;opacity:.08;
  background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.04) 4px);
}
.hidden{display:none!important}
.login-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
}
.login-card{
  width:min(100%,430px);
  padding:34px 28px;
  border:1px solid var(--red);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(18,3,5,.98),rgba(5,5,7,.98));
  box-shadow:0 0 42px rgba(229,9,20,.18);
}
.logo,.portal-logo{display:block;width:min(270px,80%);height:auto}
.logo{margin:0 auto 10px}
.eyebrow{
  color:var(--red);
  letter-spacing:.22em;
  font-size:.74rem;
  font-weight:800;
  margin:.25rem 0;
}
.login-card .eyebrow{text-align:center}
h1{margin:.35rem 0 1rem;font-size:clamp(2rem,8vw,3.5rem);line-height:.95}
.login-card h1{text-align:center;font-size:2rem}
.intro{color:var(--muted);text-align:center;margin:0 0 26px}
label{display:block;font-size:.86rem;font-weight:700;margin-bottom:8px}
.password-row{display:flex;gap:8px}
input{
  width:100%;
  border:1px solid #4a1a1e;
  border-radius:10px;
  padding:14px 15px;
  color:#fff;
  background:#08080a;
  font-size:1rem;
  outline:none;
}
input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(229,9,20,.14)}
.icon-button,.logout-button{
  border:1px solid #4a1a1e;
  border-radius:10px;
  background:#111;
  color:#fff;
  cursor:pointer;
}
.icon-button{width:48px}
.primary-button{
  width:100%;
  margin-top:10px;
  border:0;
  border-radius:10px;
  padding:15px;
  background:var(--red);
  color:white;
  font-weight:900;
  font-size:1rem;
  cursor:pointer;
}
.error{min-height:22px;color:#ff6b72;font-size:.88rem;margin:8px 0 0}
.portal{width:min(100%,1100px);margin:auto;padding:22px 18px 40px}
.portal-header{display:flex;justify-content:space-between;align-items:center;gap:20px}
.portal-logo{width:190px}
.logout-button{padding:10px 13px}
.hero{
  margin:42px 0 24px;
  padding:24px 0 20px;
  border-top:1px solid var(--red);
  border-bottom:1px solid var(--line);
}
.hero h1{margin:.4rem 0 .65rem}
.hero p:last-child{max-width:680px;color:var(--muted);line-height:1.5}
.status-dot{
  display:inline-block;width:9px;height:9px;border-radius:50%;
  background:#29d17d;box-shadow:0 0 14px #29d17d;margin-right:7px;
}
.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.action-card{
  min-height:135px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px;
  border:1px solid #5d1117;
  border-left:4px solid var(--red);
  border-radius:15px;
  background:linear-gradient(135deg,rgba(24,7,9,.96),rgba(8,8,10,.98));
  color:#fff;
  text-decoration:none;
  transition:.18s ease;
}
.action-card:hover,.action-card:focus{
  transform:translateY(-2px);
  border-color:var(--red);
  box-shadow:0 0 24px rgba(229,9,20,.18);
}
.card-icon{
  flex:0 0 58px;height:58px;
  display:grid;place-items:center;
  border:1px solid var(--red);
  border-radius:14px;
  color:var(--red);
  font-size:1.75rem;
  font-weight:900;
}
.action-card strong{display:block;font-size:1.15rem;margin-bottom:7px}
.action-card small{display:block;color:var(--muted);line-height:1.35}
.guide,.signoff{grid-column:span 1}
.notice{
  margin-top:18px;
  border:1px solid #563037;
  border-radius:12px;
  padding:15px;
  color:#ddd;
  background:rgba(78,13,20,.22);
  line-height:1.45;
}
footer{
  display:flex;justify-content:space-between;gap:15px;
  margin-top:28px;padding-top:18px;border-top:1px solid var(--line);
  color:#777;font-size:.76rem;
}
@media (max-width:720px){
  .portal{padding:16px 14px 30px}
  .portal-header{align-items:flex-start}
  .portal-logo{width:155px}
  .hero{margin-top:28px}
  .action-grid{grid-template-columns:1fr}
  .action-card{min-height:118px;padding:18px}
  footer{flex-direction:column}
}
