/* Landing / login / registro (pantalla azul) */
body.bare { background: #3d6590; }
.landing { position: relative; display: flex; flex-direction: column; min-height: 100dvh; overflow: hidden; color: #fff;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),
    radial-gradient(circle at 50% 45%, #5f92be 0, #4a77a3 45%, #3d6590 100%); }
.landing a { color: #fff; }
.lg-login { position: absolute; top: 0; right: 0; z-index: 2; padding: 30px 26px 0; }
.lg-form { display: flex; align-items: flex-start; gap: 6px; }
.lg-field { display: flex; flex-direction: column; gap: 5px; }
.lg-field input[type=email], .lg-field input[type=password], .lg-field input[type=text] { width: 168px; padding: 7px 8px; font-size: 13px; color: #333; background: #fff; border: 1px solid #43698f; border-top-color: #274b6a; border-radius: 5px; outline: none; box-shadow: 0 1px rgba(255,255,255,.2), inset 0 5px 5px -5px rgba(0,0,0,.5); }
.lg-field input:focus { box-shadow: 0 0 6px rgba(255,255,255,.55); }
.lg-field label, .lg-field a { display: flex; align-items: center; gap: 4px; font-size: 11px; color: #fff; text-shadow: 0 1px rgba(0,0,0,.3); }
.lg-submit { min-width: 80px; height: 33px; font-size: 13px; font-weight: 700; color: #fff; text-shadow: 0 -1px #5b9cc0; background: linear-gradient(#93d0ec, #6fc0eb); border: 0; border-radius: 3px; box-shadow: 1px 1px 1px rgba(0,0,0,.12), inset 0 1px rgba(255,255,255,.35), inset 0 0 0 1px rgba(255,255,255,.2); }
.lg-submit:hover { background: linear-gradient(#a0d7f0, #7cc7ee); }
.lg-get { margin-top: 10px; border-top: 1px solid rgba(0,0,0,.1); }
.lg-get div { padding-top: 8px; font-size: 11px; text-align: right; border-top: 1px solid rgba(255,255,255,.1); }
.lg-get button { display: inline-flex; align-items: center; gap: 4px; padding: 0; font-size: 11px; color: #fff; background: none; border: 0; }
.lg-msg { margin-top: 8px; font-size: 11px; text-align: right; color: #ffe08a; }
.lg-main { flex: 1; display: flex; justify-content: center; align-items: center; min-height: 92dvh; padding: 120px 20px 40px; }
.lg-cover { display: flex; width: 760px; max-width: 100%; }
.lg-desc { width: 50%; padding: 26px 46px 26px 0; text-align: right; border-right: 1px solid rgba(0,0,0,.12); }
.lg-h1 { display: flex; justify-content: flex-end; margin: 0 0 34px; font-size: inherit; }
.lg-desc h2 { margin-bottom: 6px; font-size: 17px; text-shadow: -1px 1px #4a7399; }
.lg-desc p { margin: 0; font-size: 14px; line-height: 1.45; color: #c3d6e6; }
.lg-points { display: grid; align-content: center; gap: 24px; width: 50%; padding: 30px 0 26px 46px; border-left: 1px solid rgba(255,255,255,.12); }
.lg-point { display: flex; align-items: flex-start; gap: 16px; }
.lg-point .ico { color: rgba(255,255,255,.82); filter: drop-shadow(0 1px rgba(0,0,0,.2)); }
.lg-point h3 { font-size: 15px; text-shadow: 0 1px #4a7399; }
.lg-point p { margin: 2px 0 0; font-size: 12px; line-height: 1.3; color: #c3d6e6; }
.lg-foot { margin: 0 25px; font-size: 11px; }
.lg-foot .r1 { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 10px 0; color: #d8e8f3; border-bottom: 1px solid rgba(0,0,0,.1); }
.lg-foot .r1 a, .lg-foot .r1 button { padding: 0; font-size: 11px; color: #a6c1d6; background: none; border: 0; }
.lg-foot .r1 .on { font-weight: 700; color: #fff; }
.lg-foot .r2 { padding: 10px 0 20px; font-size: 10.5px; color: #a6c1d6; border-top: 1px solid rgba(255,255,255,.1); }
.lg-foot .r2 a { color: #d8e8f3; }
.lg-links, .lg-langs { display: flex; flex-wrap: wrap; gap: 12px; }

/* registro: caja blanca sobre el fondo azul */
.reg-wrap { flex: 1; display: flex; justify-content: center; align-items: flex-start; padding: 50px 16px; }
.reg-box { width: 520px; max-width: 100%; padding: 22px 26px; color: var(--text); background: #fff; border-radius: 4px; box-shadow: 0 0 0 8px rgba(0,0,0,.15), 0 10px 30px rgba(0,0,0,.25); }
.reg-box .logo { margin-bottom: 14px; }
.reg-box .logo-word { color: #3c6da2; text-shadow: none; }
.reg-box .lm-bubble { fill: #3c6da2; }
.reg-box .lm-face { fill: #fff; stroke: #fff; }
.reg-box h1 { margin-bottom: 4px; font-size: 18px; font-weight: 400; }
.reg-box .lead { margin: 0 0 16px; color: var(--muted-2); }
.reg-grid { display: grid; grid-template-columns: 130px 1fr; gap: 10px 12px; align-items: center; }
.reg-grid label { font-weight: 700; color: #555; text-align: right; }
.reg-grid .two { display: flex; gap: 6px; }
.reg-grid .full { grid-column: 2; }
.reg-errors { margin: 0 0 14px; padding: 8px 10px; color: #a33; background: #fdf0ef; border: 1px solid #f0c8c4; border-radius: 3px; }
.reg-ok { margin: 0 0 14px; padding: 8px 10px; background: #f0f8e8; border: 1px solid #cfe5b8; border-radius: 3px; }

@media (max-width: 760px) {
  .lg-login { position: static; padding: 20px 16px 0; }
  .lg-form { flex-wrap: wrap; }
  .lg-field { flex: 140px; }
  .lg-field input[type=email], .lg-field input[type=password], .lg-field input[type=text], .lg-submit { width: 100%; }
  .lg-main { min-height: 0; padding: 30px 16px; }
  .lg-cover { flex-direction: column; }
  .lg-desc, .lg-points { width: 100%; padding: 20px 0; text-align: left; border: 0; }
  .lg-h1 { justify-content: flex-start; margin-bottom: 18px; }
  .lg-foot { margin: 0 16px; }
  .reg-grid { grid-template-columns: 1fr; }
  .reg-grid label { text-align: left; }
  .reg-grid .full { grid-column: 1; }
}

/* registro 2010: formulario ancho con etiquetas a la derecha, medidor y consejos */
.reg-box.reg-wide { width: 600px; }
.reg-grid { align-items: start; }
.reg-grid > label { padding-top: 7px; }
.reg-grid .inp { width: 100%; max-width: 280px; }
.reg-grid input[disabled] { color: #aaa; background: #f6f6f6; }
.reg-radios { display: flex; flex-wrap: wrap; gap: 4px 14px; padding-top: 7px; }
.reg-grid .reg-radios label, .reg-grid label.reg-terms { padding: 0; font-weight: 400; text-align: left; color: var(--text); }
.reg-grid .reg-radios label { display: inline-flex; align-items: center; gap: 4px; }
.reg-birth { display: flex; gap: 6px; }
.reg-birth .inp { width: auto; min-width: 70px; max-width: none; }
.reg-birth select:nth-child(2) { min-width: 110px; }
.reg-hint { margin-top: 6px; font-size: 11px; color: #999; }
.reg-err { margin-top: 5px; font-size: 11px; color: #c00; }
.reg-sep { grid-column: 1 / -1; width: 100%; margin: 4px 0; border: 0; border-top: 1px solid #e3e3e3; }
.reg-pw { display: flex; align-items: center; gap: 8px; }
.reg-pw .inp { width: 180px; }
.reg-meter { display: inline-flex; gap: 2px; }
.reg-meter i { width: 4px; height: 14px; background: #ddd; border-radius: 1px; }
.reg-meter.lv1 i:nth-child(-n+1) { background: #d9534f; }
.reg-meter.lv2 i:nth-child(-n+2) { background: #e8a33d; }
.reg-meter.lv3 i:nth-child(-n+3) { background: #8dbb3a; }
.reg-meter.lv4 i { background: #5c9e1f; }
.reg-meter-t { font-size: 11px; color: #999; }
.reg-tips { margin-top: 10px; font-size: 11px; color: #999; }
.reg-tips a { color: #3c6da2; }
.reg-tips ul { margin: 6px 0 0; padding-left: 18px; line-height: 1.7; }
.reg-grid .reg-terms { font-size: 12px; }
.reg-grid .reg-terms a { color: #3c6da2; }
.reg-box a { color: #3c6da2; }
.reg-actions { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.reg-box .reg-actions .btn { color: #fff; }
.reg-skip { font-size: 12px; }
.reg-sent { display: flex; flex-direction: column; gap: 6px; }
.inv-st-ok { color: #69ae3a; }
.inv-st-off { color: #c33; }
