
/* =========================================================
   CHAMOGO — ACCESO Y REGISTRO MODERNO
   Solo presentación. No cambia IDs, datos, Firebase ni lógica.
   ========================================================= */

/* Base común */
#s-welcome,
#s-login,
#s-tipo,
#s-reg-cliente,
#s-reg-restaurante,
#s-reg-repartidor {
  --auth-green:#07502f;
  --auth-green-dark:#062f20;
  --auth-green-soft:#eef8f2;
  --auth-surface:#ffffff;
  --auth-bg:#f5f7f6;
  --auth-line:#e5ebe7;
  --auth-muted:#738078;
  --auth-text:#15251d;
  background:var(--auth-bg);
}

#s-login .content,
#s-tipo .content,
#s-reg-cliente .content,
#s-reg-restaurante .content,
#s-reg-repartidor .content {
  width:100%;
  max-width:560px;
  margin:0 auto;
}

/* Cabeceras públicas */
#s-login .bhdr,
#s-tipo .bhdr,
#s-reg-cliente .bhdr,
#s-reg-restaurante .bhdr,
#s-reg-repartidor .bhdr {
  min-height:74px;
  padding:calc(12px + env(safe-area-inset-top)) 16px 15px;
  background:linear-gradient(145deg,#082e20 0%,#0a4b2f 58%,#117145 100%);
  border-radius:0 0 26px 26px;
  box-shadow:0 12px 30px rgba(6,52,33,.14);
}
#s-login .bhdr::before,
#s-tipo .bhdr::before,
#s-reg-cliente .bhdr::before,
#s-reg-restaurante .bhdr::before,
#s-reg-repartidor .bhdr::before {
  width:150px;height:150px;top:-85px;right:-45px;
  background:rgba(255,255,255,.07);
}
#s-login .bbtn,
#s-tipo .bbtn,
#s-reg-cliente .bbtn,
#s-reg-restaurante .bbtn,
#s-reg-repartidor .bbtn {
  width:38px;height:38px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}
#s-login .bname,
#s-tipo .bname,
#s-reg-cliente .bname,
#s-reg-restaurante .bname,
#s-reg-repartidor .bname {
  font-size:16px;
  font-weight:900;
  letter-spacing:-.02em;
}
#s-login .bmeta,
#s-tipo .bmeta,
#s-reg-cliente .bmeta,
#s-reg-restaurante .bmeta,
#s-reg-repartidor .bmeta {
  font-size:9.5px;
  color:rgba(255,255,255,.68);
  font-weight:750;
}

/* Inputs: aspecto premium y simple */
#s-login .fgroup,
#s-reg-cliente .fgroup,
#s-reg-restaurante .fgroup,
#s-reg-repartidor .fgroup {
  margin-bottom:14px;
}
#s-login .flabel,
#s-reg-cliente .flabel,
#s-reg-restaurante .flabel,
#s-reg-repartidor .flabel {
  margin:0 0 6px 2px;
  font-size:9.5px;
  line-height:1.2;
  color:#627269;
  font-weight:900;
  letter-spacing:.065em;
}
#s-login .finput,
#s-reg-cliente .finput,
#s-reg-restaurante .finput,
#s-reg-repartidor .finput {
  min-height:49px;
  padding:12px 14px;
  border:1px solid #dfe6e2;
  border-radius:14px;
  background:#fbfcfb;
  color:var(--auth-text);
  font-size:13px;
  font-weight:650;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset;
}
#s-login .finput::placeholder,
#s-reg-cliente .finput::placeholder,
#s-reg-restaurante .finput::placeholder,
#s-reg-repartidor .finput::placeholder {
  color:#9aa59f;
  font-weight:550;
}
#s-login .finput:focus,
#s-reg-cliente .finput:focus,
#s-reg-restaurante .finput:focus,
#s-reg-repartidor .finput:focus {
  background:#fff;
  border-color:#2a8b59;
  box-shadow:0 0 0 4px rgba(21,124,76,.09);
}

/* Botones */
#s-login .btn,
#s-tipo .btn,
#s-reg-cliente .btn,
#s-reg-restaurante .btn,
#s-reg-repartidor .btn {
  min-height:49px;
  border-radius:14px;
  font-size:13px;
  font-weight:900;
  box-shadow:0 8px 20px rgba(6,75,43,.15);
}
#s-login .btn-outline,
#s-reg-cliente .btn-outline,
#s-reg-restaurante .btn-outline,
#s-reg-repartidor .btn-outline {
  background:#fff;
  border:1.5px solid #d9e4dd;
  color:var(--auth-green);
  box-shadow:none;
}

/* ========== BIENVENIDA ========== */
#s-welcome .welcome-screen {
  min-height:100dvh;
  justify-content:flex-end;
  padding:calc(42px + env(safe-area-inset-top)) 22px calc(28px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 82% 12%,rgba(255,209,102,.16) 0 0,transparent 25%),
    radial-gradient(circle at 4% 78%,rgba(255,255,255,.08) 0 0,transparent 26%),
    linear-gradient(155deg,#061f17 0%,#073b27 46%,#0b6940 100%);
}
#s-welcome .welcome-screen::before {
  width:290px;height:290px;
  top:-155px;right:-100px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.025);
}
#s-welcome .welcome-screen::after {
  width:230px;height:230px;
  left:-120px;bottom:145px;
  background:rgba(255,209,102,.055);
}
#s-welcome .wlogo {
  margin:auto 0 0;
  width:100%;
  position:relative;
  z-index:2;
}
#s-welcome .wlogo img {
  width:min(285px,78vw) !important;
  height:auto !important;
  max-width:none !important;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.22));
}
#s-welcome .wsub {
  margin:12px 0 34px !important;
  color:rgba(255,255,255,.73) !important;
  font-size:12px !important;
  font-weight:750 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  position:relative;
  z-index:2;
}
#s-welcome .wbtns {
  width:min(100%,430px);
  gap:10px;
  padding:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  background:rgba(255,255,255,.075);
  box-shadow:0 20px 55px rgba(0,0,0,.18);
  backdrop-filter:blur(18px);
}
#s-welcome .wbtns .btn {
  min-height:52px;
  border-radius:15px;
  font-size:13px;
  font-weight:900;
  box-shadow:none;
}
#s-welcome .wbtns .btn:first-child {
  background:#fff;
  color:#073c28;
}
#s-welcome .wbtns .btn-outline {
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
#s-welcome .wbtns > div:last-child {
  margin-top:4px !important;
  padding:6px 0 2px;
  font-size:10px !important;
  color:rgba(255,255,255,.62) !important;
  text-decoration:none !important;
}

/* ========== SELECTOR DE ROL ========== */
#s-tipo .content {
  padding:22px 14px calc(30px + env(safe-area-inset-bottom)) !important;
}
#s-tipo .content > p {
  margin:0 2px 18px !important;
  color:var(--auth-muted) !important;
  font-size:11px !important;
  line-height:1.5;
}
#s-tipo .tipo-card {
  position:relative;
  min-height:94px;
  padding:15px 45px 15px 14px;
  margin-bottom:10px;
  gap:13px;
  border:1px solid var(--auth-line);
  border-radius:20px;
  background:#fff;
  box-shadow:0 5px 18px rgba(18,43,31,.05);
}
#s-tipo .tipo-card::after {
  content:'›';
  position:absolute;
  right:16px;top:50%;
  transform:translateY(-52%);
  font-size:27px;
  line-height:1;
  color:#b2bcb6;
  font-weight:450;
}
#s-tipo .tipo-card.sel {
  border-color:#2a8b59;
  background:linear-gradient(145deg,#fff 0%,#f1faf5 100%);
  box-shadow:0 8px 24px rgba(6,75,43,.10);
}
#s-tipo .tipo-card.sel::after { color:var(--auth-green); }
#s-tipo .tipo-icon {
  width:52px;height:52px;
  border:0;
  border-radius:17px;
  background:#eef5f1;
  color:#37614c;
  font-size:20px;
}
#s-tipo .tipo-icon i { font-size:19px; }
#s-tipo .tipo-card:nth-of-type(2) .tipo-icon { background:#eef7ff;color:#3976a8; }
#s-tipo .tipo-card:nth-of-type(3) .tipo-icon { background:#fff4e8;color:#b86a20; }
#s-tipo .tipo-card:nth-of-type(4) .tipo-icon { background:#eef5f1;color:#176e43; }
#s-tipo .tipo-info .tipo-nombre {
  font-size:14px;
  font-weight:950;
  letter-spacing:-.015em;
}
#s-tipo .tipo-info .tipo-desc {
  margin-top:4px;
  max-width:330px;
  font-size:10.5px;
  line-height:1.45;
  color:#79857f;
  font-weight:650;
}
#s-tipo #btn-continuar {
  margin-top:4px;
}

/* ========== LOGIN ========== */
#s-login {
  background:
    linear-gradient(180deg,#eef6f1 0,#f7f8f7 280px,#f7f8f7 100%);
}
#s-login .content {
  padding:0 14px calc(26px + env(safe-area-inset-bottom)) !important;
}
#s-login .content > div:first-child {
  margin:-1px -14px 0 !important;
  padding:30px 22px 40px !important;
  background:linear-gradient(145deg,#0a3c28 0%,#0b5d37 100%);
  border-radius:0 0 28px 28px;
  color:#fff;
  position:relative;
  overflow:hidden;
}
#s-login .content > div:first-child::after {
  content:'';
  position:absolute;
  width:160px;height:160px;
  right:-75px;bottom:-95px;
  border-radius:50%;
  background:rgba(255,209,102,.10);
}
#s-login .content > div:first-child img {
  width:190px !important;
  max-width:72% !important;
  margin-bottom:14px !important;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.18)) !important;
}
#s-login .content > div:first-child > div:nth-child(2) {
  color:#fff !important;
  font-size:18px !important;
  font-weight:950 !important;
  letter-spacing:-.02em;
}
#s-login .content > div:first-child > div:nth-child(3) {
  color:rgba(255,255,255,.68) !important;
  font-size:10.5px !important;
  font-weight:650;
}
#s-login .fgroup:first-of-type {
  margin-top:-18px;
}
#s-login .fgroup,
#s-login .content > .btn,
#s-login .content > div:last-child {
  position:relative;
  z-index:2;
}
#s-login .fgroup {
  background:#fff;
  border-left:1px solid var(--auth-line);
  border-right:1px solid var(--auth-line);
  padding:0 14px 12px;
  margin:0;
}
#s-login .fgroup:first-of-type {
  padding-top:18px;
  border-top:1px solid var(--auth-line);
  border-radius:20px 20px 0 0;
  box-shadow:0 8px 28px rgba(21,47,34,.07);
}
#s-login .fgroup:nth-of-type(2) {
  padding-bottom:16px;
  border-bottom:1px solid var(--auth-line);
  border-radius:0 0 20px 20px;
  margin-bottom:14px;
}
#s-login .content > .btn {
  margin-bottom:9px !important;
}
#s-login .content > div:last-child {
  margin-top:14px !important;
  gap:10px !important;
}
#s-login .content > div:last-child span:first-child {
  font-size:11px !important;
}
#s-login .content > div:last-child span:last-child {
  font-size:10px !important;
  color:#7d8982 !important;
  text-decoration:none !important;
}

/* ========== REGISTROS ========== */
#s-reg-cliente,
#s-reg-restaurante,
#s-reg-repartidor {
  background:#f5f7f6;
}
#s-reg-cliente .content,
#s-reg-restaurante .content,
#s-reg-repartidor .content {
  padding:16px 13px calc(30px + env(safe-area-inset-bottom)) !important;
}

/* Cada campo respira mejor y parece un formulario serio, no un listado crudo */
#s-reg-cliente .content > .fgroup,
#s-reg-restaurante .content > .fgroup,
#s-reg-repartidor .content > .fgroup {
  background:#fff;
  border:1px solid rgba(15,25,35,.055);
  border-radius:17px;
  padding:12px;
  margin-bottom:9px;
  box-shadow:0 3px 14px rgba(18,43,31,.035);
}

/* Evitar tarjeta dentro de tarjeta en grupos simples */
#s-reg-cliente .content > .fgroup:has(> .finput:only-child),
#s-reg-restaurante .content > .fgroup:has(> .finput:only-child),
#s-reg-repartidor .content > .fgroup:has(> .finput:only-child) {
  padding:12px;
}

/* Cliente: foto de perfil como avatar limpio */
#s-reg-cliente #c-foto-preview {
  width:88px !important;
  height:88px !important;
  margin:2px auto 5px !important;
  border-radius:28px !important;
  border:1.5px dashed #bcd4c5 !important;
  background:linear-gradient(145deg,#f4faf6,#e9f5ee) !important;
  color:var(--auth-green) !important;
  font-size:28px !important;
  box-shadow:0 7px 20px rgba(6,75,43,.07);
}

/* Subidas de fotos negocio/repartidor */
#s-reg-restaurante #foto-preview,
#s-reg-repartidor #rp-foto-preview,
#s-reg-repartidor #rp-cedula-foto-preview,
#s-reg-repartidor #rp-licencia-preview {
  height:132px !important;
  border-radius:16px !important;
  border:1.5px dashed #bfd0c6 !important;
  background:linear-gradient(145deg,#f8fbf9,#eef5f1) !important;
  box-shadow:none !important;
}

/* Bloques informativos existentes: convertirlos a tarjetas sobrias */
#s-reg-restaurante .content > div[style*="background:var(--verde3)"],
#s-reg-restaurante .content > div[style*="background:var(--amarillo2)"],
#s-reg-repartidor .content > div[style*="background:var(--verde3)"],
#s-reg-repartidor .content > div[style*="background:var(--amarillo2)"] {
  border-radius:17px !important;
  padding:13px !important;
  box-shadow:0 3px 14px rgba(18,43,31,.035);
  line-height:1.5 !important;
}

/* Pago móvil: aspecto de sección financiera */
#s-reg-restaurante .content > div[style*="background:var(--amarillo2)"]:has(#r-banco),
#s-reg-repartidor .content > div[style*="background:var(--amarillo2)"]:has(#rp-banco) {
  background:linear-gradient(145deg,#fffdf5,#fff9e8) !important;
  border:1px solid #efe1b2 !important;
  border-radius:19px !important;
  padding:14px !important;
}
#s-reg-restaurante .content > div[style*="background:var(--amarillo2)"]:has(#r-banco) .fgroup,
#s-reg-repartidor .content > div[style*="background:var(--amarillo2)"]:has(#rp-banco) .fgroup {
  margin-bottom:10px;
}

/* Horario */
#s-reg-restaurante .content > div:has(#r-hora-abre):has(#r-hora-cierra) {
  border:1px solid var(--auth-line) !important;
  border-radius:19px !important;
  padding:14px !important;
  box-shadow:0 3px 14px rgba(18,43,31,.035);
}

/* GPS como acción secundaria moderna */
#s-reg-cliente button[onclick*="capturarUbicacionExacta"],
#s-reg-restaurante button[onclick*="capturarUbicacionExacta"] {
  min-height:42px;
  margin-top:8px !important;
  border-radius:12px;
  background:#eff8f3 !important;
  border:1px solid #d4e8db !important;
  color:#176a42 !important;
  font-size:10.5px !important;
}

/* Términos */
#s-reg-cliente .content > div:has(#acepta-cliente),
#s-reg-restaurante .content > label:has(#acepta-restaurante),
#s-reg-repartidor .content > label:has(#acepta-repartidor) {
  background:#fff !important;
  border:1px solid var(--auth-line) !important;
  border-radius:17px !important;
  padding:13px !important;
  box-shadow:0 3px 14px rgba(18,43,31,.035);
  font-size:10.5px !important;
  line-height:1.5 !important;
  color:#69766f !important;
}
#s-reg-cliente #acepta-cliente,
#s-reg-restaurante #acepta-restaurante,
#s-reg-repartidor #acepta-repartidor {
  width:18px;height:18px;
  accent-color:var(--auth-green);
  flex:0 0 auto;
}

/* CTA final */
#s-reg-cliente .content > .btn:last-child,
#s-reg-restaurante .content > .btn:last-child,
#s-reg-repartidor .content > .btn:last-child {
  margin-top:5px;
  min-height:52px;
  position:relative;
}

/* Scroll y teclado */
#s-login.screen.active,
#s-tipo.screen.active,
#s-reg-cliente.screen.active,
#s-reg-restaurante.screen.active,
#s-reg-repartidor.screen.active {
  height:100dvh;
  min-height:100dvh;
  max-height:100dvh;
  overflow:hidden;
}
#s-login.screen.active > .content,
#s-tipo.screen.active > .content,
#s-reg-cliente.screen.active > .content,
#s-reg-restaurante.screen.active > .content,
#s-reg-repartidor.screen.active > .content {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
}

/* Desktop: forma de panel móvil elegante */
@media (min-width:760px) {
  #s-login,
  #s-tipo,
  #s-reg-cliente,
  #s-reg-restaurante,
  #s-reg-repartidor {
    background:#eef2ef;
  }
  #s-login .bhdr,
  #s-tipo .bhdr,
  #s-reg-cliente .bhdr,
  #s-reg-restaurante .bhdr,
  #s-reg-repartidor .bhdr {
    width:560px;
    margin:20px auto 0;
    border-radius:24px 24px 0 0;
  }
  #s-login .content,
  #s-tipo .content,
  #s-reg-cliente .content,
  #s-reg-restaurante .content,
  #s-reg-repartidor .content {
    background:#f7f9f8;
    box-shadow:0 18px 60px rgba(20,45,32,.10);
    margin:0 auto 20px;
    border-radius:0 0 24px 24px;
  }
  #s-welcome .wbtns { width:410px; }
}

@media (max-width:380px) {
  #s-login .content,
  #s-tipo .content,
  #s-reg-cliente .content,
  #s-reg-restaurante .content,
  #s-reg-repartidor .content {
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #s-tipo .tipo-card {
    min-height:88px;
    padding-left:12px;
    gap:10px;
  }
  #s-tipo .tipo-icon {
    width:47px;height:47px;border-radius:15px;
  }
}




/* ===== CHAMOGO AUTH — AJUSTE MOBILE-FIRST =====
   Optimizado para teléfonos. Mantiene la lógica intacta.
*/
@media (max-width: 759px) {

  /* Base */
  #s-login,
  #s-tipo,
  #s-reg-cliente,
  #s-reg-restaurante,
  #s-reg-repartidor {
    background:#f6f8f7 !important;
  }

  /* Headers más compactos */
  #s-login .bhdr,
  #s-tipo .bhdr,
  #s-reg-cliente .bhdr,
  #s-reg-restaurante .bhdr,
  #s-reg-repartidor .bhdr {
    min-height:58px !important;
    padding:calc(8px + env(safe-area-inset-top)) 12px 10px !important;
    border-radius:0 0 19px 19px !important;
    box-shadow:0 7px 18px rgba(6,52,33,.11) !important;
  }
  #s-login .bbtn,
  #s-tipo .bbtn,
  #s-reg-cliente .bbtn,
  #s-reg-restaurante .bbtn,
  #s-reg-repartidor .bbtn {
    width:32px !important;
    height:32px !important;
  }
  #s-login .bname,
  #s-tipo .bname,
  #s-reg-cliente .bname,
  #s-reg-restaurante .bname,
  #s-reg-repartidor .bname {
    font-size:14px !important;
  }
  #s-login .bmeta,
  #s-tipo .bmeta,
  #s-reg-cliente .bmeta,
  #s-reg-restaurante .bmeta,
  #s-reg-repartidor .bmeta {
    font-size:8.5px !important;
  }

  /* Contenedores */
  #s-login .content,
  #s-tipo .content,
  #s-reg-cliente .content,
  #s-reg-restaurante .content,
  #s-reg-repartidor .content {
    max-width:none !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }

  /* Inputs más pequeños */
  #s-login .finput,
  #s-reg-cliente .finput,
  #s-reg-restaurante .finput,
  #s-reg-repartidor .finput {
    min-height:43px !important;
    padding:10px 11px !important;
    font-size:12px !important;
    border-radius:11px !important;
  }
  #s-login .flabel,
  #s-reg-cliente .flabel,
  #s-reg-restaurante .flabel,
  #s-reg-repartidor .flabel {
    font-size:8.5px !important;
    margin-bottom:4px !important;
  }
  #s-login .fgroup,
  #s-reg-cliente .fgroup,
  #s-reg-restaurante .fgroup,
  #s-reg-repartidor .fgroup {
    margin-bottom:9px !important;
  }

  /* Botones */
  #s-login .btn,
  #s-tipo .btn,
  #s-reg-cliente .btn,
  #s-reg-restaurante .btn,
  #s-reg-repartidor .btn {
    min-height:44px !important;
    padding:10px 12px !important;
    border-radius:12px !important;
    font-size:11.5px !important;
    box-shadow:0 5px 14px rgba(6,75,43,.12) !important;
  }

  /* Bienvenida */
  #s-welcome .welcome-screen {
    padding:calc(24px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom)) !important;
  }
  #s-welcome .wlogo img {
    width:min(225px,68vw) !important;
  }
  #s-welcome .wsub {
    margin:8px 0 22px !important;
    font-size:10px !important;
    letter-spacing:.06em !important;
  }
  #s-welcome .wbtns {
    width:100% !important;
    max-width:360px !important;
    padding:10px !important;
    border-radius:17px !important;
    gap:8px !important;
  }
  #s-welcome .wbtns .btn {
    min-height:45px !important;
    font-size:11.5px !important;
    border-radius:12px !important;
  }
  #s-welcome .wbtns > div:last-child {
    font-size:8.5px !important;
    padding-top:3px !important;
  }

  /* Selector tipo de usuario compacto */
  #s-tipo .content {
    padding-top:14px !important;
  }
  #s-tipo .content > p {
    font-size:9.5px !important;
    margin-bottom:11px !important;
  }
  #s-tipo .tipo-card {
    min-height:72px !important;
    padding:10px 36px 10px 10px !important;
    gap:10px !important;
    border-radius:14px !important;
    margin-bottom:7px !important;
    box-shadow:0 3px 11px rgba(18,43,31,.04) !important;
  }
  #s-tipo .tipo-card::after {
    right:12px !important;
    font-size:22px !important;
  }
  #s-tipo .tipo-icon {
    width:42px !important;
    height:42px !important;
    border-radius:13px !important;
  }
  #s-tipo .tipo-icon i {
    font-size:16px !important;
  }
  #s-tipo .tipo-info .tipo-nombre {
    font-size:12px !important;
  }
  #s-tipo .tipo-info .tipo-desc {
    font-size:9px !important;
    margin-top:2px !important;
    line-height:1.35 !important;
  }

  /* Login compacto */
  #s-login .content {
    padding-top:0 !important;
  }
  #s-login .content > div:first-child {
    margin:0 -10px 0 !important;
    padding:20px 16px 28px !important;
    border-radius:0 0 21px 21px !important;
  }
  #s-login .content > div:first-child img {
    width:145px !important;
    max-width:58% !important;
    margin-bottom:8px !important;
  }
  #s-login .content > div:first-child > div:nth-child(2) {
    font-size:15px !important;
  }
  #s-login .content > div:first-child > div:nth-child(3) {
    font-size:9px !important;
  }
  #s-login .fgroup:first-of-type {
    margin-top:-12px !important;
    padding-top:13px !important;
    border-radius:15px 15px 0 0 !important;
  }
  #s-login .fgroup {
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #s-login .fgroup:nth-of-type(2) {
    padding-bottom:12px !important;
    border-radius:0 0 15px 15px !important;
  }
  #s-login .content > div:last-child span:first-child {
    font-size:9.5px !important;
  }
  #s-login .content > div:last-child span:last-child {
    font-size:8.5px !important;
  }

  /* Registros: tarjetas menos grandes */
  #s-reg-cliente .content,
  #s-reg-restaurante .content,
  #s-reg-repartidor .content {
    padding-top:10px !important;
  }
  #s-reg-cliente .content > .fgroup,
  #s-reg-restaurante .content > .fgroup,
  #s-reg-repartidor .content > .fgroup {
    border-radius:13px !important;
    padding:9px !important;
    margin-bottom:7px !important;
    box-shadow:0 2px 9px rgba(18,43,31,.03) !important;
  }

  /* Preview de fotos */
  #s-reg-cliente #c-foto-preview {
    width:70px !important;
    height:70px !important;
    border-radius:22px !important;
    font-size:23px !important;
  }
  #s-reg-restaurante #foto-preview,
  #s-reg-repartidor #rp-foto-preview,
  #s-reg-repartidor #rp-cedula-foto-preview,
  #s-reg-repartidor #rp-licencia-preview {
    height:105px !important;
    border-radius:13px !important;
  }

  /* Bloques secundarios */
  #s-reg-restaurante .content > div[style*="background:var(--verde3)"],
  #s-reg-restaurante .content > div[style*="background:var(--amarillo2)"],
  #s-reg-repartidor .content > div[style*="background:var(--verde3)"],
  #s-reg-repartidor .content > div[style*="background:var(--amarillo2)"] {
    padding:10px !important;
    border-radius:13px !important;
    font-size:9.5px !important;
  }

  #s-reg-restaurante .content > div[style*="background:var(--amarillo2)"]:has(#r-banco),
  #s-reg-repartidor .content > div[style*="background:var(--amarillo2)"]:has(#rp-banco),
  #s-reg-restaurante .content > div:has(#r-hora-abre):has(#r-hora-cierra) {
    padding:10px !important;
    border-radius:14px !important;
  }

  /* GPS y términos */
  #s-reg-cliente button[onclick*="capturarUbicacionExacta"],
  #s-reg-restaurante button[onclick*="capturarUbicacionExacta"] {
    min-height:38px !important;
    padding:8px 9px !important;
    font-size:9px !important;
    border-radius:10px !important;
  }
  #s-reg-cliente .content > div:has(#acepta-cliente),
  #s-reg-restaurante .content > label:has(#acepta-restaurante),
  #s-reg-repartidor .content > label:has(#acepta-repartidor) {
    padding:10px !important;
    border-radius:13px !important;
    font-size:9px !important;
    line-height:1.4 !important;
  }

  /* Botón final */
  #s-reg-cliente .content > .btn:last-child,
  #s-reg-restaurante .content > .btn:last-child,
  #s-reg-repartidor .content > .btn:last-child {
    min-height:46px !important;
    margin-top:3px !important;
  }
}

@media (max-width: 360px) {
  #s-welcome .wlogo img { width:200px !important; }
  #s-tipo .tipo-card { min-height:68px !important; }
  #s-tipo .tipo-icon { width:39px !important; height:39px !important; }
  #s-login .content > div:first-child img { width:130px !important; }
  #s-reg-restaurante #foto-preview,
  #s-reg-repartidor #rp-foto-preview,
  #s-reg-repartidor #rp-cedula-foto-preview,
  #s-reg-repartidor #rp-licencia-preview { height:94px !important; }
}



