@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');
:root{--brand-forest-dark:#051C12;--brand-forest-medium:#072F1F;--brand-forest-light:#1A3E30;--brand-lime:#B4F105;--brand-lime-hover:#c1f824;--text-main:#0B130F;--text-muted:#6C7E75;--text-sidebar:#879A91;--canvas:#F4F6F5;--card:#fff;--border:#E9EFEF;--sidebar-width:280px;--navbar-height:80px;--radius:18px;--shadow:0 10px 30px rgba(11,19,15,.05)}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--text-main);font-family:'Plus Jakarta Sans',sans-serif;font-size:.93rem;font-weight:500;-webkit-font-smoothing:antialiased}.sidebar-wrapper{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100vh;background:var(--brand-forest-dark);z-index:1030;display:flex;flex-direction:column;padding:2rem 1.5rem;border-right:1px solid rgba(255,255,255,.08);transition:.28s ease}.sidebar-brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;font-weight:800;font-size:1.3rem;margin-bottom:2.5rem;padding-left:.5rem}.sidebar-brand i{color:var(--brand-lime);font-size:1.5rem}.sidebar-menu-section{margin-bottom:1.75rem}.sidebar-menu-title{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--text-sidebar);opacity:.65;padding-left:.75rem;margin-bottom:.75rem}.sidebar-menu-list{list-style:none;padding:0;margin:0}.sidebar-menu-item{margin-bottom:.35rem}.sidebar-menu-link{position:relative;display:flex;align-items:center;gap:.85rem;padding:.75rem .85rem;border-radius:10px;color:var(--text-sidebar);text-decoration:none;transition:.2s}.sidebar-menu-link:hover,.sidebar-menu-link.active{color:#fff;background:rgba(255,255,255,.05)}.sidebar-menu-link.active:before{content:"";position:absolute;left:-1.5rem;top:15%;height:70%;width:4px;border-radius:0 4px 4px 0;background:var(--brand-lime)}.sidebar-menu-link.active i{color:var(--brand-lime)}.sidebar-profile{margin-top:auto;display:flex;align-items:center;gap:.75rem;background:rgba(255,255,255,.035);padding:.85rem;border-radius:18px;border:1px solid rgba(255,255,255,.08);color:#fff}.sidebar-profile-avatar{width:42px;height:42px;border-radius:14px;background:var(--brand-forest-light);display:grid;place-items:center;color:var(--brand-lime);font-size:1.2rem}.sidebar-profile-info{min-width:0}.sidebar-profile-name{font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-profile-email{font-size:.69rem;color:var(--text-sidebar);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-wrapper{min-height:100vh;margin-left:var(--sidebar-width);transition:.28s ease}.navbar-custom{height:var(--navbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:rgba(244,246,245,.93);backdrop-filter:blur(12px);position:sticky;top:0;z-index:1010;border-bottom:1px solid rgba(233,239,239,.75)}.navbar-left,.navbar-actions{display:flex;align-items:center;gap:.6rem}.btn-desktop-toggle,.sidebar-toggle-btn{width:40px;height:40px;border:0;background:#fff;border-radius:12px;display:grid;place-items:center;box-shadow:0 4px 18px rgba(11,19,15,.05)}.content-shell{padding:1.6rem 2rem 2.5rem}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-title{font-size:1.8rem;font-weight:800;margin:0}.page-subtitle{color:var(--text-muted);margin:.35rem 0 0}.card{border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);background:#fff}.card-header{background:transparent;border-bottom:1px solid var(--border);padding:1.1rem 1.25rem;font-weight:800}.card-body{padding:1.25rem}.metric-card{padding:1.25rem;min-height:142px;display:flex;flex-direction:column;justify-content:space-between}.metric-label{font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.metric-value{font-size:2rem;font-weight:800;letter-spacing:-.04em}.metric-meta{font-size:.78rem;color:var(--text-muted)}.hero-card{background:var(--brand-forest-medium);color:#fff;position:relative;overflow:hidden;border:0}.hero-card h1,.hero-card h2,.hero-card h3{color:#fff}.hero-card .muted{color:#b8c7bf}.hero-card:after{content:"✳";position:absolute;right:-10px;bottom:-52px;color:var(--brand-lime);font-size:9rem;opacity:.9;transform:rotate(14deg)}.badge-lime{background:var(--brand-lime);color:var(--brand-forest-dark);font-weight:800}.btn-accent{background:var(--brand-lime);border-color:var(--brand-lime);color:var(--brand-forest-dark);font-weight:800;border-radius:12px}.btn-accent:hover{background:var(--brand-lime-hover);border-color:var(--brand-lime-hover)}.form-control,.form-select{border-color:#dfe7e3;border-radius:12px;padding:.72rem .85rem}.form-control:focus,.form-select:focus{border-color:#8ba936;box-shadow:0 0 0 .2rem rgba(180,241,5,.18)}.question-card{margin-bottom:1rem}.question-number{width:34px;height:34px;border-radius:10px;background:#edf2ef;display:grid;place-items:center;font-weight:800;color:var(--brand-forest-medium);flex:none}.option-label{display:flex;align-items:flex-start;gap:.75rem;border:1px solid var(--border);border-radius:12px;padding:.75rem .85rem;margin:.5rem 0;cursor:pointer;transition:.18s;background:#fff}.option-label:hover{border-color:#b9c8c0;background:#fbfcfb}.option-label:has(input:checked){border-color:#89a82f;background:#f8fdea;box-shadow:0 0 0 2px rgba(180,241,5,.16)}.forced-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}.assessment-step{display:none}.assessment-step.active{display:block}.progress-shell{position:sticky;top:80px;z-index:1000;background:var(--canvas);padding:.65rem 0 1rem}.progress{height:8px;background:#e5ebe8;border-radius:50px}.progress-bar{background:var(--brand-lime)}.report-section{margin-bottom:1.25rem}.report-section h3{font-size:1.05rem;font-weight:800;margin-bottom:.8rem}.report-list{margin:0;padding-left:1.15rem}.report-list li{margin-bottom:.45rem}.score-row{display:grid;grid-template-columns:170px 1fr 70px;gap:.85rem;align-items:center;margin:.75rem 0}.score-bar{height:10px;border-radius:100px;background:#edf1ef;overflow:hidden}.score-fill{height:100%;background:linear-gradient(90deg,var(--brand-forest-medium),#4e7a61,var(--brand-lime));border-radius:100px}.dimension-pill{display:inline-flex;align-items:center;gap:.4rem;border-radius:50rem;padding:.35rem .65rem;background:#eef3f0;color:var(--brand-forest-medium);font-weight:800}.table>:not(caption)>*>*{padding:.85rem .75rem;border-color:var(--border)}.table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.app-footer{display:flex;justify-content:space-between;padding:1rem 2rem 1.5rem;color:var(--text-muted);font-size:.76rem}.sidebar-overlay{display:none}.alert-soft{background:#f7fbf9;border:1px solid #dfeae4;border-radius:14px;padding:1rem}.ai-box{white-space:pre-wrap;line-height:1.65;background:#fbfcfb;border:1px solid var(--border);border-radius:14px;padding:1.2rem}.list-chip{display:inline-block;margin:.2rem .25rem .2rem 0;padding:.45rem .7rem;border:1px solid var(--border);background:#fff;border-radius:50rem;font-size:.8rem}.answer-review{font-size:.82rem}.answer-review strong{color:var(--brand-forest-medium)}body.sidebar-minimized{--sidebar-width:80px}body.sidebar-minimized .sidebar-wrapper{padding:2rem .75rem;align-items:center}body.sidebar-minimized .sidebar-brand span,body.sidebar-minimized .sidebar-menu-title,body.sidebar-minimized .sidebar-menu-link span,body.sidebar-minimized .sidebar-profile-info{display:none}body.sidebar-minimized .sidebar-menu-link{justify-content:center}body.sidebar-minimized .sidebar-menu-link.active:before{left:-.75rem}
@media(max-width:1199.98px){.sidebar-wrapper{transform:translateX(-100%)}.sidebar-wrapper.show{transform:translateX(0)}.main-wrapper{margin-left:0}.sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1020}.content-shell{padding:1.25rem}.navbar-custom{padding:0 1.25rem}.page-header{align-items:flex-start;flex-direction:column}.forced-grid{grid-template-columns:1fr}.score-row{grid-template-columns:120px 1fr 55px}.app-footer{padding:1rem 1.25rem;gap:.5rem;flex-direction:column}}
@media print{.sidebar-wrapper,.navbar-custom,.app-footer,.no-print{display:none!important}.main-wrapper{margin:0}.content-shell{padding:0}.card{box-shadow:none;break-inside:avoid}.hero-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
.chart-card .card-body{padding:1.15rem 1.25rem 1.25rem}.chart-shell{position:relative;height:330px}.chart-shell.chart-shell-sm{height:285px}.chart-shell.chart-shell-lg{height:380px}.chart-reading-note{background:#fff8df;border:1px solid #f1dda3;border-radius:14px;padding:1rem 1.1rem;color:#5e5437}.chart-reading-note strong{color:#3c3524}.chart-caption{font-size:.78rem;color:var(--text-muted);line-height:1.5;margin-top:.8rem}.chart-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:800;margin-bottom:.3rem}
@media(max-width:767.98px){.chart-shell,.chart-shell.chart-shell-lg{height:300px}.chart-shell.chart-shell-sm{height:260px}}
@media print{.chart-shell{height:300px!important}.chart-reading-note{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Matriz NxN / heatmap */
.heatmap-card{overflow:hidden}.heatmap-scroll{overflow:auto;max-height:72vh;position:relative}.heatmap-table{border-collapse:separate;border-spacing:2px;min-width:max-content;width:100%;background:#f4f7f5;padding:2px}.heatmap-table th,.heatmap-table td{border:0}.heatmap-corner{position:sticky;left:0;top:0;z-index:6;min-width:180px;background:#fff;padding:.75rem 1rem;text-align:left;box-shadow:1px 1px 0 var(--border)}.heatmap-col-head{position:sticky;top:0;z-index:4;width:112px;min-width:112px;max-width:112px;height:88px;background:#fff;padding:.6rem .45rem;text-align:center;vertical-align:bottom;box-shadow:0 1px 0 var(--border)}.heatmap-row-head{position:sticky;left:0;z-index:3;width:180px;min-width:180px;max-width:180px;background:#fff;padding:.65rem .85rem;text-align:left;box-shadow:1px 0 0 var(--border)}.heatmap-col-name,.heatmap-row-name{display:block;font-weight:800;color:var(--brand-forest-medium);line-height:1.15}.heatmap-col-name{font-size:.78rem;max-height:2.4em;overflow:hidden}.heatmap-row-name{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.heatmap-source{display:block;margin-top:.3rem;font-size:.64rem;font-weight:700;color:var(--text-muted);line-height:1.2}.heatmap-cell{width:112px;min-width:112px;height:62px;text-align:center;vertical-align:middle;padding:0;transition:transform .12s ease,filter .12s ease;position:relative}.heatmap-cell:not(.is-diagonal):hover{transform:scale(1.035);z-index:2;filter:saturate(1.12)}.heatmap-link{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:inherit;text-decoration:none}.heatmap-value{font-size:.95rem;font-weight:900;letter-spacing:-.02em}.heatmap-percent{font-size:.62rem;font-weight:800;margin-left:1px;opacity:.72}.heatmap-cell.is-diagonal{box-shadow:inset 0 0 0 2px rgba(255,255,255,.2)}.heatmap-legend-wrap{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.7rem;font-weight:700}.heatmap-legend{width:180px;height:10px;border-radius:999px;background:linear-gradient(90deg,hsl(8 62% 95%),hsl(60 62% 78%),hsl(90 62% 68%),hsl(115 62% 61%));border:1px solid rgba(23,60,45,.08)}.heatmap-pair-value{font-size:1.55rem!important}.heatmap-table tbody tr:hover .heatmap-row-head{background:#f7fbf9}.heatmap-table tbody tr:hover .heatmap-cell{outline:1px solid rgba(23,60,45,.08)}
@media(max-width:767.98px){.heatmap-corner,.heatmap-row-head{min-width:145px;width:145px;max-width:145px}.heatmap-col-head,.heatmap-cell{min-width:92px;width:92px;max-width:92px}.heatmap-col-head{height:82px}.heatmap-cell{height:56px}.heatmap-legend{width:120px}}
@media print{.heatmap-scroll{overflow:visible;max-height:none}.heatmap-table{transform-origin:top left}.heatmap-corner,.heatmap-row-head,.heatmap-col-head{position:static}.heatmap-cell{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* ACER v8 · questionário simples + dinâmica interna */
.question-title{line-height:1.45}.option-label-large{padding:1rem 1.05rem;font-size:1rem;line-height:1.45}.decision-time-value{font-size:1.25rem;letter-spacing:-.02em}.decision-table td{vertical-align:middle}.decision-table .table-warning{--bs-table-bg:#fffbea;--bs-table-striped-bg:#fff8dd}.assessment-step .question-card{max-width:920px;margin-left:auto;margin-right:auto}.assessment-step>.d-flex{max-width:920px;margin-left:auto;margin-right:auto}
@media(max-width:767.98px){.option-label-large{padding:.9rem;font-size:.96rem}.question-title{font-size:1.05rem}.decision-time-value{font-size:1.05rem}}
