/* RDV Encuestas — Frontend */
:root {
  --rdv-navy:#1B3A6B; --rdv-red:#CC0000; --rdv-green:#16a34a;
  --rdv-border:#e2e8f0; --rdv-bg:#f8fafc; --rdv-text:#1e293b;
}
.rdvenc-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;max-width:760px;margin:0 auto; }
.rdvenc-notice { padding:.75rem 1rem;border-radius:6px;font-size:.88rem;margin:.5rem 0; }
.rdvenc-notice--ok   { background:#f0fdf4;border:1.5px solid #bbf7d0;color:#16a34a; }
.rdvenc-notice--warn { background:#fffbeb;border:1.5px solid #fde68a;color:#92400e; }

/* Header */
.rdvenc-header { background:linear-gradient(135deg,var(--rdv-navy),#0d2244);color:#fff;padding:1.75rem 2rem;border-radius:10px 10px 0 0; }
.rdvenc-title  { font-size:1.4rem;font-weight:800;color:#fff;margin:0 0 .5rem; }
.rdvenc-desc   { font-size:.9rem;color:rgba(255,255,255,.75);margin:0 0 .5rem; }
.rdvenc-expires{ font-size:.78rem;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:.3rem; }

/* Section */
.rdvenc-section { background:#fff;border:1.5px solid var(--rdv-border);border-top:none;padding:1.5rem 2rem; }
.rdvenc-section:last-of-type { border-radius:0 0 10px 10px; }
.rdvenc-section-title { font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--rdv-navy);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem; }
.rdvenc-section-icon { font-size:1.1rem; }
.rdvenc-optional { font-weight:400;color:#94a3b8;text-transform:none;letter-spacing:0; }
.rdvenc-section--demo { background:var(--rdv-bg); }

/* Demo grid */
.rdvenc-demo-grid { display:grid;grid-template-columns:1fr 1fr;gap:1rem; }
.rdvenc-field label { display:block;font-size:.78rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem; }
.rdvenc-select { width:100%;padding:.55rem .75rem;border:1.5px solid var(--rdv-border);border-radius:6px;font-size:.85rem;background:#fff;transition:border-color .18s; }
.rdvenc-select:focus { outline:none;border-color:var(--rdv-navy); }

/* Question */
.rdvenc-question { border-left:4px solid var(--rdv-navy); }
.rdvenc-q-num { display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--rdv-navy);color:#fff;font-size:.75rem;font-weight:800;flex-shrink:0; }
.rdvenc-required { color:var(--rdv-red);margin-left:.2rem; }

/* Multiple choice */
.rdvenc-options { display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem; }
.rdvenc-option input { display:none; }
.rdvenc-option-btn { display:block;padding:.75rem 1.1rem;border:1.5px solid var(--rdv-border);border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .18s;background:#fff; }
.rdvenc-option:hover .rdvenc-option-btn { border-color:var(--rdv-navy);background:#eff6ff; }
.rdvenc-option input:checked + .rdvenc-option-btn { background:var(--rdv-navy);color:#fff;border-color:var(--rdv-navy); }

/* Yes/No */
.rdvenc-yesno { display:flex;gap:1rem;margin-top:.75rem; }
.rdvenc-yesno-btn { flex:1;text-align:center; }
.rdvenc-yesno-btn input { display:none; }
.rdvenc-yesno-btn span { display:block;padding:1rem;border:2px solid var(--rdv-border);border-radius:10px;cursor:pointer;font-size:1.1rem;font-weight:700;transition:all .18s; }
.rdvenc-yesno-btn--yes input:checked + span { background:#dcfce7;border-color:var(--rdv-green);color:var(--rdv-green); }
.rdvenc-yesno-btn--no  input:checked + span { background:#fee2e2;border-color:var(--rdv-red);color:var(--rdv-red); }
.rdvenc-yesno-btn span:hover { border-color:var(--rdv-navy); }

/* Scale */
.rdvenc-scale { margin-top:.75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap; }
.rdvenc-scale-label { font-size:.78rem;color:#64748b;font-weight:600;flex-shrink:0;max-width:90px;text-align:center; }
.rdvenc-scale-btns { display:flex;gap:.35rem;flex-wrap:wrap; }
.rdvenc-scale-btn input { display:none; }
.rdvenc-scale-btn span { display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:2px solid var(--rdv-border);border-radius:8px;cursor:pointer;font-weight:800;font-size:.95rem;transition:all .18s; }
.rdvenc-scale-btn:hover span { border-color:var(--rdv-navy);background:#eff6ff; }
.rdvenc-scale-btn input:checked + span { background:var(--rdv-navy);color:#fff;border-color:var(--rdv-navy); }

/* Ranking */
.rdvenc-ranking-hint { font-size:.8rem;color:#64748b;margin-bottom:.5rem;display:flex;align-items:center;gap:.3rem; }
.rdvenc-ranking-list { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem; }
.rdvenc-rank-item { display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border:1.5px solid var(--rdv-border);border-radius:8px;cursor:grab;user-select:none;transition:box-shadow .18s; }
.rdvenc-rank-item:active { cursor:grabbing;box-shadow:0 4px 16px rgba(0,0,0,.15); }
.rdvenc-rank-item.sortable-ghost { opacity:.4; }
.rdvenc-rank-item.sortable-drag  { box-shadow:0 6px 24px rgba(0,0,0,.2); }
.rdvenc-rank-handle { font-size:1.1rem;color:#94a3b8;cursor:grab; }
.rdvenc-rank-num { display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--rdv-navy);color:#fff;font-size:.7rem;font-weight:800;flex-shrink:0; }
.rdvenc-rank-text { font-size:.9rem;font-weight:600; }

/* Submit */
.rdvenc-submit-wrap { background:#fff;border:1.5px solid var(--rdv-border);border-top:none;border-radius:0 0 10px 10px;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:.75rem;align-items:flex-start; }
.rdvenc-privacy-note { font-size:.75rem;color:#94a3b8; }
.rdvenc-submit-btn { background:var(--rdv-navy);color:#fff;border:none;padding:.85rem 2.5rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:.5rem; }
.rdvenc-submit-btn:hover { background:#122a50;transform:translateY(-1px); }
.rdvenc-submit-btn:disabled { opacity:.6;cursor:not-allowed;transform:none; }
.rdvenc-arrow { transition:transform .18s; }
.rdvenc-submit-btn:hover .rdvenc-arrow { transform:translateX(4px); }
.rdvenc-msg { padding:.75rem 1rem;border-radius:6px;font-size:.88rem;margin-top:.5rem; }

/* Results */
.rdvenc-results-wrap .rdvenc-header { border-radius:10px 10px 0 0; }
.rdvenc-results-meta { display:flex;align-items:center;gap:.75rem;margin-top:.5rem; }
.rdvenc-total-badge { background:rgba(255,255,255,.2);color:#fff;padding:.3em .8em;border-radius:20px;font-size:.8rem;font-weight:700; }
.rdvenc-status-tag { font-size:.75rem;font-weight:700;padding:.3em .8em;border-radius:20px; }
.rdvenc-status-tag.active { background:#dcfce7;color:#16a34a; }
.rdvenc-status-tag.closed { background:#fee2e2;color:#CC0000; }

/* Filters */
.rdvenc-filters { background:var(--rdv-bg);border:1.5px solid var(--rdv-border);border-top:none;padding:.75rem 1.5rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap; }
.rdvenc-filter-label { font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em; }
.rdvenc-filter-select { padding:.4rem .6rem;border:1.5px solid var(--rdv-border);border-radius:6px;font-size:.8rem;background:#fff; }
.rdvenc-filter-reset { padding:.4rem .8rem;border:1.5px solid var(--rdv-border);border-radius:6px;background:#fff;font-size:.78rem;cursor:pointer; }

/* Result block */
.rdvenc-result-block { background:#fff;border:1.5px solid var(--rdv-border);border-top:none;padding:1.25rem 1.5rem; }
.rdvenc-result-question { display:flex;align-items:center;gap:.75rem;font-weight:700;color:var(--rdv-navy);margin-bottom:1rem;font-size:.95rem; }
.rdvenc-ans-count { font-size:.72rem;font-weight:400;color:#94a3b8;margin-left:auto; }

/* Bar chart */
.rdvenc-bar-chart { display:flex;flex-direction:column;gap:.5rem; }
.rdvenc-bar-row { display:grid;grid-template-columns:180px 1fr 48px 60px;align-items:center;gap:.5rem; }
.rdvenc-bar-label { font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.rdvenc-bar-track { background:#e2e8f0;border-radius:4px;height:22px;overflow:hidden; }
.rdvenc-bar-fill  { background:var(--rdv-navy);height:100%;border-radius:4px;transition:width .6s ease; }
.rdvenc-bar-pct   { font-size:.82rem;font-weight:700;color:var(--rdv-navy); }
.rdvenc-bar-cnt   { font-size:.72rem;color:#94a3b8; }

/* Yes/No results */
.rdvenc-yesno-results { display:flex;height:60px;border-radius:8px;overflow:hidden;gap:2px; }
.rdvenc-yesno-result { display:flex;flex-direction:column;align-items:center;justify-content:center;transition:flex .4s ease; }
.rdvenc-yesno-result--yes { background:#dcfce7;color:#16a34a; }
.rdvenc-yesno-result--no  { background:#fee2e2;color:#CC0000; }
.rdvenc-yn-pct  { font-size:1.2rem;font-weight:900; }
.rdvenc-yn-label{ font-size:.72rem;font-weight:600; }
.rdvenc-yn-cnt  { font-size:.7rem;opacity:.7; }

/* Scale results */
.rdvenc-scale-results { display:flex;flex-direction:column;gap:.75rem; }
.rdvenc-scale-avg { display:flex;align-items:baseline;gap:.5rem; }
.rdvenc-avg-num   { font-size:2.5rem;font-weight:900;color:var(--rdv-navy); }
.rdvenc-avg-label { font-size:.8rem;color:#64748b; }
.rdvenc-gauge-track { position:relative;background:#e2e8f0;border-radius:20px;height:12px;overflow:hidden; }
.rdvenc-gauge-fill  { background:var(--rdv-navy);height:100%;border-radius:20px;transition:width .6s ease; }
.rdvenc-gauge-labels { display:flex;justify-content:space-between;font-size:.72rem;color:#94a3b8;margin-top:.25rem; }
.rdvenc-scale-dist { display:flex;flex-direction:column;gap:.25rem; }
.rdvenc-scale-dist-row { display:grid;grid-template-columns:20px 1fr 40px;gap:.5rem;align-items:center;font-size:.78rem; }
.rdvenc-sd-bar { background:#e2e8f0;border-radius:4px;height:14px;overflow:hidden; }
.rdvenc-sd-fill { background:var(--rdv-red);height:100%;border-radius:4px; }
.rdvenc-sd-val  { font-weight:800;color:var(--rdv-navy);text-align:right; }

/* Ranking results */
.rdvenc-ranking-results { display:flex;flex-direction:column;gap:.5rem; }
.rdvenc-rank-result { display:flex;align-items:center;gap:1rem;padding:.6rem .75rem;background:var(--rdv-bg);border-radius:8px; }
.rdvenc-rank-medal { font-size:1.4rem;flex-shrink:0; }
.rdvenc-rank-name  { font-weight:700;font-size:.9rem;flex:1; }
.rdvenc-rank-avg   { font-size:.75rem;color:#64748b; }

/* Demographics */
.rdvenc-demo-section { background:#fff;border:1.5px solid var(--rdv-border);border-top:none;border-radius:0 0 10px 10px;padding:1.5rem; }
.rdvenc-demo-title   { font-size:.95rem;font-weight:800;color:var(--rdv-navy);margin:0 0 1.25rem; }
.rdvenc-demo-grid    { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem; }
.rdvenc-demo-block   { }
.rdvenc-demo-block--wide { grid-column:1/-1; }
.rdvenc-demo-label   { font-size:.75rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem; }
.rdvenc-demo-row     { display:flex;align-items:center;gap:.5rem;font-size:.78rem;margin-bottom:.35rem; }
.rdvenc-demo-row span:first-child { width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.rdvenc-demo-bar     { flex:1;background:#e2e8f0;border-radius:4px;height:12px;overflow:hidden; }
.rdvenc-demo-bar div { background:var(--rdv-navy);height:100%;border-radius:4px; }

/* Toggle switch */
.rdvenc-switch { position:relative;display:inline-block;width:44px;height:24px; }
.rdvenc-switch input { display:none; }
.rdvenc-slider { position:absolute;inset:0;background:#cbd5e1;border-radius:24px;cursor:pointer;transition:.25s; }
.rdvenc-slider::before { content:'';position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s;box-shadow:0 1px 3px rgba(0,0,0,.2); }
input:checked + .rdvenc-slider { background:var(--rdv-navy); }
input:checked + .rdvenc-slider::before { transform:translateX(20px); }

@media(max-width:600px) {
  .rdvenc-demo-grid  { grid-template-columns:1fr; }
  .rdvenc-bar-row    { grid-template-columns:120px 1fr 40px 0; }
  .rdvenc-bar-cnt    { display:none; }
  .rdvenc-section    { padding:1.25rem; }
  .rdvenc-header     { padding:1.25rem; }
}
