﻿/* VadoC 2.1 · componentes del sistema de diseño (idénticos al mockup aprobado)
   Folio, tarjetas con pestaña, cintas de indicadores, sellos, filtros, gráficos con volumen y movimiento, tooltips.
   Requiere vadoc-theme.css (variables de color/tipografía y modo Noche). */
body.vc{--d1:#2b6cb0;--d2:#d98a1c;--d3:#2a9d8f;--d4:#a5479b;--d5:#6b7c2e;--h0:253,236,228;--h1:160,28,14;--g0:226,241,232;--g1:20,110,78;--heatink:#3a1a14}
[data-theme=noche] body.vc,[data-theme=noche] .vc{--d1:#5aa2ff;--d2:#f0b13a;--d3:#3fcf9a;--d4:#d27be0;--d5:#a9c25a;--h0:40,34,40;--h1:255,107,87;--g0:28,48,46;--g1:63,207,154;--heatink:#e8ecf3}
body.vc svg{display:block}
/* ===== folio (encabezado de página) ===== */
.vc-folio{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-bottom:16px;border-bottom:2px solid var(--ink);margin-bottom:6px;position:relative}
.vc-folio:after{content:"";position:absolute;left:0;right:0;bottom:-6px;border-bottom:1px solid var(--ink)}
.vc-folio .vc-k{font:700 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
body.vc .vc-folio h1{margin:0;font:600 36px/1.08 var(--head);letter-spacing:-.02em;color:var(--ink)}
.vc-folio p{margin:8px 0 0;color:var(--ink2);max-width:64ch}
.vc-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.vc-body{margin-top:30px}
.vc-crumb{font:12px var(--sans);color:var(--mut);margin-bottom:12px}.vc-crumb a{text-decoration:underline;text-underline-offset:3px;color:var(--mut)}
/* ===== tarjetas con pestaña ===== */
.vc-panel{position:relative;background:var(--sheet);border:1px solid var(--rule2);border-radius:4px 12px 12px 12px;padding:26px 22px 20px;margin-bottom:26px;box-shadow:var(--sh);transition:box-shadow .25s,translate .25s;animation:vcRise .55s cubic-bezier(.2,.8,.2,1) both;color:var(--ink)}
.vc-panel:hover{translate:0 -2px}
.vc-panel>.vc-tab{position:absolute;top:-1px;left:-1px;transform:translateY(-100%);background:var(--btn);color:var(--onbtn);font:700 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:6px 6px 0 0}
.vc-panel>.vc-tab.red{background:var(--accent);color:var(--onacc)}
.vc-panel>.vc-tools{position:absolute;right:16px;top:10px;display:flex;gap:6px}
body.vc .vc-panel h3{margin:0 0 2px;font:600 17px var(--head);color:var(--ink)}.vc-panel .vc-s{color:var(--mut);font-size:12.5px;margin-bottom:14px}
.vc-g{display:grid;gap:26px;margin-bottom:26px}.vc-g>*{min-width:0}.vc-g .vc-panel{margin-bottom:0}
.vc-c2{grid-template-columns:1fr 1fr}.vc-c3{grid-template-columns:repeat(3,1fr)}.vc-c4{grid-template-columns:repeat(4,1fr)}.vc-c21{grid-template-columns:1.7fr 1fr}.vc-c12{grid-template-columns:1fr 1.7fr}
@keyframes vcRise{from{translate:0 12px;opacity:0}}
/* ===== libro mayor de indicadores ===== */
.vc-ledger{display:grid;grid-template-columns:repeat(var(--n,4),1fr);border:1px solid var(--rule2);background:var(--sheet);border-radius:12px;margin-bottom:26px;overflow:hidden;box-shadow:var(--sh)}
.vc-ledger>div,.vc-ledger>a{padding:18px 20px 14px;border-right:1px solid var(--rule);position:relative;animation:vcRise .5s var(--d,0s) both;transition:background .2s;color:inherit;text-decoration:none}
.vc-ledger>*:last-child{border-right:0}.vc-ledger>*:hover{background:var(--sheet2);text-decoration:none}
.vc-ledger small{display:block;font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.vc-ledger b{display:block;font:600 40px/1.1 var(--head);letter-spacing:-.02em;margin:4px 0 2px;color:var(--ink)}
.vc-ledger .d{font-size:12px;color:var(--green)}.vc-ledger .d.dn{color:var(--red)}
.vc-ledger svg.sp{position:absolute;right:14px;bottom:12px}
/* ===== sellos, chips, barras, avisos ===== */
.vc-stamp{display:inline-block;font:700 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:2px 8px;border:1.5px solid;border-radius:4px;white-space:nowrap;line-height:1.4}
.vc-stamp.ok{color:var(--green);background:var(--green2);border-color:var(--green)}.vc-stamp.prog{color:var(--blue);background:var(--blue2);border-color:var(--blue)}.vc-stamp.new{color:var(--ochre);background:var(--ochre2);border-color:var(--ochre)}.vc-stamp.no{color:var(--red);background:var(--red2);border-color:var(--red)}.vc-stamp.mut{color:var(--mut);background:var(--sheet2);border-color:var(--rule2)}
.vc-pbar{display:flex;align-items:center;gap:10px}.vc-pbar .t{flex:1;min-width:70px;height:6px;background:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 10%);border-bottom:1px solid var(--rule2);position:relative}.vc-pbar .t i{position:absolute;left:0;bottom:-1px;height:6px;background:var(--navy);display:block}.vc-pbar span{font-size:12px;min-width:36px;text-align:right}
.vc-chip{display:inline-block;border:1.5px solid var(--rule2);border-radius:99px;padding:3px 12px;font-size:12.5px;background:var(--field);cursor:pointer;color:var(--ink2)}.vc-chip.on{background:var(--btn);color:var(--onbtn);border-color:var(--btn)}
.vc-note{background:var(--ochre2);border:1.5px dashed var(--ochre);color:var(--ink);padding:11px 16px;border-radius:8px;margin-bottom:22px;font-size:13px}
.vc-empty{padding:40px;text-align:center;color:var(--mut);border:1.5px dashed var(--rule2);border-radius:10px}
.vc-lg{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink2);margin-top:8px}.vc-lg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.vc-id{font-size:12px;color:var(--mut)}
.vc-av2{width:36px;height:36px;border-radius:50%;background:var(--accent2);color:#0f2a63;display:grid;place-items:center;font:700 12px var(--head);flex:none;object-fit:cover}
/* ===== filtros: globales (alcance editable) y de alcance fijo ===== */
.vc-fbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--sheet);border:1px solid var(--rule2);border-left:5px solid var(--accent);border-radius:10px;padding:10px 16px;margin-bottom:24px;box-shadow:var(--sh);position:sticky;top:66px;z-index:6}
.vc-fbar.scope{border-left-color:var(--navy)}
.vc-fbar .vc-ft{font:700 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.vc-fx{display:flex;flex-direction:column;gap:2px}.vc-fx>span{font:700 9.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.vc-fbar select,.vc-fbar input{background:var(--field);border:1.5px solid var(--rule2);border-radius:8px;color:var(--ink);padding:5px 9px;min-width:140px;height:34px}
.vc-fsum{margin-left:auto;font-size:12px;color:var(--mut)}.vc-fsum b{color:var(--ink)}.vc-fbar .sep{flex:1}
/* ===== tablas del sistema ===== */
.vc-t{width:100%;border-collapse:collapse;font-size:13px}.vc-t th{font:700 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);text-align:left;padding:9px 8px;border-bottom:2px solid var(--ink);white-space:nowrap}
.vc-t td{padding:9px 8px;border-bottom:1px solid var(--rule);vertical-align:middle}.vc-t tbody tr:hover{background:var(--sheet2)}.vc-t .n{text-align:right}
.vc-sub{display:block;color:var(--mut);font-size:12px}
.vc-scroll{overflow-x:auto}
/* ===== gráficos: volumen y movimiento ===== */
body.vc .ch text{font-family:var(--sans)}
body.vc .ch .b{filter:drop-shadow(0 3px 3px rgba(0,0,0,.22));transition:filter .15s,translate .15s;cursor:pointer}
body.vc .ch .b:hover{filter:drop-shadow(0 7px 6px rgba(0,0,0,.3)) brightness(1.12)}body.vc .ch .gx:hover{translate:3px 0}body.vc .ch .gy:hover{translate:0 -3px}
body.vc .ch .gx{transform-box:fill-box;transform-origin:left center;animation:vcGx .8s cubic-bezier(.2,.8,.2,1) var(--d,0s) both}
body.vc .ch .gy{transform-box:fill-box;transform-origin:center bottom;animation:vcGy .8s cubic-bezier(.2,.8,.2,1) var(--d,0s) both}
@keyframes vcGx{from{scale:0 1}}@keyframes vcGy{from{scale:1 0}}
body.vc .ch .draw{stroke-dasharray:1;stroke-dashoffset:0;animation:vcDraw 1.3s ease-out both}@keyframes vcDraw{from{stroke-dashoffset:1}}
body.vc .ch .fade,body.vc .ch .vl{animation:vcFade .7s var(--d,.4s) both}@keyframes vcFade{from{opacity:0}}
body.vc .ch .dot,body.vc .ch .pop{transform-box:fill-box;transform-origin:center;animation:vcPop .45s cubic-bezier(.3,1.6,.5,1) var(--d,0s) both;transition:scale .15s;cursor:pointer}
body.vc .ch .dot:hover,body.vc .ch .pop:hover{scale:1.5}@keyframes vcPop{from{scale:0;opacity:0}}
body.vc .ch .seg{animation:vcSeg 1.1s cubic-bezier(.3,.7,.2,1) var(--d,0s) both;transition:stroke-width .15s;cursor:pointer}body.vc .ch .seg:hover{stroke-width:28}
body.vc .ch .sweepg{animation:vcSeg 1.2s cubic-bezier(.3,.7,.2,1) both}@keyframes vcSeg{from{stroke-dasharray:0 100}}
body.vc .ch .rad{animation:vcRad 1s cubic-bezier(.3,.8,.2,1) var(--d,0s) both}@keyframes vcRad{from{scale:0}}
body.vc .ch .hc:hover{fill:var(--ink);fill-opacity:.07}
body.vc .ch .pulse{transform-box:fill-box;transform-origin:center;animation:vcPulse 1.8s ease-in-out infinite}@keyframes vcPulse{50%{scale:1.7;opacity:.55}}
.vc-stk{flex:1;display:flex;height:24px;border-radius:5px;overflow:hidden;box-shadow:0 4px 8px -4px rgba(0,0,0,.4)}
.vc-stk i{display:grid;place-items:center;color:#fff;font:700 10.5px var(--sans);font-style:normal;transform-origin:left;animation:vcGxh .9s cubic-bezier(.2,.8,.2,1) var(--d,0s) both;background-image:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0) 55%,rgba(0,0,0,.16));transition:filter .15s;cursor:pointer}.vc-stk i:hover{filter:brightness(1.18)}
@keyframes vcGxh{from{scale:0 1}}
.vc-heat{border-collapse:separate;border-spacing:3px;width:100%}.vc-heat th{border:0;padding:4px 6px;font:700 10px var(--sans);color:var(--mut);text-transform:uppercase;letter-spacing:.08em;text-align:center}
.vc-heat td{padding:0;border:0;height:34px;text-align:center;font:700 12px var(--sans);border-radius:3px;min-width:54px;animation:vcCell .5s cubic-bezier(.3,1.4,.5,1) var(--d,0s) both;transition:scale .12s,box-shadow .12s;cursor:pointer;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12),inset 0 2px 0 rgba(255,255,255,.18)}
.vc-heat td.l{animation:none;box-shadow:none;cursor:default;text-align:left;font:13px var(--sans);padding-right:10px;white-space:nowrap;color:var(--ink)}
.vc-heat td:not(.l):hover{scale:1.14;position:relative;z-index:2;box-shadow:0 6px 14px rgba(0,0,0,.3)}
.vc-heat td.na{background:repeating-linear-gradient(45deg,var(--rule) 0 4px,var(--sheet2) 4px 8px);box-shadow:none}@keyframes vcCell{from{scale:.5;opacity:0}}
:is(.ch,.vc-anim):not(.in) *,:is(.ch,.vc-anim):not(.in){animation-play-state:paused}
@media(prefers-reduced-motion:reduce){body.vc *{animation:none!important;transition:none!important}}
/* tooltip con el cálculo */
#vcTip{position:fixed;z-index:2000;pointer-events:none;max-width:330px;background:var(--ink);color:var(--paper);padding:10px 13px;border-radius:9px;font-size:12.5px;line-height:1.45;box-shadow:0 14px 30px rgba(0,0,0,.38);opacity:0;transition:opacity .12s;border-left:4px solid var(--accent)}
#vcTip.on{opacity:1}#vcTip .tv{font:600 22px/1.15 var(--head);margin:2px 0}#vcTip .te{opacity:.9}#vcTip small{opacity:.75}
#vcTip .tc{margin-top:7px;padding-top:7px;border-top:1px dashed color-mix(in srgb,var(--paper) 40%,transparent);font-size:11.5px;opacity:.88}
/* ===== responsive ===== */
@media(max-width:1100px){.vc-c2,.vc-c3,.vc-c4,.vc-c21,.vc-c12{grid-template-columns:1fr}.vc-ledger{grid-template-columns:1fr 1fr}.vc-ledger>*:nth-child(2n){border-right:0}.vc-ledger>*{border-bottom:1px solid var(--rule)}}
@media(max-width:700px){
 body.vc .vc-folio h1{font-size:27px}.vc-folio .vc-acts{width:100%}.vc-body{margin-top:20px}.vc-panel{padding:22px 14px 16px}.vc-g{gap:20px}
 .vc-ledger b{font-size:28px}.vc-ledger svg.sp{display:none}
 .vc-fbar{position:static;padding:10px 12px;gap:8px}.vc-fx{flex:1 1 44%}.vc-fbar select,.vc-fbar input{min-width:0;width:100%}.vc-fsum{margin-left:0;width:100%}.vc-fbar .sep{display:none}
}

/* pestañas internas */
.vc-tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}.vc-tabs button{border:1.5px solid var(--rule2);background:var(--field);padding:7px 14px;border-radius:99px;color:var(--ink2);font-weight:700;cursor:pointer}.vc-tabs button.on{background:var(--btn);color:var(--onbtn);border-color:var(--btn)}
@media(max-width:700px){.vc-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}.vc-tabs button{white-space:nowrap}}

/* filtros de tabla */
.vc-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}
.vc-filters .vc-fx input,.vc-filters .vc-fx select{background:var(--field);border:1.5px solid var(--rule2);border-radius:8px;color:var(--ink);padding:5px 9px;min-width:150px;height:36px}
.vc-filters .btn{height:36px}
/* panel lateral (drawer) para crear / editar */
.vc-veil{position:fixed;inset:0;background:rgba(15,39,71,.45);opacity:0;pointer-events:none;transition:.2s;z-index:1060}body.vc-drawer-open .vc-veil{opacity:1;pointer-events:auto}
.vc-drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--sheet);border-left:2px solid var(--ink);transform:translateX(100%);transition:transform .25s;z-index:1061;display:flex;flex-direction:column}
.vc-drawer.on{transform:none}.vc-drawer form{display:flex;flex-direction:column;height:100%;margin:0}
.vc-drawer header{padding:22px 26px;border-bottom:1px solid var(--rule2)}.vc-drawer header .vc-k{font:700 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.vc-drawer header h2{margin:4px 0 0;font:600 24px var(--head);color:var(--ink)}
.vc-drawer .vc-dbody{padding:24px 26px;overflow:auto;flex:1}.vc-drawer footer{padding:16px 26px;border-top:1px solid var(--rule2);display:flex;gap:10px;justify-content:flex-end}
.vc-drawer .vc-fx>span{margin-bottom:4px}.vc-drawer .vc-fx input,.vc-drawer .vc-fx select{width:100%}
/* los modales de Bootstrap marcados con .vc-drawer-modal se muestran como panel lateral */
.modal.vc-drawer-modal .modal-dialog{position:fixed;right:0;top:0;bottom:0;margin:0;width:min(560px,100%);transform:translateX(100%);transition:transform .25s}
.modal.vc-drawer-modal.in .modal-dialog{transform:none}.modal.vc-drawer-modal .modal-content{height:100%;border-radius:0;border-left:2px solid var(--ink);overflow:auto;display:flex;flex-direction:column}
.modal.vc-drawer-modal .modal-body{flex:1;overflow:auto}
.vc-acts .pull-right{float:none!important}.vc-acts .btn-group{display:inline-block}

.vc-ph{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid var(--rule)}.vc-pb{padding:0}
.vc-open{display:block!important;height:auto!important}

/* formularios de filtro heredados (Bootstrap) con el aspecto de las barras de filtro del sistema */
body.vc .panel:has(> .panel-heading form){border-left:5px solid var(--accent)}
body.vc .panel-heading form .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0}
body.vc .panel-heading form .row>[class*=col-]{flex:1 1 170px;width:auto;float:none;padding:0;min-width:0}
body.vc .panel-heading form .row>[class*=col-] .btn-block{width:100%}
body.vc .panel-heading form h6{margin:0 0 4px}
body.vc .panel-heading{overflow:visible}
@media(max-width:700px){body.vc .panel-heading form .row>[class*=col-]{flex:1 1 44%}}
/* barras de filtro del servidor (formularios heredados dentro de .vc-fbar) */
.vc-fbar .vc-fbody{width:100%}.vc-fbar .vc-fbody form .row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0}
.vc-fbar .vc-fbody form .row>[class*=col-]{flex:1 1 170px;width:auto;float:none;padding:0;min-width:0}.vc-fbar .vc-fbody h6{margin:0 0 4px}
.vc-fbar .vc-fbody .form-control{min-width:0}

/* interruptor del sistema */
.vc-sw{position:relative;display:inline-block;width:42px;height:22px;margin:0;vertical-align:middle}.vc-sw input{opacity:0;width:0;height:0;position:absolute}
.vc-sw i{position:absolute;inset:0;background:var(--rule2);border-radius:99px;transition:.2s;cursor:pointer}.vc-sw i:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.vc-sw input:checked+i{background:var(--green)}.vc-sw input:checked+i:before{left:23px}
#tblSecurityRoles th.rotate{vertical-align:bottom;text-align:center}#tblSecurityRoles th.rotate>div{width:30px}

/* v2.1.3 — correcciones de desbordes (columnas flotantes, barra de progreso, filtros) */
.vc-panel::after,.vc-pb::after,.vc-ph::after,.vc-open::after,body.vc .panel-body::after,body.vc .panel-heading::after,body.vc .well::after,body.vc .row::after{content:"";display:table;clear:both}
.vc-panel,.vc-pb,.vc-open{overflow:visible;height:auto}
.vc-panel>.vc-pb>[class*=col-],.vc-panel>.vc-open>.vc-pb>[class*=col-]{min-height:1px}
.vc-panel .form-control,.vc-panel select.form-control{max-width:100%}
.vc-panel .control-label h4,.vc-panel .control-label h5{margin:0 0 6px;font-size:14px;line-height:1.3}
body.vc .progress{height:26px;margin:6px 0 18px;overflow:hidden;position:relative;border-radius:99px}
body.vc .progress-bar{height:100%;line-height:26px;font:700 12px/26px var(--sans);color:#fff;white-space:nowrap;min-width:max-content;padding:0 12px;text-align:left;display:flex;align-items:center}
body.vc .progress-bar-text{overflow:visible}
body.vc .well{background:var(--sheet);border:1px solid var(--rule2);border-radius:4px 12px 12px 12px;box-shadow:var(--sh);padding:16px 18px 6px;margin-bottom:22px}
body.vc .well [class*=col-]{min-width:0}
body.vc .well .form-control{width:100%}
body.vc .vc-folio+.row,body.vc .vc-folio+.vc-body{margin-top:18px}
body.vc .panel-body>.row,body.vc .panel-body [class*=col-]{min-width:0}
body.vc .panel-body table{max-width:100%}
body.vc .panel-collapse .panel-body{overflow:visible}
body.vc .panel-heading .row{margin-left:-8px;margin-right:-8px}
body.vc .panel-heading .row>[class*=col-]{padding-left:8px;padding-right:8px}
@media(max-width:991px){body.vc .panel-body [class*=col-md-],body.vc .vc-pb [class*=col-md-]{width:100%;float:none}}
.vc-hz{display:grid;grid-template-columns:repeat(24,1fr);gap:3px}.vc-hz i{height:30px;border-radius:3px;display:block}.vc-hzl{display:flex;justify-content:space-between;font-size:10px;color:var(--mut);margin-top:4px}

/* Ver evaluación (solo lectura): tarjetas de pregunta del mockup */
.tblSinBorde{width:100%;border:0}.tblSinBorde>tbody>tr>td{padding:0;border:0}
.vc-q{background:var(--sheet);border:1px solid var(--rule2);border-left:6px solid var(--rule2);border-radius:4px 10px 10px 4px;padding:18px 22px 12px;margin-bottom:16px;box-shadow:var(--sh);transition:.25s}
.vc-q.si{border-left-color:var(--green)}.vc-q.no{border-left-color:var(--red)}.vc-q.na{border-left-color:var(--na)}
.vc-qtags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;align-items:center}
.vc-qtags>span:not(.vc-qhelp){font:600 10.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);border:1px solid var(--rule2);padding:2px 9px;border-radius:4px;background:var(--field);cursor:pointer}
.vc-qtags>span:not(.vc-qhelp):hover{border-color:var(--accent);color:var(--accent)}
.vc-qhelp{margin-left:auto;color:var(--mut);font-size:17px;cursor:help}
.vc-qt{font:600 17px/1.4 var(--head);color:var(--ink);margin:0 0 14px}.vc-qt p{margin:0}
.vc-qa{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap}
.vc-qab{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:11px 18px;border-radius:12px;font:700 14px var(--sans);color:#fff;background:var(--na)}
.vc-qab.si{background:var(--green);box-shadow:0 6px 16px color-mix(in srgb,var(--green) 38%,transparent)}.vc-qab.no{background:var(--red);box-shadow:0 6px 16px color-mix(in srgb,var(--red) 38%,transparent)}
.vc-qab.none{background:var(--track);color:var(--mut)}
.vc-qo{flex:1;min-width:240px;display:flex;align-items:center;background:var(--field);border:1.5px solid var(--rule2);border-radius:10px;padding:8px 14px;color:var(--ink);min-height:44px}.vc-qo.empty{color:var(--mut);font-style:italic}
.vc-q .imageholder{margin:12px 0 0;padding:0;list-style:none;display:flex;gap:12px}
.vc-qfoot{margin-top:10px;border-top:1px solid var(--rule);padding:6px 0 0}.vc-qfoot .panel-title{margin:0}
.vc-qfil{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.vc-qfil select{width:auto;min-width:170px;height:36px;border-radius:8px}
.vc-pgrow{display:flex;align-items:center;gap:12px}.vc-pgrow .progress{flex:1;height:10px;margin:0}.vc-pgrow .progress-bar{height:100%;padding:0;min-width:0}.vc-pgrow b{font-size:12px;color:var(--ink2);white-space:nowrap}
@media(max-width:700px){.vc-q{padding:14px 14px 10px}.vc-qab{width:100%}.vc-qfil select{flex:1 1 100%}}

/* Reporte de uso: tarjeta Generar dentro del encabezado */
.vc-gen{margin-bottom:22px;background:var(--sheet);border:1px solid var(--rule2);border-left:5px solid var(--accent);border-radius:4px 12px 12px 4px;padding:12px 16px;box-shadow:var(--sh)}
.vc-gen-h{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-bottom:8px}.vc-gen-h b{font:600 14px var(--head);color:var(--ink)}.vc-gen-h span{font-size:12px;color:var(--mut)}
.vc-gen .row{display:flex;flex-wrap:wrap;gap:10px;margin:0;align-items:flex-end}
.vc-gen .row>[class*=col-]{float:none;width:auto;padding:0;flex:1 1 140px;min-width:0}
.vc-gen h6{margin:0 0 3px;font:700 9.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.vc-gen .form-control{height:36px;width:100%}

/* Credenciales de usuario */
.vc-cred{margin-top:22px}.vc-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.vc-opt{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--rule2);border-radius:10px;padding:12px 14px;background:var(--field);cursor:pointer;margin:0}
.vc-opt:hover{border-color:var(--accent)}.vc-opt input{margin-top:4px}.vc-opt b{display:block;font:600 14px var(--head);color:var(--ink)}.vc-opt small{display:block;color:var(--mut);font-size:12px;margin-top:2px;font-weight:400}
.vc-cred-man{margin-bottom:12px}.vc-cred-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.vc-cred-grid .vc-fx{margin:0}
.vc-pw{position:relative;display:block}.vc-pw .form-control{padding-right:40px;width:100%}.vc-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--mut);cursor:pointer;padding:6px}
.vc-strength{height:6px;border-radius:99px;background:var(--track);margin:12px 0 8px;overflow:hidden}.vc-strength i{display:block;height:100%;width:0;border-radius:99px;transition:width .25s,background .25s}
.vc-req{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--mut)}
.vc-req li:before{content:"○";margin-right:6px}.vc-req li.ok{color:var(--green)}.vc-req li.ok:before{content:"●"}.vc-req li.no{color:var(--red)}.vc-req li.no:before{content:"○"}
.vc-cred-chk{display:grid;gap:6px;margin:10px 0}.vc-cred-chk label{margin:0;font-weight:400;display:flex;gap:8px;align-items:center;color:var(--ink2)}
.vc-note-sec{font-size:12.5px;color:var(--mut);margin-top:6px}.vc-cred-act{margin-top:14px}
.vc-cred-res{margin-top:14px;border:1px solid var(--rule2);border-left:5px solid var(--green);border-radius:4px 10px 10px 4px;padding:12px 16px;background:var(--sheet);color:var(--ink)}.vc-cred-res.err{border-left-color:var(--red)}
.vc-clave{display:flex;align-items:center;gap:10px;margin:8px 0}.vc-clave code{font:600 16px/1.2 monospace;background:var(--field);border:1px solid var(--rule2);padding:6px 12px;border-radius:8px;color:var(--ink);letter-spacing:.04em;user-select:all}
@media(max-width:900px){.vc-opts,.vc-cred-grid{grid-template-columns:1fr}}
