/* cap-firmas — subconjunto del sistema visual de la web (site-nuevo/src/styles/global.css).
   Mismas reglas: solo variables de :root, sin border-radius ni box-shadow. */
:root{
  --verde:#6EBE44;--verde-osc:#3F7A25;--gris-osc:#333A36;--tinta:#2E3330;--gris-med:#6E7570;
  --gris-claro:#D8E0DA;--tinte:#EEF7E7;--tinte-claro:#F7FBF3;--linea:#D6E4C9;--error:#9B2C1F;--error-tinte:#FBEDEA;
  --serif:"Source Serif 4",Cambria,Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3",Arial,Helvetica,system-ui,sans-serif;
  --max:1180px;--pad:clamp(20px,5vw,48px);
}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
h1,h2,h3,.h3{font-family:var(--serif);font-weight:600;color:var(--gris-osc);margin:0}
h1{font-size:clamp(30px,4.4vw,44px);line-height:1.1;letter-spacing:-.01em}
h2{font-size:23px;line-height:1.2;margin:0 0 8px}
.h3{font-size:20px;line-height:1.25;margin:36px 0 12px}
p{margin:0 0 1em}
a{color:var(--verde-osc)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--tinte-claro);padding:1px 5px}
.bajada{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--verde-osc);margin:0 0 14px}
.regla{width:64px;height:2px;background:var(--verde);border:0;margin:18px 0 24px}
.sec{font-size:15.5px;color:var(--gris-med)}

header{border-bottom:1px solid var(--linea);background:#fff}
.barra{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;flex-wrap:wrap}
.marca{font-family:var(--serif);font-weight:600;font-size:19px;color:var(--gris-osc);text-decoration:none}
.acciones-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.acciones-header form{margin:0}

main{padding-top:48px;padding-bottom:72px}
.caja{max-width:30em}
.ancho{max-width:none}

.btn{display:inline-block;font-family:var(--sans);font-size:15.5px;font-weight:600;padding:14px 26px;text-decoration:none;border:2px solid var(--gris-osc);background:var(--gris-osc);color:#fff;cursor:pointer}
.btn:hover,.btn:focus-visible{background:#242926;border-color:#242926}
.btn.linea{background:transparent;color:var(--gris-osc)}
.btn.linea:hover,.btn.linea:focus-visible{background:var(--tinte);color:var(--gris-osc);border-color:var(--gris-osc)}
.btn.sm{padding:9px 16px;font-size:14.5px}
.btn[disabled]{opacity:.55;cursor:default}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--verde-osc);outline-offset:3px}

label{display:block;font-size:15px;font-weight:600;color:var(--gris-osc)}
input[type=email],input[type=password],input[type=text],input[type=url],input[type=tel],input[type=number],select,textarea{
  display:block;width:100%;font:inherit;color:var(--tinta);background:#fff;
  border:2px solid var(--gris-claro);padding:11px 12px;margin:6px 0 18px;
}
textarea{resize:vertical;min-height:5.5em}
input:focus,textarea:focus{border-color:var(--verde-osc)}
input[type=color]{display:block;width:64px;height:44px;padding:2px;border:2px solid var(--gris-claro);background:#fff;margin:6px 0 18px}
input[type=file]{display:block;width:100%;font:inherit;margin:6px 0 18px}
.formulario .btn{margin:6px 0 24px}
.chico{font-size:14px;color:var(--gris-med);margin:-12px 0 18px}

.fila{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:12px}
.fila label{flex:1 1 200px}
.fila input,.fila select{margin-bottom:0}
.fila label.check{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-weight:400}
.fila label.check input{width:auto;margin:0}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 24px;align-items:start}
.check{display:flex;align-items:center;gap:8px;font-weight:400;margin:0 0 18px}
.check input{width:auto;margin:0}
.pastilla{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--verde-osc);margin:0 0 8px}

.alerta{padding:14px 18px;margin:0 0 24px;border-left:4px solid var(--verde);background:var(--tinte)}
.alerta p{margin:0}
.alerta p+p{margin-top:.6em}
.alerta label{margin-top:12px}
.alerta input{margin-bottom:0}
.alerta.error{border-left-color:var(--error);background:var(--error-tinte);color:var(--error)}
.alerta.aviso{border-left-color:var(--gris-osc);background:var(--tinte-claro)}

table{width:100%;border-collapse:collapse;font-size:15.5px;margin:0 0 24px}
thead th{background:var(--gris-osc);color:#fff;font-weight:600;text-align:left}
th,td{padding:10px 12px;border-bottom:1px solid var(--linea);vertical-align:top}
td.acciones form{display:inline-block;margin:0 6px 6px 0}
td.acciones label{display:inline;font-weight:400}
th.num,td.num{text-align:right}
@media(max-width:760px){table,thead,tbody,tr,th,td{display:block}thead{display:none}td{border:0;padding:4px 0}tr{border-bottom:1px solid var(--linea);padding:12px 0}th.num,td.num{text-align:left}}

.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px;list-style:none;padding:0;margin:0 0 24px}
.tarjeta{border:1px solid var(--linea);padding:16px}
.tarjeta p:last-child{margin-bottom:0}
.tarjeta h2{font-size:19px;margin-bottom:6px}
.acciones-tarjeta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0 0}
.acciones-tarjeta form{margin:0}
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px;list-style:none;padding:0;margin:0 0 24px}
.logo-caja{border:1px solid var(--linea);padding:14px;background:var(--tinte-claro)}
.logo-caja img{display:block;max-width:100%;height:auto;max-height:120px;margin:0 auto 10px}
.logo-caja .sec{margin:0 0 8px;font-size:13.5px;word-break:break-all}
.muestra{background:#fff;border:1px solid var(--linea);padding:14px;overflow:auto}

.panel{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.4fr);gap:40px;align-items:start}
@media(max-width:1000px){.panel{grid-template-columns:1fr}}
.pegajoso{position:sticky;top:24px}
.barra-exportar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 18px}
.barra-exportar .btn{margin:0}
.aviso-exportar{margin:0 0 12px;font-size:15px;color:var(--gris-med);min-height:1.6em}
.aviso-exportar.ok{color:var(--verde-osc);font-weight:600}
