/* auth.css — Grupo EREYS Recetas: login, recuperar, restablecer, solicitar acceso.
   Mismo formato que la Intranet (estándar de pantallas de acceso EREYS). */
:root{
  --bg:#f7f5f2; --surface:#ffffff; --surface-alt:#f0ece7; --surface-2:#faf7f4; --surface-3:#f0e8df;
  --text:#1e1e1e; --muted:#57524d; --muted-2:#b0a090; --dark:#2d2b29; --eyebrow:#8d5a28;
  --primary:#e47c26; --primary-dark:#c96312; --primary-deep:#c4601a;
  --line:#d8d2cb; --border-input:#e2d5c8; --border-card:#f0e8df;
  --verde:#10b981; --rojo:#ef4444; --amarillo:#f59e0b; --azul:#2980b9;
}
*{box-sizing:border-box;}
html,body{margin:0;height:100%;}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--primary-deep);}

.login-page{
  position:fixed;inset:0;overflow-y:auto;display:flex;padding:12px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22420%22%20height%3D%22300%22%20viewBox%3D%220%200%20420%20300%22%20opacity%3D%22.15%22%3E%3Cg%20transform%3D%22translate%2848%2042%29%20rotate%28-18%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-34%22%20y%3D%22-15%22%20width%3D%2268%22%20height%3D%2230%22%20rx%3D%2215%22/%3E%3Cpath%20d%3D%22M0%20-15V15%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28158%2034%29%20rotate%286%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-24%208a24%2022%200%200%201%2048%200%22/%3E%3Cpath%20d%3D%22M-32%208h64v8h-64zM0%20-14v14M-10%20-10v8M10%20-10v8%22/%3E%3Cpath%20d%3D%22M14%20-6h12v7H14z%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28280%2046%29%20rotate%28-6%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-32%2024L0%20-14L32%2024zM-8%2024v-14h16v14M0%20-14v-16h14v9H0%22/%3E%3Cpath%20d%3D%22M-3%2012h6M0%209v6%22%20/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28372%2040%29%20rotate%2814%29%20scale%280.9%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M0%2022C-36%20-2%20-26%20-30%20-10%20-28c6%201%2010%205%2010%209%200-4%204-8%2010-9%2016-2%2026%2026-10%2050z%22/%3E%3Cpath%20d%3D%22M-18%202h9l5-9%207%2016%205-7h10%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%2892%20128%29%20rotate%288%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-34%22%20y%3D%22-18%22%20width%3D%2242%22%20height%3D%2234%22%20rx%3D%225%22/%3E%3Cpath%20d%3D%22M8%20-8h14l12%2012v12H8zM-20%20-9v14M-27%20-2h14%22/%3E%3Ccircle%20cx%3D%22-18%22%20cy%3D%2220%22%20r%3D%225%22/%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%225%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28214%20120%29%20rotate%28-12%29%20scale%280.9%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-24%22%20y%3D%22-18%22%20width%3D%2248%22%20height%3D%2238%22%20rx%3D%227%22/%3E%3Cpath%20d%3D%22M-9%20-18v-6h18v6M0%20-7v16M-8%201h16%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28328%20134%29%20rotate%2810%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-20%22%20y%3D%22-26%22%20width%3D%2240%22%20height%3D%2252%22%20rx%3D%226%22/%3E%3Cpath%20d%3D%22M-9%20-26v-4h18v4M-9%200l6%207%2012-14%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%2840%20222%29%20rotate%28-8%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-32%2024L0%20-14L32%2024zM-8%2024v-14h16v14M0%20-14v-16h14v9H0%22/%3E%3Cpath%20d%3D%22M-3%2012h6M0%209v6%22%20/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28150%20226%29%20rotate%2814%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M0%2022C-36%20-2%20-26%20-30%20-10%20-28c6%201%2010%205%2010%209%200-4%204-8%2010-9%2016-2%2026%2026-10%2050z%22/%3E%3Cpath%20d%3D%22M-18%202h9l5-9%207%2016%205-7h10%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28262%20214%29%20rotate%28-10%29%20scale%281.1%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-34%22%20y%3D%22-15%22%20width%3D%2268%22%20height%3D%2230%22%20rx%3D%2215%22/%3E%3Cpath%20d%3D%22M0%20-15V15%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28366%20232%29%20rotate%286%29%20scale%281%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M-24%208a24%2022%200%200%201%2048%200%22/%3E%3Cpath%20d%3D%22M-32%208h64v8h-64zM0%20-14v14M-10%20-10v8M10%20-10v8%22/%3E%3Cpath%20d%3D%22M14%20-6h12v7H14z%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28205%20272%29%20rotate%280%29%20scale%280.8%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-24%22%20y%3D%22-18%22%20width%3D%2248%22%20height%3D%2238%22%20rx%3D%227%22/%3E%3Cpath%20d%3D%22M-9%20-18v-6h18v6M0%20-7v16M-8%201h16%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%2895%20285%29%20rotate%28-14%29%20scale%280.8%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-20%22%20y%3D%22-26%22%20width%3D%2240%22%20height%3D%2252%22%20rx%3D%226%22/%3E%3Cpath%20d%3D%22M-9%20-26v-4h18v4M-9%200l6%207%2012-14%22/%3E%3C/g%3E%3Cg%20transform%3D%22translate%28330%20282%29%20rotate%2810%29%20scale%280.8%29%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%22-34%22%20y%3D%22-18%22%20width%3D%2242%22%20height%3D%2234%22%20rx%3D%225%22/%3E%3Cpath%20d%3D%22M8%20-8h14l12%2012v12H8zM-20%20-9v14M-27%20-2h14%22/%3E%3Ccircle%20cx%3D%22-18%22%20cy%3D%2220%22%20r%3D%225%22/%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%225%22/%3E%3C/g%3E%3C/svg%3E") center top/420px 300px repeat, linear-gradient(135deg,var(--primary) 0%,var(--primary-deep) 100%);
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.5) transparent;
}
.login-wrap{margin:auto;width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;}
.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:20px;padding:22px 28px 16px;box-shadow:0 20px 50px rgba(60,25,0,.30);}
.login-card.ancha{max-width:440px;}
.login-card .logo{display:block;height:72px;width:auto;margin:0 auto 8px;}
.eyebrow{text-align:center;font-family:'DM Sans',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow);margin:0 0 4px;}
.login-card h1{font-family:'Syne',sans-serif;font-weight:800;font-size:24px;letter-spacing:.01em;text-align:center;text-transform:uppercase;color:var(--dark);margin:0 0 14px;line-height:1.1;}
.login-card h1.chico{font-size:19px;margin-bottom:8px;}
.sub{text-align:center;font-size:13px;color:var(--muted);margin:0 0 14px;line-height:1.5;}

label{display:block;font-family:'DM Sans',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:6px;}
.campo{margin-bottom:11px;}
.input-wrap{position:relative;}
input[type=email],input[type=password],input[type=text],select,textarea{
  width:100%;padding:10px 13px;font-size:16px;font-family:inherit;color:var(--text);
  background:var(--surface-2);border:1px solid var(--border-input);border-radius:10px;margin:0;
}
textarea{min-height:70px;resize:vertical;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(228,124,38,.2);}
.input-wrap input{padding-right:48px;}
.ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--muted);font-size:17px;cursor:pointer;padding:10px;width:auto;}
.fila-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:480px){.fila-2{grid-template-columns:1fr;gap:0;}}

.recordar{display:flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--dark);margin:2px 0 12px;cursor:pointer;}
.recordar input{width:20px;height:20px;accent-color:var(--primary-dark);margin:0;}

.btn-primario{
  width:100%;padding:12px;border:none;border-radius:10px;cursor:pointer;background:var(--primary-dark);color:#fff;
  font-family:'Syne',sans-serif;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:10px;transition:background .18s ease;
}
.btn-primario:hover{background:var(--primary-deep);}
.btn-primario:disabled{opacity:.6;cursor:not-allowed;}

#mensaje,.mensaje-error{font-size:13.5px;margin:14px 0 0;text-align:center;}
.ok{color:#0a7a56;} .error{color:#a12b2b;}
.error-caja{display:none;background:#fce4e4;color:#a12b2b;border-radius:10px;padding:10px 14px;font-size:13.5px;margin-bottom:14px;text-align:center;}
.error-caja.visible{display:block;}

.enlaces{text-align:center;margin-top:12px;font-size:13.5px;}
.enlaces a,.volver{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;}
.enlaces a:hover,.volver:hover{color:var(--primary-dark);}
.enlaces .alta{display:block;margin-top:6px;font-size:12.5px;}
.volver{display:flex;justify-content:center;margin-top:16px;font-size:13.5px;}
.copy{text-align:center;margin:10px 0 0;font-size:11.5px;color:var(--muted-2);}

/* Pie propio de Recetas: organismos */
.pie-organismos{width:100%;margin-top:12px;background:rgba(45,43,41,.92);border-radius:14px;padding:10px 18px 8px;max-width:560px;color:#fff;}
.pie-organismos .cols{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap;}
.pie-organismos .col{flex:1;min-width:200px;text-align:center;}
.pie-organismos .col p{margin:0 0 5px;font-family:'DM Sans',sans-serif;font-size:11px;color:#f0ece7;}
.pie-organismos .col img{height:30px;width:auto;max-width:100%;object-fit:contain;}
.pie-organismos .nota{margin:8px 0 0;padding-top:6px;border-top:1px solid #423f3a;text-align:center;font-size:9px;color:var(--muted-2);line-height:1.5;}
@media (max-width:560px){.login-card{padding:22px 18px 16px;}.login-card h1{font-size:22px;}.pie-organismos .col img{height:28px;}.pie-organismos .cols{flex-direction:column;align-items:center;gap:16px;}}

/* Formularios sin .campo (recuperar, restablecer, solicitar acceso): espacio entre campos */
form > input, form > select, form > textarea, .fila-2 input, .fila-2 select, #campo-matricula input{margin-bottom:14px;}
form > button.btn-primario{margin-top:4px;}

/* Pantallas bajas (notebooks con zoom 125-150 %): todo entra sin deslizar */
@media (max-height:760px){
  .login-card{padding:16px 24px 12px;}
  .login-card .logo{height:56px;margin-bottom:4px;}
  .login-card h1{font-size:21px;margin-bottom:10px;}
  .campo{margin-bottom:8px;}
  input[type=email],input[type=password],input[type=text]{padding:8px 12px;}
  .btn-primario{padding:10px;}
  .enlaces{margin-top:8px;}
  .copy{margin-top:6px;}
  .pie-organismos{margin-top:8px;padding:8px 14px 6px;}
  .pie-organismos .nota{display:none;}
}
@media (max-height:620px){ .pie-organismos{display:none;} }
