/* TechProdLabs: ventana única de registro e inicio de sesión.
   Se aplica únicamente a #tplAuthModal; no altera matriz.css. */
#tplAuthModal{--au-ink:#092b46;--au-muted:#698295;--au-cyan:#2acfe7;--au-border:#d8e7ef;
  --au-deep:#061d34;color:var(--au-ink);font-family:'Manrope','DM Sans',system-ui,sans-serif}
#tplAuthModal *{box-sizing:border-box}
#tplAuthModal [hidden]{display:none!important}
#tplAuthModal .modal-dialog{max-width:484px;margin-left:auto;margin-right:auto}
#tplAuthModal .modal-content{border:1px solid rgba(188,217,230,.5);overflow:hidden;
  border-radius:21px;background:#fff;box-shadow:0 30px 100px rgba(1,22,42,.36)}
#tplAuthModal .tpl-auth-top{position:relative;padding:30px 36px 30px;
  background:radial-gradient(ellipse at 92% 5%,rgba(23,184,216,.19),transparent 47%),
  linear-gradient(125deg,#061b31,#0a3452);color:#fff}
#tplAuthModal .tpl-auth-brand{display:flex;align-items:center;gap:11px;font-size:23px;
  font-weight:850;letter-spacing:-.055em;color:#fff}
#tplAuthModal .tpl-auth-brand i{color:#3ce2ee;font-size:24px}
#tplAuthModal .tpl-auth-brand em{font-style:normal;color:#35d6ef}
#tplAuthModal .tpl-auth-close{position:absolute;right:20px;top:18px;border:1px solid rgba(255,255,255,.26);
  display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);
  color:#eaf8fa;font-size:15px;transition:background .2s}
#tplAuthModal .tpl-auth-close:hover{background:rgba(255,255,255,.22)}
#tplAuthModal .tpl-auth-kicker{font-size:10px;letter-spacing:2px;color:#62dce8;
  text-transform:uppercase;font-weight:800;margin:24px 0 9px}
#tplAuthModal h2{font-size:clamp(24px,4vw,30px);font-weight:850;line-height:1.2;
  letter-spacing:-.055em;color:#fff;margin:0 0 10px}
#tplAuthModal .tpl-auth-top>p:last-child{font-size:12px;line-height:1.8;color:#bfdae6;margin:0}
#tplAuthModal .tpl-auth-body{padding:28px 36px 26px;overflow:auto}
#tplAuthModal .tpl-auth-tabs{display:flex;gap:5px;background:#edf6fa;border:1px solid #dcebf2;
  border-radius:10px;padding:5px;margin-bottom:24px}
#tplAuthModal .tpl-auth-tabs button{flex:1;border:0;border-radius:7px;background:transparent;
  padding:12px 9px;min-height:43px;font-size:12px;font-weight:800;color:#7791a0;
  transition:background .2s,color .2s,box-shadow .2s}
#tplAuthModal .tpl-auth-tabs button.is-selected{background:#fff;color:#086d8f;
  box-shadow:0 2px 12px rgba(4,54,78,.08)}
#tplAuthModal .tpl-auth-panel form{display:flex;flex-direction:column}
#tplAuthModal .tpl-auth-panel label{font-size:11px;font-weight:800;color:#284a61;margin:0 0 7px}
#tplAuthModal .tpl-auth-panel input{width:100%;min-width:0;height:48px;border-radius:9px;
  padding:12px 14px;margin-bottom:17px;border:1px solid var(--au-border);background:#f8fcfe;
  color:#113850;font-size:13px;outline:0;transition:background .2s,border-color .2s,box-shadow .2s}
#tplAuthModal .tpl-auth-panel input::placeholder{color:#99adb9}
#tplAuthModal .tpl-auth-panel input:focus{background:#fff;border-color:#25bcd8;
  box-shadow:0 0 0 4px rgba(22,185,216,.11)}
#tplAuthModal .tpl-auth-password{position:relative}
#tplAuthModal .tpl-auth-password input{padding-right:52px}
#tplAuthModal .tpl-auth-password button{position:absolute;right:8px;top:4px;width:39px;height:39px;
  border:0;background:transparent;border-radius:8px;color:#718e9f;font-size:17px}
#tplAuthModal .tpl-auth-password button:hover{color:#008aaf;background:#edf7fb}
#tplAuthModal .tpl-auth-forgot{align-self:flex-end;display:block;border:0;background:transparent;
  margin:-2px 0 21px;padding:4px 0;color:#0789b0;font-weight:800;font-size:11px}
#tplAuthModal .tpl-auth-forgot:hover{text-decoration:underline}
#tplAuthModal .tpl-auth-submit{display:flex;align-items:center;justify-content:center;gap:12px;
  width:100%;border:0;border-radius:9px;min-height:50px;padding:12px 17px;
  background:linear-gradient(110deg,#39dae8,#1bb7e3);color:#07304a;font-size:13px;font-weight:850;
  transition:filter .2s,transform .2s,box-shadow .2s}
#tplAuthModal .tpl-auth-submit:hover{filter:brightness(1.06);transform:translateY(-1px);
  box-shadow:0 13px 24px rgba(19,166,205,.19)}
#tplAuthModal .tpl-auth-submit:disabled,#tplAuthModal .tpl-auth-google:disabled,
#tplAuthModal .tpl-auth-signout:disabled{opacity:.62;cursor:wait;transform:none;box-shadow:none}
#tplAuthModal .tpl-auth-helper{font-size:11px;color:#819aa9;margin:-4px 0 19px;line-height:1.6}
#tplAuthModal .tpl-auth-intro{font-size:12px;color:var(--au-muted);line-height:1.75;margin:0 0 20px}
#tplAuthModal .tpl-auth-back{display:inline-flex;gap:9px;align-items:center;border:0;background:none;
  color:#077b9f;font-size:12px;font-weight:800;padding:9px 0;margin-top:15px}
#tplAuthModal .tpl-auth-separator{display:flex;align-items:center;gap:12px;margin:23px 0 18px;
  font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#91a5b2;font-weight:800}
#tplAuthModal .tpl-auth-separator::before,#tplAuthModal .tpl-auth-separator::after{content:"";
  height:1px;flex:1;background:#dbe9f0}
#tplAuthModal .tpl-auth-google{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;
  min-height:50px;border:1px solid #d5e5ed;background:#fff;border-radius:9px;color:#20445b;
  font-size:12px;font-weight:800;transition:border-color .2s,background .2s}
#tplAuthModal .tpl-auth-google:hover{background:#f2fafd;border-color:#31c2db}
#tplAuthModal .tpl-auth-google i{font-size:16px;color:#4285f4}
#tplAuthModal .tpl-auth-message{padding:13px 15px;margin-top:19px;border-radius:9px;
  font-size:11px;line-height:1.7;font-weight:750}
#tplAuthModal .tpl-auth-message.is-error{background:#fff2f2;color:#a33346;border:1px solid #ecc4cb}
#tplAuthModal .tpl-auth-message.is-success{background:#edf9f4;color:#216e58;border:1px solid #a6dfc8}
#tplAuthModal .tpl-auth-message.is-info{background:#ebf8fc;color:#245c75;border:1px solid #b9e5ed}
#tplAuthModal .tpl-auth-bottom{text-align:center;margin:24px 0 0;color:#92a5b1;font-size:10px}
#tplAuthModal .tpl-auth-account{text-align:center}
#tplAuthModal .tpl-auth-avatar{display:grid;place-items:center;background:#e9f9fc;color:#0aaac9;
  border:1px solid #d3f0f4;border-radius:50%;margin:0 auto 14px;width:67px;height:67px;font-size:27px}
#tplAuthModal .tpl-auth-account h3{font-size:22px;letter-spacing:-.04em;font-weight:850;
  color:#143c53;margin:0 0 6px}
#tplAuthModal .tpl-auth-account>p{font-size:12px;color:#6f8b9b;margin:0 0 18px;overflow-wrap:anywhere}
#tplAuthModal .tpl-auth-verified{border-radius:9px;padding:12px 13px;
  background:#e9f8f5;border:1px solid #c3e9dd;color:#20765c;font-size:11px;font-weight:800}
#tplAuthModal .tpl-auth-verified.is-pending{background:#fff8e9;border-color:#f0dda9;color:#8d641f}
#tplAuthModal .tpl-auth-account-note{font-size:12px!important;line-height:1.8;margin:17px 0!important}
#tplAuthModal .tpl-auth-link-button{border:0;background:none;color:#007f9c;
  padding:8px 0;margin:2px 0 11px;font-size:11px;font-weight:800}
#tplAuthModal .tpl-auth-signout{display:flex;width:100%;min-height:48px;align-items:center;
  justify-content:center;gap:11px;background:#f1f7fa;border:1px solid #dce9f0;
  color:#254d63;border-radius:9px;font-size:12px;font-weight:800;margin-top:13px}
#tplAuthModal .tpl-auth-signout:hover{background:#e6f5f8}
#tplAuthModal button:focus-visible{outline:3px solid #32d4ed;outline-offset:3px}
@media(max-width:576px){
  #tplAuthModal .modal-dialog{margin:12px auto;max-width:min(100% - 24px,484px)}
  #tplAuthModal .tpl-auth-top{padding:26px 24px 25px}
  #tplAuthModal .tpl-auth-body{padding:24px 22px}
  #tplAuthModal .tpl-auth-brand{font-size:21px}
  #tplAuthModal .tpl-auth-kicker{margin-top:22px}
}
