/* ================================================================
   Pantalla de bienvenida / login (KAP.authScreen)
   ================================================================ */
body.auth-open{ overflow:hidden; }

.auth-screen{
  position:fixed; inset:0; z-index:150;
  display:flex; align-items:center; justify-content:center;
  padding:20px; overflow-y:auto;
  animation:fadeIn .3s both;
}
.auth-bg{
  position:absolute; inset:0;
  background:var(--grad-hero);
  overflow:hidden;
}
.auth-bg::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(700px 400px at 82% 8%, rgba(232,163,61,.28), transparent 60%),
            radial-gradient(600px 500px at 10% 100%, rgba(176,141,51,.18), transparent 55%);
}
.auth-bg::after{
  content:''; position:absolute; width:140%; height:140%; left:-20%; top:-20%;
  background:repeating-linear-gradient(120deg, transparent 0 38px, rgba(255,255,255,.015) 38px 40px);
  animation:authDrift 40s linear infinite;
}
@keyframes authDrift{ to{ transform:translate(40px,40px); } }

.auth-card{
  position:relative; z-index:2; width:100%; max-width:410px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:22px; padding:30px 30px 24px;
  box-shadow:0 30px 90px rgba(0,0,0,.5);
  animation:modalIn .4s cubic-bezier(.25,.8,.35,1) both;
}
.auth-brand{ display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.auth-brand img{ height:46px; width:auto; background:#fff; border-radius:11px; padding:4px; }
.auth-title{ font-size:17px; font-weight:900; letter-spacing:.07em; color:var(--text); }
.auth-sublogo{
  font-size:11px; font-weight:800; letter-spacing:.24em;
  background:var(--grad-fire); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.auth-card h2{ font-size:21px; font-weight:800; letter-spacing:-.01em; margin-bottom:4px; }
.auth-sub{ font-size:13px; color:var(--text-2); margin-bottom:18px; }
.auth-error{ color:var(--danger); font-size:12.5px; font-weight:700; min-height:0; margin-bottom:2px; }
.auth-error:not(:empty){ min-height:20px; margin-bottom:8px; }

.auth-row{ display:flex; justify-content:flex-end; margin:-6px 0 12px; }
.auth-link, .auth-alt a, .auth-demo + * a{ color:var(--kap-gold); font-weight:700; cursor:pointer; font-size:12.5px; }
.auth-link:hover, .auth-alt a:hover{ text-decoration:underline; }
.auth-check{
  display:flex; align-items:flex-start; gap:8px; font-size:12px; color:var(--text-2);
  line-height:1.4; margin:2px 0 12px; cursor:pointer;
}
.auth-check input{ margin-top:1px; flex-shrink:0; }
.auth-main{ width:100%; justify-content:center; padding:12px; font-size:14px; margin-top:4px; }
.auth-main:disabled{ opacity:.7; cursor:default; }
.auth-alt{ text-align:center; font-size:12.5px; color:var(--text-2); margin-top:16px; }

/* Botón "Continuar con Google" */
.btn-google{
  width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
  padding:11px; border-radius:11px; font-size:14px; font-weight:700;
  background:#fff; color:#1B1E23; border:1.5px solid var(--border);
  transition:all var(--t-fast); cursor:pointer;
}
.btn-google:hover{ border-color:var(--kap-gold); box-shadow:0 3px 12px rgba(27,30,35,.12); transform:translateY(-1px); }
.btn-google:disabled{ opacity:.7; cursor:default; }
body[data-theme="dark"] .btn-google{ background:#F2F3F5; }

.auth-demo{
  display:flex; align-items:center; gap:12px; margin-top:18px;
  color:var(--text-3); font-size:11px;
}
.auth-demo span{ flex:0 0 auto; }
.auth-demo::before, .auth-demo::after{ content:''; flex:1; height:1px; background:var(--border); }
.auth-demo button{ flex:0 0 auto; }
.auth-legal{
  text-align:center; font-size:10.5px; color:var(--text-3);
  margin-top:16px; line-height:1.5;
}

/* Botón de sesión en la barra superior */
.topbar-auth{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 13px; border-radius:20px; font-size:12.5px; font-weight:700;
  background:var(--grad-gold); color:#fff; border:none;
  box-shadow:0 3px 10px rgba(176,141,51,.4);
  transition:all var(--t-fast);
}
.topbar-auth:hover{ transform:translateY(-1px); filter:brightness(1.08); }

@media (max-width:460px){
  .auth-card{ padding:24px 20px 20px; border-radius:18px; }
  .auth-card h2{ font-size:19px; }
}
