.auth-body{
  min-height:100vh;
  color:var(--text);
}

.auth-shell,
.dashboard-shell{
  width:min(1120px, calc(100% - 34px));
  margin:0 auto;
  padding:42px 0 70px;
}

.auth-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
}

.auth-card,
.dashboard-topbar,
.dashboard-hero,
.stats-grid article,
.pdf-panel{
  border:1px solid rgba(216,170,69,.34);
  background:linear-gradient(145deg,rgba(7,19,38,.9),rgba(3,8,18,.84));
  box-shadow:var(--shadow);
  backdrop-filter:blur(16px);
}

.auth-card{
  width:min(520px, 100%);
  border-radius:30px;
  padding:30px;
}

.auth-card-wide{
  width:min(760px, 100%);
}

.auth-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--text);
  text-decoration:none;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:13px;
}

.auth-brand span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(216,170,69,.72);
  color:var(--gold-soft);
  font-family:Georgia,"Times New Roman",serif;
  background:rgba(216,170,69,.08);
}

.auth-heading{
  margin:34px 0 24px;
}

.auth-heading p,
.dashboard-hero p,
.pdf-panel-head p{
  margin:0 0 8px;
  color:var(--gold-soft);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:12px;
  font-weight:700;
}

.auth-heading h1,
.dashboard-hero h1,
.pdf-panel-head h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(34px, 4vw, 54px);
  line-height:1;
}

.auth-heading span,
.dashboard-hero span,
.empty-pdf-box span{
  display:block;
  margin-top:12px;
  color:var(--muted);
  line-height:1.6;
}

.auth-form{
  display:grid;
  gap:16px;
}

.auth-grid-2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.auth-form label{
  display:grid;
  gap:8px;
}

.auth-form label > span{
  color:var(--gold-soft);
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:12px;
  font-weight:700;
}

.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"]{
  width:100%;
  border:1px solid rgba(95,157,255,.42);
  border-radius:14px;
  background:rgba(13,26,50,.88);
  color:var(--text);
  padding:14px 15px;
  font-size:15px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.auth-form input:focus{
  border-color:rgba(216,170,69,.82);
  box-shadow:0 0 0 4px rgba(216,170,69,.14);
  background:rgba(15,31,60,.96);
}

.auth-check{
  grid-template-columns:auto 1fr;
  align-items:flex-start;
  gap:12px !important;
  padding:12px 13px;
  border:1px solid rgba(216,170,69,.22);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}

.auth-check input{
  margin-top:3px;
  width:18px;
  height:18px;
  accent-color:var(--gold);
}

.auth-check span{
  text-transform:none !important;
  letter-spacing:0 !important;
  color:var(--muted) !important;
  font-size:14px !important;
  line-height:1.45;
  font-weight:500 !important;
}

.auth-button,
.dashboard-cta,
.empty-pdf-box a{
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#ffe28d,#d8aa45 52%,#9f691d);
  color:#071326;
  padding:15px 18px;
  font-weight:900;
  letter-spacing:.02em;
  font-size:16px;
  cursor:pointer;
  text-decoration:none;
  text-align:center;
  box-shadow:0 18px 38px rgba(216,170,69,.2);
}

.auth-button:hover,
.dashboard-cta:hover,
.empty-pdf-box a:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}

.auth-switch{
  margin:22px 0 0;
  text-align:center;
  color:var(--muted);
}

.auth-switch a,
.dashboard-navlinks a,
.pdf-actions a{
  color:var(--gold-soft);
  text-decoration:none;
  font-weight:800;
}

.auth-switch a:hover,
.dashboard-navlinks a:hover,
.pdf-actions a:hover{
  text-decoration:underline;
}

.auth-alert{
  border-radius:18px;
  padding:13px 15px;
  margin-bottom:18px;
  line-height:1.45;
}

.auth-alert p{margin:0}
.auth-alert p + p{margin-top:6px}

.auth-alert-error{
  border:1px solid rgba(255,128,128,.42);
  color:#ffd8d8;
  background:rgba(95,20,27,.36);
}

.auth-alert-info{
  border:1px solid rgba(95,157,255,.35);
  color:#dbe8ff;
  background:rgba(31,101,183,.18);
}

.dashboard-topbar{
  border-radius:22px;
  padding:16px 18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}

.dashboard-navlinks{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.dashboard-hero{
  margin-top:24px;
  border-radius:32px;
  padding:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.dashboard-hero h1{
  font-size:clamp(40px,5vw,70px);
}

.dashboard-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin:22px 0;
}

.stats-grid article{
  border-radius:24px;
  padding:22px;
}

.stats-grid strong{
  display:block;
  font-size:40px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--gold-soft);
}

.stats-grid span{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
}

.pdf-panel{
  border-radius:30px;
  padding:26px;
}

.pdf-panel-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-end;
  margin-bottom:18px;
}

.pdf-list{
  display:grid;
  gap:12px;
}

.pdf-row{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:16px;
  align-items:center;
  padding:15px;
  border:1px solid rgba(216,170,69,.2);
  background:rgba(255,255,255,.035);
  border-radius:20px;
}

.pdf-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(216,170,69,.12);
  border:1px solid rgba(216,170,69,.35);
  color:var(--gold-soft);
  font-weight:900;
  font-size:13px;
}

.pdf-main h3{
  margin:0 0 6px;
  font-size:17px;
}

.pdf-main p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
  font-size:14px;
}

.pdf-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.pdf-actions a{
  border:1px solid rgba(216,170,69,.35);
  padding:9px 12px;
  border-radius:12px;
  background:rgba(216,170,69,.08);
}

.empty-pdf-box{
  display:grid;
  gap:10px;
  justify-items:start;
  padding:24px;
  border:1px dashed rgba(216,170,69,.38);
  border-radius:22px;
  background:rgba(255,255,255,.03);
}

.empty-pdf-box strong{
  font-size:20px;
}

.soul-userbar{
  width:min(1460px, calc(100% - 34px));
  margin:0 auto;
  padding:16px 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--muted);
}

.soul-userbar strong{
  color:var(--gold-soft);
}

.soul-userbar-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.soul-userbar a{
  color:var(--gold-soft);
  border:1px solid rgba(216,170,69,.35);
  background:rgba(216,170,69,.08);
  text-decoration:none;
  padding:9px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:13px;
}

.soul-userbar a:hover{
  background:rgba(216,170,69,.16);
}

@media (max-width: 760px){
  .auth-grid-2,
  .stats-grid{
    grid-template-columns:1fr;
  }

  .auth-card{
    padding:22px;
  }

  .dashboard-topbar,
  .dashboard-hero,
  .soul-userbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .pdf-row{
    grid-template-columns:1fr;
  }

  .pdf-actions{
    justify-content:flex-start;
  }
}
