/* Acceso Renacer */
:root{
  --black:#070604;
  --gold:#d2a657;
  --gold2:#f0d596;
  --cream:#f7efe1;
  --line:rgba(240,213,150,.18);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--cream);
  background:
    linear-gradient(90deg,rgba(7,6,4,.92),rgba(7,6,4,.72)),
    url('/Hub/assets/img/hero-book.jpg') center/cover no-repeat fixed;
  min-height:100vh;
}
.access-page,.admin-page{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:34px;
}
.access-card{
  width:min(520px,92vw);
  padding:36px;
  border-radius:30px;
  border:1px solid var(--line);
  background:rgba(7,6,4,.72);
  backdrop-filter:blur(18px);
  box-shadow:0 30px 100px rgba(0,0,0,.35);
}
.eyebrow{
  margin:0 0 12px;
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.72rem;
  font-weight:800;
}
h1,h2{
  font-family:Cinzel,serif;
  font-weight:500;
  color:#fff4df;
  margin:0 0 14px;
  line-height:1.05;
}
h1{font-size:clamp(2.4rem,5vw,4.6rem)}
h2{font-size:1.7rem}
p{color:#d8c9b4;line-height:1.65}
form{display:grid;gap:16px;margin-top:22px}
label span{
  display:block;
  color:#eadcc8;
  font-weight:700;
  margin-bottom:7px;
}
input,select{
  width:100%;
  min-height:50px;
  border-radius:16px;
  border:1px solid rgba(240,213,150,.16);
  background:rgba(255,255,255,.045);
  color:#fff4df;
  padding:0 14px;
  outline:none;
}
button,.logout{
  min-height:50px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#171008;
  font-weight:900;
  padding:0 22px;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.access-links{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:22px;
  color:#d8c9b4;
}
.access-links a:hover{color:var(--gold2)}
.alert{
  padding:14px;
  border-radius:16px;
  background:rgba(255,108,82,.13);
  border:1px solid rgba(255,108,82,.24);
  color:#ffb6a7;
}
.success-box{
  padding:24px;
  border-radius:24px;
  border:1px solid rgba(240,213,150,.22);
  background:rgba(240,213,150,.08);
  margin-bottom:18px;
}
.success-box code{
  display:block;
  font-size:1.7rem;
  color:#fff4df;
  padding:14px;
  border-radius:14px;
  background:rgba(0,0,0,.25);
  margin:8px 0 10px;
}
.small{font-size:.86rem}
.admin-page{display:block}
.admin-shell{
  width:min(1180px,94vw);
  margin:0 auto;
}
.admin-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:22px;
}
.panel-grid{
  display:grid;
  grid-template-columns:minmax(320px,420px) 1fr;
  gap:18px;
  margin-bottom:22px;
}
.create-form,.info-card,.table-card{
  padding:24px;
  border-radius:26px;
  border:1px solid var(--line);
  background:rgba(7,6,4,.68);
  backdrop-filter:blur(18px);
}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;min-width:820px}
th,td{
  text-align:left;
  padding:12px;
  border-bottom:1px solid rgba(240,213,150,.10);
  color:#eadcc8;
}
th{
  color:var(--gold2);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.72rem;
}
@media(max-width:760px){
  .panel-grid{grid-template-columns:1fr}
  .admin-head{display:block}
}


.mail-ok{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(72,211,132,.12);
  border:1px solid rgba(72,211,132,.25);
  color:#b8ffd6;
}

.mail-error{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(255,108,82,.13);
  border:1px solid rgba(255,108,82,.24);
  color:#ffb6a7;
}
