:root{--h2cyl-brand:#1a7a4a;--h2cyl-brand-2:#0066cc;--h2cyl-text:#2c3e50;--h2cyl-muted:#6c757d;--h2cyl-border:#e5e7eb}
.h2cyl-card{border:1px solid var(--h2cyl-border);border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.h2cyl-grid{row-gap:18px}
.h2cyl-field{margin-bottom:4px}
.h2cyl-label{display:block;font-weight:600;color:var(--h2cyl-text);margin-bottom:8px}
.h2cyl-label small{display:block;color:var(--h2cyl-muted);font-weight:400;margin-top:4px}
.h2cyl-control{border:1px solid var(--h2cyl-border);border-radius:10px;padding:.75rem 1rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.h2cyl-control:focus{border-color:var(--h2cyl-brand);box-shadow:0 0 0 .2rem rgba(26,122,74,.15);outline:none}
.h2cyl-checkbox .form-check{padding:.6rem .8rem;border:1px solid var(--h2cyl-border);border-radius:10px;margin-bottom:.55rem;display:flex;align-items:center;gap:.6rem}
.h2cyl-checkbox .form-check:hover{background:#f8f9fa}
.h2cyl-checkbox .form-check-input{width:1.1rem;height:1.1rem;border:2px solid var(--h2cyl-border);border-radius:.35rem}
.h2cyl-checkbox .form-check-input:focus{box-shadow:0 0 0 .2rem rgba(26,122,74,.15);border-color:var(--h2cyl-brand)}
.h2cyl-checkbox .form-check-input:checked{background-color:var(--h2cyl-brand);border-color:var(--h2cyl-brand)}
.h2cyl-checkbox .form-check-label{color:var(--h2cyl-text)}
.h2cyl-submit{background:linear-gradient(135deg,var(--h2cyl-brand) 0%,var(--h2cyl-brand-2) 100%);border:none;border-radius:12px;padding:1rem 1.25rem;font-weight:600}
.h2cyl-submit:hover{filter:brightness(1.05)}
.h2cyl-hero{background:linear-gradient(135deg,var(--h2cyl-brand) 0%,var(--h2cyl-brand-2) 100%);color:#fff;border-radius:12px;padding:2.5rem}
.h2cyl-hero h1,.h2cyl-hero p{color:#fff}

/* Unificar estilo de radios con botones segmentados */
.h2cyl-segmented{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
/* Ocultar inputs .btn-check (como hace Bootstrap) para quitar círculos/cajas */
.btn-check{position:absolute!important;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:-1px;border:0;padding:0}
.h2cyl-segment{border:1.5px solid var(--h2cyl-border);border-radius:10px;padding:.65rem 1rem;color:var(--h2cyl-text);background:#fff}
.btn-check:checked + .h2cyl-segment{background-color:var(--h2cyl-brand);border-color:var(--h2cyl-brand);color:#fff;box-shadow:0 0 0 .2rem rgba(26,122,74,.15)}
.btn-check:focus + .h2cyl-segment{box-shadow:0 0 0 .2rem rgba(26,122,74,.15);border-color:var(--h2cyl-brand)}
.h2cyl-segment:hover{border-color:var(--h2cyl-brand)}

/* Prevenir desbordes de texto en selects/campos largos */
.form-select.h2cyl-control,.form-control.h2cyl-control{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Ajuste extra de ancho: selects ocupan ancho disponible sin romper layout */
.h2cyl-card .form-select.h2cyl-control{min-width:0}
