
:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142033;background:#eef4f3}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eaf3f2,#f7faf9);min-height:100vh}
button,input{font:inherit}button{cursor:pointer}
.qv2-shell{max-width:1120px;margin:0 auto;padding:18px}
.qv2-top{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #d9e5e2;border-radius:22px;padding:18px;box-shadow:0 10px 35px #173c3420}
.qv2-brand{display:flex;align-items:center;gap:13px}.qv2-brand img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.qv2-brand h1{font-size:1.2rem;margin:0}.qv2-brand p{margin:3px 0 0;color:#61706e;font-weight:650}
.qv2-back{border:1px solid #cbdad6;background:#f7fbfa;color:#084c3f;border-radius:14px;padding:10px 16px;font-weight:800}
.qv2-status{margin:16px 0;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #d9e5e2;font-weight:750}
.qv2-status.loading{color:#8a5b00;background:#fff9e8}.qv2-status.error{color:#9c1c1c;background:#fff1f1}.qv2-status.ok{color:#075b49;background:#ecfbf6}
.qv2-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.qv2-group{border:1px solid #cfe0dc;background:#fff;border-radius:20px;padding:18px;text-align:left;box-shadow:0 8px 26px #173c3415;display:flex;align-items:center;justify-content:space-between;gap:12px}
.qv2-group .icon{font-size:2rem}.qv2-group h2{font-size:1rem;margin:0}.qv2-group p{margin:4px 0 0;color:#6b7a78;font-size:.86rem;font-weight:650}.qv2-count{font-size:1.8rem;color:#086451;font-weight:900}
.qv2-toolbar{display:flex;gap:12px;margin:16px 0}.qv2-toolbar input{flex:1;padding:14px 16px;border:1px solid #cbdad6;border-radius:15px;background:#fff;font-weight:700}.qv2-toolbar button{border:1px solid #cbdad6;background:#fff;border-radius:15px;padding:12px 16px;font-weight:800}
.qv2-list{display:grid;gap:14px}.qv2-card{background:#fff;border:1px solid #d8e5e1;border-radius:22px;padding:18px;box-shadow:0 9px 28px #173c3414}
.qv2-person{display:flex;align-items:center;gap:13px}.qv2-avatar{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#35baa3;color:white;font-size:1.2rem;font-weight:900}
.qv2-person h3{margin:0;font-size:1.05rem}.qv2-person p{margin:4px 0 0;color:#5d6e6b;font-weight:700}.qv2-war{color:#08705b!important}
.qv2-meta{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.qv2-pill{background:#f0f6f4;border-radius:999px;padding:7px 10px;font-size:.8rem;font-weight:800}
.qv2-last{border:1px solid #b8ccc7;border-radius:15px;padding:11px 13px;text-align:center;font-weight:800;background:#fbfdfc}
.qv2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.qv2-stat,.qv2-actions{border-radius:15px;padding:12px;border:1px solid #d8e5e1;background:#f8fbfa}.qv2-stat strong{display:block;font-size:1.35rem}.qv2-actions{display:grid;gap:7px}.qv2-actions button{border:0;border-radius:10px;padding:9px;font-weight:850;background:#0b6654;color:#fff}.qv2-actions .secondary{background:#eaf5f2;color:#0b6654}
.qv2-modal-host:empty{display:none}.qv2-modal-host{position:fixed;inset:0;z-index:999999;background:#10231f99;display:flex;align-items:flex-start;justify-content:center;padding:14px;overflow:auto}
.qv2-modal{width:min(900px,100%);background:white;border-radius:22px;margin:auto;box-shadow:0 25px 80px #0005;overflow:hidden}
.qv2-modal-head{display:flex;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #dfe8e5}.qv2-modal-head h2{margin:0;font-size:1.15rem}.qv2-modal-head p{margin:4px 0 0;color:#657572;font-weight:700}
.qv2-close{border:1px solid #cbdad6;background:#f5faf8;border-radius:12px;padding:9px 14px;font-weight:850}.qv2-modal-body{padding:18px;display:grid;gap:14px}
.qv2-section{border:1px solid #dce7e4;border-radius:16px;padding:14px}.qv2-section h3{margin:0 0 10px}.qv2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.qv2-grid div{background:#f6faf9;border-radius:12px;padding:10px}.qv2-grid span{display:block;color:#667572;font-size:.75rem;font-weight:800}.qv2-grid strong{display:block;margin-top:3px}
.qv2-item{padding:10px;border:1px solid #dce7e4;border-radius:12px;margin:7px 0;background:#fbfdfc}.qv2-item strong,.qv2-item small{display:block}.qv2-item small{color:#667572;margin-top:4px;font-weight:650}
.qv2-evidence{width:100%;height:70vh;border:1px solid #dce7e4;border-radius:14px;background:white}
.qv2-loading{padding:24px;text-align:center;font-weight:850;color:#07604e}.qv2-error{padding:14px;border-radius:14px;background:#fff0f0;color:#9d2020;font-weight:800}
.qv2-manual-actions{display:flex;gap:9px;flex-wrap:wrap}.qv2-manual-actions button{border:0;background:#086451;color:#fff;border-radius:12px;padding:11px 15px;font-weight:850}
@media(max-width:760px){.qv2-shell{padding:8px}.qv2-top{border-radius:0;margin:-8px -8px 0}.qv2-groups{grid-template-columns:1fr}.qv2-stats{grid-template-columns:repeat(2,1fr)}.qv2-toolbar{flex-direction:column}.qv2-modal-host{padding:5px}.qv2-modal{border-radius:18px}.qv2-evidence{height:65vh}}

/* F841.11.2 — estabilidade e extrato integral */
.qv2-evidence-section{overflow:hidden}
.qv2-evidence{display:block;width:100%;height:400px;border:0;border-radius:10px;overflow:hidden;background:#fff}
.qv2-modal-body{overflow:visible}
.qv2-modal{contain:layout paint}
.qv2-card,.qv2-last,.qv2-stat,.qv2-actions{animation:none!important;transition:none!important}
.qv2-person>div:last-child{min-width:0}
.qv2-person h3{overflow-wrap:anywhere}
@media(max-width:760px){
 .qv2-top{justify-content:flex-start}
 .qv2-modal{width:100%;margin:0 auto}
 .qv2-modal-body{padding:12px}
 .qv2-section{padding:12px}
}

/* F841.11.3 */
.qv2-grid strong{overflow-wrap:anywhere;word-break:break-word}
.qv2-evidence{min-height:240px;height:auto}
.qv2-select-item{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #dce7e4;border-radius:12px;margin:8px 0;background:#fbfdfc}
.qv2-select-item input{width:20px;height:20px;margin-top:2px}
.qv2-select-item span,.qv2-select-item strong,.qv2-select-item small{display:block}
.qv2-select-item small{color:#667572;margin-top:3px}

/* F841.11.4 — cores operacionais e quebra segura */
.qv2-stat.valid,.status-valid{background:#e7f8ef;border-color:#8bd4ad}
.qv2-stat.due,.status-due{background:#fff7dc;border-color:#e7c86d}
.qv2-stat.expired,.status-expired{background:#fdebec;border-color:#e6a1a7}
.status-unknown{background:#f4f6f6;border-color:#ccd5d3}
.qv2-grid strong{overflow-wrap:anywhere;word-break:break-word}
.qv2-observations{margin-top:12px;padding:12px;border-radius:12px;background:#fffaf0}
.qv2-observations h4{margin:0 0 8px}.qv2-observations p{margin:5px 0}
.qv2-evidence{display:block;width:100%;min-height:260px;height:auto;border:0;background:#fff}

/* F841.11.5 — cards operacionais clicáveis */
button.qv2-stat{font:inherit;text-align:left;cursor:pointer;width:100%}
button.qv2-stat span{display:block;margin-top:8px;font-size:.76rem;font-weight:850;color:#176b59}
button.qv2-stat:active{transform:scale(.99)}
.qv2-empty{padding:18px;text-align:center;font-weight:750;color:#63716f}

/* F841.12.3 — card atualizado imediatamente após consulta */
.qv2-card-updated-f841123{animation:qv2CardUpdatedF841123 1.1s ease-out 1}
@keyframes qv2CardUpdatedF841123{
  0%{transform:scale(.992);box-shadow:0 0 0 3px rgba(15,118,95,.20)}
  100%{transform:scale(1);box-shadow:inherit}
}

/* F841.12.6 — CMA não interpretado */
.qv2-cma-uninterpreted{background:#fff8e6;border-color:#d8b64c}
.qv2-cma-uninterpreted p{margin:0;color:#6a5822;font-weight:750;line-height:1.45}

.qv2-training-edit{grid-column:1/-1}.qv2-training-row{padding:16px;border:1px solid #cad8d5;border-radius:18px;margin-bottom:14px;background:#fbfdfc}.qv2-training-row label,.qv2-training-security label{display:grid;gap:6px;font-weight:800;color:#31413f;margin-bottom:12px}.qv2-training-row input,.qv2-training-row textarea,.qv2-training-security input{width:100%;box-sizing:border-box;padding:12px;border:1px solid #b8c9c5;border-radius:12px;font:inherit;background:#fff}.qv2-training-row textarea{min-height:74px}.qv2-training-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qv2-training-active{display:flex!important;align-items:center;gap:9px}.qv2-training-active input{width:auto}.qv2-remove-training{background:#fff0f0!important;color:#8d2525!important;border:1px solid #e5b1b1!important}.qv2-training-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.qv2-training-editor-actions button{padding:14px;border:0;border-radius:14px;font-weight:850;background:#08735f;color:#fff}.qv2-success{padding:16px;border-radius:16px;background:#e7f8f1;color:#075b49;font-weight:850;margin-bottom:14px}@media(max-width:520px){.qv2-training-dates,.qv2-training-editor-actions{grid-template-columns:1fr}}

.qv2-registration-summary{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:10px;padding:14px;border:1px solid #d9e4e2;border-radius:18px;background:#f7fbfa;margin-bottom:14px}.qv2-registration-summary div{display:grid;gap:4px}.qv2-registration-summary span{font-size:12px;color:#63716f;font-weight:800}.qv2-registration-summary strong{color:#18252d}.qv2-form-intro{padding:16px;border:1px solid #d9e4e2;border-radius:18px;background:#fff;margin-bottom:14px}.qv2-form-intro h3{margin:0 0 6px}.qv2-form-intro p{margin:0;color:#60706d;line-height:1.45}.qv2-qualification-entry{border:1px solid #cbd9d6;border-radius:20px;background:#fff;margin-bottom:14px;overflow:hidden}.qv2-qualification-entry-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#eff7f4;border-bottom:1px solid #d7e4e1}.qv2-qualification-entry-head>div{display:flex;align-items:center;gap:10px}.qv2-step-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#08735f;color:#fff;font-weight:900}.qv2-entry-remove{border:1px solid #e4b8b8!important;background:#fff5f5!important;color:#8a2929!important;padding:8px 11px!important;border-radius:10px!important}.qv2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.qv2-field{display:grid;gap:7px}.qv2-field-wide{grid-column:1/-1}.qv2-field>span{font-weight:850;color:#34433f}.qv2-field input,.qv2-field select,.qv2-field textarea{width:100%;box-sizing:border-box;border:1px solid #b9cac6;border-radius:13px;background:#fff;padding:12px;font:inherit;color:#17252c}.qv2-field textarea{min-height:85px;resize:vertical}.qv2-entry-active{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-weight:850}.qv2-entry-active input{width:auto}.qv2-status-preview{min-height:47px;display:flex;align-items:center;padding:11px 12px;border-radius:13px;border:1px solid #cad6d3;font-weight:900}.qv2-status-preview.status-valid{background:#e7f7ef;color:#086044;border-color:#9ed7bd}.qv2-status-preview.status-due{background:#fff7d9;color:#796115;border-color:#e3cf7b}.qv2-status-preview.status-expired{background:#fdeaea;color:#8b2a2a;border-color:#e7aaaa}.qv2-status-preview.status-unknown{background:#f3f5f5;color:#66706f}.qv2-training-editor-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:12px 0 2px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.qv2-training-editor-actions button{min-height:52px;border:0;border-radius:14px;font-weight:900;background:#08735f;color:#fff}.qv2-training-editor-actions .secondary{background:#eaf4f1;color:#08604f}@media(max-width:600px){.qv2-registration-summary,.qv2-form-grid,.qv2-training-editor-actions{grid-template-columns:1fr}.qv2-field-wide{grid-column:auto}}
.qv2-original-workflow{display:grid;gap:14px}.qv2-step-title{display:flex;gap:12px;padding:16px;border-radius:18px;background:#fff}.qv2-step-title>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#07846f;color:#fff;font-weight:900}.qv2-real-section{border:1px solid #d2e1de;border-radius:20px;background:#fff;overflow:hidden}.qv2-real-section summary{display:flex;justify-content:space-between;gap:12px;padding:16px;background:#e9fbf5;cursor:pointer}.qv2-real-section summary div{display:grid;gap:4px}.qv2-real-section summary>span{background:#edf5ff;color:#1b65a0;padding:6px 10px;border-radius:999px;font-weight:850}.qv2-real-section-items{padding:12px;display:grid;gap:12px}.qv2-real-requirement{border:1px solid #d9e4e2;border-radius:18px;background:#fff;overflow:hidden}.qv2-real-requirement-head{display:flex;justify-content:space-between;gap:12px;padding:14px;background:#f8fbfa}.qv2-real-requirement-head>div{display:grid;gap:4px}
/* F841.12.10R3 — validade automática */
.qv2-field input[readonly][data-training-expiry]{
 background:#eef5f3;
 color:#24443e;
 font-weight:850;
 cursor:not-allowed;
}
.qv2-auto-validity-note{
 display:block;
 margin-top:6px;
 color:#14715f;
 font-weight:750;
 line-height:1.35;
}
