@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,700;1,800;1,900&display=swap');
:root{
  --blue:#2245B3; --blue-d:#18338A; --blue-50:#EEF2FC; --blue-100:#DCE4F8;
  --yellow:#EBB32A; --yellow-50:#FDF6E3; --yellow-d:#B9871A;
  --red:#FF1921; --red-50:#FFEFF0; --red-d:#C8101A;
  --white:#FFFFFF; --gray:#F5F6F8; --line:#E3E6EC; --line-2:#EDEFF3;
  --ink:#141A2E; --ink-2:#4A5168; --ink-3:#7D8499;
  --green:#1E9E63; --green-50:#E8F6EF;
  --r:12px; --r-sm:8px;
  --shadow:0 1px 2px rgba(20,26,46,.05),0 2px 8px rgba(20,26,46,.04);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--gray);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}
button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.2;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--blue)}
.num{font-variant-numeric:tabular-nums}

/* Logo wordmark (sustituir por el logo oficial) */
.gu-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.gu-logo img{height:38px;width:auto;display:block}
.gu-sub{font-size:10.5px;font-weight:500;color:var(--ink-3);letter-spacing:.6px;text-transform:uppercase;line-height:1.2;padding-left:10px;border-left:1px solid var(--line);max-width:90px}
.gu-logo .mark{width:34px;height:34px;border-radius:9px;background:var(--blue);display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;letter-spacing:-.5px;position:relative}
.gu-logo .mark::after{content:'';position:absolute;right:-3px;bottom:-3px;width:11px;height:11px;border-radius:50%;background:var(--yellow);border:2px solid #fff}
.gu-logo .word{font-weight:700;font-size:17px;color:var(--blue);letter-spacing:-.3px;line-height:1}
.gu-logo .word small{display:block;font-weight:500;font-size:10.5px;color:var(--ink-3);letter-spacing:.6px;text-transform:uppercase;margin-top:3px}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 18px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:14.5px;cursor:pointer;transition:background .15s,border-color .15s,transform .05s;white-space:nowrap;text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:var(--blue);color:#fff}
.btn-primary:hover:not(:disabled){background:var(--blue-d)}
.btn-yellow{background:var(--yellow);color:var(--ink)}
.btn-yellow:hover:not(:disabled){background:#DDA51C}
.btn-ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.btn-ghost:hover:not(:disabled){border-color:#C9CEDA;background:#FAFBFC}
.btn-text{background:none;color:var(--blue);padding:0 8px}
.btn-danger{background:#fff;border-color:#FFC2C5;color:var(--red-d)}
.btn-sm{height:34px;padding:0 12px;font-size:13px;border-radius:8px}
.btn-wa{background:#1FAF5A;color:#fff}
.btn-wa:hover{background:#178F49}

/* Campos */
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.lbl{font-size:13.5px;font-weight:500;color:var(--ink-2)}
.field label .req{color:var(--red);margin-left:2px}
.field label .opt{color:var(--ink-3);font-weight:400}
.input,.select,.textarea{width:100%;height:48px;border:1.5px solid var(--line);border-radius:10px;padding:0 14px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;font-size:15.5px}
.textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237D8499' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.select:disabled,.input:disabled{background-color:var(--gray);color:var(--ink-3)}
.input:focus,.select:focus,.textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(34,69,179,.12)}
.field.err .input,.field.err .select,.field.err .textarea{border-color:var(--red)}
.field .msg{font-size:12.5px;color:var(--red-d);display:flex;gap:6px;align-items:flex-start}
.field .help{font-size:12.5px;color:var(--ink-3)}
.money-wrap{position:relative}
.money-wrap .cur{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-weight:600;color:var(--ink-2)}
.money-wrap .input{padding-left:32px}

/* Tarjetas */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}

/* Etiquetas de estado */
.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}
.pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.st-pendiente{background:#FDF3DA;color:#946A0B}
.st-revision{background:var(--blue-50);color:var(--blue)}
.st-contactado{background:#EDE9FB;color:#5B3FC4}
.st-aprobado{background:#E3F3FB;color:#0D74A6}
.st-rechazado{background:var(--red-50);color:var(--red-d)}
.st-comprado{background:var(--green-50);color:#137A4A}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600;background:var(--gray);color:var(--ink-2)}
.tag-red{background:var(--red-50);color:var(--red-d)}
.tag-yellow{background:var(--yellow-50);color:#8A6410}
.tag-demo{background:#141A2E;color:#fff;letter-spacing:.4px}

.ico{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ===== Estilo gráfico de campaña (afiche "Aquí te lo compramos") ===== */
:root{--paper:#ECEDF0;--blue-ink:#2A44B0;--red-hi:#FF4A4F}
.disp{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;word-spacing:.12em;line-height:.98}
.disp .b{color:var(--blue-ink)}
.disp .r{color:var(--red)}
.pill-red{display:inline-block;background:linear-gradient(180deg,var(--red-hi) 0%,var(--red) 55%,#E0101A 100%);color:#F4F4F6;font-style:normal;font-weight:800;padding:.08em .42em .1em;border-radius:.28em;box-shadow:inset 0 2px 0 rgba(255,255,255,.35),inset 0 -3px 0 rgba(120,0,6,.35),0 6px 14px rgba(255,25,33,.28),0 2px 0 #B80C14}
.hero-rule{display:block;height:4px;background:var(--blue-ink);border-radius:2px;width:100%;max-width:420px}
.btn-red{background:linear-gradient(180deg,var(--red-hi),var(--red));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 4px 10px rgba(255,25,33,.25);text-transform:uppercase;letter-spacing:.3px;font-weight:700}
.btn-red:hover:not(:disabled){background:linear-gradient(180deg,#FF3439,#E8121A)}
.doc-ic{position:relative;width:64px;height:76px;border:4px solid var(--blue-ink);border-radius:8px;display:grid;place-items:center;color:var(--blue-ink);background:#fff;flex:none}
.doc-ic{display:flex;flex-direction:column;justify-content:center;align-items:stretch;place-items:initial;gap:7px;padding:0 10px}
.doc-ic b{display:block;height:5px;border-radius:3px;background:var(--blue-ink)}
.doc-ic b.s{width:60%}
.doc-ic .cursor{position:absolute;right:-16px;bottom:-14px;width:0;height:0;border-left:13px solid transparent;border-right:13px solid transparent;border-bottom:30px solid var(--yellow);transform:rotate(-38deg);filter:drop-shadow(0 2px 0 rgba(0,0,0,.08))}
