/* Perfilador de clientes v3 — paleta y tipografía de cada desarrollo (tema-almazara | tema-la-joya | tema-via-verde) */
:root{
  --ink:#15181c; --ink-2:#23272e;
  --green:#6a953c; --green-d:#4f7329; --green-l:#8cbb57; --green-bg:#eef4e6;
  --brass:#b08d57; --brass-d:#9a763f;
  --cream:#f7f4ee; --sand:#efe9dd; --line:#e4ddd0;
  --muted:#6b7178; --text:#2c333b; --white:#ffffff;
  --red:#a8402f; --red-bg:#fbeeeb; --amber:#8a5f12; --amber-bg:#fbf2df; --blue:#2f5f86; --blue-bg:#e8f0f6;
  --shadow:0 18px 50px rgba(26,31,38,.12); --shadow-sm:0 6px 22px rgba(26,31,38,.08);
  --radius:14px; --maxw:1180px; --ring:rgba(106,149,60,.18); --acento:"Playfair Display",Georgia,serif;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--text);font:16px/1.55 var(--sans)}
a{color:var(--green-d)}
a:hover{color:var(--green)}
img{max-width:100%}
code{background:var(--sand);padding:1px 6px;border-radius:5px;font-size:.9em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 16px}
.estrecho{max-width:780px}
.muted{color:var(--muted)}
.pequeno{font-size:.86rem}
.centro{text-align:center}
.rojo{color:var(--red)!important}
.ico{width:20px;height:20px;flex:none}

/* Encabezado */
.top{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.mono{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass-d);display:grid;place-items:center;font:600 15px/1 var(--serif);letter-spacing:.5px;flex:none}
.marca-txt{display:flex;flex-direction:column;min-width:0}
.marca-txt strong{font:600 16px/1.2 var(--serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca-txt small{font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--brass-d);white-space:nowrap}
.top-nav{display:flex;align-items:center;gap:14px}
.top-nav a:not(.btn){color:var(--text);text-decoration:none;font-size:.92rem;font-weight:500}
.solo-ancho{display:none}
@media (max-width:419px){.top-nav .btn span{display:none}.top-nav .btn{padding:9px}.marca-txt small{letter-spacing:1px}}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;border-radius:10px;padding:12px 20px;font:600 15px/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn-green{background:var(--green);color:var(--white)}
.btn-green:hover{background:var(--green-d);color:var(--white)}
.btn-outline{background:var(--white);border-color:var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--green);color:var(--green-d)}
.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}
.btn-rojo{background:var(--white);color:var(--red);border-color:#e8c4bd}
.btn-rojo:hover{background:var(--red-bg)}
.btn-sm{padding:8px 14px;font-size:14px}
.btn-xs{padding:6px 10px;font-size:13px;border-radius:8px}
.btn-grande{width:100%;padding:16px;font-size:16px;margin-top:8px}
.btn-ancho{width:100%}
.btn[disabled]{opacity:.6;cursor:wait}
.btn .ico{width:18px;height:18px}

/* Portada */
.hero{padding:44px 0 30px;background:linear-gradient(180deg,var(--white),var(--cream))}
.eyebrow{font-size:11.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--brass-d);font-weight:600;margin:0 0 8px}
.hero h1{font:600 clamp(34px,8vw,54px)/1.08 var(--serif);color:var(--ink);margin:0 0 14px;letter-spacing:-.5px}
.lead{font-size:1.06rem;max-width:640px;margin:0 0 26px;color:var(--text)}
.pasos{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pasos li{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.pasos li>span{width:30px;height:30px;border-radius:50%;background:var(--green);color:var(--white);display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.pasos strong{display:block;color:var(--ink);font-size:.98rem}
.pasos small{color:var(--muted)}

.seccion{padding:34px 0}
.seccion-arena{background:var(--sand)}
.titulo-sec{font:600 clamp(26px,5vw,34px)/1.15 var(--serif);color:var(--ink);margin:0 0 6px}
.sub-sec{color:var(--muted);margin:0 0 22px;max-width:640px}
.grid-perfiles{display:grid;gap:12px}
.perfil{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s,transform .15s}
.perfil:hover{border-color:var(--green-l);box-shadow:var(--shadow-sm);transform:translateY(-1px);color:var(--text)}
.perfil-ico{width:48px;height:48px;border-radius:12px;background:var(--green-bg);color:var(--green-d);display:grid;place-items:center;flex:none}
.perfil-ico .ico{width:26px;height:26px}
.perfil-ico.grande{width:58px;height:58px}
.perfil-ico.grande .ico{width:30px;height:30px}
.perfil-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.perfil-txt strong{font-size:1.02rem;color:var(--ink)}
.perfil-txt small{color:var(--muted);font-size:.9rem;line-height:1.4}
.perfil-txt em{font-style:normal;font-size:.78rem;color:var(--brass-d);font-weight:600;letter-spacing:.4px;text-transform:uppercase;margin-top:4px}
.perfil-ir{font-size:20px;color:var(--green);flex:none}
.faq{display:grid;gap:22px}
.faq h3{font:600 20px/1.25 var(--serif);color:var(--ink);margin:0 0 6px}
.faq p{margin:0;color:var(--text)}

/* Tarjetas y formularios */
.tarjeta{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:16px}
.volver{display:inline-block;margin-bottom:14px;text-decoration:none;font-size:.92rem;font-weight:500}
.perfil-cabeza{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.perfil-cabeza .eyebrow{margin-bottom:2px}
.perfil-cabeza p{margin:0}
.h-form{font:600 clamp(26px,6vw,34px)/1.15 var(--serif);color:var(--ink);margin:0 0 6px}
.h-sec{font:600 22px/1.2 var(--serif);color:var(--ink);margin:0 0 12px}
.form-titulo{font:600 20px/1.2 var(--serif);color:var(--ink);margin:6px 0 14px;padding-top:4px}
.form-titulo:not(:first-of-type){margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.form label{display:block;font-size:.88rem;font-weight:600;color:var(--ink-2);margin-bottom:14px}
.form label .opc,.opc{font-weight:400;color:var(--muted);font-size:.8rem}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],input[type=password],input[type=search],select,textarea{
  display:block;width:100%;margin-top:6px;padding:12px 13px;border:1.5px solid var(--line);border-radius:10px;background:var(--white);font:16px/1.3 var(--sans);color:var(--ink);transition:border-color .15s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--ring)}
textarea{resize:vertical}
.fila-2,.fila-3{display:grid;gap:0 14px}
.campo-error{display:block;color:var(--red);font-weight:500;font-size:.82rem;margin-top:5px}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.9rem!important;cursor:pointer}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--green);flex:none}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso-corto{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:16px;margin:10px 0 6px;font-size:.88rem}
.aviso-corto p{margin:0 0 12px}
.docs-previos summary{cursor:pointer;list-style:none}
.docs-previos summary::-webkit-details-marker{display:none}
.docs-previos summary::before{content:"＋";color:var(--green);font-weight:700;margin-right:8px}
.docs-previos[open] summary::before{content:"－"}
.lista-docs{list-style:none;padding:0;margin:14px 0 6px;display:grid;gap:10px}
.lista-docs li{display:flex;gap:10px;align-items:flex-start}
.lista-docs .ico{color:var(--brass);margin-top:2px}
.lista-docs strong{display:block;font-size:.94rem;color:var(--ink)}
.lista-docs small{color:var(--muted);font-size:.84rem}

/* Alertas y chips */
.alerta{border-radius:12px;padding:14px 16px;margin:0 0 16px;font-size:.94rem;border:1px solid}
.alerta ul{margin:6px 0 0;padding-left:18px}
.alerta-ok{background:var(--green-bg);border-color:#cfe0bb;color:#33521a}
.alerta-error{background:var(--red-bg);border-color:#efcdc6;color:#7d2e21}
.alerta-aviso{background:var(--amber-bg);border-color:#ecd8ab;color:#6b4a0e}
.alerta-info{background:var(--blue-bg);border-color:#cadcea;color:#24496a}
main>.wrap:first-child{padding-top:18px}
.chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.2px;white-space:nowrap;border:1px solid}
.chip-verde{background:var(--green-bg);color:#3c5f1d;border-color:#d3e3c0}
.chip-rojo{background:var(--red-bg);color:var(--red);border-color:#efcdc6}
.chip-ambar{background:var(--amber-bg);color:var(--amber);border-color:#ecd8ab}
.chip-azul{background:var(--blue-bg);color:var(--blue);border-color:#cadcea}
.chip-gris{background:var(--sand);color:var(--muted);border-color:var(--line)}

/* Expediente del cliente */
.seccion-exp{padding-top:22px}
.exp-cabeza,.pexp-cabeza{display:grid;gap:16px}
.folio-caja{background:var(--ink);color:var(--white);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;align-items:flex-start}
.folio-caja .eyebrow{color:var(--brass);margin:0 0 2px}
.folio{font:600 26px/1.1 var(--serif);letter-spacing:.8px}
.exp-nombre{font:600 20px/1.25 var(--serif);color:var(--ink);margin:0}
.exp-datos p{margin:0 0 8px}
.avance-txt{font-size:.9rem;margin-bottom:6px}
.barra{height:10px;background:var(--sand);border-radius:99px;overflow:hidden}
.barra span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green-l));border-radius:99px;transition:width .3s}
.exp-acciones{display:flex;flex-wrap:wrap;gap:8px}
.instrucciones{color:var(--muted);font-size:.94rem;margin:0 0 16px}
.reqs{display:grid;gap:12px;margin-bottom:22px}
.req{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px;scroll-margin-top:84px}
.req-recibido,.req-aprobado{border-color:#d3e3c0}
.req-correccion,.req-vencido{border-color:#e9bfb6;box-shadow:0 0 0 3px rgba(168,64,47,.06)}
.req-cabeza{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:start}
.req-cabeza .chip{grid-column:2;justify-self:start;margin-top:4px}
.req-ico{width:36px;height:36px;border-radius:10px;background:var(--sand);color:var(--brass-d);display:grid;place-items:center;grid-row:span 2}
.req-recibido .req-ico,.req-aprobado .req-ico{background:var(--green);color:var(--white)}
.req-tit h3{font-size:1rem;margin:0 0 2px;color:var(--ink)}
.req-min{color:var(--muted);font-weight:500}
.req-tit p{margin:0;font-size:.88rem}
.req-regla{font-size:.78rem!important;color:var(--brass-d)!important;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:4px!important}
.req-archivos{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}
.arch{display:flex;flex-direction:column;background:var(--cream);border-radius:9px;padding:9px 12px;font-size:.86rem;border-left:3px solid var(--line)}
.arch-rec,.arch-apr{border-left-color:var(--green)}
.arch-rech,.arch-venc{border-left-color:var(--red)}
.arch-nom{font-weight:600;color:var(--ink);word-break:break-all}
.arch-meta{color:var(--muted)}
.arch-motivo{color:var(--red);font-weight:500}
.subir{margin-top:12px}
.subir summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;color:var(--green-d);font-size:.94rem;list-style:none;padding:6px 0}
.subir summary::-webkit-details-marker{display:none}
.form-subir{display:grid;gap:12px;margin-top:10px;background:var(--cream);border:1px dashed #d6ccb8;border-radius:12px;padding:14px}
.form-subir label{display:block;font-size:.86rem;font-weight:600;color:var(--ink-2)}
.archivo-btn{position:relative;display:flex!important;align-items:center;justify-content:center;min-height:54px;border:1.5px dashed var(--green-l);border-radius:10px;background:var(--white);color:var(--green-d);text-align:center;padding:10px;cursor:pointer}
.archivo-btn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.archivo-btn.elegido{border-style:solid;border-color:var(--green);background:var(--green-bg)}
.archivo-txt{font-weight:600;word-break:break-all}

/* Pie */
.pie{border-top:1px solid var(--line);background:var(--white);padding:22px 0;margin-top:20px;font-size:.86rem;color:var(--muted)}
.pie-in p{margin:0 0 8px;display:flex;gap:8px;align-items:flex-start}
.pie-in .ico{width:18px;height:18px;color:var(--brass);margin-top:1px}
.pie-links{flex-wrap:wrap;gap:16px!important}
.pie-links a{color:var(--muted)}

/* Aviso de privacidad */
.legal h2{font:600 19px/1.3 var(--serif);color:var(--ink);margin:24px 0 8px}
.legal p,.legal li{font-size:.94rem}
.legal ul,.legal ol{padding-left:20px}

/* Panel */
.panel .h-form{margin:0}
.panel-cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.panel-botones{display:flex;gap:8px;flex-wrap:wrap}
.contadores{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.contadores a{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-decoration:none;color:var(--text);display:flex;flex-direction:column}
.contadores a.act{border-color:var(--green);box-shadow:0 0 0 2px var(--ring)}
.contadores strong{font:600 22px/1.1 var(--serif);color:var(--ink)}
.contadores span{font-size:.78rem;color:var(--muted)}
.filtros{display:grid;gap:8px;margin-bottom:14px}
.filtros input,.filtros select{margin:0}
.tabla-env{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:18px}
.tabla{width:100%;border-collapse:collapse;font-size:.9rem}
.tabla th{text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--cream)}
.tabla td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tabla tr:last-child td{border-bottom:0}
.folio-link{font-weight:700;text-decoration:none;white-space:nowrap}
.mini-barra{display:inline-block;width:60px;height:7px;background:var(--sand);border-radius:9px;overflow:hidden;vertical-align:middle}
.mini-barra span{display:block;height:100%;background:var(--green)}
.diag summary{cursor:pointer;display:flex;gap:10px;align-items:center}
.diag-lista{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.diag-lista li{display:flex;gap:10px}
.diag-lista li>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;flex:none;color:var(--white);background:var(--green)}
.diag-lista li.mal>span{background:var(--amber)}
.diag-lista strong{display:block;font-size:.9rem;color:var(--ink)}
.diag-lista small{color:var(--muted);word-break:break-all}
.pexp-grid{display:grid;gap:16px;margin-top:4px}
.preq{padding:16px;scroll-margin-top:84px}
.preq-cabeza{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
.preq-cabeza h3{margin:0 0 2px;font-size:1rem;color:var(--ink)}
.pdocs{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pdoc{display:grid;grid-template-columns:72px 1fr;gap:10px 12px;background:var(--cream);border-radius:12px;padding:10px}
.pdoc-vista{width:72px;height:72px;border-radius:8px;overflow:hidden;background:var(--white);border:1px solid var(--line);display:grid;place-items:center;text-decoration:none}
.pdoc-vista img{width:100%;height:100%;object-fit:cover}
.pdoc-ext{font-weight:700;font-size:13px;color:var(--brass-d)}
.pdoc-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.pdoc-info strong{font-size:.9rem;color:var(--ink);word-break:break-all}
.pdoc-info small{color:var(--muted);font-size:.8rem}
.pdoc-info .chip{align-self:flex-start;margin-top:4px}
.pdoc-acc{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}
.pdoc-acc form{margin:0}
.rechazo{position:relative}
.rechazo summary{list-style:none}
.rechazo summary::-webkit-details-marker{display:none}
.rechazo-form{display:grid;gap:8px;margin-top:8px;background:var(--white);border:1px solid #efcdc6;border-radius:10px;padding:10px;min-width:260px}
.rechazo-form select,.rechazo-form input{margin:0;font-size:14px;padding:9px 10px}
.datos dl{margin:0;display:grid;grid-template-columns:110px 1fr;gap:8px 12px;font-size:.88rem}
.datos dt{color:var(--muted)}
.datos dd{margin:0;color:var(--ink);word-break:break-word}
.notificar{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:6px}
.bitacora{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px;font-size:.84rem}
.bitacora li{display:flex;flex-direction:column;border-left:2px solid var(--line);padding-left:10px}
.bitacora small{color:var(--muted)}
.bitacora span{color:var(--text)}
.peligro{border-color:#efcdc6}
.peligro summary{color:var(--red);cursor:pointer}
details.tarjeta>summary{cursor:pointer}
.login{max-width:440px;margin:30px auto}

/* Panel en celular: tabla como tarjetas */
@media (max-width:759px){
  .tabla thead{display:none}
  .tabla tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:12px;border-bottom:1px solid var(--line)}
  .tabla td{padding:0;border:0}
  .tabla td::before{content:attr(data-t);display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
  .tabla td[data-t="Cliente"]{grid-column:1/-1;order:-1}
}

@media (min-width:600px){
  .fila-2{grid-template-columns:1fr 1fr}
  .fila-3{grid-template-columns:1fr 1fr 1fr}
  .pasos{grid-template-columns:repeat(3,1fr)}
  .grid-perfiles{grid-template-columns:1fr 1fr}
  .tarjeta{padding:26px}
  .contadores{grid-template-columns:repeat(6,1fr)}
  .filtros{grid-template-columns:1fr 240px auto}
  .exp-cabeza{grid-template-columns:auto 1fr;align-items:center}
  .exp-cabeza .avance,.exp-cabeza .exp-acciones{grid-column:1/-1}
  .pdoc{grid-template-columns:72px 1fr auto}
  .pdoc-acc{grid-column:auto;justify-content:flex-end;max-width:300px}
  .rechazo-form{position:absolute;right:0;z-index:5;box-shadow:var(--shadow)}
}
@media (min-width:900px){
  .solo-ancho{display:inline}
  .hero{padding:70px 0 44px}
  .grid-perfiles{grid-template-columns:repeat(3,1fr)}
  .perfil{flex-direction:column;align-items:flex-start;padding:22px}
  .perfil-ir{display:none}
  .faq{grid-template-columns:repeat(3,1fr);gap:32px}
  .seccion{padding:50px 0}
  .pexp-cabeza{grid-template-columns:auto 1fr 260px;align-items:center}
  .pexp-cabeza .exp-acciones{grid-column:1/-1}
  .pexp-grid{grid-template-columns:1fr 360px;align-items:start}
}

/* ===== v2: niveles, clave de acceso, ayuda por WhatsApp ===== */
.nivel{font-weight:700;letter-spacing:1px;font-family:var(--sans);white-space:nowrap}
.nivel-1{color:var(--red)}
.nivel-2{color:var(--brass-d)}
.nivel-3{color:var(--muted)}
.leyenda{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.84rem;color:var(--muted);margin:0 0 14px}
.leyenda span{display:inline-flex;gap:6px;align-items:center}
.lista-docs li>.nivel{min-width:30px;margin-top:1px}
.req-tit h3 .nivel{margin-right:2px}
.ayuda-campo{display:flex;gap:8px;align-items:flex-start;font-size:.84rem;color:var(--muted);margin:-6px 0 16px;background:var(--green-bg);border-radius:10px;padding:10px 12px}
.ayuda-campo .ico{color:var(--green-d);width:18px;height:18px;margin-top:1px}
.ayuda-doc{margin-top:12px;background:var(--amber-bg);border:1px solid #ecd8ab;border-radius:12px;padding:12px 14px;display:grid;gap:10px;justify-items:start}
.ayuda-doc p{margin:0;font-size:.9rem;color:#6b4a0e}
.ayuda-flash{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}
.formatos{color:var(--muted);font-size:.78rem;margin-top:-6px}
.exp-seguridad{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;margin:0;font-size:.84rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.exp-seguridad .ico{color:var(--brass);width:18px;height:18px;flex:none;margin-top:1px}
.exp-acciones form{margin:0}
.cierre{display:grid;gap:12px;justify-items:start;background:var(--sand)}
.cierre p{margin:0}
.form-salir{margin:0}
.acceso{max-width:460px;margin:20px auto}
.acceso form{margin:0}
.acceso-ico{width:52px;height:52px;border-radius:14px;background:var(--green-bg);color:var(--green-d);display:grid;place-items:center;margin-bottom:12px}
.acceso-ico .ico{width:28px;height:28px}
.campo-clave{font:600 26px/1.2 var(--sans)!important;letter-spacing:10px;text-align:center}
.acceso-otra{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);display:grid;gap:10px}
.acceso-otra p{margin:0}
.btn-ancho span{white-space:normal}
.clave-rec{font:700 22px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:1.5px;background:var(--ink);color:var(--white);border-radius:12px;padding:16px;text-align:center;word-break:break-all;margin:18px 0 8px}
.recuperacion form{margin-top:16px}
.claves{border-color:#cfe0bb;background:#fbfdf8}
.claves .h-sec{display:flex;align-items:center;gap:8px}
.lista-claves{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lista-claves li{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:12px}
.lista-claves li>div{grid-column:1/-1}
.lista-claves form{margin:0}
.clave-mostrar{font:700 22px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:4px;color:var(--ink)}
.prueba-wa{margin:0 0 10px}
@media (min-width:760px){
  .lista-claves li{grid-template-columns:1fr auto auto auto}
  .lista-claves li>div{grid-column:auto}
}
@media print{
  .top,.pie,.btn,form{display:none!important}
  .clave-rec{background:#fff;color:#000;border:2px solid #000}
}

/* ===== v3: temas por desarrollo ===== */
.tema-la-joya{
  --ink:#001e3a; --ink-2:#0b2a47; --text:#22323f; --muted:#5d6f7f;
  --green:#0b4274; --green-d:#003057; --green-l:#00adef; --green-bg:#e8f4fb;
  --brass:#00adef; --brass-d:#0089c2;
  --cream:#f4f8fb; --sand:#e6eff6; --line:#d6e3ee; --ring:rgba(0,173,239,.2);
  --serif:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --acento:"EB Garamond",Georgia,serif;
}
.tema-la-joya .hero h1,.tema-la-joya .titulo-sec,.tema-la-joya .h-form{font-weight:500;letter-spacing:-.3px}
.tema-la-joya .eyebrow{letter-spacing:.24em}
.tema-la-joya .btn{border-radius:4px;letter-spacing:.02em}
.tema-la-joya .perfil,.tema-la-joya .tarjeta,.tema-la-joya .req{border-radius:6px}
.tema-via-verde{
  --ink:#0e4a20; --ink-2:#163b22; --text:#26322a; --muted:#667067;
  --green:#1e7b34; --green-d:#0e4a20; --green-l:#40b649; --green-bg:#e6f2e1;
  --brass:#40b649; --brass-d:#1e7b34;
  --cream:#f6f3e9; --sand:#ede9da; --line:#e3e0d2; --ring:rgba(64,182,73,.2);
  --serif:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sans:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --acento:"Courgette",cursive;
}
.tema-via-verde .hero h1,.tema-via-verde .titulo-sec,.tema-via-verde .h-form,.tema-via-verde .form-titulo{font-weight:700;letter-spacing:-.6px}
.tema-via-verde .btn{border-radius:60px}
.tema-via-verde .perfil,.tema-via-verde .tarjeta,.tema-via-verde .req{border-radius:20px}
.tema-via-verde .eyebrow{display:inline-block;background:var(--green-bg);color:var(--green);padding:6px 13px;border-radius:40px;letter-spacing:.12em}
.acento{font-family:var(--acento);font-style:italic;font-weight:500;color:var(--brass-d)}
.tema-via-verde .acento{font-style:normal;font-weight:400;color:var(--green-l)}
.tema-la-joya .acento{color:var(--green-l)}

/* Encabezado: franja de color y regreso a la página del desarrollo */
.top{box-shadow:inset 0 3px 0 var(--green)}
.volver-sitio{display:inline-flex;align-items:center;gap:8px;font-size:.88rem!important;font-weight:600!important;color:var(--green-d)!important}
.volver-sitio span{display:none}
.volver-sitio img{width:26px;height:26px;border-radius:50%;background:var(--white);border:1px solid var(--line);padding:2px;object-fit:contain}
@media (min-width:760px){.volver-sitio span{display:inline}}
@media (max-width:599px){.perfil{align-items:flex-start}.perfil-cabeza{align-items:flex-start}}

/* Portada: esquemas con su "fórmula" */
.hero{background:linear-gradient(180deg,var(--white) 0%,var(--green-bg) 100%)}
.formula{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 8px}
.formula>span{background:var(--green-bg);color:var(--green-d);border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:600;line-height:1.3}
.formula>b{color:var(--brass-d);font-size:.95rem}
.perfil-txt small.ideal{color:var(--text);font-size:.84rem;margin-top:6px}
.perfil-txt small.ideal strong{color:var(--green-d);font-size:inherit;display:inline}
.perfil-ir span{display:none}
@media (min-width:900px){
  .perfil{justify-content:space-between}
  .perfil-ir{display:inline-flex!important;align-items:center;gap:6px;margin-top:12px;font-size:.92rem;font-weight:600;color:var(--green-d)}
  .perfil-ir span{display:inline}
  .perfil:hover .perfil-ir{color:var(--green)}
}

/* Formulario de registro */
.paso-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--green);color:var(--white);font:700 14px/1 var(--sans);margin-right:8px;vertical-align:2px}
.mayus{text-transform:uppercase}
.pregunta-sn{border:1px solid var(--line);border-radius:12px;padding:12px 14px 10px;margin:0 0 16px;background:var(--cream)}
.pregunta-sn legend{float:left;width:100%;font-size:.9rem;font-weight:600;color:var(--ink-2);padding:0;margin:0 0 8px}
.pregunta-sn legend+*{clear:both}
.mayus::placeholder{text-transform:none}
.sn{display:flex;gap:10px;margin:4px 0 8px}
.sn label{margin:0!important;display:block}
.sn input{position:absolute;opacity:0;width:1px;height:1px}
.sn span{display:inline-block;min-width:84px;text-align:center;padding:10px 16px;border:1.5px solid var(--line);border-radius:10px;background:var(--white);font-weight:600;cursor:pointer}
.sn input:checked+span{border-color:var(--green);background:var(--green-bg);color:var(--green-d)}
.sn input:focus-visible+span{box-shadow:0 0 0 3px var(--ring)}
.pregunta-sn small{display:block;font-size:.8rem}
.caja-sensible{border:1px solid var(--line);border-left:4px solid var(--brass);border-radius:12px;padding:14px 16px 4px;margin:4px 0 18px;background:var(--white)}
.caja-tit{display:flex;gap:8px;align-items:center;font-weight:700;color:var(--ink);margin:0 0 4px}
.caja-tit .ico{color:var(--brass-d);width:18px;height:18px}
.caja-sensible .muted{margin:0 0 12px}
[data-si-casado][hidden]{display:none!important}

/* Documentos: PDF obligatorio, ejemplo con "?" */
.chip-pdf{display:inline-flex;gap:5px;align-items:center;background:var(--white);color:var(--ink-2);border-color:var(--line);text-transform:none;letter-spacing:0;font-size:11.5px;padding:2px 8px;vertical-align:1px}
.chip-pdf .ico{width:13px;height:13px}
.btn-ejemplo{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--white)!important;font:700 13px/1 var(--sans);text-decoration:none;vertical-align:2px;margin-left:4px;box-shadow:0 0 0 3px var(--green-bg);transition:transform .15s,background .15s}
.btn-ejemplo:hover{background:var(--green-d);transform:scale(1.08)}
.tip-escanear{margin:-4px 0 0;font-size:.84rem;color:var(--ink-2);background:var(--white);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.tip-escanear summary{display:flex;gap:8px;align-items:center;cursor:pointer;list-style:none;font-weight:600;color:var(--green-d)}
.tip-escanear summary::-webkit-details-marker{display:none}
.tip-escanear .ico{color:var(--green-d);width:18px;height:18px}
.tip-escanear p{margin:8px 0 2px;line-height:1.5}
.req-regla .chip-pdf{margin-left:4px}

/* Visor de ejemplo */
.visor{border:0;padding:0;border-radius:16px;max-width:min(980px,94vw);width:100%;box-shadow:var(--shadow);background:var(--white);color:var(--text)}
.visor::backdrop{background:rgba(10,14,20,.66)}
.visor-cab{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.visor-cab strong{font:600 18px/1.25 var(--serif);color:var(--ink)}
.visor-x{border:0;background:var(--sand);color:var(--ink);width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;flex:none}
.visor-x:hover{background:var(--line)}
.visor-cuerpo{padding:14px 18px 18px;max-height:78vh;overflow:auto}
.visor-cuerpo p{margin:0 0 12px;font-size:.92rem;color:var(--muted)}
.visor-cuerpo img{display:block;margin:0 auto;border:1px solid var(--line);border-radius:10px;max-width:100%;height:auto}
.dato-copiable{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.5px}

/* ===== v3.3 · Aviso de privacidad integral (texto compartido con el sitio) ===== */
.legal .aviso-doc h2{scroll-margin-top:20px}
.legal h3{font:700 .98rem/1.35 var(--sans);color:var(--ink-2);margin:18px 0 6px}
.legal .av-meta{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-d);font-weight:600;margin:0 0 14px}
.legal .av-resumen{background:var(--cream);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;padding:16px 18px 4px;margin:0 0 6px}
.legal .av-resumen h2{margin-top:0}
.legal .av-nota{font-size:.82rem;color:var(--muted)}
.legal a{word-break:break-word}
.legal .av-tabla{overflow-x:auto;margin:0 0 14px;border:1px solid var(--line);border-radius:10px}
.legal .av-tabla table{width:100%;border-collapse:collapse;font-size:.86rem;line-height:1.45;min-width:520px}
.legal .av-tabla th{background:var(--sand);text-align:left;padding:10px 12px;font-weight:600}
.legal .av-tabla td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:top}
.autoriza-bancos{border-left:4px solid var(--green)}
.autoriza-bancos .check{margin:10px 0 14px}

/* ===== v3.4 · Más sencillo para quien compra por primera vez ===== */
.centro{text-align:center}
.nota-centro{text-align:center;color:var(--muted);font-size:.9rem;margin:18px auto 0;max-width:640px;display:flex;gap:8px;justify-content:center;align-items:center}
.nota-centro .ico{width:16px;height:16px;flex:none}
/* Medidor de pasos */
.medidor{background:var(--white);border-bottom:1px solid var(--line)}
.medidor-in{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.medidor-txt{font-size:.78rem;font-weight:700;color:var(--green-d);white-space:nowrap;letter-spacing:.3px}
.medidor ol{list-style:none;margin:0;padding:0;display:flex;flex:1;gap:6px;align-items:center}
.medidor li{flex:1;display:flex;align-items:center;gap:8px;min-width:0;position:relative}
.medidor li:not(:last-child)::after{content:"";flex:1;height:3px;border-radius:3px;background:var(--line);margin-left:2px}
.medidor li.hecho:not(:last-child)::after{background:var(--green)}
.medidor li a{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit;min-width:0}
.m-pt{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:700;flex:none;border:2px solid var(--line);color:var(--muted);background:var(--white)}
.medidor li.hecho .m-pt{background:var(--green);border-color:var(--green);color:#fff}
.medidor li.actual .m-pt{border-color:var(--green);color:var(--green-d);box-shadow:0 0 0 4px var(--ring)}
.m-tx{font-size:.84rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.medidor li.actual .m-tx{color:var(--ink);font-weight:600}
@media (max-width:599px){.medidor li:not(.actual) .m-tx{display:none}.medidor-txt{font-size:.72rem}.medidor li{flex:0 0 auto}.medidor li.actual{flex:1 1 auto}.medidor li:not(:last-child)::after{flex:0 0 14px}.medidor li.actual .m-tx{overflow:visible}}
/* Ayuda (i) */
.tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--green-bg);color:var(--green-d);font:700 12px/1 Georgia,serif;font-style:italic;cursor:help;vertical-align:middle;border:1px solid var(--green-l);outline:none}
.tip-txt{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:min(270px,80vw);background:var(--ink);color:#fff;font:400 .82rem/1.45 var(--sans);font-style:normal;padding:10px 12px;border-radius:10px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .15s;z-index:40;text-align:left;white-space:normal}
.tip-txt strong{display:block;margin-bottom:2px;color:#fff}
.tip:hover .tip-txt,.tip:focus .tip-txt,.tip:focus-within .tip-txt{display:block;opacity:1}
@media (max-width:599px){.tip-txt{position:fixed;left:16px;right:16px;bottom:16px;top:auto;transform:none;width:auto;max-width:none;font-size:.9rem;padding:14px 16px}}
.tip:focus{box-shadow:0 0 0 3px var(--ring)}
/* Paso 1: cuatro formas de pago */
.pasos-ico li>span{background:var(--green-bg);color:var(--green-d);width:40px;height:40px;border-radius:12px}
.pasos-ico li>span .ico{width:22px;height:22px}
.grid-formas{display:grid;gap:12px;max-width:860px;margin:0 auto}
.forma{display:flex;align-items:center;gap:14px;background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--text);transition:border-color .15s,box-shadow .15s,transform .15s}
.forma:hover{border-color:var(--green);box-shadow:var(--shadow-sm);transform:translateY(-2px);color:var(--text)}
.forma-txt{display:flex;flex-direction:column;gap:3px;flex:1}
.forma-txt strong{font-size:1.12rem;color:var(--ink)}
.forma-txt small{color:var(--muted);font-size:.92rem}
@media (min-width:600px){.grid-formas{grid-template-columns:1fr 1fr}}
/* Paso 1b: ¿solo o junto con banco? */
.seccion-forma .h-form{margin-bottom:20px}
.grid-sub{display:grid;gap:16px}
@media (min-width:760px){.grid-sub{grid-template-columns:1fr 1fr}}
.sub-op{position:relative;background:var(--white);border:1.5px solid var(--line);border-radius:var(--radius);padding:26px 22px 22px;display:flex;flex-direction:column}
.sub-op-dest{border:2px solid var(--green);box-shadow:var(--shadow-sm)}
.sub-badge{position:absolute;top:-13px;left:18px;background:var(--green);color:#fff;font-size:.76rem;font-weight:700;padding:4px 10px;border-radius:30px;display:inline-flex;align-items:center;gap:5px}
.sub-badge .ico{width:13px;height:13px}
.sub-op h2{font:600 1.35rem/1.25 var(--serif);color:var(--ink);margin:0 0 8px}
.sub-res{color:var(--muted);margin:0 0 14px;font-size:.95rem}
.sub-puntos{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:9px}
.sub-puntos li{display:flex;gap:9px;align-items:flex-start;font-size:.95rem}
.sub-puntos li>.ico{width:20px;height:20px;flex:none;color:#fff;background:var(--green);border-radius:50%;padding:3px}
.sub-op:not(.sub-op-dest) .sub-puntos li>.ico{background:var(--muted)}
.sub-ideal{font-size:.88rem;background:var(--cream);border-radius:10px;padding:10px 12px;margin:0 0 16px}
.sub-btn{margin-top:auto;justify-content:center;width:100%}
.intro-form{margin:-6px 0 16px;color:var(--text)}
.seccion-forma .volver{display:block;width:max-content}
.sub-docs{display:flex;gap:10px;align-items:flex-start;font-size:.88rem;border:1px dashed var(--green-l);border-radius:10px;padding:10px 12px;margin:0 0 16px;background:var(--white)}
.sub-docs .ico{width:18px;height:18px;flex:none;color:var(--green-d);margin-top:2px}
.sub-sim{font-size:.86rem;color:var(--muted);margin:-6px 0 16px}.sub-sim a{font-weight:600}
