/* ============================================================
   Estilos propios de la plataforma (sobre core/design.css):
   pantalla de login + botón de salir. El resto reutiliza
   portal.css / design.css de la raíz.
   ============================================================ */

/* El atributo `hidden` debe ganar a cualquier display de autor
   (p. ej. .login-screen{display:flex}). Sin esto, ocultar el login
   no surte efecto y tapa el portal. */
[hidden]{display:none !important}

/* ---------------- Login ---------------- */
.login-screen{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;padding:24px;
  background:linear-gradient(135deg,var(--brand-d),var(--brand) 55%,var(--teal));
}
.login-card{
  width:100%;max-width:380px;background:var(--surface);border-radius:18px;
  box-shadow:0 10px 40px rgba(10,30,60,.28);padding:30px 28px 26px;
  display:flex;flex-direction:column;
}
.login-brand{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--brand);font-size:15px}
.login-logo{font-size:22px}
.login-card h1{font-size:23px;margin:16px 0 2px;letter-spacing:-.3px}
.login-sub{margin:0 0 18px;color:var(--ink-faint);font-size:13.5px}
.login-card label{font-size:12.5px;font-weight:700;color:var(--ink-soft);margin:10px 0 5px}
.login-card input{
  font:inherit;font-size:15px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;
  background:var(--surface-2);color:var(--ink);transition:border-color .15s,box-shadow .15s;
}
.login-card input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent);background:#fff}
.login-error{min-height:18px;margin:10px 0 0;color:var(--bad);font-size:13px;font-weight:600}
.login-btn{
  margin-top:14px;appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;font-size:15px;
  color:#fff;background:var(--brand);padding:12px 16px;border-radius:10px;transition:background .15s,transform .06s;
}
.login-btn:hover{background:var(--brand-d)}
.login-btn:active{transform:translateY(1px)}
.login-btn:disabled{opacity:.6;cursor:default}
.login-toggle{margin-top:14px;text-align:center;font-size:13px;font-weight:600;color:var(--brand);text-decoration:none}
.login-toggle:hover{text-decoration:underline}
.login-foot{max-width:380px;text-align:center;color:rgba(255,255,255,.85);font-size:12px;margin:0}

/* ---------------- Cabecera: zona derecha + salir ---------------- */
.head-right{display:flex;align-items:flex-start;gap:14px}
.logout-btn{
  appearance:none;cursor:pointer;font:inherit;font-weight:700;font-size:12.5px;white-space:nowrap;
  color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);
  padding:7px 13px;border-radius:9px;transition:background .15s;
}
.logout-btn:hover{background:rgba(255,255,255,.26)}
