:root{
  --pl-azul:#0a0081;      /* azul logo */
  --pl-celeste:#019fe3;   /* celeste marca */
  --pl-celeste-osc:#0277b5;
  --pl-celeste-claro:#e6f6ff;
  --pl-verde:#27c47b;
  --pl-linea:#e3e8f0;
  --pl-texto:#1d2433;
  --pl-gris:#5b6675;
  --pl-error:#d9534f;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:#f3f6fb;color:var(--pl-texto);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased}
.pl-wrap{max-width:560px;margin:0 auto;padding:24px 16px 48px}
.pl-card{background:#fff;border-radius:18px;padding:30px 28px;
  box-shadow:0 18px 50px rgba(10,0,129,.14);border:1px solid var(--pl-linea)}

.pl-head{margin-bottom:24px}
.pl-brand{font-weight:800;font-size:19px;color:var(--pl-azul);letter-spacing:-.4px;margin-bottom:14px}
.pl-brand span{color:var(--pl-celeste)}
.pl-head h1{font-size:23px;color:var(--pl-azul);font-weight:700;margin-bottom:8px;line-height:1.2}
.pl-sub{color:var(--pl-gris);font-size:14.5px;line-height:1.5}

.pl-field{margin-bottom:16px}
.pl-field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;color:var(--pl-azul)}
.pl-field input,.pl-field select,.pl-field textarea{
  width:100%;border:1.5px solid var(--pl-linea);border-radius:10px;
  padding:12px 14px;font-size:15px;font-family:inherit;background:#fff;color:var(--pl-texto)}
.pl-field textarea{resize:vertical}
.pl-field input:focus,.pl-field select:focus,.pl-field textarea:focus{
  outline:none;border-color:var(--pl-celeste);box-shadow:0 0 0 3px rgba(1,159,227,.15)}
.pl-field input[type=file]{padding:10px;background:var(--pl-celeste-claro);border-style:dashed;cursor:pointer}
.pl-row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

.pl-hint{font-size:12.5px;color:var(--pl-gris);margin-top:6px}
.pl-files{list-style:none;margin-top:8px}
.pl-files li{font-size:13px;color:var(--pl-celeste-osc);padding:4px 0;border-bottom:1px solid var(--pl-linea)}

.pl-error{background:#fdeceb;color:var(--pl-error);border:1px solid #f3c7c4;
  border-radius:10px;padding:11px 14px;font-size:13.5px;margin:8px 0 4px}

.pl-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;
  font-weight:700;border-radius:10px;padding:15px 26px;font-size:16px;border:none;
  cursor:pointer;font-family:inherit;background:var(--pl-celeste);color:#fff;
  box-shadow:0 6px 18px rgba(1,159,227,.35);transition:transform .15s ease,background .15s ease;margin-top:8px}
.pl-btn:hover:not(:disabled){transform:translateY(-1px);background:#02b1f7}
.pl-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}

.pl-legal{font-size:12px;color:var(--pl-gris);text-align:center;margin-top:16px;line-height:1.5}

.pl-exito{text-align:center;padding:24px 10px}
.pl-exito .check{width:64px;height:64px;border-radius:50%;background:var(--pl-verde);
  color:#fff;font-size:30px;display:grid;place-items:center;margin:0 auto 18px}
.pl-exito h2{color:var(--pl-azul);font-size:21px;margin-bottom:10px}
.pl-exito p{color:var(--pl-gris);font-size:15px;line-height:1.5}

.pl-oculto{display:none!important}

@media(max-width:560px){
  .pl-row2{grid-template-columns:1fr}
  .pl-card{padding:24px 20px}
  .pl-head h1{font-size:21px}
}
