/* CSS enxuto: somente seletores usados pelo núcleo reestruturado. */
.runtime-diagnostic{position:sticky;top:0;z-index:20000;margin:0 0 18px;padding:14px 18px;border:1px solid #ef4444;border-left:5px solid #ef4444;border-radius:10px;background:#450a0a;color:#fee2e2;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.eyebrow{display:block;margin-bottom:5px;color:var(--brand-primary);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.topic-tree{max-height:530px;overflow:auto;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-body)}
.universal-tree-group{margin-bottom:7px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface)}
.universal-tree-header,.universal-tree-item{display:grid;grid-template-columns:28px 24px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:44px;padding:7px 10px}
.universal-tree-header{background:var(--surface-hover);font-weight:850;color:var(--text-title)}
.universal-tree-header:hover,.universal-tree-item:hover,.tree-subitem:hover{background:rgba(16,185,129,.08)}
.universal-tree-items{padding:4px 7px 8px}
.universal-tree-items:not([hidden]){display:block}
.universal-tree-items[hidden],.tree-subitems[hidden]{display:none!important}
.universal-tree-item{padding-left:13px;font-size:.86rem}
.tree-subitems{padding:2px 5px 8px 57px}
.tree-subitem{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:7px;padding:7px 9px;border-radius:8px;color:var(--text-main);font-size:.8rem;line-height:1.38;cursor:pointer}
.cbx-custom{accent-color:var(--brand-primary)}
.table-subline{display:block;margin-top:3px;color:var(--text-muted);font-size:.7rem}
.history-net,.discursive-note{font-size:1.2rem}
.positive{color:var(--brand-success)!important}
.negative{color:var(--brand-danger)!important}
.history-score-line{display:flex;gap:9px;font-weight:800}
.history-score-line .correct{color:var(--brand-success)}
.history-score-line .wrong{color:var(--brand-danger)}
.history-badge{display:inline-block;margin-top:5px;padding:3px 8px;border-radius:12px;font-size:.62rem;font-weight:900;text-transform:uppercase}
.history-badge.pass{background:rgba(16,185,129,.14);color:var(--brand-success)}
.history-badge.fail{background:rgba(239,68,68,.14);color:var(--brand-danger)}
.history-badge.neutral{background:var(--surface-hover);color:var(--text-muted)}
.history-modal-overlay{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:20px;background:rgba(2,6,23,.87);backdrop-filter:blur(7px)}
.history-modal{display:flex;flex-direction:column;width:min(1100px,100%);max-height:92vh;border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}
.history-modal-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border);background:var(--surface-hover)}
.history-modal-header span{font-size:.72rem;color:var(--text-muted)}
.history-modal-header h2{margin:3px 0 0;color:var(--text-title)}
.history-modal-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:14px 20px;border-bottom:1px solid var(--border)}
.history-modal-summary div{padding:10px;border-radius:9px;background:var(--bg-body);text-align:center}
.history-modal-summary span{display:block;font-size:.65rem;color:var(--text-muted);text-transform:uppercase}
.history-modal-summary strong{font-size:1.25rem;color:var(--text-title)}
.history-filters{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border)}
.history-answer-list{overflow:auto;padding:17px 20px}
.history-answer{margin-bottom:12px;padding:15px;border:1px solid var(--border);border-left:5px solid var(--text-muted);border-radius:10px;background:var(--bg-body)}
.history-answer.correct{border-left-color:var(--brand-success)}
.history-answer.wrong{border-left-color:var(--brand-danger)}
.history-answer.blank{border-left-color:var(--brand-accent)}
.history-answer header{display:flex;justify-content:space-between;gap:12px}
.history-answer header span{font-size:.75rem;color:var(--text-muted)}
.history-answer p{line-height:1.55}
.history-answer-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.history-answer-meta span{padding:4px 8px;border-radius:7px;background:var(--surface-hover);font-size:.68rem}
.bank-lot-card{padding:18px}
.bank-lot-header{display:flex;gap:14px;align-items:flex-start}
.bank-lot-title{flex:1}
.bank-lot-title h3{margin:0 0 7px;color:var(--text-title)}
.bank-lot-meta{display:flex;flex-wrap:wrap;gap:8px}
.bank-lot-meta span{font-size:.7rem;color:var(--text-muted)}
.bank-lot-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}
.empty-state{text-align:center;padding:38px;color:var(--text-muted)}
.empty-state.compact{padding:18px}
.empty-state i{font-size:2rem;margin-bottom:8px;color:var(--brand-primary)}
.btn-sm{padding:7px 10px!important;font-size:.72rem!important}
.btn.danger{border-color:var(--brand-danger);color:var(--brand-danger)}
@media (max-width:1100px){.history-modal-summary{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.history-modal-summary{grid-template-columns:repeat(2,1fr)}
.tree-subitems{padding-left:34px}
.universal-tree-header,.universal-tree-item{grid-template-columns:25px 22px minmax(0,1fr) auto}}
@media print{main{margin:0!important;padding:0!important}
.page{display:none!important}}

.routing-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.35fr);gap:20px;align-items:start}
.routing-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.routing-card-head h3{margin:3px 0 0}
.routing-score-label{font-size:.72rem;font-weight:800;color:var(--text-muted);border:1px solid var(--border);padding:5px 8px;border-radius:999px}
.routing-priority-card{display:grid;grid-template-columns:34px 1fr 48px;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border)}
.routing-priority-card:last-child{border-bottom:0}
.routing-priority-rank{width:30px;height:30px;border-radius:9px;background:var(--surface-hover);display:grid;place-items:center;font-weight:900;color:var(--brand-primary)}
.routing-priority-main{display:flex;flex-direction:column;gap:2px;min-width:0}
.routing-priority-main strong{font-size:.88rem;color:var(--text-title);line-height:1.25}
.routing-priority-main span,.routing-priority-main small{font-size:.7rem;color:var(--text-muted)}
.routing-priority-score{font-size:1.15rem;font-weight:900;text-align:right;color:var(--brand-accent)}
.routing-help,.config-note{font-size:.82rem;color:var(--text-muted);line-height:1.5}
.routing-block{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:9px;background:var(--surface)}
.routing-block-header{width:100%;border:0;background:var(--surface-hover);color:var(--text-title);padding:12px 14px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}
.routing-block-header span{display:flex;gap:9px;align-items:center;font-size:.82rem;font-weight:800}
.routing-block-header small{font-size:.68rem;color:var(--text-muted)}
.routing-block-body{padding:4px 14px 8px}
.routing-topic-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.routing-topic-row:last-child{border-bottom:0}
.routing-topic-name{display:flex;flex-direction:column;gap:2px}
.routing-topic-name span{font-size:.78rem;line-height:1.3}
.routing-topic-name small{font-size:.65rem;color:var(--text-muted)}
.routing-domain-control{display:grid;grid-template-columns:1fr 42px;gap:8px;align-items:center}
.routing-domain-control input{width:100%;margin:0}
.routing-domain-control strong{font-size:.75rem;text-align:right;color:var(--brand-primary)}
.bank-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:20px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.bank-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}
.bank-toolbar span{font-size:.74rem;color:var(--text-muted)}
.bank-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.bank-list{display:flex;flex-direction:column;gap:15px}
.config-grid-clean{align-items:start}
.config-grid-clean .card h3{margin:0 0 18px}
.config-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.api-test-status{min-height:22px;margin-top:10px;font-size:.82rem;color:var(--text-muted)}
.storage-status{display:flex;gap:12px;align-items:flex-start;padding:13px 14px;border-radius:10px;margin:8px 0 14px}
.storage-status i{font-size:1.15rem;margin-top:2px}
.storage-status div{display:flex;flex-direction:column;gap:3px}
.storage-status strong{font-size:.84rem}
.storage-status span{font-size:.72rem;line-height:1.45}
.storage-status.ok{background:rgba(16,185,129,.09);border:1px solid rgba(16,185,129,.3);color:var(--brand-success)}
.storage-status.ok span{color:var(--text-muted)}
.storage-status.warning{background:rgba(245,158,11,.09);border:1px solid rgba(245,158,11,.35);color:var(--brand-warning)}
.storage-status.warning span{color:var(--text-muted)}
.question-resource-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 2px}
.resource-btn{border-color:#8b5cf6!important;color:#7c3aed!important}
.resource-status{font-size:.68rem;color:var(--brand-success);font-weight:700}
.resource-inline{margin-top:10px;border-color:#8b5cf6!important;color:#7c3aed!important}
.resource-report{display:flex;flex-direction:column;gap:13px;text-align:left}
.resource-verdict{padding:12px 14px;border-radius:10px;background:var(--surface-hover);border-left:4px solid var(--brand-primary);display:flex;flex-direction:column;gap:3px}
.resource-verdict span{font-size:.65rem;letter-spacing:.08em;font-weight:800;color:var(--text-muted)}
.resource-verdict strong{font-size:1rem}
.resource-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.resource-compare>div{padding:10px;border:1px solid var(--border);border-radius:9px;text-align:center;background:var(--surface)}
.resource-compare span{display:block;font-size:.64rem;color:var(--text-muted);text-transform:uppercase;font-weight:800}
.resource-compare strong{display:block;margin-top:3px}
.resource-warning{padding:10px 12px;border-radius:8px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);font-size:.78rem;line-height:1.45}
.resource-sources{display:flex;flex-direction:column;gap:7px}
.resource-sources strong{font-size:.78rem}
.resource-sources a{font-size:.74rem;color:var(--brand-primary);word-break:break-word}
.resource-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
@media (max-width:980px){.routing-layout{grid-template-columns:1fr}
.bank-toolbar{align-items:flex-start;flex-direction:column}
.routing-topic-row{grid-template-columns:1fr}
.routing-domain-control{grid-template-columns:1fr 46px}
.resource-compare{grid-template-columns:1fr}
.config-action-grid{grid-template-columns:1fr}
.question-resource-bar{align-items:flex-start;flex-direction:column}}

/* ========================================================================== */
/* Patch 007 · Edital organizado, tarefas em segundo plano e CRAVA            */
/* ========================================================================== */
.edital-tree-toolbar{position:sticky;top:-8px;z-index:8;display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:-1px -1px 9px;padding:9px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(8px)}
.edital-tree-search{flex:1;min-width:210px;position:relative}.edital-tree-search i{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:.76rem;color:var(--text-muted)}.edital-tree-search input{width:100%;padding-left:32px!important;height:37px!important}.edital-tree-selected{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:35px;padding:0 10px;border:1px solid rgba(16,185,129,.28);border-radius:999px;background:rgba(16,185,129,.08);color:var(--brand-primary);font-size:.7rem;font-weight:900;white-space:nowrap}.edital-tree-tools{display:flex;gap:5px}.edital-tree-tools button{height:34px;min-width:34px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer}.edital-tree-tools button:hover{color:var(--brand-primary);border-color:rgba(16,185,129,.4)}
.tree-code{display:inline-flex;align-items:center;justify-content:center;min-width:31px;height:22px;padding:0 6px;border-radius:6px;background:var(--surface-hover);color:var(--brand-primary);font:800 .64rem/1 'Fira Code',monospace;white-space:nowrap}.tree-weight{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:rgba(245,158,11,.1);color:var(--brand-accent);font-size:.61rem;font-weight:900;white-space:nowrap}.tree-item-main{min-width:0;display:flex;align-items:flex-start;gap:7px}.tree-item-main>span:last-child{min-width:0;line-height:1.36}.tree-item[hidden],.tree-subitem[hidden],.tree-group[hidden]{display:none!important}.tree-item-toggle{border:0;background:transparent;color:var(--text-muted);width:24px;height:24px;cursor:pointer}.tree-block-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.topic-tree .tree-group{border:1px solid var(--border);border-radius:10px;margin:0 0 7px;overflow:hidden;background:var(--surface)}.topic-tree .tree-header{display:grid;grid-template-columns:24px 22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 12px;background:var(--surface-hover);cursor:pointer}.topic-tree .tree-items{display:block;padding:5px 7px 9px}.topic-tree .tree-items[hidden]{display:none!important}.topic-tree .tree-item{display:grid;grid-template-columns:24px 22px minmax(0,1fr) auto;gap:7px;align-items:start;margin:0;padding:8px 8px;border-radius:8px}.topic-tree .tree-item:hover{background:rgba(16,185,129,.06)}
.routing-recovery-status{margin:0 0 12px;padding:9px 11px;border:1px solid rgba(59,130,246,.2);border-radius:9px;background:rgba(59,130,246,.06);color:var(--text-muted);font-size:.72rem;line-height:1.4}.routing-recovery-status strong{color:var(--text-title)}.routing-recovery-inline{display:inline-flex;gap:5px;align-items:center;color:#3b82f6;font-weight:800}.routing-evidence{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin-top:3px!important}.routing-evidence b{font-weight:900}.routing-evidence .ev-ok{color:var(--brand-success)}.routing-evidence .ev-bad{color:var(--brand-danger)}.routing-evidence .ev-blank{color:var(--brand-accent)}.routing-evidence .ev-net{color:#3b82f6}

/* Central de gerações. Deslocada para não brigar com o widget de datas. */
.bg-jobs-dock{position:fixed;right:365px;bottom:22px;z-index:940;display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(420px,calc(100vw - 28px));font-family:inherit}.bg-jobs-toggle{display:none;align-items:center;gap:9px;max-width:100%;min-height:42px;padding:9px 12px;border:1px solid rgba(148,163,184,.35);border-radius:999px;background:var(--surface);color:var(--text-main);box-shadow:0 10px 30px rgba(15,23,42,.16);cursor:pointer}.bg-jobs-dock.has-jobs .bg-jobs-toggle{display:flex}.bg-jobs-toggle>span:not(.bg-jobs-badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.bg-jobs-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:999px;background:var(--brand-primary);color:#fff;font-size:.72rem;font-weight:800}.bg-jobs-panel{width:min(410px,calc(100vw - 28px));max-height:min(62vh,560px);overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:16px;background:var(--surface);box-shadow:0 18px 48px rgba(15,23,42,.2)}.bg-jobs-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;border-bottom:1px solid var(--border)}.bg-jobs-head strong{display:block}.bg-jobs-head small{display:block;margin-top:2px;color:var(--text-muted)}.bg-jobs-clear,.bg-job-action,.bg-toast-action{border:0;background:transparent;color:var(--brand-primary);font:inherit;font-weight:800;cursor:pointer}.bg-jobs-clear{font-size:.76rem}.bg-jobs-list{max-height:470px;overflow:auto;padding:8px}.bg-job-item{padding:11px;border-radius:12px;border:1px solid var(--border);background:var(--bg-body);margin-bottom:7px}.bg-job-item.is-done{border-color:rgba(16,185,129,.25)}.bg-job-item.is-error{border-color:rgba(239,68,68,.28)}.bg-job-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.bg-job-top strong{font-size:.9rem;line-height:1.25}.bg-job-state{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.bg-job-detail{margin-top:5px;font-size:.79rem;line-height:1.35;color:var(--text-muted)}.bg-job-progress{height:5px;margin-top:9px;border-radius:999px;overflow:hidden;background:rgba(148,163,184,.2)}.bg-job-progress span{display:block;height:100%;border-radius:inherit;background:var(--brand-primary);transition:width .25s ease}.bg-job-meta{margin-top:7px;font-size:.68rem;color:var(--text-muted);opacity:.8}.bg-job-action{margin-top:7px;padding:0;font-size:.78rem}.bg-job-empty{padding:18px;text-align:center;color:var(--text-muted);font-size:.82rem}.bg-toast-stack{position:fixed;right:22px;top:20px;z-index:1200;display:grid;gap:9px;width:min(390px,calc(100vw - 28px));pointer-events:none}.bg-toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text-main);box-shadow:0 15px 40px rgba(15,23,42,.2);pointer-events:auto}.bg-toast.is-success>i{color:var(--brand-success)}.bg-toast.is-error>i{color:var(--brand-danger)}.bg-toast-body{min-width:0}.bg-toast-body strong,.bg-toast-body span{display:block}.bg-toast-body strong{font-size:.88rem}.bg-toast-body span{margin-top:2px;font-size:.77rem;color:var(--text-muted);line-height:1.3}.bg-toast-action{font-size:.76rem;white-space:nowrap}.bg-toast-close{border:0;background:transparent;color:var(--text-muted);font-size:1.25rem;line-height:1;cursor:pointer}

/* CRAVA · mapa de vulnerabilidades e intervenção curta */
.crava-page-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.crava-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px}.crava-kpi{padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.crava-kpi span,.crava-kpi small{display:block}.crava-kpi span{font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.crava-kpi strong{display:block;margin:3px 0;font-size:1.45rem;color:var(--text-title)}.crava-kpi small{font-size:.68rem;color:var(--text-muted)}.crava-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(460px,1.35fr);gap:18px;align-items:start}.crava-map-card{max-height:72vh;overflow:auto}.crava-mission-card{position:sticky;top:18px;min-height:380px}.crava-vulnerabilities{display:grid;gap:8px}.crava-vulnerability{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--bg-body);cursor:pointer;text-align:left;color:inherit}.crava-vulnerability:hover,.crava-vulnerability.active{border-color:rgba(16,185,129,.45);background:rgba(16,185,129,.05)}.crava-vulnerability.critica{border-left:4px solid var(--brand-danger)}.crava-vulnerability.tratamento{border-left:4px solid var(--brand-accent)}.crava-vulnerability.neutralizada{border-left:4px solid var(--brand-success)}.crava-v-rank{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--surface-hover);font-weight:900;color:var(--text-muted)}.crava-v-main{min-width:0}.crava-v-main strong,.crava-v-main span,.crava-v-main small{display:block}.crava-v-main strong{font-size:.82rem;color:var(--text-title);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crava-v-main span{margin-top:2px;font-size:.7rem;color:var(--text-main);line-height:1.3}.crava-v-main small{margin-top:4px;font-size:.64rem;color:var(--text-muted)}.crava-status{display:inline-flex;padding:5px 7px;border-radius:999px;font-size:.6rem;font-weight:900;text-transform:uppercase;white-space:nowrap}.crava-status.critica{background:rgba(239,68,68,.12);color:var(--brand-danger)}.crava-status.tratamento{background:rgba(245,158,11,.12);color:var(--brand-accent)}.crava-status.neutralizada{background:rgba(16,185,129,.12);color:var(--brand-success)}
.crava-mission-empty{display:grid;place-items:center;min-height:330px;text-align:center;color:var(--text-muted);padding:25px}.crava-mission-empty i{font-size:2.5rem;color:var(--brand-primary);opacity:.65;margin-bottom:10px}.crava-mission-empty strong{display:block;color:var(--text-title)}.crava-mission-empty p{max-width:550px;line-height:1.5;font-size:.84rem}.crava-mission-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid var(--border)}.crava-mission-head h3{margin:3px 0 0;color:var(--text-title)}.crava-mission-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.crava-diagnosis{margin:13px 0;padding:11px 13px;border-left:4px solid var(--brand-danger);border-radius:9px;background:rgba(239,68,68,.055);font-size:.82rem;line-height:1.5}.crava-rule{margin:12px 0;padding:14px;border:1px solid rgba(16,185,129,.28);border-radius:12px;background:rgba(16,185,129,.075)}.crava-rule span{display:block;font-size:.62rem;font-weight:900;letter-spacing:.08em;color:var(--brand-primary)}.crava-rule strong{display:block;margin-top:5px;font-size:1.04rem;line-height:1.4;color:var(--text-title)}.crava-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.crava-quick-grid>div{padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-body)}.crava-quick-grid span{display:block;font-size:.62rem;font-weight:900;text-transform:uppercase;color:var(--text-muted)}.crava-quick-grid strong{display:block;margin-top:4px;font-size:.78rem;line-height:1.4;color:var(--text-title)}.crava-algorithm{margin-top:10px;padding:12px;border-radius:10px;background:var(--surface-hover)}.crava-algorithm span{font-size:.62rem;font-weight:900;color:#3b82f6;text-transform:uppercase}.crava-algorithm ol{margin:7px 0 0;padding-left:19px}.crava-algorithm li{margin:5px 0;font-size:.78rem;line-height:1.4}.crava-original{margin-top:12px;padding:11px;border:1px dashed var(--border);border-radius:10px}.crava-original span{display:block;font-size:.62rem;font-weight:900;color:var(--text-muted);text-transform:uppercase}.crava-original p{margin:6px 0 0;font-size:.76rem;line-height:1.45;color:var(--text-main)}.crava-battle{margin-top:14px;padding-top:13px;border-top:1px solid var(--border)}.crava-battle-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.crava-battle-title strong{color:var(--text-title)}.crava-battle-title span{font-size:.67rem;color:var(--text-muted)}.crava-micro{padding:12px;margin-top:8px;border:1px solid var(--border);border-radius:11px;background:var(--bg-body)}.crava-micro-index{font-size:.62rem;font-weight:900;color:var(--brand-primary);text-transform:uppercase}.crava-micro p{font-size:.82rem;line-height:1.48;color:var(--text-title)}.crava-micro-actions{display:flex;gap:8px}.crava-micro-actions button{flex:1}.crava-micro-feedback{margin-top:8px;padding:8px 9px;border-radius:8px;font-size:.73rem;line-height:1.4}.crava-micro-feedback.correct{background:rgba(16,185,129,.1);color:var(--brand-success)}.crava-micro-feedback.wrong{background:rgba(239,68,68,.09);color:var(--brand-danger)}.crava-result,.crava-mission-result{margin-top:12px;padding:11px;border-radius:10px;background:var(--surface-hover);font-size:.8rem;line-height:1.5}.crava-result strong{color:var(--text-title)}.crava-no-twins{padding:12px;border-radius:10px;background:rgba(245,158,11,.08);color:var(--text-muted);font-size:.78rem;line-height:1.45}

@media(max-width:1180px){.bg-jobs-dock{right:22px;bottom:94px}.crava-summary{grid-template-columns:repeat(3,1fr)}.crava-layout{grid-template-columns:1fr}.crava-mission-card{position:static}.crava-map-card{max-height:none}}
@media(max-width:760px){.edital-tree-toolbar{align-items:stretch}.edital-tree-search{min-width:100%}.edital-tree-selected{flex:1}.edital-tree-tools{justify-content:flex-end}.topic-tree .tree-header,.topic-tree .tree-item{grid-template-columns:22px 20px minmax(0,1fr)}.topic-tree .tree-header>.tree-weight,.topic-tree .tree-item>.tree-weight{grid-column:3;justify-self:start}.bg-jobs-dock{right:12px;bottom:88px}.bg-jobs-toggle>span:not(.bg-jobs-badge){max-width:190px}.bg-toast-stack{right:12px;top:12px}.bg-toast{grid-template-columns:auto minmax(0,1fr) auto}.bg-toast-action{grid-column:2;justify-self:start}.bg-toast-close{grid-column:3;grid-row:1}.crava-page-header{flex-direction:column}.crava-page-header .btn{width:100%}.crava-summary{grid-template-columns:1fr 1fr}.crava-layout{display:block}.crava-map-card{margin-bottom:14px}.crava-vulnerability{grid-template-columns:34px minmax(0,1fr)}.crava-vulnerability>.crava-status{grid-column:2;justify-self:start}.crava-quick-grid{grid-template-columns:1fr}}
/* Ajustes finais de composição da árvore e estados CRAVA */
.topic-tree .tree-item{display:block}.topic-tree .tree-item-main{display:grid;grid-template-columns:24px 22px minmax(0,1fr) auto;gap:7px;align-items:start;padding:1px 0}.topic-tree .tree-item-main label,.topic-tree .tree-subitem label{display:flex;align-items:flex-start;gap:7px;min-width:0;cursor:pointer}.topic-tree .tree-item-main label>span:last-child,.topic-tree .tree-subitem label>span:last-child{min-width:0;line-height:1.38}.routing-recovery-status{display:flex;align-items:center;gap:7px}.crava-vulnerability.critical{border-left:4px solid var(--brand-danger)}.crava-vulnerability.treatment{border-left:4px solid var(--brand-accent)}.crava-vulnerability.neutralized{border-left:4px solid var(--brand-success)}.crava-status.critical{background:rgba(239,68,68,.12);color:var(--brand-danger)}.crava-status.treatment{background:rgba(245,158,11,.12);color:var(--brand-accent)}.crava-status.neutralized{background:rgba(16,185,129,.12);color:var(--brand-success)}.crava-micro.correct .crava-micro-feedback{background:rgba(16,185,129,.1);color:var(--brand-success)}.crava-micro.wrong .crava-micro-feedback{background:rgba(239,68,68,.09);color:var(--brand-danger)}
@media(max-width:760px){.topic-tree .tree-item-main{grid-template-columns:22px 20px minmax(0,1fr)}.topic-tree .tree-item-main>.tree-weight{grid-column:3;justify-self:start}}
.crava-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1180px){.crava-summary{grid-template-columns:repeat(2,1fr)}}

/* ========================================================================== */
/* Patch 007a · Legibilidade do edital + CRAVA em fluxo guiado                */
/* ========================================================================== */

/* A árvore anterior aplicava grid ao contêiner externo e espremia todo o item
   na primeira coluna. Aqui o grid vive apenas na linha interna, onde deveria. */
.topic-tree{min-width:0}
.topic-tree .edital-tree-toolbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center;margin:0 0 10px;padding:9px;border:1px solid var(--border);border-radius:11px;background:var(--surface);backdrop-filter:none}
.topic-tree .edital-tree-search{min-width:0}
.topic-tree .edital-tree-search input{height:38px!important;font-size:.78rem!important;text-transform:none!important}
.topic-tree .edital-tree-selected{height:34px;min-width:auto;padding:0 10px;font-size:.68rem}
.topic-tree .tree-clear-all{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
.topic-tree .tree-clear-all:hover{border-color:rgba(16,185,129,.45);color:var(--brand-primary)}
.topic-tree .universal-tree-group{margin:0 0 8px;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--surface)}
.topic-tree .universal-tree-header{display:grid;grid-template-columns:20px 22px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:48px;padding:10px 12px;background:var(--surface-hover);cursor:pointer}
.topic-tree .universal-tree-header .toggle-icon{width:18px;text-align:center;color:var(--text-muted);font-size:.72rem}
.topic-tree .universal-tree-header .tree-block-title{font-size:.88rem;font-weight:850;line-height:1.25;color:var(--text-title);white-space:normal;word-break:normal;overflow-wrap:break-word;text-transform:none}
.topic-tree .universal-tree-header small{min-width:28px;text-align:center;font-size:.66rem;color:var(--text-muted)}
.topic-tree .universal-tree-items{padding:5px 7px 8px;background:var(--surface)}
.topic-tree .universal-tree-item{display:block!important;width:100%;margin:0;padding:0;border-radius:8px;background:transparent}
.topic-tree .universal-tree-item:hover{background:rgba(16,185,129,.045)}
.topic-tree .tree-item-main{display:grid!important;grid-template-columns:24px 22px minmax(0,1fr) auto!important;gap:8px;align-items:start;width:100%;min-width:0;padding:9px 9px!important}
.topic-tree .tree-item-toggle{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer}
.topic-tree .tree-item-toggle:disabled{cursor:default;opacity:.45}
.topic-tree .tree-item-main>input,.topic-tree .tree-subitem>input{margin-top:3px}
.topic-tree label.tree-topic-label{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;min-width:0;margin:0!important;color:var(--text-main)!important;font-size:.81rem!important;font-weight:650!important;line-height:1.42!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer}
.topic-tree .tree-topic-text{min-width:0;white-space:normal;word-break:normal;overflow-wrap:break-word;text-transform:none!important}
.topic-tree .tree-code{min-width:30px;height:22px;margin-top:0;border-radius:6px;font-size:.62rem}
.topic-tree .tree-weight{align-self:start;margin-top:1px;padding:4px 7px;font-size:.58rem}
.topic-tree .tree-subitems{margin:0 8px 6px 55px;padding:4px 0 3px 10px;border-left:2px solid color-mix(in srgb,var(--brand-primary) 22%,var(--border))}
.topic-tree .tree-subitem{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:start;padding:8px 8px;border-radius:7px}
.topic-tree .tree-subitem:hover{background:var(--surface-hover)}
.topic-tree .tree-subitem label.tree-topic-label{font-size:.76rem!important;font-weight:550!important;color:var(--text-main)!important}
.topic-tree .tree-subitem .tree-code{color:#3b82f6;background:rgba(59,130,246,.08)}
.topic-tree .tree-subitem .tree-weight{opacity:.8}

/* Resgate histórico: destaque discreto e explicitamente factual. */
.routing-recovered-tag{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:rgba(59,130,246,.09);color:#3b82f6;font-weight:850;white-space:nowrap}

/* CRAVA: menos painel de telemetria, mais sequência de uso. */
.crava-page-header{align-items:flex-start}
.crava-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px;margin-bottom:16px}
.crava-kpi{padding:14px 16px;border-radius:13px}
.crava-kpi span{font-size:.64rem}
.crava-kpi strong{font-size:1.7rem}
.crava-kpi.attention{border-left:4px solid var(--brand-danger)}
.crava-kpi.neutralized{border-left:4px solid var(--brand-success)}
.crava-kpi.immunity{border-left:4px solid #3b82f6}
.crava-layout{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(520px,1.45fr);gap:18px;align-items:start}
.crava-map-card{max-height:calc(100vh - 180px);overflow:auto;padding:16px}
.crava-mission-card{position:sticky;top:18px;min-height:440px;padding:18px}
.crava-vulnerabilities{display:grid;gap:8px}
.crava-vulnerability{display:grid!important;grid-template-columns:34px minmax(0,1fr) 18px!important;gap:10px;align-items:center;padding:11px 10px!important;border:1px solid var(--border);border-left:3px solid transparent!important;border-radius:10px;background:var(--bg-body);cursor:pointer;transition:.15s ease}
.crava-vulnerability:hover,.crava-vulnerability.active{border-color:rgba(16,185,129,.38);background:rgba(16,185,129,.045)}
.crava-vulnerability.critical{border-left-color:var(--brand-danger)!important}
.crava-vulnerability.treatment{border-left-color:var(--brand-accent)!important}
.crava-vulnerability.neutralized{border-left-color:var(--brand-success)!important}
.crava-v-rank{width:30px;height:30px;font-size:.76rem}
.crava-v-main{min-width:0}
.crava-v-heading{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:5px}
.crava-v-heading small{margin:0!important;white-space:nowrap}
.crava-v-main strong{display:block;font-size:.83rem;line-height:1.34;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.crava-v-main>span{display:block;margin-top:2px;font-size:.66rem;color:var(--text-muted)}
.crava-v-main p{margin:5px 0 0;font-size:.68rem;line-height:1.35;color:var(--text-main)}
.crava-v-arrow{font-size:.68rem;color:var(--text-muted)}
.crava-status{padding:4px 6px;font-size:.55rem}
.crava-empty-list{display:grid;place-items:center;min-height:220px;padding:22px;text-align:center;color:var(--text-muted)}
.crava-empty-list i{margin-bottom:9px;font-size:2rem;color:var(--brand-primary)}
.crava-empty-list strong,.crava-empty-list span{display:block}.crava-empty-list strong{color:var(--text-title)}.crava-empty-list span{margin-top:5px;font-size:.78rem;line-height:1.45}
.crava-workflow{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding:9px 11px;border:1px solid var(--border);border-radius:10px;background:var(--bg-body);color:var(--text-muted);font-size:.67rem;font-weight:800}
.crava-workflow span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.crava-workflow b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--surface-hover);font-size:.62rem}.crava-workflow .done b{background:rgba(16,185,129,.12);color:var(--brand-success)}.crava-workflow .active{color:var(--brand-primary)}.crava-workflow .active b{background:var(--brand-primary);color:#fff}.crava-workflow>i{font-size:.55rem;opacity:.5}
.crava-mission-head{align-items:center;padding-bottom:13px}.crava-mission-head h3{font-size:1.08rem;line-height:1.3}.crava-mission-head p{margin:3px 0 0;color:var(--text-muted);font-size:.72rem}
.crava-ready,.crava-local{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;font-size:.61rem;font-weight:850;white-space:nowrap}.crava-ready{background:rgba(16,185,129,.1);color:var(--brand-success)}.crava-local{background:rgba(59,130,246,.08);color:#3b82f6}
.crava-step-block{display:grid;grid-template-columns:32px minmax(0,1fr);gap:11px;margin-top:13px;padding:13px;border-radius:11px}
.crava-step-number{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:.78rem;font-weight:900}
.crava-step-label{display:block;margin-bottom:5px;font-size:.62rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted)}
.crava-step-block p{margin:0;font-size:.8rem;line-height:1.5;color:var(--text-main)}
.crava-step-diagnosis{border:1px solid rgba(239,68,68,.18);background:rgba(239,68,68,.045)}.crava-step-diagnosis .crava-step-number{background:rgba(239,68,68,.1);color:var(--brand-danger)}
.crava-step-rule{border:1px solid rgba(16,185,129,.24);background:rgba(16,185,129,.055)}.crava-step-rule .crava-step-number{background:rgba(16,185,129,.12);color:var(--brand-success)}.crava-step-rule strong{display:block;font-size:.98rem;line-height:1.45;color:var(--text-title)}
.crava-alert-line{display:flex;gap:7px;align-items:flex-start;margin-top:9px;padding-top:9px;border-top:1px solid rgba(16,185,129,.16);font-size:.72rem;line-height:1.4;color:var(--text-main)}.crava-alert-line i{margin-top:2px;color:var(--brand-accent)}
.crava-resolution{margin-top:12px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-hover)}.crava-resolution ol{margin:6px 0 0;padding-left:20px}.crava-resolution li{margin:4px 0;font-size:.75rem;line-height:1.4}.crava-compare{margin:8px 0 0;padding-top:8px;border-top:1px solid var(--border);font-size:.72rem;line-height:1.4;color:var(--text-main)}
.crava-test-section{margin-top:15px;padding-top:14px;border-top:1px solid var(--border)}.crava-test-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.crava-test-title h4{margin:0;color:var(--text-title);font-size:.94rem}.crava-test-card{margin-top:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-body)}.crava-test-card.correct{border-color:rgba(16,185,129,.32)}.crava-test-card.wrong{border-color:rgba(239,68,68,.3)}.crava-test-progress{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.63rem;color:var(--text-muted)}.crava-test-progress b{font-size:.63rem;color:#3b82f6;text-transform:uppercase}.crava-test-statement{margin:12px 0;font-size:.86rem;line-height:1.55;color:var(--text-title)}.crava-micro-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px}.crava-micro-actions .btn{min-height:40px}.crava-micro-actions .selected{border-color:var(--brand-primary);background:rgba(16,185,129,.08);color:var(--brand-primary)}.crava-test-feedback{display:grid;gap:4px;margin-top:10px;padding:10px;border-radius:9px;background:var(--surface-hover);font-size:.73rem;line-height:1.42}.crava-test-card.correct .crava-test-feedback strong{color:var(--brand-success)}.crava-test-card.wrong .crava-test-feedback strong{color:var(--brand-danger)}.crava-test-feedback small{color:var(--text-muted)}.crava-next-test{width:100%;margin-top:10px}.crava-test-pending{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:10px;padding:12px;border:1px dashed var(--border);border-radius:10px;background:var(--bg-body)}.crava-test-pending>i{color:#3b82f6}.crava-test-pending strong,.crava-test-pending span{display:block}.crava-test-pending strong{font-size:.78rem;color:var(--text-title)}.crava-test-pending span{margin-top:2px;font-size:.7rem;line-height:1.4;color:var(--text-muted)}
.crava-original{margin-top:13px;font-size:.73rem}.crava-original summary{cursor:pointer;font-weight:800;color:var(--text-muted)}.crava-result{display:flex;gap:10px;align-items:center;margin-top:11px}.crava-result i{font-size:1.25rem}.crava-result strong,.crava-result span{display:block}.crava-result span{margin-top:2px;color:var(--text-muted)}.crava-result.score-2 i{color:var(--brand-success)}.crava-result.score-1 i{color:var(--brand-accent)}.crava-result.score-0 i{color:var(--brand-danger)}

@media(max-width:1180px){.crava-layout{grid-template-columns:1fr}.crava-map-card{max-height:none}.crava-mission-card{position:static}}
@media(max-width:760px){.topic-tree .edital-tree-toolbar{grid-template-columns:1fr auto}.topic-tree .edital-tree-search{grid-column:1/-1}.topic-tree .universal-tree-header{grid-template-columns:18px 22px minmax(0,1fr)}.topic-tree .universal-tree-header small{display:none}.topic-tree .tree-item-main{grid-template-columns:22px 20px minmax(0,1fr)!important}.topic-tree .tree-item-main>.tree-weight{grid-column:3;justify-self:start;margin-left:38px}.topic-tree .tree-subitems{margin-left:42px}.topic-tree .tree-subitem{grid-template-columns:20px minmax(0,1fr)}.topic-tree .tree-subitem>.tree-weight{grid-column:2;justify-self:start;margin-left:38px}.crava-summary{grid-template-columns:1fr!important}.crava-workflow{overflow:auto}.crava-test-title{align-items:flex-start;flex-direction:column}.crava-test-pending{grid-template-columns:auto 1fr}.crava-test-pending .btn{grid-column:1/-1;width:100%}}


/* ========================================================================== */
/* PATCH 007b EXACT — árvore isolada e CRAVA limpo                           */
/* ========================================================================== */

.generator-builder-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,.72fr);gap:28px;align-items:start}
.generator-config-column{position:sticky;top:18px;min-width:0}

/* A árvore usa um namespace próprio para não herdar o CSS legado .tree-* */
.syllabus-tree-host{height:630px;max-height:68vh;overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);scrollbar-gutter:stable}
.syllabus-toolbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:9px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(9px)}
.syllabus-search{display:flex!important;align-items:center!important;gap:8px!important;margin:0!important;min-width:0!important;padding:8px 10px!important;border:1px solid var(--border)!important;border-radius:9px!important;background:var(--bg-body)!important;color:var(--text-muted)!important;text-transform:none!important;letter-spacing:0!important}
.syllabus-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text-main);font:inherit;font-size:.78rem}
.syllabus-selected{font-size:.68rem;font-weight:800;color:var(--text-muted);white-space:nowrap}.syllabus-selected b{color:var(--brand-primary);font-size:.82rem}
.syllabus-clear{border:0;background:transparent;color:var(--text-muted);font:inherit;font-size:.69rem;font-weight:800;cursor:pointer;padding:7px 8px;border-radius:8px}.syllabus-clear:hover{background:var(--surface-hover);color:var(--text-title)}
.syllabus-group{border-bottom:1px solid var(--border)}.syllabus-group:last-child{border-bottom:0}
.syllabus-group-head{display:grid;grid-template-columns:22px 22px minmax(0,1fr) auto;gap:9px;align-items:center;padding:13px 15px;background:var(--surface-hover);cursor:pointer;min-width:0}
.syllabus-chevron,.syllabus-item-toggle{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.syllabus-item-toggle:disabled{cursor:default;opacity:.36}
.syllabus-group-title{min-width:0;font-size:.84rem;line-height:1.3;color:var(--text-title);white-space:normal;overflow-wrap:normal;word-break:normal}
.syllabus-group-count{font-size:.62rem;color:var(--text-muted);white-space:nowrap}
.syllabus-items{display:block!important;padding:5px 10px 9px 12px;background:var(--surface)}.syllabus-items[hidden]{display:none!important}
.syllabus-item{display:block;margin:0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent)}.syllabus-item:last-child{border-bottom:0}
.syllabus-item-row{display:grid;grid-template-columns:22px 22px minmax(0,1fr) auto;gap:9px;align-items:start;width:100%;min-width:0;padding:10px 8px}
.syllabus-check,.syllabus-group-check{margin-top:2px!important;flex:0 0 auto}
.syllabus-topic{display:flex!important;align-items:flex-start!important;gap:8px!important;min-width:0!important;width:100%!important;margin:0!important;padding:0!important;text-transform:none!important;letter-spacing:0!important;font-weight:650!important;color:var(--text-main)!important;cursor:pointer!important}
.syllabus-code{flex:0 0 auto;min-width:28px;padding:2px 5px;border-radius:6px;background:rgba(59,130,246,.09);color:#3b82f6;text-align:center;font-size:.66rem;font-weight:900;line-height:1.35}
.syllabus-label{display:block;min-width:0;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word!important;word-break:normal!important;line-height:1.42;font-size:.79rem}
.syllabus-weight{align-self:start;display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:3px 6px;border-radius:999px;background:rgba(245,158,11,.09);color:var(--brand-accent);font-size:.59rem;font-weight:900;white-space:nowrap}
.syllabus-subitems{display:block!important;margin:0 8px 7px 52px;padding:4px 0 4px 11px;border-left:2px solid rgba(59,130,246,.16)}.syllabus-subitems[hidden]{display:none!important}
.syllabus-subitem{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:9px;align-items:start;padding:7px 6px;border-radius:8px}.syllabus-subitem:hover{background:var(--surface-hover)}
.syllabus-subtopic .syllabus-label{font-size:.75rem;color:var(--text-main)}

/* CRAVA: hierarquia única. O olho deve saber o que fazer em poucos segundos. */
.crava-page-header{align-items:flex-start}.crava-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;margin-bottom:16px}
.crava-kpi{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.crava-kpi span{font-size:.67rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.crava-kpi strong{font-size:1.35rem;color:var(--text-title)}.crava-kpi-primary{border-color:rgba(16,185,129,.28);background:rgba(16,185,129,.035)}.crava-kpi-primary strong{color:var(--brand-primary)}
.crava-layout{display:grid;grid-template-columns:minmax(290px,.62fr) minmax(520px,1.38fr);gap:16px;align-items:start}.crava-targets-card,.crava-focus-card{padding:16px}.crava-focus-card{position:sticky;top:18px}.crava-card-title{margin-bottom:10px}.crava-card-title h3{margin:3px 0 0;font-size:.95rem;color:var(--text-title)}
.crava-vulnerabilities{display:grid;gap:6px}.crava-target{appearance:none;width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 24px;gap:9px;align-items:center;padding:10px;border:1px solid var(--border);border-left:3px solid transparent;border-radius:9px;background:var(--bg-body);color:inherit;text-align:left;font:inherit;cursor:pointer}.crava-target:hover,.crava-target.active{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.035)}.crava-target.critical{border-left-color:var(--brand-danger)}.crava-target.treatment{border-left-color:var(--brand-accent)}.crava-target.neutralized{border-left-color:var(--brand-success)}
.crava-target-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-hover);font-size:.7rem;font-weight:900;color:var(--text-muted)}.crava-target-copy{display:block;min-width:0}.crava-target-copy strong{display:block;font-size:.79rem;line-height:1.32;color:var(--text-title);white-space:normal}.crava-target-copy small{display:block;margin-top:2px;font-size:.61rem;color:var(--text-muted)}.crava-target-copy>span{display:block;margin-top:4px;font-size:.65rem;line-height:1.35;color:var(--text-main)}.crava-target-copy>span b{font-weight:900}.crava-target-status{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.62rem}.crava-target-status.critical{background:rgba(239,68,68,.1);color:var(--brand-danger)}.crava-target-status.treatment{background:rgba(245,158,11,.1);color:var(--brand-accent)}.crava-target-status.neutralized{background:rgba(16,185,129,.1);color:var(--brand-success)}
.crava-empty{display:grid;place-items:center;min-height:180px;padding:22px;text-align:center;color:var(--text-muted)}.crava-empty i{font-size:1.8rem;color:var(--brand-primary);margin-bottom:8px}.crava-empty strong{color:var(--text-title)}.crava-empty span{margin-top:4px;max-width:430px;font-size:.74rem;line-height:1.45}.crava-empty-main{min-height:360px}
.crava-focus-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid var(--border)}.crava-focus-head h3{margin:3px 0 0;font-size:1.08rem;line-height:1.3;color:var(--text-title)}.crava-focus-head p{margin:4px 0 0;font-size:.68rem;color:var(--text-muted)}.crava-focus-state{padding:5px 8px;border-radius:999px;background:var(--surface-hover);font-size:.6rem;font-weight:850;color:var(--text-muted);white-space:nowrap}
.crava-focus-block{display:grid;grid-template-columns:30px minmax(0,1fr);gap:11px;margin-top:12px;padding:12px 13px;border:1px solid var(--border);border-radius:10px}.crava-focus-number{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-hover);font-size:.72rem;font-weight:900}.crava-focus-block small,.crava-focus-test-title small{display:block;margin-bottom:4px;font-size:.58rem;font-weight:900;letter-spacing:.06em;color:var(--text-muted)}.crava-focus-block strong{display:block;color:var(--text-title);font-size:.9rem;line-height:1.42}.crava-focus-block p{margin:5px 0 0;font-size:.73rem;line-height:1.45;color:var(--text-main)}.crava-focus-error{border-left:4px solid var(--brand-danger)}.crava-focus-error .crava-focus-number{color:var(--brand-danger);background:rgba(239,68,68,.08)}.crava-focus-rule{border-left:4px solid var(--brand-success);background:rgba(16,185,129,.035)}.crava-focus-rule .crava-focus-number{color:var(--brand-success);background:rgba(16,185,129,.09)}.crava-focus-rule>div>strong{font-size:1rem}.crava-focus-rule p i{color:var(--brand-accent);margin-right:4px}.crava-focus-shortcut ol{margin:2px 0 0;padding-left:18px}.crava-focus-shortcut li{margin:4px 0;font-size:.73rem;line-height:1.42}.crava-flash{padding-top:7px;border-top:1px solid var(--border)}
.crava-focus-test{margin-top:12px;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--bg-body)}.crava-focus-test-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.crava-focus-test-title>div{display:flex;gap:10px;align-items:center}.crava-focus-test-title strong{display:block;font-size:.86rem;color:var(--text-title)}.crava-test{margin-top:10px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.crava-test.correct{border-color:rgba(16,185,129,.32)}.crava-test.wrong{border-color:rgba(239,68,68,.3)}.crava-test-head{display:flex;justify-content:space-between;gap:8px;font-size:.61rem;font-weight:800;color:var(--text-muted);text-transform:uppercase}.crava-test>p{margin:10px 0;font-size:.82rem;line-height:1.5;color:var(--text-title)}.crava-answer-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.crava-feedback{display:grid;gap:4px;margin-top:9px;padding:9px;border-radius:8px;background:var(--surface-hover);font-size:.7rem;line-height:1.4}.crava-test.correct .crava-feedback strong{color:var(--brand-success)}.crava-test.wrong .crava-feedback strong{color:var(--brand-danger)}.crava-feedback small{color:var(--text-muted)}.crava-next{width:100%;margin-top:8px}.crava-test-wait{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;padding:10px;border:1px dashed var(--border);border-radius:8px}.crava-test-wait strong,.crava-test-wait span{display:block}.crava-test-wait strong{font-size:.74rem;color:var(--text-title)}.crava-test-wait span{margin-top:2px;font-size:.68rem;color:var(--text-muted);line-height:1.4}.crava-source{margin-top:12px;font-size:.7rem}.crava-source summary{cursor:pointer;font-weight:800;color:var(--text-muted)}.crava-result{display:flex;gap:9px;align-items:center;margin-top:9px;padding:9px;border-radius:8px;background:var(--surface-hover)}.crava-result strong,.crava-result span{display:block}.crava-result span{margin-top:2px;font-size:.68rem;color:var(--text-muted)}.crava-result.score-2 i{color:var(--brand-success)}.crava-result.score-1 i{color:var(--brand-accent)}.crava-result.score-0 i{color:var(--brand-danger)}

@media(max-width:1120px){.generator-builder-grid{grid-template-columns:1fr}.generator-config-column{position:static}.crava-layout{grid-template-columns:1fr}.crava-focus-card{position:static}}
@media(max-width:720px){.syllabus-tree-host{height:60vh}.syllabus-toolbar{grid-template-columns:1fr auto}.syllabus-search{grid-column:1/-1}.syllabus-group-head{grid-template-columns:22px 22px minmax(0,1fr)}.syllabus-group-count{display:none}.syllabus-item-row{grid-template-columns:20px 20px minmax(0,1fr)}.syllabus-item-row>.syllabus-weight{grid-column:3;justify-self:start;margin-left:36px}.syllabus-subitems{margin-left:42px}.syllabus-subitem{grid-template-columns:20px minmax(0,1fr)}.syllabus-subitem>.syllabus-weight{grid-column:2;justify-self:start;margin-left:36px}.crava-summary{grid-template-columns:1fr!important}.crava-focus-head{flex-direction:column}.crava-focus-test-title{align-items:flex-start;flex-direction:column}.crava-test-wait{align-items:flex-start;flex-direction:column}.crava-test-wait .btn{width:100%}}
