.auth-page{
  padding:44px 0 70px;
}

.auth-card{
  max-width:620px;
  margin:0 auto;
  background:#fff;
  border:4px solid var(--line);
  border-radius:22px;
  box-shadow:7px 7px 0 var(--line);
  padding:24px;
}

.auth-card.wide{
  max-width:980px;
}

.auth-card h1{
  margin:0 0 12px;
  font-size:clamp(2rem,4vw,3.2rem);
  font-weight:900;
  text-transform:uppercase;
}

.auth-card h2{
  margin:24px 0 12px;
  font-size:1.4rem;
  font-weight:900;
  text-transform:uppercase;
}

.auth-card p{
  color:#222;
  font-weight:800;
  line-height:1.5;
}

.auth-form{
  display:grid;
  gap:14px;
  margin-top:20px;
}

.auth-form label{
  display:grid;
  gap:6px;
  font-weight:900;
  text-transform:uppercase;
  font-size:.9rem;
}

.auth-form input{
  border:3px solid var(--line);
  border-radius:14px;
  padding:12px;
  font-weight:800;
  font-size:1rem;
}

.auth-btn{
  border:3px solid var(--line);
  border-radius:16px;
  box-shadow:4px 4px 0 var(--line);
  padding:12px 16px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

.auth-btn.primary{
  background:#2ed573;
  color:#111;
}

.auth-alert{
  border:3px solid var(--line);
  border-radius:14px;
  box-shadow:4px 4px 0 var(--line);
  padding:12px;
  font-weight:900;
  margin:16px 0;
}

.auth-alert.error{
  background:#ff4757;
  color:#fff;
}

.auth-alert.success{
  background:#2ed573;
  color:#111;
}

.auth-note{
  margin-top:18px;
  background:#fffa85;
  border:3px solid var(--line);
  border-radius:14px;
  padding:12px;
  font-weight:900;
}

.auth-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}

.auth-links a{
  background:#ffd32a;
  border:3px solid var(--line);
  border-radius:14px;
  box-shadow:4px 4px 0 var(--line);
  padding:10px 14px;
  font-weight:900;
  color:#111;
}

.account-summary{
  display:grid;
  gap:10px;
  background:#fffa85;
  border:3px solid var(--line);
  border-radius:16px;
  box-shadow:4px 4px 0 var(--line);
  padding:14px;
  font-weight:900;
}

.account-table-wrap{
  overflow:auto;
}

.account-table{
  width:100%;
  border-collapse:collapse;
  border:3px solid var(--line);
}

.account-table th,
.account-table td{
  border:2px solid var(--line);
  padding:10px;
  text-align:left;
  font-weight:800;
}

.account-table th{
  background:#ffd32a;
}

.account-table td{
  background:#fff;
}

.account-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:20px 0 10px;
}

.account-kpi{
  background:#fffa85;
  border:3px solid var(--line);
  border-radius:16px;
  box-shadow:4px 4px 0 var(--line);
  padding:14px;
  display:grid;
  gap:4px;
}

.account-kpi strong{
  font-size:2rem;
  line-height:1;
  font-weight:900;
}

.account-kpi span{
  font-weight:900;
  color:#222;
}

@media(max-width:760px){
  .account-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:480px){
  .account-kpis{
    grid-template-columns:1fr;
  }
}

.auth-warning,
.auth-error,
.auth-success{
  border:2px solid var(--line);
  border-radius:12px;
  padding:10px;
  font-weight:900;
}

.auth-warning{
  background:#fff6c7;
}

.auth-error{
  background:#ffe8e8;
  color:#8b0000;
}

.auth-success{
  background:#eafff0;
  color:#064d22;
}

.auth-warning,
.auth-error,
.auth-success{
  border:2px solid var(--line);
  border-radius:12px;
  padding:10px;
  margin:12px 0;
  font-weight:900;
}

.auth-warning{
  background:#fff6c7;
  color:#111;
}

.auth-error{
  background:#ffe8e8;
  color:#8b0000;
}

.auth-success{
  background:#eafff0;
  color:#064d22;
}
