/* Estilos de diagnostico.php */
  :root { --ct-error:#dc2626; --ct-ok:#16a34a; }

  /* Top bar */
  .dg-topbar { background: var(--s-navy); padding: 12px 24px; display: flex; align-items: center; justify-content: space-between; }
  .dg-topbar__logo { font-size: 16px; font-weight: 800; color: #fff; text-decoration: none; }
  .dg-topbar__logo strong { color: var(--edi-accent-light); }
  .dg-topbar__sub { font-size: 10px; color: rgba(255,255,255,.5); letter-spacing:.06em; text-transform:uppercase; display:block; }
  .dg-topbar__secure { display:flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:rgba(255,255,255,.75); }
  .dg-topbar__secure svg { color:var(--edi-accent-light); }

  /* Layout */
  .dg-wrap { max-width:1100px; margin:0 auto; padding:40px 24px 80px; display:grid; grid-template-columns:1fr 300px; gap:36px; align-items:start; }

  /* Form card */
  .dg-card { background:#fff; border:1px solid var(--s-border); border-radius:14px; overflow:hidden; }
  .dg-card-head { background:linear-gradient(135deg,var(--s-navy),var(--edi-navy-2)); padding:28px 32px; display:flex; align-items:flex-start; gap:18px; }
  .dg-card-head__icon { width:50px; height:50px; background:rgba(255,255,255,.12); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .dg-card-head__title { font-size:clamp(1.2rem,2.5vw,1.6rem); font-weight:800; color:#fff; line-height:1.15; margin:0 0 6px; }
  .dg-card-head__title em { font-style:normal; color:var(--edi-accent-light); }
  .dg-card-head__sub { font-size:13px; color:rgba(255,255,255,.72); line-height:1.55; margin:0; }
  .dg-card-head__badge { margin-top:14px; display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:100px; padding:4px 12px; font-size:11px; font-weight:600; color:rgba(255,255,255,.85); }
  .dg-card-body { padding:28px 32px; }

  /* Sections */
  .dg-section { margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid var(--s-border); }
  .dg-section:last-of-type { border-bottom:none; margin-bottom:0; padding-bottom:0; }
  .dg-section-head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
  .dg-section-num { width:26px; height:26px; border-radius:50%; background:var(--s-navy); color:#fff; font-size:12px; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
  .dg-section-title { font-size:14px; font-weight:800; color:var(--s-navy); }
  .dg-section-sub { font-size:12.5px; color:var(--s-muted); line-height:1.5; margin:0 0 14px; }

  /* Shared form (matches contacto.php) */
  .ct-form { display:flex; flex-direction:column; gap:18px; }
  .ct-field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .ct-field-row--3 { grid-template-columns:1fr 1fr 1fr; }
  .ct-field { display:flex; flex-direction:column; gap:5px; }
  .ct-label { font-size:13px; font-weight:600; color:var(--s-navy); }
  .ct-label span.req { color:var(--ct-error); margin-left:2px; }
  .ct-label span.opt { color:var(--s-muted); font-weight:400; font-size:11px; margin-left:4px; }
  .ct-input,.ct-select {
    width:100%; padding:10px 13px; border:1.5px solid var(--s-border); border-radius:7px;
    font-size:14px; color:var(--s-text); background:#fff;
    transition:border-color .2s,box-shadow .2s; box-sizing:border-box; font-family:inherit;
  }
  .ct-input:focus,.ct-select:focus { outline:none; border-color:var(--s-navy); box-shadow:0 0 0 3px rgba(10,26,63,.1); }
  .ct-input.is-invalid,.ct-select.is-invalid { border-color:var(--ct-error); box-shadow:0 0 0 3px rgba(220,38,38,.08); }
  .ct-select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%235d6a82' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:36px; cursor:pointer; }
  .ct-error-msg { font-size:12px; color:var(--ct-error); display:flex; align-items:center; gap:4px; }
  .ct-error-msg::before { content:''; width:4px; height:4px; background:var(--ct-error); border-radius:50%; flex-shrink:0; }
  .ct-hp { position:absolute; left:-9999px; visibility:hidden; }

  /* Radio/checkbox cards */
  .dg-option-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
  .dg-option-grid--2 { grid-template-columns:repeat(2,1fr); }
  .dg-radio-card input { position:absolute; opacity:0; width:0; height:0; }
  .dg-radio-card label {
    display:flex; flex-direction:column; padding:11px 13px;
    border:1.5px solid var(--s-border); border-radius:8px; cursor:pointer;
    font-size:13px; font-weight:600; color:var(--s-navy); line-height:1.3;
    transition:border-color .15s,background .15s;
  }
  .dg-radio-card label span { font-size:11px; font-weight:400; color:var(--s-muted); margin-top:2px; }
  .dg-radio-card input:checked + label { border-color:var(--s-navy); background:var(--s-light); box-shadow:0 0 0 2px var(--s-navy); }
  .dg-radio-card label:hover { border-color:var(--s-navy); background:var(--s-light); }

  /* Checkbox pills */
  .dg-check-grid { display:flex; flex-wrap:wrap; gap:8px; }
  .dg-check-pill input { position:absolute; opacity:0; width:0; height:0; }
  .dg-check-pill label { display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border:1.5px solid var(--s-border); border-radius:100px; cursor:pointer; font-size:13px; font-weight:500; color:var(--s-text); transition:all .15s; }
  .dg-check-pill label::before { content:''; width:14px; height:14px; border:1.5px solid #ccc; border-radius:3px; flex-shrink:0; transition:all .15s; }
  .dg-check-pill input:checked + label { border-color:var(--s-navy); background:var(--s-light); color:var(--s-navy); font-weight:600; }
  .dg-check-pill input:checked + label::before { background:var(--s-navy); border-color:var(--s-navy); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); background-size:10px; background-position:center; background-repeat:no-repeat; }

  /* Success */
  .ct-success { background:#f0fdf4; border:1px solid #bbf7d0; border-left:4px solid var(--ct-ok); border-radius:10px; padding:24px; display:flex; align-items:flex-start; gap:16px; margin-bottom:24px; }
  .ct-success__icon { flex-shrink:0; width:40px; height:40px; background:#dcfce7; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .ct-success__title { font-size:15px; font-weight:700; color:#15803d; margin:0 0 6px; }
  .ct-success__text { font-size:13.5px; color:#166534; line-height:1.6; margin:0; }
  .ct-success__cta { margin-top:12px; display:inline-flex; align-items:center; gap:6px; padding:8px 16px; background:var(--s-navy); color:#fff; border-radius:6px; font-size:13px; font-weight:700; text-decoration:none; }

  /* Submit */
  .ct-submit-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .ct-submit { display:inline-flex; align-items:center; gap:10px; background:var(--s-navy); color:#fff; font-size:15px; font-weight:700; padding:14px 28px; border-radius:8px; border:none; cursor:pointer; transition:background .2s; font-family:inherit; }
  .ct-submit:hover { background:var(--s-navy); }
  .ct-privacy { font-size:12px; color:var(--s-muted); }
  .ct-send-error { background:#fef2f2; border:1px solid #fecaca; border-left:4px solid var(--ct-error); border-radius:8px; padding:14px 16px; font-size:13.5px; color:#991b1b; margin-bottom:18px; }

  /* Sidebar */
  .dg-sidebar { display:flex; flex-direction:column; gap:18px; position:sticky; top:80px; }
  .dg-sidebar-card { background:#fff; border:1px solid var(--s-border); border-radius:12px; padding:20px; }
  .dg-sidebar-card--dark { background:var(--s-navy); border-color:var(--s-navy); }
  .dg-sidebar-title { font-size:13.5px; font-weight:800; color:var(--s-navy); margin:0 0 12px; }
  .dg-sidebar-card--dark .dg-sidebar-title { color:#fff; }
  .dg-benefit { display:flex; align-items:flex-start; gap:9px; margin-bottom:10px; }
  .dg-benefit:last-child { margin-bottom:0; }
  .dg-benefit__icon { width:18px; height:18px; background:#dcfce7; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
  .dg-benefit__text { font-size:12.5px; color:var(--s-muted); line-height:1.4; }
  .dg-model { display:flex; align-items:flex-start; gap:10px; padding:10px; border-radius:8px; margin-bottom:7px; border:1px solid var(--s-border); }
  .dg-model:last-child { margin-bottom:0; }
  .dg-model__icon { width:30px; height:30px; background:var(--s-light); border-radius:7px; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--s-navy); }
  .dg-model__name { font-size:13px; font-weight:700; color:var(--s-navy); margin-bottom:1px; }
  .dg-model__desc { font-size:11.5px; color:var(--s-muted); line-height:1.35; }
  .dg-step { display:flex; align-items:flex-start; gap:9px; margin-bottom:13px; }
  .dg-step:last-child { margin-bottom:0; }
  .dg-step__dot { width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; color:var(--edi-accent-light); flex-shrink:0; }
  .dg-step__title { font-size:12.5px; font-weight:700; color:#fff; margin-bottom:1px; }
  .dg-step__desc { font-size:11px; color:rgba(255,255,255,.6); line-height:1.4; }
  .dg-secure { display:flex; align-items:center; gap:10px; padding:12px 14px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:8px; }
  .dg-secure__text { font-size:12px; color:#15803d; font-weight:600; line-height:1.35; }
  .dg-secure__sub { font-weight:400; color:#166534; display:block; }

  /* Responsive */
  @media (max-width:960px) { .dg-wrap { grid-template-columns:1fr; } .dg-sidebar { position:static; } }
  @media (max-width:640px) {
    .ct-field-row,.ct-field-row--3 { grid-template-columns:1fr; }
    .dg-option-grid { grid-template-columns:1fr 1fr; }
    .dg-card-body { padding:20px; }
  }

