/* Evaluación Integral de Ciberseguridad y Privacidad · BDO Argentina
   Todos los estilos están acotados a #bdoCyberApp para no afectar al resto del sitio. */
#bdoCyberApp{
  --bdo-red:#ED1A3B;
  --bdo-red-dark:#CE4149;
  --bdo-blue:#20409A;
  --bdo-gray:#A6A6A6;
  --bdo-dark:#333333;
  --bg:#F4F5F7;
  --card:#FFFFFF;
  --border:#E3E5EA;
  --text:#242424;
  --text-soft:#6B6E76;
  --radius:14px;
  --shadow:0 2px 10px rgba(20,20,30,.06);
  --lvl-100:#2F9E44;
  --lvl-80:#82C91E;
  --lvl-60:#F1C40F;
  --lvl-40:#E67E22;
  --lvl-20:#E4572E;
  --lvl-0:#C0392B;
  --lvl-na:#A6A6A6;
}
#bdoCyberApp, #bdoCyberApp *{box-sizing:border-box;}
#bdoCyberApp{margin:0;padding:0;}
#bdoCyberApp{
  font-family:"Trebuchet MS","Segoe UI",Verdana,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
#bdoCyberApp img{max-width:100%;display:block;}


/* ---------- layout shell ---------- */#bdoCyberApp .app-shell{max-width:960px;margin:0 auto;padding:0 18px 60px;}
#bdoCyberApp header.topbar{
  background:var(--bdo-dark);
  color:#fff;
  padding:16px 18px;
}
#bdoCyberApp .topbar-inner{
  max-width:960px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
}
#bdoCyberApp .topbar-inner img.logo{height:34px;width:auto;}
#bdoCyberApp .topbar-title{
  text-align:right;
}
#bdoCyberApp .topbar-title h1{
  font-size:15px;margin:0;font-weight:700;letter-spacing:.02em;color:#fff;
}
#bdoCyberApp .topbar-title p{
  margin:2px 0 0;font-size:11.5px;color:var(--bdo-gray);letter-spacing:.03em;text-transform:uppercase;
}
#bdoCyberApp .hero{
  background:linear-gradient(135deg,var(--bdo-red) 0%,var(--bdo-red-dark) 100%);
  color:#fff;border-radius:0 0 18px 18px;
  padding:30px 22px 34px;margin-bottom:26px;
}
#bdoCyberApp .hero h2{margin:0 0 8px;font-size:22px;}
#bdoCyberApp .hero p{margin:0;opacity:.92;font-size:14.5px;max-width:640px;}


/* ---------- progress ---------- */#bdoCyberApp .progress-wrap{margin:0 0 26px;}
#bdoCyberApp .progress-track{
  height:8px;border-radius:6px;background:var(--border);overflow:hidden;
}
#bdoCyberApp .progress-fill{
  height:100%;background:linear-gradient(90deg,var(--bdo-blue),var(--bdo-red));
  transition:width .35s ease;
}
#bdoCyberApp .progress-steps{
  display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:var(--text-soft);
  flex-wrap:wrap;gap:4px;
}
#bdoCyberApp .progress-steps span{white-space:nowrap;}
#bdoCyberApp .progress-steps span.current{color:var(--bdo-red);font-weight:700;}


/* ---------- cards / sections ---------- */#bdoCyberApp .screen{display:none;}
#bdoCyberApp .screen.active{display:block;animation:bdoFadein .25s ease;}

@keyframes bdoFadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}#bdoCyberApp .card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px;margin-bottom:18px;box-shadow:var(--shadow);
}
#bdoCyberApp .card h3{margin:0 0 14px;font-size:17px;color:var(--bdo-dark);}
#bdoCyberApp .card h3 .dom-icon{margin-right:8px;}
#bdoCyberApp .card .card-sub{font-size:13px;color:var(--text-soft);margin:-8px 0 16px;}
#bdoCyberApp .field{margin-bottom:16px;}
#bdoCyberApp .field label{display:block;font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:6px;}
#bdoCyberApp .field textarea,
#bdoCyberApp .field input[type=text]{
  width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;
  font-family:inherit;font-size:13.5px;color:var(--text);resize:vertical;background:#FAFAFB;
}
#bdoCyberApp .field textarea{min-height:60px;}
#bdoCyberApp .field textarea:focus,
#bdoCyberApp .field input:focus{outline:2px solid var(--bdo-blue);outline-offset:1px;background:#fff;}
#bdoCyberApp .field .req-mark{color:var(--bdo-red);}
#bdoCyberApp .field input.invalid,
#bdoCyberApp .field textarea.invalid{border-color:var(--bdo-red);background:#FDEFEF;}
#bdoCyberApp .field-error{display:none;font-size:11.5px;color:var(--bdo-red);margin-top:5px;}
#bdoCyberApp .field-error.show{display:block;}
#bdoCyberApp .two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

@media(max-width:600px){#bdoCyberApp .two-col{grid-template-columns:1fr;}
}


/* ---------- legend ---------- */#bdoCyberApp .legend{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;
  margin-bottom:20px;background:#FAFAFB;border:1px solid var(--border);border-radius:12px;padding:14px;
}
#bdoCyberApp .legend-item{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text-soft);}
#bdoCyberApp .legend-dot{width:12px;height:12px;border-radius:50%;flex:none;margin-top:2px;}
#bdoCyberApp .legend-item b{color:var(--text);display:block;font-size:12.5px;}


/* ---------- question ---------- */#bdoCyberApp .question{
  border-top:1px solid var(--border);padding:18px 0;
}
#bdoCyberApp .question:first-of-type{border-top:none;padding-top:4px;}
#bdoCyberApp .q-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px;}
#bdoCyberApp .q-num{
  flex:none;width:26px;height:26px;border-radius:50%;background:var(--bdo-dark);color:#fff;
  font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;
}
#bdoCyberApp .q-text{font-size:14px;color:var(--text);flex:1;}
#bdoCyberApp .q-tag{
  flex:none;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;
  padding:3px 8px;border-radius:20px;background:#EEF0FF;color:var(--bdo-blue);white-space:nowrap;
}
#bdoCyberApp .q-tag[data-cat="Privacidad"]{background:#FDEAEA;color:var(--bdo-red-dark);}
#bdoCyberApp .q-tag[data-cat="Seginfo"]{background:#EAF1FD;color:var(--bdo-blue);}
#bdoCyberApp .q-tag[data-cat="Operación"]{background:#EEF6EA;color:#2F7A3D;}
#bdoCyberApp .scale{display:flex;flex-wrap:wrap;gap:6px;margin-left:36px;}
#bdoCyberApp .scale button{
  border:1.5px solid var(--border);background:#fff;border-radius:9px;
  padding:7px 10px;font-size:12px;font-weight:600;color:var(--text-soft);cursor:pointer;
  min-width:40px;text-align:center;transition:.15s;font-family:inherit;
}
#bdoCyberApp .scale button:hover{border-color:var(--bdo-blue);}
#bdoCyberApp .scale button.selected{color:#fff;border-color:transparent;}
#bdoCyberApp .scale button.na{font-size:10.5px;}
#bdoCyberApp .q-selected-desc{margin:8px 0 0 36px;font-size:12px;color:var(--text-soft);min-height:14px;}
#bdoCyberApp .q-comment-toggle{
  margin:8px 0 0 36px;font-size:12px;color:var(--bdo-blue);cursor:pointer;background:none;border:none;
  font-family:inherit;padding:0;text-decoration:underline;
}
#bdoCyberApp .q-comment{margin:8px 0 0 36px;display:none;}
#bdoCyberApp .q-comment.open{display:block;}
#bdoCyberApp .q-comment textarea{width:100%;max-width:520px;border:1px solid var(--border);border-radius:8px;
  padding:8px 10px;font-family:inherit;font-size:12.5px;min-height:44px;background:#FAFAFB;}


/* ---------- nav buttons ---------- */#bdoCyberApp .nav-row{display:flex;justify-content:space-between;gap:12px;margin-top:6px;}
#bdoCyberApp .btn{
  border:none;border-radius:10px;padding:12px 20px;font-size:13.5px;font-weight:700;
  cursor:pointer;font-family:inherit;letter-spacing:.01em;transition:.15s;
}
#bdoCyberApp .btn-primary{background:var(--bdo-red);color:#fff;}
#bdoCyberApp .btn-primary:hover{background:var(--bdo-red-dark);}
#bdoCyberApp .btn-secondary{background:#fff;color:var(--bdo-dark);border:1.5px solid var(--border);}
#bdoCyberApp .btn-secondary:hover{border-color:var(--bdo-gray);}
#bdoCyberApp .btn-ghost{background:none;color:var(--bdo-blue);text-decoration:underline;padding:8px 4px;}
#bdoCyberApp .btn:disabled{opacity:.45;cursor:not-allowed;}
#bdoCyberApp .btn-block{width:100%;}


/* ---------- results ---------- */#bdoCyberApp .result-top{display:flex;gap:24px;flex-wrap:wrap;align-items:center;}
#bdoCyberApp .gauge-wrap{flex:none;text-align:center;}
#bdoCyberApp .gauge-score{font-size:30px;font-weight:800;}
#bdoCyberApp .gauge-label{font-size:12px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.04em;}
#bdoCyberApp .band-pill{
  display:inline-block;margin-top:6px;padding:5px 14px;border-radius:20px;color:#fff;font-size:12.5px;font-weight:700;
}
#bdoCyberApp .result-desc{flex:1;min-width:220px;}
#bdoCyberApp .result-desc p{margin:4px 0;font-size:13.5px;color:var(--text-soft);}
#bdoCyberApp .stat-row{display:flex;gap:18px;margin-top:14px;flex-wrap:wrap;}
#bdoCyberApp .stat{font-size:12.5px;color:var(--text-soft);}
#bdoCyberApp .stat b{display:block;font-size:18px;color:var(--text);}
#bdoCyberApp .domain-bar-row{margin-bottom:14px;}
#bdoCyberApp .domain-bar-head{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:4px;}
#bdoCyberApp .domain-bar-head b{color:var(--text);font-weight:700;}
#bdoCyberApp .domain-bar-track{height:12px;border-radius:8px;background:var(--border);overflow:hidden;}
#bdoCyberApp .domain-bar-fill{height:100%;border-radius:8px;transition:width .5s ease;}
#bdoCyberApp .domain-bar-meta{font-size:11px;color:var(--text-soft);margin-top:3px;}


/* ---------- charts grid ---------- */#bdoCyberApp .charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}

@media(max-width:760px){#bdoCyberApp .charts-grid{grid-template-columns:1fr;}
}
#bdoCyberApp .chart-card{background:#FAFAFB;border:1px solid var(--border);border-radius:12px;padding:16px 18px;}
#bdoCyberApp .chart-card h4{margin:0 0 4px;font-size:13.5px;color:var(--bdo-dark);}
#bdoCyberApp .chart-card .chart-sub{font-size:11px;color:var(--text-soft);margin:0 0 12px;}
#bdoCyberApp .chart-card.full{grid-column:1 / -1;}
#bdoCyberApp .radar-wrap{text-align:center;}
#bdoCyberApp .radar-wrap svg{max-width:320px;}
#bdoCyberApp .action-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
#bdoCyberApp .detail-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px;}
#bdoCyberApp .detail-table th,
#bdoCyberApp .detail-table td{border:1px solid var(--border);padding:7px 8px;text-align:left;vertical-align:top;}
#bdoCyberApp .detail-table th{background:#FAFAFB;font-size:11px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-soft);}
#bdoCyberApp .detail-table td.lvl{white-space:nowrap;font-weight:700;text-align:center;}
#bdoCyberApp .detail-domain-title{margin:22px 0 8px;font-size:14px;color:var(--bdo-dark);border-bottom:2px solid var(--bdo-red);padding-bottom:4px;}
#bdoCyberApp footer.foot{text-align:center;font-size:11.5px;color:var(--text-soft);padding:26px 0 10px;}


/* ---------- modal ---------- */#bdoCyberApp .modal-overlay{
  position:fixed;inset:0;background:rgba(20,20,24,.55);
  display:none;align-items:center;justify-content:center;z-index:99999;padding:16px;
}
#bdoCyberApp .modal-overlay.open{display:flex;}
#bdoCyberApp .modal-box{
  background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:88vh;overflow:auto;
  padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.35);
}
#bdoCyberApp .modal-box h3{margin:0 0 8px;font-size:16.5px;color:var(--bdo-dark);}
#bdoCyberApp .modal-note{font-size:12.5px;color:var(--text-soft);margin:0 0 16px;}
#bdoCyberApp .modal-field{margin-bottom:12px;font-size:13px;}
#bdoCyberApp .modal-field b{display:block;color:var(--text-soft);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;}
#bdoCyberApp .modal-body-text{
  width:100%;min-height:230px;border:1px solid var(--border);border-radius:9px;padding:10px 12px;
  font-family:inherit;font-size:12.5px;background:#FAFAFB;resize:vertical;color:var(--text);
}
#bdoCyberApp .modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center;}
#bdoCyberApp .modal-actions .btn{padding:10px 16px;font-size:12.5px;text-decoration:none;display:inline-flex;align-items:center;}
#bdoCyberApp .copy-feedback{font-size:12px;color:var(--lvl-100);font-weight:700;display:none;}



/* ---------- print report (hidden on screen, shown when printing) ---------- */
#bdoCyberApp #printReport{display:none;}

@media print{
  #bdoCyberApp{background:#fff;}
  #bdoCyberApp header.topbar,
  #bdoCyberApp .hero, #bdoCyberApp .progress-wrap, #bdoCyberApp #screens,
  #bdoCyberApp .nav-row, #bdoCyberApp .action-row, #bdoCyberApp .btn,
  #bdoCyberApp .q-comment-toggle, #bdoCyberApp footer.foot,
  #bdoCyberApp .modal-overlay{display:none !important;}
  #bdoCyberApp #printReport{display:block !important;}
  #bdoCyberApp .app-shell{max-width:100%;padding:0;}
  #bdoCyberApp .card{box-shadow:none;border:1px solid #ccc;break-inside:avoid;}
}
