:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #e9f3ff;
  background: #030b19;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --bg: #030b19;
  --bg-soft: #071328;
  --panel: rgba(13, 27, 51, .88);
  --panel-solid: #0d1b33;
  --panel-2: #11233f;
  --line: rgba(150, 181, 229, .17);
  --line-strong: rgba(150, 181, 229, .28);
  --text: #edf6ff;
  --muted: #9db5d5;
  --cyan: #3fd0f6;
  --cyan-dark: #0f8fad;
  --violet: #9c85ff;
  --success: #40d4a1;
  --warning: #ffc85c;
  --danger: #ff7188;
  --shadow: 0 28px 90px rgba(0, 0, 0, .32);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--bg); }
body { margin: 0; min-width: 320px; min-height: 100vh; background: radial-gradient(circle at 75% -15%, rgba(71, 79, 170, .28), transparent 38%), linear-gradient(145deg, #031321 0%, #030817 60%, #070d23 100%); color: var(--text); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { border: 0; }
img { max-width: 100%; }
input, textarea, select { color: var(--text); }
::selection { background: rgba(63,208,246,.3); }

.app-shell { min-height: 100vh; display: flex; flex-direction: column; }
.topbar { position: sticky; top: 0; z-index: 50; background: rgba(1, 7, 20, .92); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
.topbar-inner { max-width: 1360px; height: 78px; margin: 0 auto; padding: 0 28px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand-link { border-radius: 14px; }
.brand-lockup { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 44px; height: 44px; border-radius: 15px; display: inline-grid; place-items: center; color: #031121; font-weight: 900; letter-spacing: -.04em; background: linear-gradient(135deg, var(--cyan), #61c3ff 48%, var(--violet)); box-shadow: 0 10px 24px rgba(63, 208, 246, .18); flex: 0 0 auto; }
.brand-mark.mini { width: 36px; height: 36px; border-radius: 12px; font-size: .82rem; }
.brand-copy { display: flex; flex-direction: column; gap: 2px; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { color: var(--muted); font-size: .72rem; }
.top-actions { display: flex; align-items: center; gap: 8px; }
.nav-link { color: #bfd0e7; padding: 10px 13px; border-radius: 12px; font-size: .9rem; }
.nav-link:hover { background: rgba(255,255,255,.05); color: #fff; }
.site-footer { margin-top: auto; display: flex; justify-content: space-between; gap: 20px; padding: 28px max(28px, calc((100vw - 1304px)/2)); border-top: 1px solid var(--line); color: #7891b1; font-size: .78rem; background: rgba(1,7,20,.45); }

.primary-button, .outline-button, .ghost-button, .danger-button, .review-button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: 14px; padding: 0 18px; font-weight: 760; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease; }
.primary-button { color: #03111f; background: linear-gradient(135deg, #69dcfb, var(--cyan)); box-shadow: 0 12px 34px rgba(63, 208, 246, .18); }
.primary-button:hover { transform: translateY(-1px); filter: brightness(1.04); }
.outline-button { color: #dff8ff; border: 1px solid rgba(63,208,246,.42); background: rgba(10, 43, 66, .35); }
.outline-button:hover { background: rgba(63,208,246,.1); border-color: rgba(63,208,246,.7); }
.ghost-button { color: #dceaff; border: 1px solid var(--line); background: rgba(255,255,255,.025); }
.ghost-button:hover { background: rgba(255,255,255,.06); }
.danger-button { color: white; background: linear-gradient(135deg, #fb5575, #e94462); }
.review-button { color: #dddcff; border: 1px solid rgba(156,133,255,.35); background: rgba(156,133,255,.07); }
.review-button.active { background: rgba(156,133,255,.18); border-color: var(--violet); }
.primary-button.large, .outline-button.large { min-height: 54px; padding: 0 24px; border-radius: 16px; }
.primary-button.small, .outline-button.small, .ghost-button.small { min-height: 36px; padding: 0 13px; border-radius: 11px; font-size: .82rem; }
button:disabled, .primary-button:disabled, .outline-button:disabled { opacity: .42; cursor: not-allowed; transform: none; }
.full-width { width: 100%; }
.text-link { color: var(--cyan); font-size: .86rem; font-weight: 700; }
.danger-text-button { padding: 7px 8px; color: #ff91a4; background: transparent; cursor: pointer; font-size: .82rem; font-weight: 700; }
.danger-text-button:disabled { opacity: .35; cursor: not-allowed; }
.icon-button { width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--line); color: var(--text); background: rgba(255,255,255,.025); cursor: pointer; }
.icon-button:disabled { opacity: .3; }

.hero { position: relative; overflow: hidden; min-height: calc(100vh - 78px); padding: 88px 28px 94px; }
.hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent 90%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(12px); opacity: .24; }
.hero-glow.one { width: 500px; height: 500px; right: 5%; top: 10%; background: radial-gradient(circle, rgba(105,97,255,.8), transparent 68%); }
.hero-glow.two { width: 380px; height: 380px; left: -8%; bottom: 4%; background: radial-gradient(circle, rgba(28,184,231,.75), transparent 68%); }
.hero-inner { position: relative; z-index: 1; max-width: 1080px; margin: 0 auto; }
.eyebrow { color: var(--cyan); font-size: .72rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow.pill { display: inline-flex; border: 1px solid rgba(63,208,246,.28); background: rgba(63,208,246,.07); border-radius: 999px; padding: 8px 12px; letter-spacing: .07em; }
.hero h1 { margin: 20px 0 16px; max-width: 800px; font-size: clamp(3.3rem, 7.2vw, 6.7rem); line-height: .92; letter-spacing: -.07em; background: linear-gradient(115deg, #fff 5%, #d6e9ff 52%, #a9c9f8); -webkit-background-clip: text; color: transparent; }
.hero-lead { max-width: 760px; color: #b7cbe6; font-size: clamp(1rem, 1.7vw, 1.22rem); line-height: 1.75; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 34px 0 72px; }
.feature-grid { display: grid; gap: 16px; }
.feature-grid.two-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; }
.feature-card { min-height: 260px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(14,29,54,.86), rgba(10,24,46,.72)); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.feature-card:hover { border-color: var(--line-strong); transform: translateY(-2px); transition: .2s ease; }
.feature-code { align-self: flex-start; padding: 6px 9px; border-radius: 9px; font-size: .7rem; font-weight: 850; letter-spacing: .06em; }
.feature-code.cyan { color: #8deaff; background: rgba(63,208,246,.08); border: 1px solid rgba(63,208,246,.27); }
.feature-code.violet { color: #d1c8ff; background: rgba(156,133,255,.08); border: 1px solid rgba(156,133,255,.28); }
.feature-card h2 { margin: 20px 0 9px; font-size: 1.3rem; letter-spacing: -.03em; }
.feature-card p { margin: 0; color: var(--muted); line-height: 1.65; }
.card-link { margin-top: auto; color: #c8f6ff; font-weight: 760; font-size: .88rem; }
.mobile-break { display: none; }

.content-page { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 64px 0 88px; }
.page-heading { max-width: 760px; margin-bottom: 32px; }
.page-heading h1, .admin-page-head h1 { margin: 12px 0 8px; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.05em; }
.page-heading p, .admin-page-head p { margin: 0; color: var(--muted); line-height: 1.65; }
.start-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 20px; align-items: start; }
.card-panel, .admin-card, .table-card { border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(14,29,54,.9), rgba(8,20,40,.84)); box-shadow: var(--shadow); }
.card-panel { padding: 25px; }
.test-summary { position: sticky; top: 102px; }
.test-summary h2 { margin-top: 0; }
.summary-title { display: flex; flex-direction: column; gap: 6px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.summary-title strong { font-size: 1.14rem; }
.summary-title span { color: var(--muted); font-size: .86rem; }
.summary-list { margin: 0 0 18px; }
.summary-list > div { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(150,181,229,.1); }
.summary-list dt { color: var(--muted); }
.summary-list dd { margin: 0; font-weight: 750; }
.student-form { padding: 30px; }
.panel-title, .card-heading, .subheading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.panel-title h2, .card-heading h2, .subheading h2 { margin: 5px 0 0; letter-spacing: -.03em; }
.step-badge { border: 1px solid var(--line); padding: 7px 10px; border-radius: 999px; color: var(--muted); font-size: .72rem; }
.form-grid, .editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; margin-top: 24px; }
.field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.field.full { grid-column: 1 / -1; }
.field.grow { flex: 1; }
.field > span { color: #b7cbe4; font-size: .79rem; font-weight: 720; }
.field input, .field textarea, .field select, .answer-input, .answer-textarea, .option-edit-row input, .section-edit-row input { width: 100%; border: 1px solid rgba(157,181,213,.22); border-radius: 13px; background: rgba(1, 8, 23, .58); color: var(--text); outline: none; padding: 12px 13px; transition: border-color .18s, box-shadow .18s; }
.field input, .field select { min-height: 45px; }
.field textarea { resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus, .answer-input:focus, .answer-textarea:focus, .option-edit-row input:focus, .section-edit-row input:focus { border-color: rgba(63,208,246,.68); box-shadow: 0 0 0 3px rgba(63,208,246,.08); }
.field select { color-scheme: dark; }
.check-row { display: flex; gap: 10px; align-items: flex-start; color: #bdd0e8; line-height: 1.5; margin: 20px 0; }
.check-row.compact { margin: 8px 0; align-items: center; font-size: .84rem; }
.check-row input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--cyan); }
.turnstile-box { min-height: 65px; margin-bottom: 18px; }
.notice { border: 1px solid rgba(63,208,246,.24); background: rgba(63,208,246,.065); color: #c9edf7; border-radius: 14px; padding: 13px 15px; line-height: 1.5; font-size: .86rem; margin: 14px 0; }
.notice.success { border-color: rgba(64,212,161,.3); background: rgba(64,212,161,.07); color: #bcf6df; }
.notice.warning { border-color: rgba(255,200,92,.3); background: rgba(255,200,92,.075); color: #ffe5ad; }
.notice.danger { border-color: rgba(255,113,136,.35); background: rgba(255,113,136,.08); color: #ffd0d8; }
.notice ul { margin: 8px 0 0; padding-left: 20px; }

.loading { min-height: 160px; display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--muted); }
.spinner { width: 28px; height: 28px; border: 3px solid rgba(255,255,255,.14); border-top-color: var(--cyan); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.center-page { min-height: calc(100vh - 160px); display: grid; place-items: center; padding: 30px; }
.state-card { max-width: 620px; width: 100%; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); padding: 38px; text-align: center; box-shadow: var(--shadow); }
.state-card h1 { font-size: 2.1rem; margin: 10px 0; }
.state-card p { color: var(--muted); line-height: 1.6; }
.state-icon { width: 52px; height: 52px; display: inline-grid; place-items: center; border-radius: 50%; background: rgba(255,113,136,.1); color: var(--danger); font-weight: 900; font-size: 1.5rem; }
.muted { color: var(--muted) !important; }
.empty-text { color: var(--muted); }
.empty-text.padded { padding: 28px; text-align: center; }

.test-background { background: var(--bg); }
.test-shell { min-height: 100vh; background: linear-gradient(150deg, #061326, #020817 70%); position: relative; isolation: isolate; }
.no-select { user-select: none; -webkit-user-select: none; }
.test-topbar { height: 78px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: rgba(2,8,21,.94); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 40; }
.test-brand { display: flex; align-items: center; gap: 11px; min-width: 0; }
.test-brand > div { display: flex; flex-direction: column; min-width: 0; }
.test-brand strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.test-brand small { color: var(--muted); }
.timer-box { min-width: 140px; border: 1px solid rgba(63,208,246,.3); background: rgba(63,208,246,.06); border-radius: 14px; padding: 8px 13px; text-align: right; }
.timer-box span { display: block; color: var(--muted); font-size: .68rem; }
.timer-box strong { font-variant-numeric: tabular-nums; font-size: 1.32rem; letter-spacing: .04em; }
.timer-box.warning { border-color: rgba(255,200,92,.5); background: rgba(255,200,92,.07); }
.timer-box.danger { border-color: rgba(255,113,136,.6); background: rgba(255,113,136,.1); color: #ffb5c1; animation: pulse 1s infinite; }
@keyframes pulse { 50% { opacity: .75; } }
.test-progress { height: 4px; background: rgba(255,255,255,.05); position: sticky; top: 78px; z-index: 39; }
.test-progress span { display: block; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--violet)); transition: width .25s ease; }
.test-layout { width: min(1320px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 60px; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; position: relative; z-index: 5; }
.question-nav { position: sticky; top: 105px; align-self: start; border: 1px solid var(--line); border-radius: 18px; background: rgba(10,23,44,.88); padding: 18px; }
.student-chip { display: flex; flex-direction: column; gap: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.student-chip span { font-weight: 760; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.student-chip small { color: var(--muted); }
.nav-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 14px 0; }
.nav-summary > div { border: 1px solid rgba(150,181,229,.1); border-radius: 12px; padding: 10px; }
.nav-summary strong { display: block; font-size: 1.2rem; }
.nav-summary span { color: var(--muted); font-size: .67rem; }
.question-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; }
.question-grid button { aspect-ratio: 1; border-radius: 9px; border: 1px solid var(--line); background: rgba(255,255,255,.025); color: #b9cce5; cursor: pointer; font-size: .76rem; position: relative; }
.question-grid button.answered { background: rgba(64,212,161,.1); border-color: rgba(64,212,161,.32); color: #9ff2d0; }
.question-grid button.current { outline: 2px solid var(--cyan); outline-offset: 1px; color: white; }
.question-grid button.marked::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--violet); position: absolute; top: 3px; right: 3px; }
.legend { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 14px; color: var(--muted); font-size: .68rem; }
.legend span { display: flex; align-items: center; gap: 5px; }
.legend-dot { width: 8px; height: 8px; border-radius: 50%; }
.legend-dot.answered { background: var(--success); }
.legend-dot.marked { background: var(--violet); }
.question-stage { min-width: 0; }
.question-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 2px 12px; color: var(--muted); font-size: .77rem; }
.question-meta > div { display: flex; gap: 14px; }
.question-meta strong { color: #d9e8fa; }
.question-card { position: relative; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg, rgba(14,30,56,.96), rgba(7,18,38,.95)); padding: clamp(24px, 4vw, 46px); box-shadow: var(--shadow); min-height: 430px; }
.question-card h1 { margin: 0 0 12px; max-width: 900px; font-size: clamp(1.3rem, 2.6vw, 2rem); line-height: 1.35; letter-spacing: -.025em; }
.question-help { color: var(--muted); line-height: 1.6; }
.question-points { position: absolute; top: 22px; right: 22px; color: var(--cyan); font-size: .72rem; font-weight: 800; border: 1px solid rgba(63,208,246,.24); border-radius: 999px; padding: 6px 9px; }
.question-media { display: block; max-height: 420px; margin: 24px auto; border-radius: 14px; border: 1px solid var(--line); }
.answer-options { display: grid; gap: 11px; margin-top: 28px; }
.answer-option { min-height: 58px; display: flex; align-items: center; gap: 13px; padding: 13px 16px; border: 1px solid rgba(150,181,229,.18); border-radius: 14px; background: rgba(2,10,27,.37); cursor: pointer; line-height: 1.45; }
.answer-option:hover { border-color: rgba(63,208,246,.35); }
.answer-option.selected { border-color: rgba(63,208,246,.65); background: rgba(63,208,246,.08); }
.answer-option input { position: absolute; opacity: 0; pointer-events: none; }
.radio-ui, .check-ui { width: 21px; height: 21px; border: 2px solid #6c87aa; display: inline-block; flex: 0 0 auto; }
.radio-ui { border-radius: 50%; }
.check-ui { border-radius: 6px; }
.answer-option.selected .radio-ui { border-color: var(--cyan); box-shadow: inset 0 0 0 5px #0c1d34; background: var(--cyan); }
.answer-option.selected .check-ui { border-color: var(--cyan); background: var(--cyan); position: relative; }
.answer-option.selected .check-ui::after { content: "✓"; color: #03111f; font-weight: 900; position: absolute; left: 3px; top: -2px; }
.answer-input, .answer-textarea { margin-top: 25px; }
.answer-textarea { resize: vertical; min-height: 150px; }
.matrix-wrap { overflow-x: auto; margin-top: 24px; }
.matrix-table { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 580px; }
.matrix-table th, .matrix-table td { border-bottom: 1px solid var(--line); padding: 14px; text-align: center; }
.matrix-table th:first-child { text-align: left; }
.matrix-table thead th { color: var(--muted); font-size: .76rem; }
.matrix-table input { width: 18px; height: 18px; accent-color: var(--cyan); }
.ordering-list { list-style: none; padding: 0; display: grid; gap: 8px; margin-top: 24px; }
.ordering-list li { border: 1px solid var(--line); border-radius: 13px; padding: 12px 14px; display: flex; justify-content: space-between; align-items: center; gap: 14px; background: rgba(2,10,27,.37); }
.ordering-list button { width: 34px; height: 34px; border-radius: 9px; background: rgba(255,255,255,.05); color: var(--text); margin-left: 5px; }
.question-actions { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; margin-top: 15px; }
.question-actions > :last-child { justify-self: end; }
.privacy-overlay { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; background: #010611; opacity: 0; pointer-events: none; transition: opacity .1s; }
.privacy-overlay.visible { opacity: 1; pointer-events: auto; }
.privacy-overlay > div { text-align: center; }
.privacy-overlay strong { display: block; margin-top: 15px; font-size: 1.4rem; }
.privacy-overlay p { color: var(--muted); }
.watermark-layer { position: fixed; inset: 0; z-index: 3; pointer-events: none; display: grid; grid-template-columns: repeat(3,1fr); grid-auto-rows: 120px; overflow: hidden; opacity: .025; transform: rotate(-18deg) scale(1.3); }
.watermark-layer span { white-space: nowrap; font-size: .85rem; font-weight: 800; }

.result-page { max-width: 980px; text-align: center; }
.result-hero { display: flex; flex-direction: column; align-items: center; }
.result-hero h1 { font-size: clamp(2rem,5vw,3.5rem); margin: 15px 0 5px; letter-spacing: -.05em; }
.result-hero > p { color: var(--muted); }
.grade-ring { width: 180px; height: 180px; border-radius: 50%; display: grid; place-content: center; margin: 32px auto 18px; background: radial-gradient(circle at center, #08172c 59%, transparent 60%), conic-gradient(var(--success) 0 72%, rgba(255,255,255,.08) 72%); box-shadow: 0 0 70px rgba(64,212,161,.12); }
.grade-ring.failed { background: radial-gradient(circle at center, #08172c 59%, transparent 60%), conic-gradient(var(--danger) 0 48%, rgba(255,255,255,.08) 48%); box-shadow: 0 0 70px rgba(255,113,136,.1); }
.grade-ring strong { font-size: 3.2rem; line-height: 1; }
.grade-ring span { color: var(--muted); font-size: .78rem; }
.result-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin: 32px 0; }
.result-stat { border: 1px solid var(--line); border-radius: 17px; background: rgba(10,24,46,.72); padding: 20px; }
.result-stat span { display: block; color: var(--muted); font-size: .78rem; margin-bottom: 8px; }
.result-stat strong { font-size: 1.6rem; }
.result-stat.success strong { color: var(--success); }
.result-stat.danger strong { color: var(--danger); }
.result-stat .small-value { font-size: 1.15rem; }
.result-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.review-page { max-width: 920px; }
.review-list { display: grid; gap: 18px; }
.review-card { border: 1px solid var(--line); border-left: 4px solid var(--muted); border-radius: 18px; padding: 25px; background: rgba(11,25,48,.83); }
.review-card.correct { border-left-color: var(--success); }
.review-card.incorrect { border-left-color: var(--danger); }
.review-card.manual { border-left-color: var(--warning); }
.review-card h2 { margin: 20px 0 0; font-size: 1.2rem; line-height: 1.45; }
.review-head { display: flex; justify-content: space-between; color: var(--muted); font-size: .8rem; }
.review-status { margin-top: 18px; font-weight: 760; }
.review-card.correct .review-status { color: var(--success); }
.review-card.incorrect .review-status { color: var(--danger); }
.solution-box { margin-top: 18px; border: 1px solid rgba(63,208,246,.2); border-radius: 13px; padding: 15px; background: rgba(63,208,246,.04); }
.solution-box pre { white-space: pre-wrap; color: #d7edff; font-family: inherit; }

.modal-backdrop { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 20px; background: rgba(0,5,15,.78); backdrop-filter: blur(8px); }
.modal { width: min(520px,100%); border: 1px solid var(--line-strong); border-radius: 21px; background: #0a1930; padding: 25px; box-shadow: var(--shadow); }
.modal h2 { margin: 0; }
.modal-body { color: var(--muted); line-height: 1.6; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 255px minmax(0,1fr); background: linear-gradient(145deg, #03101f, #030817 70%); }
.admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 18px 15px; border-right: 1px solid var(--line); background: rgba(1,7,20,.96); display: flex; flex-direction: column; z-index: 60; }
.sidebar-head { padding: 8px 8px 22px; }
.sidebar-nav { display: grid; gap: 5px; }
.sidebar-link { padding: 13px 14px; border-radius: 12px; color: #a9bdd8; font-weight: 700; font-size: .88rem; }
.sidebar-link:hover { background: rgba(255,255,255,.04); color: white; }
.sidebar-link.active { background: linear-gradient(135deg, rgba(63,208,246,.13), rgba(156,133,255,.09)); border: 1px solid rgba(63,208,246,.18); color: #e9fbff; }
.sidebar-foot { margin-top: auto; border-top: 1px solid var(--line); padding: 17px 8px 4px; display: flex; flex-direction: column; gap: 7px; }
.sidebar-foot small { color: var(--muted); }
.sidebar-foot strong { font-size: .72rem; overflow-wrap: anywhere; }
.sidebar-foot .outline-button { margin-top: 8px; }
.admin-main { min-width: 0; }
.admin-topbar { height: 76px; position: sticky; top: 0; z-index: 45; padding: 0 28px; border-bottom: 1px solid var(--line); background: rgba(3,11,25,.88); backdrop-filter: blur(16px); display: flex; align-items: center; justify-content: space-between; }
.admin-topbar > div { display: flex; flex-direction: column; gap: 3px; }
.admin-content { padding: 34px; max-width: 1540px; margin: 0 auto; }
.admin-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.admin-page-head h1 { font-size: clamp(2rem,3.4vw,3rem); }
.head-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.stats-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; margin-bottom: 20px; }
.stat-card { min-height: 142px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(14,29,54,.91), rgba(8,19,39,.85)); padding: 20px; display: flex; flex-direction: column; }
.stat-card > span { color: var(--muted); font-size: .76rem; }
.stat-card strong { margin-top: 12px; font-size: 2rem; letter-spacing: -.05em; }
.stat-card small { margin-top: auto; color: #7792b5; }
.admin-grid { display: grid; gap: 18px; }
.admin-grid.two { grid-template-columns: minmax(0,1.4fr) minmax(300px,.8fr); }
.admin-card { padding: 23px; }
.card-heading { margin-bottom: 19px; }
.card-heading h2 { font-size: 1.2rem; }
.bar-list { display: grid; gap: 17px; }
.bar-item > div:first-child { display: flex; justify-content: space-between; gap: 18px; font-size: .82rem; }
.bar-item > div:first-child span { color: #c1d2e8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bar-item > div:first-child strong { color: var(--muted); white-space: nowrap; }
.bar-track { height: 8px; border-radius: 999px; background: rgba(255,255,255,.06); overflow: hidden; margin-top: 8px; }
.bar-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cyan), var(--violet)); }
.quick-actions { display: flex; flex-direction: column; }
.quick-link { border-top: 1px solid var(--line); padding: 15px 0; display: flex; flex-direction: column; gap: 5px; }
.quick-link:hover strong { color: var(--cyan); }
.quick-link span { color: var(--muted); font-size: .8rem; line-height: 1.5; }
.empty-state { padding: 50px 25px; border: 1px dashed var(--line-strong); border-radius: var(--radius); text-align: center; background: rgba(12,26,49,.42); }
.empty-state h2 { margin-top: 0; }
.empty-state p { color: var(--muted); }
.test-admin-list { display: grid; gap: 13px; }
.test-admin-card { border: 1px solid var(--line); border-radius: 18px; background: rgba(11,25,48,.76); overflow: hidden; }
.test-card-main { display: grid; grid-template-columns: minmax(270px,1.2fr) minmax(480px,1fr); align-items: center; gap: 30px; padding: 20px 22px; }
.test-card-title h2 { margin: 9px 0 4px; font-size: 1.12rem; }
.test-card-title p { margin: 0; color: var(--muted); font-size: .82rem; }
.status-badge { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: .66rem; font-weight: 800; border: 1px solid var(--line); color: var(--muted); }
.status-badge.published, .status-badge.submitted { color: #9af0d0; background: rgba(64,212,161,.07); border-color: rgba(64,212,161,.25); }
.status-badge.draft { color: #d0c7ff; background: rgba(156,133,255,.07); border-color: rgba(156,133,255,.25); }
.status-badge.suspended, .status-badge.pending_manual { color: #ffe1a3; background: rgba(255,200,92,.07); border-color: rgba(255,200,92,.25); }
.status-badge.closed, .status-badge.archived { color: #a8bdd9; }
.test-card-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.test-card-metrics > div { padding-left: 13px; border-left: 1px solid var(--line); }
.test-card-metrics span { display: block; color: var(--muted); font-size: .67rem; }
.test-card-metrics strong { display: block; margin-top: 5px; font-size: .88rem; }
.test-card-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--line); background: rgba(1,8,22,.25); }

.editor-page { padding-bottom: 80px; }
.editor-head { align-items: flex-start; }
.editor-summary { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); border-radius: 17px; background: rgba(11,25,48,.72); margin-bottom: 16px; }
.editor-summary > div { padding: 15px 18px; border-right: 1px solid var(--line); }
.editor-summary > div:last-child { border-right: 0; }
.editor-summary span { display: block; color: var(--muted); font-size: .7rem; }
.editor-summary strong { display: block; margin-top: 5px; }
.status-text.published { color: var(--success); }
.editor-tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--line); margin-bottom: 18px; }
.editor-tabs button { padding: 13px 17px; color: var(--muted); background: transparent; border-bottom: 2px solid transparent; cursor: pointer; }
.editor-tabs button.active { color: white; border-bottom-color: var(--cyan); }
.editor-tabs span { background: rgba(255,255,255,.06); padding: 2px 6px; border-radius: 999px; font-size: .68rem; }
.editor-section-stack, .questions-editor { display: grid; gap: 16px; }
.form-card { padding: 24px; }
.section-editor-list { display: grid; gap: 9px; }
.section-edit-row { display: grid; grid-template-columns: 34px 1fr 1.5fr auto; gap: 9px; align-items: center; }
.section-edit-row > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; background: rgba(63,208,246,.08); color: var(--cyan); font-weight: 800; }
.sticky-save { position: sticky; bottom: 14px; z-index: 30; display: flex; justify-content: flex-end; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 17px; background: rgba(3,11,25,.9); backdrop-filter: blur(14px); box-shadow: var(--shadow); }
.questions-toolbar { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; }
.questions-toolbar h2 { margin: 0; }
.questions-toolbar p { color: var(--muted); margin: 5px 0 0; }
.editor-question { border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(145deg, rgba(14,29,54,.9), rgba(7,18,38,.84)); overflow: hidden; }
.editor-question-head { display: flex; justify-content: space-between; align-items: center; padding: 13px 17px; border-bottom: 1px solid var(--line); background: rgba(1,8,22,.25); }
.editor-question-head > div:first-child { display: flex; align-items: center; gap: 10px; }
.question-number { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; background: rgba(63,208,246,.09); color: var(--cyan); font-weight: 900; }
.row-actions { display: flex; align-items: center; gap: 6px; }
.editor-question > .editor-grid { padding: 0 21px 18px; }
.option-editor { margin: 0 21px 18px; padding: 16px; border: 1px solid rgba(150,181,229,.12); border-radius: 14px; background: rgba(1,8,22,.28); }
.option-editor.two-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.subheading { margin-bottom: 12px; align-items: center; }
.option-edit-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 9px; margin-top: 8px; }
.option-edit-row > input[type="checkbox"], .option-edit-row > input[type="radio"] { width: 18px; height: 18px; accent-color: var(--cyan); }
.order-index { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(156,133,255,.1); color: #d9d2ff; font-weight: 800; }
.matrix-config { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.matrix-key { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; margin-top: 14px; }
.manual-note { margin: 0 21px 18px; border: 1px solid rgba(255,200,92,.24); border-radius: 13px; padding: 13px; background: rgba(255,200,92,.06); color: #ffe0a1; font-size: .84rem; }
.bottom-fields { padding-top: 0 !important; }
.publish-layout { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); gap: 18px; }
.publish-card { text-align: center; padding: 35px; }
.publish-card h2 { font-size: 1.8rem; }
.publish-card > p { color: var(--muted); line-height: 1.6; }
.publish-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin: 26px 0; }
.publish-metrics > div { border-right: 1px solid var(--line); }
.publish-metrics > div:last-child { border-right: 0; }
.publish-metrics strong { display: block; font-size: 1.45rem; }
.publish-metrics span { color: var(--muted); font-size: .7rem; }
.checklist { list-style: none; padding: 0; display: grid; gap: 9px; }
.checklist li { border: 1px solid var(--line); border-radius: 12px; padding: 12px; color: var(--muted); }
.checklist li::before { display: inline-block; width: 22px; font-weight: 900; }
.checklist li.ok::before { content: "✓"; color: var(--success); }
.checklist li.bad::before { content: "×"; color: var(--danger); }

.filter-bar { display: flex; align-items: end; gap: 12px; border: 1px solid var(--line); border-radius: 17px; background: rgba(11,25,48,.72); padding: 15px; margin-bottom: 16px; }
.filter-bar .field { min-width: 190px; }
.table-card { overflow: hidden; }
.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.data-table th { color: #829bbb; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; text-align: left; padding: 13px 15px; border-bottom: 1px solid var(--line); background: rgba(1,8,22,.25); }
.data-table td { padding: 14px 15px; border-bottom: 1px solid rgba(150,181,229,.09); font-size: .82rem; }
.data-table td strong { display: block; }
.data-table td small { display: block; color: var(--muted); margin-top: 4px; }
.grade-chip { min-width: 58px; display: inline-flex; justify-content: center; padding: 7px 9px; border-radius: 10px; font-weight: 850; }
.grade-chip.pass { color: #a2f1d2; background: rgba(64,212,161,.08); }
.grade-chip.fail { color: #ffb5c1; background: rgba(255,113,136,.08); }
.answer-counts { display: flex; gap: 7px; }
.answer-counts b { font-size: .7rem; color: var(--muted); }
.warning-chip { padding: 5px 8px; border-radius: 999px; color: #ffe1a4; background: rgba(255,200,92,.09); font-weight: 800; }
.report-header-print { display: none; }
.report-stats { margin-top: 15px; }
.distribution-chart { min-height: 220px; display: flex; align-items: end; justify-content: space-around; gap: 16px; padding: 20px 5px 0; }
.distribution-chart > div { flex: 1; text-align: center; color: var(--muted); font-size: .7rem; }
.distribution-chart > div > div { height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: end; gap: 8px; margin-top: 8px; }
.distribution-chart i { width: min(50px,70%); min-height: 8px; border-radius: 9px 9px 3px 3px; background: linear-gradient(to top, var(--cyan), var(--violet)); }
.big-metric { min-height: 230px; display: grid; place-content: center; text-align: center; }
.big-metric strong { font-size: clamp(2rem,4vw,3.4rem); letter-spacing: -.05em; }
.big-metric span { color: var(--muted); }
.question-report { margin-top: 18px; }
.timeline { position: relative; padding-left: 25px; }
.timeline::before { content: ""; position: absolute; left: 7px; top: 10px; bottom: 10px; width: 1px; background: var(--line); }
.timeline-item { position: relative; margin-bottom: 15px; }
.timeline-dot { position: absolute; left: -23px; top: 18px; width: 11px; height: 11px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(63,208,246,.08); }
.timeline-content { border: 1px solid var(--line); border-radius: 15px; padding: 15px; background: rgba(11,25,48,.72); }
.timeline-content > div { display: flex; justify-content: space-between; gap: 15px; }
.timeline-content time { color: var(--muted); font-size: .73rem; }
.timeline-content p { margin: 7px 0 0; color: var(--muted); font-size: .8rem; }
.timeline-content pre { white-space: pre-wrap; color: #9db5d5; font-size: .7rem; background: rgba(0,0,0,.16); border-radius: 10px; padding: 10px; }

@media (max-width: 1050px) {
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .admin-grid.two, .publish-layout { grid-template-columns: 1fr; }
  .test-card-main { grid-template-columns: 1fr; }
  .test-layout { grid-template-columns: 210px minmax(0,1fr); }
  .question-grid { grid-template-columns: repeat(4,1fr); }
}

@media (max-width: 800px) {
  .topbar-inner { height: 70px; padding: 0 16px; }
  .top-actions .nav-link { display: none; }
  .brand-copy small { display: none; }
  .hero { min-height: auto; padding: 62px 20px 70px; }
  .hero h1 { font-size: clamp(3rem,17vw,5.2rem); }
  .mobile-break { display: block; }
  .feature-grid.two-cards, .start-layout { grid-template-columns: 1fr; }
  .test-summary { position: static; }
  .content-page { width: min(100% - 28px,1180px); padding-top: 38px; }
  .form-grid, .editor-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .site-footer { flex-direction: column; padding: 24px 18px; }
  .test-topbar { padding: 0 12px; height: 68px; }
  .test-brand small { display: none; }
  .timer-box { min-width: 118px; padding: 7px 10px; }
  .timer-box strong { font-size: 1.12rem; }
  .test-progress { top: 68px; }
  .test-layout { width: min(100% - 20px,900px); grid-template-columns: 1fr; padding-top: 14px; }
  .question-nav { position: static; padding: 12px; }
  .student-chip, .legend { display: none; }
  .nav-summary { margin-top: 0; }
  .question-grid { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; }
  .question-grid button { flex: 0 0 36px; width: 36px; height: 36px; aspect-ratio: auto; }
  .question-card { min-height: 390px; padding: 24px 18px; border-radius: 18px; }
  .question-card h1 { padding-right: 0; margin-top: 32px; }
  .question-points { top: 15px; right: 15px; }
  .question-meta { font-size: .7rem; }
  .question-meta > div > span { display: none; }
  .question-actions { grid-template-columns: 1fr 1fr; }
  .question-actions .review-button { grid-column: 1 / -1; grid-row: 1; }
  .question-actions > :last-child { justify-self: stretch; }
  .question-actions button { width: 100%; }
  .result-grid { grid-template-columns: repeat(2,1fr); }
  .admin-shell { display: block; }
  .admin-sidebar { position: sticky; top: 0; width: 100%; height: auto; padding: 8px 10px; border-right: 0; border-bottom: 1px solid var(--line); flex-direction: row; align-items: center; overflow-x: auto; }
  .sidebar-head { padding: 0 8px 0 0; }
  .sidebar-head .brand-copy { display: none; }
  .sidebar-head .brand-mark { width: 38px; height: 38px; }
  .sidebar-nav { display: flex; gap: 4px; }
  .sidebar-link { white-space: nowrap; padding: 10px 11px; font-size: .77rem; }
  .sidebar-foot { display: none; }
  .admin-topbar { height: 66px; padding: 0 15px; }
  .admin-topbar .outline-button { display: none; }
  .admin-content { padding: 22px 14px; }
  .admin-page-head { align-items: flex-start; flex-direction: column; }
  .admin-page-head .primary-button, .admin-page-head .outline-button { width: 100%; }
  .head-actions { width: 100%; }
  .head-actions > * { flex: 1; }
  .test-card-metrics { grid-template-columns: repeat(2,1fr); }
  .editor-summary { grid-template-columns: repeat(2,1fr); }
  .editor-summary > div:nth-child(2) { border-right: 0; }
  .editor-summary > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .section-edit-row { grid-template-columns: 32px 1fr auto; }
  .section-edit-row input:nth-of-type(2) { grid-column: 2 / -1; }
  .option-editor.two-inline, .matrix-config, .matrix-key { grid-template-columns: 1fr; }
  .publish-metrics { grid-template-columns: repeat(2,1fr); gap: 15px 0; }
  .publish-metrics > div:nth-child(2) { border-right: 0; }
  .filter-bar { flex-direction: column; align-items: stretch; }
  .filter-bar .field { min-width: 0; }
  .sticky-save { flex-direction: column; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
  .top-actions .outline-button { padding: 0 11px; }
  .hero-actions { flex-direction: column; }
  .hero-actions > * { width: 100%; }
  .feature-card { min-height: 230px; }
  .student-form, .card-panel { padding: 20px; }
  .result-grid, .stats-grid { grid-template-columns: 1fr; }
  .result-stat { padding: 16px; }
  .grade-ring { width: 154px; height: 154px; }
  .grade-ring strong { font-size: 2.7rem; }
  .admin-topbar .eyebrow { display: none; }
  .test-card-metrics { grid-template-columns: 1fr 1fr; }
  .test-card-actions > * { flex: 1; }
  .editor-tabs { overflow-x: auto; }
  .editor-tabs button { white-space: nowrap; }
  .option-edit-row { grid-template-columns: auto 1fr auto; }
  .option-edit-row .row-actions { grid-column: 2 / 3; }
  .option-edit-row .danger-text-button { grid-column: 3; grid-row: 1; }
}

@media print {
  body { background: white !important; color: black !important; }
  .admin-sidebar, .admin-topbar, .no-print, .admin-page-head .outline-button { display: none !important; }
  .admin-shell { display: block; background: white; }
  .admin-content { padding: 0; max-width: none; }
  .print-report { color: black; }
  .print-report .admin-page-head { margin-bottom: 10px; }
  .print-report .admin-page-head p, .print-report .eyebrow { color: #333 !important; }
  .report-header-print { display: flex; justify-content: space-between; border-bottom: 1px solid #999; padding-bottom: 8px; margin-bottom: 15px; }
  .stat-card, .admin-card { background: white !important; color: black !important; box-shadow: none; border: 1px solid #bbb; break-inside: avoid; }
  .stat-card > span, .stat-card small, .bar-item span, .bar-item strong, .empty-text { color: #333 !important; }
  .bar-track { background: #ddd; }
  .bar-track span, .distribution-chart i { background: #555 !important; }
  .site-footer { display: none; }
  .test-shell { display: none !important; }
}

/* v2 — detalhes de resultados e correção manual */
.grade-ring.pending { border-color: #e4b94f; box-shadow: 0 0 0 8px rgb(228 185 79 / 10%); }
.admin-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgb(2 8 23 / 78%);
  backdrop-filter: blur(8px);
}
.admin-modal {
  width: min(1080px, 100%);
  max-height: min(880px, calc(100vh - 48px));
  overflow: auto;
  border: 1px solid rgb(148 163 184 / 22%);
  border-radius: 24px;
  background: #071326;
  box-shadow: 0 30px 90px rgb(0 0 0 / 45%);
  padding: 24px;
}
.admin-modal-head,
.admin-modal-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.admin-modal-head { margin-bottom: 20px; }
.admin-modal-head h2 { margin: 4px 0; }
.admin-modal-actions {
  position: sticky;
  bottom: -24px;
  margin: 24px -24px -24px;
  padding: 18px 24px;
  background: rgb(7 19 38 / 96%);
  border-top: 1px solid rgb(148 163 184 / 18%);
}
.manual-question-list { display: grid; gap: 14px; }
.manual-question-card {
  border: 1px solid rgb(148 163 184 / 18%);
  border-radius: 18px;
  background: rgb(15 31 55 / 72%);
  padding: 18px;
}
.manual-question-card h3 { margin: 12px 0; line-height: 1.45; }
.answer-preview {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 14px;
  margin: 0;
  border-radius: 12px;
  background: rgb(2 8 23 / 58%);
  color: #dbeafe;
  font: inherit;
}
.manual-grade-grid {
  display: grid;
  grid-template-columns: minmax(150px, .28fr) 1fr;
  gap: 14px;
  margin-top: 14px;
}
.load-more { display: flex; justify-content: center; padding: 18px; }
.check-row.full { grid-column: 1 / -1; }

@media (max-width: 720px) {
  .admin-modal-backdrop { padding: 0; align-items: stretch; }
  .admin-modal { max-height: 100vh; border-radius: 0; padding: 18px; }
  .admin-modal-actions { bottom: -18px; margin: 18px -18px -18px; padding: 14px 18px; }
  .manual-grade-grid { grid-template-columns: 1fr; }
}
.grade-chip.pending { background: rgba(255, 198, 84, .12); color: #ffe0a1; border-color: rgba(255, 198, 84, .35); white-space: nowrap; }
.attempt-events { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); }
.event-list { display: grid; gap: .55rem; max-height: 220px; overflow: auto; }
.event-row { display: grid; grid-template-columns: minmax(130px, .8fr) minmax(150px, .8fr) minmax(180px, 1.4fr); gap: .75rem; align-items: start; padding: .7rem .8rem; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,255,255,.025); }
.event-row span, .event-row small { color: var(--muted); }
@media (max-width: 720px) { .event-row { grid-template-columns: 1fr; gap: .2rem; } }

/* v2.2 — frontend autónomo e diagnóstico */
.runtime-error { position: fixed; z-index: 9999; left: 18px; right: 18px; bottom: 18px; max-width: 900px; margin:auto; border:1px solid rgba(255,113,136,.6); background:#35101b; color:#ffe7eb; border-radius:16px; padding:16px 18px; box-shadow:0 20px 70px rgba(0,0,0,.55); }
.runtime-error strong { display:block; margin-bottom:6px; }
.runtime-error code { color:#ffbfca; word-break:break-word; }
.v22-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.v22-list { display:grid; gap:12px; }
.v22-row { border:1px solid var(--line); background:rgba(255,255,255,.025); border-radius:15px; padding:16px; }
.v22-row-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.v22-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.v22-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.v22-kpi { border:1px solid var(--line); background:var(--panel); border-radius:18px; padding:20px; }
.v22-kpi span { color:var(--muted); font-size:.78rem; }
.v22-kpi strong { display:block; font-size:2rem; margin-top:7px; }
.v22-question-card { border:1px solid var(--line); background:var(--panel); border-radius:20px; padding:24px; }
.v22-question-card h2 { font-size:1.2rem; line-height:1.45; }
.v22-options { display:grid; gap:10px; margin-top:18px; }
.v22-option { display:flex; gap:10px; align-items:flex-start; border:1px solid var(--line); background:rgba(255,255,255,.025); padding:13px; border-radius:13px; cursor:pointer; }
.v22-option input { margin-top:3px; accent-color:var(--cyan); }
.v22-test-layout { width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:28px 0 70px; display:grid; grid-template-columns:250px minmax(0,1fr); gap:18px; }
.v22-question-nav { position:sticky; top:95px; align-self:start; border:1px solid var(--line); background:var(--panel); border-radius:18px; padding:16px; }
.v22-number-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; margin-top:12px; }
.v22-number { min-height:36px; border-radius:9px; color:var(--text); background:rgba(255,255,255,.04); border:1px solid var(--line); cursor:pointer; }
.v22-number.active { border-color:var(--cyan); background:rgba(63,208,246,.14); }
.v22-number.done { color:#061b16; background:var(--success); }
.v22-number.marked { box-shadow:inset 0 0 0 2px var(--violet); }
.v22-test-head { position:sticky; top:0; z-index:60; display:flex; justify-content:space-between; gap:15px; align-items:center; background:rgba(2,8,21,.96); border-bottom:1px solid var(--line); padding:14px max(20px,calc((100vw - 1148px)/2)); }
.v22-timer { font-variant-numeric:tabular-nums; border:1px solid rgba(63,208,246,.4); border-radius:12px; padding:9px 13px; font-weight:850; }
.v22-admin { min-height:100vh; display:grid; grid-template-columns:250px minmax(0,1fr); }
.v22-sidebar { background:#020817; border-right:1px solid var(--line); padding:22px 14px; position:sticky; top:0; height:100vh; }
.v22-sidebar nav { display:grid; gap:5px; margin-top:28px; }
.v22-sidebar a { padding:11px 12px; border-radius:11px; color:#bcd0e8; }
.v22-sidebar a.active,.v22-sidebar a:hover { background:rgba(63,208,246,.09); color:white; }
.v22-admin-main { min-width:0; padding:34px; }
.v22-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:16px; }
.v22-table { width:100%; border-collapse:collapse; min-width:760px; }
.v22-table th,.v22-table td { padding:13px 14px; border-bottom:1px solid var(--line); text-align:left; font-size:.84rem; }
.v22-table th { color:var(--muted); background:rgba(255,255,255,.025); }
.v22-json-editor { min-height:480px; width:100%; border:1px solid var(--line); border-radius:14px; background:#010714; color:#d9ebff; padding:16px; font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.v22-order-list { display:grid; gap:8px; }
.v22-order-item { display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid var(--line); border-radius:12px; padding:11px; background:rgba(255,255,255,.025); }
.v22-order-buttons { display:flex; gap:5px; }
@media(max-width:900px){.v22-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v22-test-layout{grid-template-columns:1fr}.v22-question-nav{position:static}.v22-admin{grid-template-columns:1fr}.v22-sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid var(--line)}.v22-sidebar nav{display:flex;overflow:auto}.v22-admin-main{padding:24px 16px}}
@media(max-width:600px){.v22-kpis{grid-template-columns:1fr}.v22-test-head{align-items:flex-start}.v22-number-grid{grid-template-columns:repeat(6,1fr)}.v22-question-card{padding:18px}.top-actions .nav-link{display:none}}

/* =========================================================
   v3.0 — Premium Edition
   ========================================================= */
:root {
  --premium-cyan: #4ad9ff;
  --premium-violet: #8b7dff;
  --premium-green: #42dfa8;
  --premium-amber: #ffc866;
  --premium-red: #ff7087;
  --premium-panel: rgba(9, 23, 45, .88);
  --premium-panel-strong: rgba(13, 31, 58, .96);
  --premium-border: rgba(142, 179, 225, .16);
  --premium-border-strong: rgba(142, 179, 225, .29);
}
.ui-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.premium-shell { background: radial-gradient(circle at 75% 5%, rgba(85, 80, 210, .18), transparent 34%), radial-gradient(circle at 8% 88%, rgba(23, 177, 222, .13), transparent 36%), #020918; }
.premium-topbar { background: rgba(1, 7, 20, .84); box-shadow: 0 10px 40px rgba(0,0,0,.16); }
.premium-hero { min-height: calc(100vh - 78px); position: relative; overflow: hidden; padding: 92px 28px 72px; }
.hero-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 46px 46px; mask-image: radial-gradient(circle at 50% 40%, black, transparent 80%); }
.hero-orb { position: absolute; border-radius: 999px; filter: blur(4px); opacity: .25; pointer-events: none; }
.hero-orb.cyan { width: 480px; height: 480px; left: -180px; bottom: -150px; background: radial-gradient(circle, rgba(48, 203, 244, .8), transparent 68%); }
.hero-orb.violet { width: 620px; height: 620px; right: -170px; top: -160px; background: radial-gradient(circle, rgba(119, 94, 255, .76), transparent 70%); }
.premium-hero-inner { position: relative; z-index: 2; width: min(1300px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); gap: 70px; align-items: center; }
.hero-copy h1 { margin: 22px 0 20px; font-size: clamp(4rem, 7vw, 7.25rem); line-height: .86; letter-spacing: -.075em; color: #f7fbff; }
.hero-copy h1 span { background: linear-gradient(110deg, #edf8ff, #a5ddff 48%, #b4a9ff); -webkit-background-clip: text; color: transparent; }
.hero-copy > p { max-width: 760px; font-size: 1.1rem; line-height: 1.78; color: #aec4e2; }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; color: #87a7cb; font-size: .77rem; }
.trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.trust-row .ui-icon { width: 15px; }
.hero-dashboard-mock { position: relative; border: 1px solid rgba(150, 189, 238, .18); border-radius: 26px; padding: 22px; background: linear-gradient(145deg, rgba(14, 32, 60, .94), rgba(6, 18, 38, .92)); box-shadow: 0 40px 100px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.03); transform: perspective(1000px) rotateY(-4deg) rotateX(2deg); }
.hero-dashboard-mock::before { content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: linear-gradient(135deg, rgba(74,217,255,.45), transparent 35%, rgba(139,125,255,.3)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.mock-head { display: flex; align-items: center; gap: 8px; color: #a8bad1; font-size: .73rem; padding-bottom: 18px; border-bottom: 1px solid var(--premium-border); }
.mock-head strong { margin-left: auto; color: #e6f2ff; }
.mock-dot { width: 7px; height: 7px; border-radius: 50%; background: #49627f; }
.mock-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
.mock-kpis > div { padding: 14px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(255,255,255,.025); }
.mock-kpis small { display: block; color: #819abc; font-size: .67rem; }
.mock-kpis strong { display: block; margin-top: 8px; font-size: 1.45rem; }
.mock-chart { height: 190px; display: flex; gap: 12px; align-items: end; padding: 20px; border: 1px solid var(--premium-border); border-radius: 17px; background: rgba(1,8,24,.46); }
.mock-chart i { flex: 1; min-height: 12px; border-radius: 8px 8px 3px 3px; background: linear-gradient(to top, rgba(45, 183, 228, .72), rgba(146, 124, 255, .9)); box-shadow: 0 0 22px rgba(74,217,255,.08); }
.mock-list { display: grid; gap: 10px; margin-top: 18px; color: #a7bad5; font-size: .75rem; }
.mock-list span { display: flex; align-items: center; gap: 9px; }
.mock-list b { width: 7px; height: 7px; border-radius: 50%; background: var(--premium-green); box-shadow: 0 0 10px rgba(66,223,168,.45); }
.premium-feature-strip { position: relative; z-index: 2; width: min(1300px, 100%); margin: 80px auto 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--premium-border); border-radius: 22px; overflow: hidden; background: rgba(7, 20, 40, .72); backdrop-filter: blur(16px); }
.premium-feature-strip article { display: flex; gap: 18px; padding: 24px; border-right: 1px solid var(--premium-border); }
.premium-feature-strip article:last-child { border-right: 0; }
.premium-feature-strip article > span { color: var(--premium-cyan); font-weight: 900; font-size: .72rem; }
.premium-feature-strip strong { display: block; margin-bottom: 7px; }
.premium-feature-strip p { margin: 0; color: #8fa7c8; line-height: 1.55; font-size: .78rem; }
.brand-mark.large { width: 64px; height: 64px; border-radius: 20px; font-size: 1.15rem; }

.toast-stack { position: fixed; right: 22px; bottom: 22px; z-index: 99999; display: grid; gap: 10px; width: min(380px, calc(100vw - 32px)); }
.toast { transform: translateY(12px); opacity: 0; display: grid; gap: 3px; padding: 14px 16px; border: 1px solid var(--premium-border-strong); border-radius: 15px; background: rgba(9, 23, 45, .96); box-shadow: 0 20px 60px rgba(0,0,0,.42); transition: .22s ease; }
.toast.visible { transform: translateY(0); opacity: 1; }
.toast strong { color: var(--premium-green); font-size: .8rem; }
.toast span { color: #dceaff; font-size: .84rem; }
.toast.danger { border-color: rgba(255,112,135,.45); }.toast.danger strong { color: var(--premium-red); }
.toast.warning { border-color: rgba(255,200,102,.4); }.toast.warning strong { color: var(--premium-amber); }
.premium-loading { min-height: 300px; display: grid; place-content: center; justify-items: center; gap: 8px; color: var(--muted); }
.premium-loading strong { color: #dbeaff; }.premium-loading small { font-size: .72rem; }
.spinner.small { width: 16px; height: 16px; border-width: 2px; }
.empty-state { min-height: 220px; display: grid; place-content: center; justify-items: center; text-align: center; padding: 30px; color: var(--muted); }
.empty-state h3 { color: #dcecff; margin: 10px 0 5px; }.empty-state p { max-width: 460px; margin: 0 0 18px; line-height: 1.6; }
.empty-icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--premium-border); border-radius: 15px; color: var(--premium-cyan); font-size: 1.35rem; background: rgba(74,217,255,.05); }
.premium-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 4px 9px; border: 1px solid var(--premium-border); border-radius: 999px; color: #afc4de; background: rgba(255,255,255,.025); font-size: .68rem; font-weight: 800; line-height: 1; margin: 2px 4px 2px 0; }
.premium-badge.cyan, .premium-badge.published { color: #8eeaff; border-color: rgba(74,217,255,.3); background: rgba(74,217,255,.08); }
.premium-badge.violet { color: #c8c0ff; border-color: rgba(139,125,255,.32); background: rgba(139,125,255,.09); }
.premium-badge.success, .premium-badge.submitted, .premium-badge.easy { color: #94efd1; border-color: rgba(66,223,168,.3); background: rgba(66,223,168,.08); }
.premium-badge.warning, .premium-badge.pending_manual, .premium-badge.suspended, .premium-badge.medium { color: #ffe1a6; border-color: rgba(255,200,102,.32); background: rgba(255,200,102,.08); }
.premium-badge.danger, .premium-badge.closed, .premium-badge.hard, .premium-badge.expert { color: #ffb0bd; border-color: rgba(255,112,135,.34); background: rgba(255,112,135,.08); }
.premium-badge.draft, .premium-badge.archived { color: #b5c6dc; background: rgba(255,255,255,.035); }
.premium-modal-backdrop { position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; padding: 24px; background: rgba(0,5,16,.82); backdrop-filter: blur(10px); }
.premium-modal { width: min(760px, 100%); max-height: calc(100vh - 48px); overflow: auto; position: relative; padding: 28px; border: 1px solid var(--premium-border-strong); border-radius: 24px; background: linear-gradient(145deg, #0b1d38, #061226); box-shadow: 0 40px 120px rgba(0,0,0,.52); }
.premium-modal.wide { width: min(1120px, 100%); }.premium-modal.compact { width: min(560px, 100%); }.premium-modal h2 { margin: 8px 0 10px; font-size: 1.75rem; letter-spacing: -.035em; }.premium-modal > p { color: var(--muted); line-height: 1.65; }
.modal-x { position: absolute; right: 18px; top: 18px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: #bcd0e8; background: rgba(255,255,255,.04); cursor: pointer; }
.premium-modal-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 24px; }.premium-modal-actions.sticky { position: sticky; bottom: -28px; margin: 28px -28px -28px; padding: 18px 28px; background: rgba(7,18,38,.97); border-top: 1px solid var(--premium-border); z-index: 10; }

/* Public start */
.premium-start-page { width: min(100% - 40px, 1460px); max-width: 1460px; margin: 0 auto; }
.premium-page-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 26px; margin-bottom: 28px; }
.premium-page-header h1 { margin: 10px 0 7px; font-size: clamp(2rem, 4vw, 3.35rem); letter-spacing: -.055em; }
.premium-page-header p { max-width: 760px; margin: 0; color: var(--muted); line-height: 1.65; }
.page-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.compact-start-page { padding-top: 18px; }
.premium-start-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: stretch; }
.premium-start-layout.stacked { width: 100%; max-width: none; margin: 0 auto; }
.premium-summary-card, .premium-form-card { border: 1px solid var(--premium-border); border-radius: 24px; background: linear-gradient(145deg, rgba(13,31,58,.92), rgba(6,17,37,.9)); box-shadow: 0 30px 90px rgba(0,0,0,.26); }
.premium-summary-card { position: static; padding: 26px; }
.premium-form-card { padding: 30px; }
.start-page-header {
  display: grid;
  grid-template-columns: minmax(390px, 1.3fr) minmax(380px, .95fr) minmax(330px, .85fr);
  gap: 28px;
  align-items: stretch;
  padding: 28px 34px;
}
.summary-visual { display: block; min-width: 0; padding-bottom: 0; border-bottom: 0; align-self: center; }
.summary-visual h2 { margin: 0 0 12px; font-size: clamp(1.55rem, 2.1vw, 2.15rem); line-height: 1.2; }
.summary-visual .muted { margin: 0; color: var(--muted); line-height: 1.6; }
.summary-metrics { display: grid; grid-template-columns: repeat(3, minmax(112px, 1fr)); gap: 12px; margin: 0; align-self: stretch; }
.summary-metrics > div { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 16px 13px; border: 1px solid transparent; border-radius: 15px; text-align: center; color: #f8fcff; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.summary-metrics > div:nth-child(1) { background: linear-gradient(135deg, rgba(0,214,255,.34), rgba(13,89,201,.28)); border-color: rgba(77,224,255,.32); }
.summary-metrics > div:nth-child(2) { background: linear-gradient(135deg, rgba(148,94,255,.34), rgba(86,54,214,.28)); border-color: rgba(178,147,255,.3); }
.summary-metrics > div:nth-child(3) { background: linear-gradient(135deg, rgba(37,221,123,.34), rgba(10,131,86,.28)); border-color: rgba(108,246,172,.28); }
.summary-metrics span { display: block; color: rgba(245,250,255,.82); font-size: .67rem; }
.summary-metrics strong { display: block; margin-top: 7px; font-size: .95rem; line-height: 1.2; white-space: nowrap; color: #ffffff; }
.summary-rules { display: grid; align-content: center; gap: 11px; padding: 19px 20px; border-radius: 15px; background: linear-gradient(135deg, rgba(255,171,71,.28), rgba(255,111,55,.22)); border: 1px solid rgba(255,184,108,.3); color: #fff2dc; font-size: .75rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.summary-rules strong { color: #ffffff; }
.start-page-form { width: min(100%, 760px); max-width: 760px; margin: 0 auto; }
.form-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.form-card-head h2 { margin: 6px 0 0; }
.consent-row { display: flex; align-items: flex-start; gap: 11px; margin: 22px 0; color: #a9bdd8; line-height: 1.5; font-size: .8rem; }
.consent-row input { width: 18px; height: 18px; accent-color: var(--premium-cyan); flex: 0 0 auto; }


@media (max-width: 1180px) {
  .start-page-header { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); }
  .start-page-header .summary-rules { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .premium-start-page { width: min(100% - 28px, 760px); }
  .start-page-header { grid-template-columns: 1fr; gap: 20px; padding: 24px; }
  .summary-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .summary-metrics strong { white-space: normal; }
}
@media (max-width: 520px) {
  .summary-metrics { grid-template-columns: 1fr; }
  .start-page-header, .start-page-form { border-radius: 20px; }
}

/* Admin premium */
.premium-admin { min-height: 100vh; display: grid; grid-template-columns: 278px minmax(0,1fr); background: radial-gradient(circle at 72% -10%, rgba(91,76,205,.18), transparent 32%), #020917; }
.premium-sidebar { position: sticky; top: 0; height: 100vh; z-index: 80; display: flex; flex-direction: column; padding: 22px 15px; border-right: 1px solid var(--premium-border); background: rgba(1,7,20,.96); box-shadow: 16px 0 50px rgba(0,0,0,.14); }
.premium-sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 0 8px 20px; }
.premium-sidebar nav { display: grid; gap: 5px; margin-top: 12px; }
.premium-nav-item { min-height: 46px; display: flex; align-items: center; gap: 12px; padding: 0 13px; border-radius: 13px; color: #8ea7c8; font-size: .84rem; font-weight: 680; transition: .18s ease; }
.premium-nav-item:hover { color: #eaf5ff; background: rgba(255,255,255,.04); }.premium-nav-item.active { color: #eafaff; background: linear-gradient(90deg, rgba(74,217,255,.13), rgba(74,217,255,.035)); box-shadow: inset 3px 0 var(--premium-cyan); }
.premium-nav-item .ui-icon { width: 19px; height: 19px; }.premium-nav-item.secondary { margin-top: 10px; border-top: 1px solid var(--premium-border); border-radius: 0; padding-top: 12px; }
.sidebar-security { margin-top: auto; display: flex; align-items: center; gap: 11px; padding: 13px; border: 1px solid rgba(255,200,102,.16); border-radius: 14px; background: rgba(255,200,102,.035); }.sidebar-security strong, .sidebar-security small { display: block; }.sidebar-security strong { font-size: .72rem; color: #ffe2ad; }.sidebar-security small { color: #8fa3bf; font-size: .63rem; margin-top: 3px; }
.security-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--premium-amber); box-shadow: 0 0 12px rgba(255,200,102,.5); flex: 0 0 auto; }.security-dot.preview { background: var(--premium-violet); box-shadow: 0 0 12px rgba(139,125,255,.5); }
.mobile-menu-button, .mobile-menu-close { display: none; width: 40px; height: 40px; place-items: center; border-radius: 12px; color: #d9eaff; background: rgba(255,255,255,.045); }
.premium-admin-main { min-width: 0; }
.premium-admin-top { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 34px; border-bottom: 1px solid var(--premium-border); background: rgba(2,9,24,.68); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 60; }.premium-admin-top > div:first-of-type { display: flex; flex-direction: column; gap: 2px; }.admin-context { color: #718dab; font-size: .65rem; text-transform: uppercase; letter-spacing: .09em; }.premium-admin-top strong { font-size: .9rem; }
.admin-user { display: flex; align-items: center; gap: 10px; }.admin-avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; color: #081326; font-weight: 900; font-size: .72rem; background: linear-gradient(135deg, var(--premium-cyan), var(--premium-violet)); }.admin-user strong, .admin-user small { display: block; }.admin-user strong { font-size: .75rem; }.admin-user small { color: #7189a8; font-size: .62rem; margin-top: 2px; }
.dev-banner { padding: 14px 34px 0; }.dev-banner > div { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid rgba(255,200,102,.18); border-radius: 12px; color: #b7a47f; background: rgba(255,200,102,.035); font-size: .72rem; }.dev-banner strong { color: #ffe0a4; }.dev-banner .ui-icon { color: var(--premium-amber); }
.premium-admin-content { padding: 32px 34px 70px; }
.premium-metrics-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; margin: 24px 0; }.premium-metric { min-height: 152px; position: relative; overflow: hidden; padding: 22px; border: 1px solid var(--premium-border); border-radius: 20px; background: linear-gradient(145deg, rgba(13,30,57,.9), rgba(7,18,37,.88)); }.metric-glow { position: absolute; width: 120px; height: 120px; right: -45px; top: -45px; border-radius: 50%; background: radial-gradient(circle, rgba(74,217,255,.2), transparent 70%); }.premium-metric.violet .metric-glow { background: radial-gradient(circle, rgba(139,125,255,.24), transparent 70%); }.premium-metric.green .metric-glow { background: radial-gradient(circle, rgba(66,223,168,.2), transparent 70%); }.premium-metric.amber .metric-glow { background: radial-gradient(circle, rgba(255,200,102,.2), transparent 70%); }.premium-metric.red .metric-glow { background: radial-gradient(circle, rgba(255,112,135,.2), transparent 70%); }
.premium-metric > span { color: #89a2c2; font-size: .73rem; font-weight: 680; }.premium-metric > strong { display: block; margin: 14px 0 8px; font-size: clamp(1.65rem,3vw,2.35rem); letter-spacing: -.045em; }.premium-metric > small { color: #6f88a7; font-size: .68rem; }
.dashboard-grid, .report-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }.premium-panel { min-width: 0; padding: 22px; border: 1px solid var(--premium-border); border-radius: 21px; background: linear-gradient(145deg, rgba(12,29,55,.9), rgba(6,17,36,.88)); box-shadow: 0 22px 70px rgba(0,0,0,.18); }.premium-panel.span-2 { grid-column: span 2; }.premium-panel.sticky { position: sticky; top: 104px; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }.panel-heading h2 { margin: 6px 0 0; font-size: 1.15rem; letter-spacing: -.025em; }.premium-callout { display: flex; align-items: center; justify-content: space-between; gap: 26px; background: linear-gradient(120deg, rgba(39,111,152,.18), rgba(78,61,164,.17)); }.premium-callout h2 { margin: 8px 0; }.premium-callout p { margin: 0; color: var(--muted); line-height: 1.6; }
.premium-table-wrap { overflow: auto; border: 1px solid var(--premium-border); border-radius: 16px; background: rgba(1,8,22,.2); }.premium-table { width: 100%; min-width: 780px; border-collapse: collapse; }.premium-table th, .premium-table td { padding: 13px 14px; border-bottom: 1px solid var(--premium-border); text-align: left; vertical-align: middle; font-size: .78rem; }.premium-table th { color: #718bab; font-size: .66rem; text-transform: uppercase; letter-spacing: .055em; background: rgba(255,255,255,.018); }.premium-table td { color: #c6d8ee; }.premium-table td strong { color: #ebf6ff; }.premium-table td small { display: block; color: #7890af; margin-top: 4px; }.premium-table tbody tr:hover { background: rgba(74,217,255,.025); }.premium-table code { display: block; max-width: 320px; overflow: hidden; text-overflow: ellipsis; color: #9db3ce; font-size: .69rem; }
.grade-pill { display: inline-flex; padding: 6px 9px; border-radius: 10px; font-weight: 850; border: 1px solid var(--premium-border); }.grade-pill.success { color: #98f0d2; background: rgba(66,223,168,.07); border-color: rgba(66,223,168,.25); }.grade-pill.danger { color: #ffb1bd; background: rgba(255,112,135,.07); border-color: rgba(255,112,135,.25); }
.icon-text-link { color: #8de6ff; font-weight: 750; font-size: .73rem; }.insight-list, .activity-list { display: grid; gap: 9px; }.insight-row, .activity-row { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--premium-border); border-radius: 13px; background: rgba(255,255,255,.018); }.insight-row > div:first-child, .activity-row > div { min-width: 0; flex: 1; }.insight-row strong, .insight-row small, .activity-row strong, .activity-row small { display: block; }.insight-row strong, .activity-row strong { font-size: .76rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.insight-row small, .activity-row small { color: #748dac; margin-top: 4px; font-size: .65rem; }.insight-score { color: #91eaff; font-weight: 850; }.activity-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: var(--premium-cyan); background: rgba(74,217,255,.07); }.activity-row time { color: #617c9c; font-size: .62rem; }
.premium-filterbar, .report-filter-card { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; margin: 22px 0; padding: 14px; border: 1px solid var(--premium-border); border-radius: 16px; background: rgba(8,22,43,.64); }.premium-filterbar > span { margin-left: auto; color: #788fac; font-size: .72rem; }.premium-filterbar select, .premium-filterbar input, .report-filter-card select, .report-filter-card input { min-height: 42px; border: 1px solid var(--premium-border); border-radius: 11px; padding: 0 12px; color: #dceaff; background: rgba(2,9,24,.64); }.premium-filterbar.multi select { min-width: 180px; }.premium-filterbar.compact { margin: 18px 0; }
.search-field { min-width: 250px; flex: 1; display: flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 11px; border: 1px solid var(--premium-border); border-radius: 11px; background: rgba(2,9,24,.64); }.search-field .ui-icon { color: #6d87a8; }.search-field input { min-width: 0; width: 100%; padding: 0; border: 0; background: transparent; outline: 0; }

/* Test management */
.test-management-grid { display: grid; gap: 13px; }.test-management-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 22px; padding: 20px; border: 1px solid var(--premium-border); border-radius: 19px; background: linear-gradient(145deg, rgba(12,29,55,.86), rgba(6,17,36,.84)); transition: .18s ease; }.test-management-card:hover { transform: translateY(-1px); border-color: var(--premium-border-strong); }.test-card-status { margin-bottom: 8px; }.test-card-main h2 { margin: 0 0 7px; font-size: 1.08rem; }.test-card-main p { margin: 0; color: #95adca; font-size: .78rem; }.test-card-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 11px; color: #637f9f; font-size: .67rem; }.test-card-actions { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 7px; }.dropdown { position: relative; }.dropdown-menu { display: none; position: absolute; z-index: 30; right: 0; top: 42px; width: 190px; padding: 7px; border: 1px solid var(--premium-border-strong); border-radius: 13px; background: #0a1b34; box-shadow: 0 20px 60px rgba(0,0,0,.45); }.dropdown-menu.open { display: grid; }.dropdown-menu button { text-align: left; padding: 10px; border-radius: 9px; color: #bdd0e7; background: transparent; cursor: pointer; }.dropdown-menu button:hover { background: rgba(255,255,255,.05); }.dropdown-menu button.danger { color: #ff9cad; }

/* Builder */
.builder-statusbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0; padding: 12px 15px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(6,18,38,.65); }.builder-statusbar > div:last-child { display: flex; gap: 18px; color: #849dbc; font-size: .72rem; }
.builder-layout { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 18px; align-items: start; }.builder-main { min-width: 0; display: grid; gap: 17px; }.builder-settings { padding: 24px; }.builder-options-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.toggle-row { min-height: 74px; display: flex; align-items: flex-start; gap: 11px; padding: 13px; border: 1px solid var(--premium-border); border-radius: 13px; background: rgba(255,255,255,.018); }.toggle-row.compact { min-height: auto; margin-top: 16px; }.toggle-row input { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--premium-cyan); }.toggle-row strong, .toggle-row small { display: block; }.toggle-row strong { font-size: .78rem; }.toggle-row small { color: #7089a9; line-height: 1.45; margin-top: 4px; font-size: .65rem; }
.builder-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin: 16px 0 0; }.builder-toolbar h2 { margin: 6px 0 0; }.builder-toolbar > div:last-child { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.builder-sections { display: grid; gap: 16px; }.builder-section-card { overflow: hidden; border: 1px solid var(--premium-border); border-radius: 20px; background: linear-gradient(145deg, rgba(12,29,55,.9), rgba(6,17,36,.88)); }.builder-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 17px 18px; border-bottom: 1px solid var(--premium-border); background: rgba(255,255,255,.018); }.builder-section-head > div:first-child { display: flex; align-items: center; gap: 12px; }.builder-section-head > div:last-child { display: flex; gap: 6px; }.section-number { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; color: #071326; font-weight: 900; background: linear-gradient(135deg, var(--premium-cyan), #8ba8ff); }.builder-section-head strong, .builder-section-head small { display: block; }.builder-section-head small { color: #728baa; margin-top: 4px; font-size: .67rem; }.builder-question-list { display: grid; gap: 9px; padding: 14px; }.section-empty { padding: 24px; text-align: center; color: #607b9d; font-size: .75rem; border: 1px dashed var(--premium-border); border-radius: 13px; }.add-question-inline { width: calc(100% - 28px); min-height: 42px; margin: 0 14px 14px; display: flex; align-items: center; justify-content: center; gap: 8px; color: #8fe9ff; border: 1px dashed rgba(74,217,255,.25); border-radius: 12px; background: rgba(74,217,255,.025); cursor: pointer; }
.builder-question-card { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 14px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(2,9,24,.4); }.builder-question-index { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #aeeeff; font-weight: 850; background: rgba(74,217,255,.08); border: 1px solid rgba(74,217,255,.16); }.builder-question-content { min-width: 0; }.builder-question-content > strong { display: block; margin: 7px 0 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }.builder-question-content > small { color: #718aaa; font-size: .66rem; }.builder-question-tags { line-height: 1; }.builder-question-actions { display: flex; gap: 5px; }.danger-icon { color: #ff91a3; }.builder-inspector h3 { margin: 10px 0 20px; line-height: 1.4; }.inspector-stat { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--premium-border); }.inspector-stat span { color: #839cbb; font-size: .72rem; }.inspector-stat strong { font-size: .83rem; }.inspector-actions { display: grid; gap: 9px; margin-top: 18px; }

/* Question editor */
.question-editor-modal { padding-bottom: 0; }.question-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.question-editor-head h2 { margin: 6px 0 0; }.question-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 20px; }.question-editor-side { display: grid; align-content: start; gap: 12px; }.question-quality-card { padding: 15px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(255,255,255,.018); }.question-quality-card strong { font-size: .76rem; }.question-quality-card p { margin: 7px 0 0; color: #728baa; font-size: .67rem; line-height: 1.55; }.type-config { margin-top: 20px; padding: 20px; border: 1px solid var(--premium-border); border-radius: 16px; background: rgba(1,8,23,.3); }.type-config h3 { margin: 7px 0 8px; }.type-config > textarea, .editor-explanation textarea { width: 100%; border: 1px solid var(--premium-border); border-radius: 12px; padding: 12px; color: #dbeaff; background: rgba(1,8,23,.55); }.editor-explanation { margin-top: 18px; }.option-editor { display: grid; gap: 8px; }.option-editor-row { display: grid; grid-template-columns: 32px minmax(0,1fr) auto 36px; align-items: center; gap: 8px; }.option-editor-row > input { min-height: 42px; border: 1px solid var(--premium-border); border-radius: 11px; padding: 0 11px; color: #dbeaff; background: rgba(2,9,24,.65); }.drag-handle { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: #7590b0; background: rgba(255,255,255,.03); }.correct-control { display: flex; align-items: center; gap: 7px; color: #96b0ce; font-size: .7rem; white-space: nowrap; }.correct-control input { accent-color: var(--premium-green); }.matrix-correct-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 15px; }

/* Question bank */
.bank-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }.bank-question-card { display: flex; flex-direction: column; min-height: 280px; padding: 19px; border: 1px solid var(--premium-border); border-radius: 18px; background: linear-gradient(145deg, rgba(12,29,55,.87), rgba(6,17,36,.84)); }.bank-card-head, .bank-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.bank-question-card h3 { margin: 15px 0 8px; font-size: .96rem; line-height: 1.45; }.bank-question-card > p { margin: 0; color: #829ab9; line-height: 1.55; font-size: .72rem; }.tag-list { margin: 14px 0; }.bank-card-foot { margin-top: auto; padding-top: 13px; border-top: 1px solid var(--premium-border); color: #6883a3; font-size: .65rem; }.bank-card-foot > div { display: flex; gap: 6px; }
.bank-picker-list { max-height: 520px; overflow: auto; display: grid; gap: 8px; }.bank-picker-item { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--premium-border); border-radius: 13px; background: rgba(255,255,255,.018); cursor: pointer; }.bank-picker-item input { width: 18px; height: 18px; accent-color: var(--premium-cyan); }.bank-picker-item strong, .bank-picker-item small { display: block; }.bank-picker-item strong { margin: 6px 0 4px; font-size: .78rem; }.bank-picker-item small { color: #718aaa; font-size: .64rem; }.bank-picker-item > span { color: #8de8ff; font-weight: 850; font-size: .73rem; }

/* Versions */
.version-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 20px; align-items: start; }.version-timeline { position: relative; display: grid; gap: 13px; }.version-timeline::before { content: ''; position: absolute; left: 12px; top: 14px; bottom: 14px; width: 1px; background: var(--premium-border-strong); }.version-card { position: relative; display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 14px; }.version-node { position: relative; z-index: 2; width: 25px; height: 25px; border: 6px solid #07172c; border-radius: 50%; background: var(--premium-cyan); box-shadow: 0 0 15px rgba(74,217,255,.3); }.version-card > div:last-child { padding: 18px; border: 1px solid var(--premium-border); border-radius: 17px; background: rgba(10,27,52,.82); }.version-card-head { display: flex; justify-content: space-between; gap: 14px; }.version-card h3 { margin: 6px 0 0; }.version-card p { color: #8199b7; font-size: .72rem; }.diff-summary { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin: 18px 0; }.diff-summary > div { padding: 10px; border: 1px solid var(--premium-border); border-radius: 11px; text-align: center; }.diff-summary strong, .diff-summary span { display: block; }.diff-summary strong { font-size: 1.2rem; }.diff-summary span { color: #718aaa; font-size: .61rem; }.diff-list { display: grid; gap: 7px; max-height: 430px; overflow: auto; }.diff-item { padding: 10px; border-left: 3px solid #8196b2; border-radius: 8px; background: rgba(255,255,255,.025); }.diff-item.added { border-left-color: var(--premium-green); }.diff-item.removed { border-left-color: var(--premium-red); }.diff-item.changed { border-left-color: var(--premium-amber); }.diff-item strong, .diff-item small { display: block; }.diff-item strong { font-size: .72rem; }.diff-item small { margin-top: 4px; color: #7890af; font-size: .61rem; }

/* Exam premium */
.secure-exam { min-height: 100vh; position: relative; isolation: isolate; background: radial-gradient(circle at 80% 0, rgba(86,76,192,.16), transparent 34%), #020817; user-select: none; -webkit-user-select: none; }.secure-exam-header { position: sticky; top: 0; z-index: 80; min-height: 74px; display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 12px max(20px, calc((100vw - 1280px)/2)); border-bottom: 1px solid var(--premium-border); background: rgba(1,7,20,.94); backdrop-filter: blur(18px); }.exam-header-actions { display: flex; align-items: center; gap: 9px; }.secure-timer { min-width: 92px; padding: 10px 14px; border: 1px solid rgba(74,217,255,.35); border-radius: 13px; text-align: center; color: #dff9ff; font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: .05em; background: rgba(74,217,255,.06); }.secure-timer.warning { color: #ffe3a9; border-color: rgba(255,200,102,.4); background: rgba(255,200,102,.06); }.secure-timer.danger { color: #ffb2be; border-color: rgba(255,112,135,.5); background: rgba(255,112,135,.09); animation: pulse 1s infinite; }.exam-progress { position: sticky; top: 74px; z-index: 70; height: 4px; background: rgba(255,255,255,.04); }.exam-progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--premium-cyan), var(--premium-violet)); transition: width .2s ease; }
.secure-exam-layout { position: relative; z-index: 10; width: min(1280px, calc(100% - 36px)); margin: 0 auto; padding: 28px 0 60px; display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 20px; }.secure-question-nav { position: sticky; top: 102px; align-self: start; padding: 17px; border: 1px solid var(--premium-border); border-radius: 18px; background: rgba(9,24,47,.9); box-shadow: 0 20px 60px rgba(0,0,0,.2); }.question-nav-head { display: flex; justify-content: space-between; margin-bottom: 13px; }.question-nav-head span { color: var(--premium-cyan); font-weight: 850; }.exam-number-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }.exam-number { min-height: 37px; border: 1px solid var(--premium-border); border-radius: 9px; color: #a1b6d0; background: rgba(255,255,255,.025); cursor: pointer; position: relative; }.exam-number.active { color: #061324; border-color: var(--premium-cyan); background: var(--premium-cyan); }.exam-number.answered:not(.active) { color: #8ff0d0; border-color: rgba(66,223,168,.32); background: rgba(66,223,168,.08); }.exam-number.marked::after { content: ''; width: 6px; height: 6px; position: absolute; top: 4px; right: 4px; border-radius: 50%; background: var(--premium-violet); }.exam-legend { display: flex; gap: 12px; margin: 13px 0; color: #748dab; font-size: .63rem; }.exam-legend span { display: flex; align-items: center; gap: 5px; }.exam-legend i { width: 7px; height: 7px; border-radius: 50%; }.exam-legend i.answered { background: var(--premium-green); }.exam-legend i.marked { background: var(--premium-violet); }.security-status { display: flex; align-items: center; gap: 9px; margin: 16px 0; padding: 12px; border: 1px solid rgba(66,223,168,.15); border-radius: 12px; background: rgba(66,223,168,.035); }.security-status strong, .security-status small { display: block; }.security-status strong { font-size: .7rem; }.security-status small { color: #6f89a9; font-size: .59rem; margin-top: 3px; }
.question-stage-meta { display: flex; justify-content: space-between; gap: 18px; margin: 0 3px 11px; color: #728cab; font-size: .7rem; }.secure-question-card { min-height: 460px; padding: clamp(25px,4vw,44px); border: 1px solid var(--premium-border); border-radius: 23px; background: linear-gradient(145deg, rgba(13,31,58,.96), rgba(6,17,36,.95)); box-shadow: 0 30px 90px rgba(0,0,0,.25); }.question-card-top { display: flex; justify-content: space-between; align-items: center; gap: 16px; }.points-chip { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(74,217,255,.25); border-radius: 999px; color: #9cecff; background: rgba(74,217,255,.06); font-size: .7rem; font-weight: 850; }.secure-question-card h1 { margin: 21px 0 10px; font-size: clamp(1.35rem,2.8vw,2.05rem); line-height: 1.35; letter-spacing: -.03em; }.secure-question-actions { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; margin-top: 14px; }.secure-question-actions > :last-child { justify-self: end; }
.privacy-overlay { z-index: 99999; background: #010510; }.preview-ribbon { position: fixed; z-index: 999; top: 84px; left: 50%; transform: translateX(-50%); padding: 7px 15px; border: 1px solid rgba(139,125,255,.4); border-radius: 999px; color: #ddd8ff; background: rgba(74,55,154,.92); font-size: .68rem; font-weight: 900; letter-spacing: .07em; }.preview-layout { padding-top: 50px; }.preview-solution { margin-top: 24px; padding: 14px; border: 1px dashed rgba(139,125,255,.3); border-radius: 13px; color: #aabddb; }.preview-solution summary { cursor: pointer; color: #c9c2ff; font-weight: 800; }.preview-solution p { line-height: 1.55; }
body.exam-mode { overflow-x: hidden; }.exam-mode input, .exam-mode textarea { user-select: text; -webkit-user-select: text; }

/* Results / report */
.premium-grade-ring { width: 190px; height: 190px; margin: 30px auto 18px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--premium-green) var(--grade), rgba(255,255,255,.07) 0); box-shadow: 0 0 80px rgba(66,223,168,.12); }.premium-grade-ring::before { content: ''; grid-area: 1/1; width: 145px; height: 145px; border-radius: 50%; background: #07162b; box-shadow: inset 0 0 30px rgba(0,0,0,.32); }.premium-grade-ring.failed { background: conic-gradient(var(--premium-red) var(--grade), rgba(255,255,255,.07) 0); }.premium-grade-ring > div { grid-area: 1/1; z-index: 2; }.premium-grade-ring strong, .premium-grade-ring span { display: block; }.premium-grade-ring strong { font-size: 3rem; }.premium-grade-ring span { color: #839bbb; font-size: .72rem; }.premium-result-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin: 28px 0; text-align: left; }
.review-answer { margin-top: 17px; padding: 14px; border: 1px solid var(--premium-border); border-radius: 12px; background: rgba(255,255,255,.02); }.review-answer span, .review-answer strong, .solution-box span, .solution-box strong { display: block; }.review-answer span, .solution-box span { color: #728baa; font-size: .66rem; margin-bottom: 6px; }
.score-triplet { display: flex; gap: 5px; }.score-triplet i { min-width: 25px; padding: 4px 6px; text-align: center; border-radius: 7px; color: #a8bdd6; background: rgba(255,255,255,.04); font-style: normal; }.score-triplet i.success { color: #94efd1; background: rgba(66,223,168,.08); }.score-triplet i.danger { color: #ffacb9; background: rgba(255,112,135,.08); }
.result-detail-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-right: 36px; }.result-detail-header h2 { margin: 7px 0 5px; }.result-detail-header p { margin: 0; color: #8199b7; }.big-grade { font-size: 2.8rem; font-weight: 900; letter-spacing: -.05em; }.big-grade span { color: #7891b0; font-size: .9rem; }.detail-tabs { display: flex; gap: 5px; margin: 23px 0 15px; border-bottom: 1px solid var(--premium-border); }.detail-tabs button { padding: 11px 13px; color: #7891b0; border-bottom: 2px solid transparent; background: transparent; cursor: pointer; }.detail-tabs button.active { color: #e9f5ff; border-color: var(--premium-cyan); }.result-question-detail { display: grid; grid-template-columns: minmax(0,1fr) 90px; gap: 15px; padding: 16px; margin-bottom: 10px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(255,255,255,.018); }.result-question-detail h3 { margin: 7px 0 10px; line-height: 1.45; font-size: .86rem; }.result-question-detail p { color: #9cb1cd; font-size: .72rem; line-height: 1.55; }.result-score-box { text-align: right; }.result-score-box strong, .result-score-box span { display: block; }.result-score-box span { color: #7089a8; font-size: .63rem; margin-top: 4px; }.manual-grade-fields { grid-column: 1/-1; display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 12px; }.event-detail-row { display: grid; grid-template-columns: 220px 150px minmax(0,1fr); gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--premium-border); }.event-detail-row small { color: #728baa; }.event-detail-row code { overflow-wrap: anywhere; color: #91a9c7; font-size: .67rem; }
.report-filter-card { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)) auto; align-items: end; }.report-filter-card .field { gap: 5px; }.report-filter-card .field > span { font-size: .65rem; }.report-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }.report-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.premium-distribution-chart { min-height: 240px; display: flex; align-items: end; justify-content: space-around; gap: 12px; padding: 20px 10px 0; }.distribution-column { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; color: #7992b1; font-size: .66rem; }.distribution-column > span { color: #cde0f4; font-weight: 850; }.distribution-column i { width: min(56px, 70%); min-height: 8px; border-radius: 9px 9px 3px 3px; background: linear-gradient(to top, var(--premium-cyan), var(--premium-violet)); }.progress-line { min-width: 150px; }.progress-line > div:first-child { display: flex; justify-content: space-between; gap: 10px; font-size: .65rem; }.progress-track { height: 7px; margin-top: 5px; border-radius: 999px; background: rgba(255,255,255,.06); overflow: hidden; }.progress-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--premium-cyan), var(--premium-violet)); }.report-print-header { display: none; }.logs-table code { max-width: 500px; }.premium-table details summary { color: #87ddf8; cursor: pointer; }.premium-table details pre { max-width: 400px; white-space: pre-wrap; overflow-wrap: anywhere; color: #a6bad3; font-size: .65rem; }

@media (max-width: 1180px) {
  .premium-hero-inner { grid-template-columns: 1fr; gap: 45px; }.hero-dashboard-mock { max-width: 720px; transform: none; }.premium-feature-strip { grid-template-columns: 1fr; }.premium-feature-strip article { border-right: 0; border-bottom: 1px solid var(--premium-border); }.premium-feature-strip article:last-child { border-bottom: 0; }
  .premium-metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.dashboard-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.premium-panel.span-2 { grid-column: span 2; }.bank-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.builder-layout { grid-template-columns: 1fr; }.builder-inspector .sticky { position: static; }.version-layout { grid-template-columns: 1fr; }.version-layout aside.sticky { position: static; }.report-filter-card { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .premium-admin { display: block; }.premium-sidebar { position: fixed; left: 0; top: 0; width: 280px; transform: translateX(-105%); transition: .22s ease; }.premium-sidebar.open { transform: translateX(0); box-shadow: 30px 0 100px rgba(0,0,0,.55); }.mobile-menu-button, .mobile-menu-close { display: grid; }.premium-admin-top { padding: 0 18px; }.premium-admin-content { padding: 24px 18px 60px; }.dev-banner { padding: 12px 18px 0; }.admin-user { display: none; }
  .premium-start-layout, .start-page-header { grid-template-columns: 1fr; }.premium-summary-card { position: static; }.secure-exam-layout { grid-template-columns: 1fr; }.secure-question-nav { position: static; order: 2; }.secure-question-stage { order: 1; }.question-editor-layout { grid-template-columns: 1fr; }.question-editor-side { grid-template-columns: repeat(2,minmax(0,1fr)); }.test-management-card { grid-template-columns: 1fr; }.test-card-actions { justify-content: flex-start; }.report-grid { grid-template-columns: 1fr; }.report-grid .span-2 { grid-column: span 1; }
}
@media (max-width: 680px) {
  .topbar-inner { height: 70px; padding: 0 16px; }.top-actions .nav-link { display: none; }.brand-copy strong { font-size: .87rem; }.premium-hero { padding: 62px 18px; }.hero-copy h1 { font-size: clamp(3.1rem, 17vw, 5rem); }.hero-dashboard-mock { padding: 15px; }.mock-kpis { grid-template-columns: 1fr; }.mock-chart { height: 150px; }.premium-feature-strip { margin-top: 45px; }.content-page { width: min(100% - 28px, 1180px); padding-top: 42px; }.premium-page-header { display: block; }.page-actions { justify-content: flex-start; margin-top: 16px; }.premium-form-card, .premium-summary-card { padding: 20px; }.form-grid, .editor-grid { grid-template-columns: 1fr; }.field.full { grid-column: auto; }.summary-metrics { grid-template-columns: 1fr; }
  .premium-metrics-grid, .dashboard-grid, .bank-grid, .report-metrics { grid-template-columns: 1fr; }.premium-panel.span-2 { grid-column: span 1; }.premium-callout { display: block; }.premium-callout .outline-button { margin-top: 15px; }.premium-admin-content { padding: 20px 13px 50px; }.dev-banner { padding-left: 13px; padding-right: 13px; }.premium-admin-top { padding: 0 13px; }.premium-filterbar { align-items: stretch; }.premium-filterbar > *, .search-field { width: 100%; min-width: 0; }.premium-filterbar > span { margin-left: 0; }.builder-toolbar { display: block; }.builder-toolbar > div:last-child { justify-content: flex-start; margin-top: 13px; }.builder-section-head { align-items: flex-start; }.builder-section-head > div:last-child { flex-wrap: wrap; justify-content: flex-end; }.builder-question-card { grid-template-columns: 34px minmax(0,1fr); }.builder-question-actions { grid-column: 1/-1; justify-content: flex-end; }.builder-options-grid, .question-editor-side, .matrix-correct-grid, .manual-grade-fields { grid-template-columns: 1fr; }.option-editor-row { grid-template-columns: 30px minmax(0,1fr) 36px; }.correct-control { grid-column: 2/3; }.premium-modal-backdrop { padding: 0; }.premium-modal { max-height: 100vh; border-radius: 0; padding: 20px; }.premium-modal-actions.sticky { bottom: -20px; margin: 20px -20px -20px; padding: 14px 20px; }.secure-exam-header { align-items: flex-start; padding: 10px 12px; }.test-brand small { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.exam-header-actions .ghost-button { display: none; }.secure-exam-layout { width: min(100% - 20px, 1280px); padding-top: 16px; }.secure-question-card { padding: 20px; min-height: 400px; }.secure-question-actions { grid-template-columns: 1fr 1fr; }.secure-question-actions #mark-question { grid-column: 1/-1; grid-row: 2; }.secure-question-actions > :last-child { justify-self: stretch; }.exam-number-grid { grid-template-columns: repeat(6,1fr); }.premium-result-grid { grid-template-columns: 1fr; }.result-detail-header { display: block; }.big-grade { margin-top: 15px; }.event-detail-row { grid-template-columns: 1fr; }.report-filter-card { grid-template-columns: 1fr; }.report-filter-card > * { width: 100%; }.premium-distribution-chart { gap: 5px; }.distribution-column i { width: 65%; }
}

@media print {
  body { background: white !important; color: black !important; }
  .premium-sidebar, .premium-admin-top, .dev-banner, .page-actions, .premium-filterbar, .report-filter-card, .site-footer, .topbar, .toast-stack, .modal-x, .premium-modal-actions, button { display: none !important; }
  .premium-admin, .premium-admin-main, .premium-admin-content, .premium-panel, .premium-table-wrap { display: block !important; background: white !important; color: black !important; border-color: #bbb !important; box-shadow: none !important; padding: 0 !important; }
  .premium-page-header h1, .premium-panel h2, .premium-table td strong, .premium-metric strong { color: black !important; }
  .premium-page-header p, .premium-table td, .premium-table th, .premium-metric span, .premium-metric small { color: #333 !important; }
  .premium-metrics-grid { grid-template-columns: repeat(3,1fr); }.premium-metric { min-height: 100px; page-break-inside: avoid; }
  .report-grid { display: block; }.report-grid > article { margin: 15px 0; page-break-inside: avoid; }.report-print-header { display: flex; justify-content: space-between; border-bottom: 1px solid #555; padding-bottom: 10px; margin-bottom: 15px; }
  .premium-table { min-width: 0; }.premium-table th, .premium-table td { border-color: #ccc !important; }
  .progress-track { border: 1px solid #999; }.progress-track i, .distribution-column i { background: #555 !important; }
  .secure-exam, .privacy-overlay, 
  body.exam-mode::after { content: 'Impressão bloqueada durante a realização do teste.'; display: block; padding: 80px; font-size: 24px; text-align: center; }
}

/* ===== v3.1 · acessibilidade, temas e componentes sem estilos inline ===== */
:root { color-scheme: dark; }
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f3f7fc;
  --bg-soft: #e9f0f8;
  --panel: rgba(255,255,255,.94);
  --panel-solid: #ffffff;
  --panel-2: #eef4fb;
  --line: rgba(38,71,113,.16);
  --line-strong: rgba(38,71,113,.28);
  --text: #14243a;
  --muted: #5f7591;
  --shadow: 0 24px 70px rgba(34,64,102,.14);
  --premium-panel: rgba(255,255,255,.94);
  --premium-panel-strong: #ffffff;
  --premium-border: rgba(38,71,113,.16);
  --premium-border-strong: rgba(38,71,113,.28);
}

button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid rgba(74,217,255,.55);
  outline-offset: 3px;
}
.theme-toggle { flex: 0 0 auto; }
.admin-top-actions { display: flex; align-items: center; gap: 12px; }
.turnstile-field { display: grid; gap: 8px; margin: 18px 0; }
.turnstile-field > span { color: var(--muted); font-size: .78rem; font-weight: 720; }

.progress-native, .exam-progress progress {
  width: 100%; height: 7px; border: 0; border-radius: 999px; overflow: hidden; appearance: none;
  background: rgba(255,255,255,.07);
}
.progress-native::-webkit-progress-bar, .exam-progress progress::-webkit-progress-bar { background: rgba(255,255,255,.07); border-radius: 999px; }
.progress-native::-webkit-progress-value, .exam-progress progress::-webkit-progress-value { background: linear-gradient(90deg, var(--premium-cyan), var(--premium-violet)); border-radius: 999px; }
.progress-native::-moz-progress-bar, .exam-progress progress::-moz-progress-bar { background: linear-gradient(90deg, var(--premium-cyan), var(--premium-violet)); border-radius: 999px; }
.progress-native { margin-top: 5px; }
.exam-progress { height: 4px; overflow: hidden; }
.exam-progress progress { display: block; height: 4px; border-radius: 0; }

.mock-h-42 { height: 42%; }.mock-h-51 { height: 51%; }.mock-h-66 { height: 66%; }
.mock-h-71 { height: 71%; }.mock-h-84 { height: 84%; }.mock-h-92 { height: 92%; }









.premium-grade-ring { position: relative; background: none; box-shadow: none; }
.premium-grade-ring::before { display: none; }
.premium-grade-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.premium-grade-ring circle { fill: none; stroke-width: 9; }
.premium-grade-ring .grade-track { stroke: rgba(255,255,255,.09); }
.premium-grade-ring .grade-value { stroke: var(--premium-green); stroke-linecap: round; }
.premium-grade-ring.failed .grade-value { stroke: var(--premium-red); }
.premium-grade-ring.pending .grade-value { stroke: var(--premium-amber); }
.premium-grade-ring > div { position: relative; }

.distribution-bar { width: min(56px,70%); height: 180px; appearance: none; border: 0; background: transparent; writing-mode: vertical-lr; transform: rotate(180deg); }
.distribution-bar::-webkit-progress-bar { background: rgba(255,255,255,.06); border-radius: 9px; }
.distribution-bar::-webkit-progress-value { background: linear-gradient(to top, var(--premium-cyan), var(--premium-violet)); border-radius: 9px; }
.distribution-bar::-moz-progress-bar { background: linear-gradient(to top, var(--premium-cyan), var(--premium-violet)); border-radius: 9px; }

.secure-exam { user-select: text; -webkit-user-select: text; }
.secure-question-card, .secure-question-nav, .secure-exam-header { user-select: text; -webkit-user-select: text; }

:root[data-theme="light"] body {
  background: radial-gradient(circle at 75% -15%, rgba(111,118,229,.14), transparent 38%), linear-gradient(145deg, #f8fbff 0%, #edf3fa 65%, #f4f0ff 100%);
  color: var(--text);
}
:root[data-theme="light"] .topbar,
:root[data-theme="light"] .premium-admin-top,
:root[data-theme="light"] .secure-exam-header { background: rgba(255,255,255,.9); }
:root[data-theme="light"] .site-footer,
:root[data-theme="light"] .premium-sidebar { background: rgba(245,249,254,.96); }
:root[data-theme="light"] .premium-hero,
:root[data-theme="light"] .secure-exam,
:root[data-theme="light"] .test-shell { background: radial-gradient(circle at 80% 0, rgba(98,85,220,.13), transparent 35%), #f4f8fd; }
:root[data-theme="light"] .hero-copy h1,
:root[data-theme="light"] .premium-page-header h1 { color: #14243a; -webkit-text-fill-color: initial; background: none; }
:root[data-theme="light"] .nav-link,
:root[data-theme="light"] .ghost-button,
:root[data-theme="light"] .outline-button,
:root[data-theme="light"] .premium-nav-item,
:root[data-theme="light"] .premium-table td,
:root[data-theme="light"] .premium-table td strong,
:root[data-theme="light"] .field > span,
:root[data-theme="light"] .consent-row,
:root[data-theme="light"] .secure-timer,
:root[data-theme="light"] .question-stage-meta,
:root[data-theme="light"] .review-button { color: #29415f; }
:root[data-theme="light"] .nav-link:hover,
:root[data-theme="light"] .premium-nav-item:hover { color: #10243d; background: rgba(38,71,113,.07); }
:root[data-theme="light"] .premium-summary-card,
:root[data-theme="light"] .premium-form-card,
:root[data-theme="light"] .premium-panel,
:root[data-theme="light"] .premium-metric,
:root[data-theme="light"] .test-management-card,
:root[data-theme="light"] .builder-section-card,
:root[data-theme="light"] .bank-question-card,
:root[data-theme="light"] .secure-question-card,
:root[data-theme="light"] .secure-question-nav,
:root[data-theme="light"] .premium-modal,
:root[data-theme="light"] .card-panel,
:root[data-theme="light"] .admin-card,
:root[data-theme="light"] .table-card,
:root[data-theme="light"] .hero-dashboard-mock,
:root[data-theme="light"] .premium-feature-strip {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(241,246,252,.96));
  color: var(--text);
  box-shadow: var(--shadow);
}
:root[data-theme="light"] .field input,
:root[data-theme="light"] .field textarea,
:root[data-theme="light"] .field select,
:root[data-theme="light"] .premium-filterbar select,
:root[data-theme="light"] .premium-filterbar input,
:root[data-theme="light"] .report-filter-card select,
:root[data-theme="light"] .report-filter-card input,
:root[data-theme="light"] .option-editor-row > input,
:root[data-theme="light"] .type-config > textarea,
:root[data-theme="light"] .editor-explanation textarea,
:root[data-theme="light"] .search-field {
  color: #14243a; background: rgba(255,255,255,.92); border-color: rgba(38,71,113,.2);
}
:root[data-theme="light"] .premium-table-wrap,
:root[data-theme="light"] .premium-filterbar,
:root[data-theme="light"] .report-filter-card,
:root[data-theme="light"] .type-config,
:root[data-theme="light"] .toggle-row,
:root[data-theme="light"] .builder-question-card,
:root[data-theme="light"] .bank-picker-item,
:root[data-theme="light"] .result-question-detail,
:root[data-theme="light"] .insight-row,
:root[data-theme="light"] .activity-row { background: rgba(255,255,255,.72); }
:root[data-theme="light"] .premium-table th { color: #536b88; background: rgba(38,71,113,.045); }
:root[data-theme="light"] .premium-table td small,
:root[data-theme="light"] .muted,
:root[data-theme="light"] .admin-context,
:root[data-theme="light"] .admin-user small,
:root[data-theme="light"] .summary-rules,
:root[data-theme="light"] .question-help { color: #607894; }
:root[data-theme="light"] .premium-modal-actions.sticky { background: rgba(250,252,255,.97); }
:root[data-theme="light"] .privacy-overlay { background: #e8eef6; color: #14243a; }
:root[data-theme="light"] .premium-grade-ring .grade-track { stroke: rgba(38,71,113,.12); }
:root[data-theme="light"] .progress-native::-webkit-progress-bar,
:root[data-theme="light"] .exam-progress progress::-webkit-progress-bar,
:root[data-theme="light"] .distribution-bar::-webkit-progress-bar { background: rgba(38,71,113,.1); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* v3.2 — Editor visual premium e seletor de tema */
.version-chip {
  display: inline-flex; align-items: center; justify-content: center; min-height: 26px; padding: 4px 9px;
  border: 1px solid rgba(156,133,255,.42); border-radius: 8px; color: #b9a9ff;
  background: rgba(156,133,255,.08); font-size: .68rem; font-weight: 800; letter-spacing: .02em;
  white-space: nowrap;
}
.sidebar-version { display: grid; gap: 4px; margin: auto 8px 10px; padding: 13px; border: 1px solid var(--premium-border); border-radius: 13px; color: var(--muted); font-size: .66rem; }
.sidebar-version span { display: flex; justify-content: space-between; gap: 8px; }.sidebar-version strong { color: var(--text); }
.theme-choice { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--premium-border); border-radius: 12px; background: rgba(255,255,255,.025); }
.theme-choice button { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 10px; border-radius: 9px; color: var(--muted); background: transparent; cursor: pointer; font-size: .7rem; font-weight: 750; }
.theme-choice button:hover { color: var(--text); background: rgba(255,255,255,.04); }
.theme-choice button.active { color: var(--text); background: rgba(156,133,255,.16); box-shadow: inset 0 0 0 1px rgba(156,133,255,.22); }
.theme-choice .ui-icon { width: 16px; height: 16px; }.theme-choice.compact button { min-width: 38px; }.theme-choice.compact button span { display: none; }

.visual-builder-shell { display: grid; gap: 14px; min-width: 0; }
.visual-builder-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 4px 2px; }
.visual-builder-title, .visual-builder-actions, .title-line { display: flex; align-items: center; gap: 11px; }
.visual-builder-title { min-width: 210px; }.visual-builder-title h1 { margin: 0; font-size: 1.25rem; letter-spacing: -.025em; }.visual-builder-title small { display: block; margin-top: 4px; color: var(--muted); font-size: .68rem; }
.builder-title-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(156,133,255,.34); border-radius: 12px; color: #bbaaff; background: rgba(156,133,255,.09); }
.visual-builder-actions { justify-content: flex-end; flex-wrap: wrap; }.visual-builder-actions .outline-button, .visual-builder-actions .primary-button { min-height: 40px; }
.autosave-status { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .68rem; white-space: nowrap; }.autosave-status::before { content: "✓"; color: var(--success); }.autosave-status.dirty::before { content: "●"; color: var(--warning); }.autosave-status.saving::before { content: "◌"; color: var(--cyan); }.autosave-status.danger::before { content: "!"; color: var(--danger); }
.builder-action-menu { position: relative; }.builder-action-menu summary { list-style: none; cursor: pointer; }.builder-action-menu summary::-webkit-details-marker { display: none; }
.builder-action-menu > div { position: absolute; right: 0; top: calc(100% + 7px); z-index: 30; min-width: 205px; display: grid; padding: 7px; border: 1px solid var(--premium-border); border-radius: 13px; background: var(--premium-panel-strong); box-shadow: var(--premium-shadow); }
.builder-action-menu > div button, .builder-action-menu > div a { min-height: 38px; display: flex; align-items: center; padding: 0 11px; border-radius: 9px; color: var(--text); background: transparent; cursor: pointer; text-align: left; font-size: .72rem; }
.builder-action-menu > div button:hover, .builder-action-menu > div a:hover { background: rgba(156,133,255,.1); }
.visual-builder-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(11,25,48,.72); overflow: hidden; }
.visual-builder-metrics > div { padding: 13px 18px; border-right: 1px solid var(--premium-border); }.visual-builder-metrics > div:last-child { border-right: 0; }.visual-builder-metrics span { display: block; color: var(--muted); font-size: .67rem; }.visual-builder-metrics strong { display: block; margin-top: 6px; color: #c8baff; font-size: 1rem; }
.visual-builder-grid { display: grid; grid-template-columns: minmax(235px, .72fr) minmax(500px, 1.55fr) minmax(310px, .95fr); gap: 14px; align-items: start; min-width: 0; }
.visual-structure-panel, .visual-canvas-panel, .visual-properties-panel { min-width: 0; border: 1px solid var(--premium-border); border-radius: 15px; background: rgba(8,21,42,.78); }
.visual-structure-panel { position: sticky; top: 91px; max-height: calc(100vh - 112px); overflow: auto; padding: 14px; }
.structure-heading, .properties-heading, .canvas-question-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.structure-heading { padding: 3px 2px 13px; }.structure-heading h2, .properties-heading h2 { margin: 3px 0 0; font-size: .98rem; }.icon-button.accent { color: #c9bdff; border-color: rgba(156,133,255,.34); background: rgba(156,133,255,.11); }.icon-button.mini { width: 30px; height: 30px; border-radius: 9px; }
.tree-static-item, .visual-tree-question, .tree-section-select, .tree-add-question, .tree-add-section { width: 100%; color: var(--text); background: transparent; cursor: pointer; text-align: left; }
.tree-static-item { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid var(--premium-border); border-radius: 11px; margin-bottom: 9px; background: rgba(255,255,255,.018); }.tree-static-item span { font-weight: 760; font-size: .74rem; }.tree-static-item small { color: var(--muted); font-size: .61rem; }.tree-static-item:hover, .tree-static-item.active { border-color: rgba(156,133,255,.42); background: rgba(156,133,255,.09); }
.visual-tree { display: grid; gap: 9px; }.visual-tree-section { padding: 8px; border: 1px solid var(--premium-border); border-radius: 12px; background: rgba(255,255,255,.012); }
.visual-tree-section-head { display: grid; grid-template-columns: 19px minmax(0,1fr) 30px; gap: 5px; align-items: center; }.tree-grip { color: #6f85a3; background: transparent; cursor: grab; }.tree-section-select { min-width: 0; padding: 5px 3px; }.tree-section-select strong, .tree-section-select small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.tree-section-select strong { font-size: .7rem; }.tree-section-select small { margin-top: 3px; color: var(--muted); font-size: .58rem; }.tree-section-select.active strong { color: var(--violet); }
.visual-tree-questions { display: grid; gap: 5px; margin: 7px 0; }.visual-tree-question { display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 7px; align-items: center; padding: 8px; border: 1px solid transparent; border-radius: 9px; }.visual-tree-question > span { color: var(--muted); font-size: .62rem; }.visual-tree-question div { min-width: 0; }.visual-tree-question strong, .visual-tree-question small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.visual-tree-question strong { font-size: .64rem; }.visual-tree-question small { margin-top: 2px; color: #718aa9; font-size: .56rem; }.visual-tree-question b { color: #9db0c8; font-size: .58rem; white-space: nowrap; }.visual-tree-question:hover { background: rgba(255,255,255,.025); }.visual-tree-question.active { border-color: rgba(156,133,255,.38); background: linear-gradient(90deg, rgba(101,78,209,.3), rgba(156,133,255,.12)); }.visual-tree-question.active strong, .visual-tree-question.active b { color: #e8e1ff; }.visual-tree-question.drag-over { border-color: var(--cyan); }
.tree-empty { margin: 7px 6px; color: var(--muted); font-size: .6rem; }.tree-add-question { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; border-top: 1px dashed var(--premium-border); color: #a996ff; font-size: .62rem; }.tree-add-question .ui-icon, .tree-add-section .ui-icon { width: 15px; height: 15px; }.tree-add-section { min-height: 39px; display: flex; align-items: center; justify-content: center; gap: 7px; margin: 9px 0; border: 1px dashed rgba(156,133,255,.45); border-radius: 10px; color: #b7a7ff; font-size: .68rem; }
.visual-canvas-panel { padding: 14px; }.canvas-question-head { min-height: 44px; padding: 0 2px 11px; }.canvas-question-head > div { display: flex; align-items: center; gap: 7px; }.canvas-question-head strong { font-size: .75rem; }
.visual-question-card { padding: 17px; border: 1px solid var(--premium-border); border-radius: 13px; background: linear-gradient(145deg, rgba(17,35,65,.95), rgba(8,21,43,.96)); }.visual-question-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }.visual-question-meta > span:last-child { color: #aec1d8; font-size: .63rem; }.visual-question-card h2 { margin: 17px 0 8px; font-size: 1rem; line-height: 1.45; }.visual-question-card .question-help { margin: 0 0 14px; font-size: .69rem; }.visual-question-media { width: 100%; max-height: 260px; object-fit: cover; margin: 10px 0 13px; border: 1px solid var(--premium-border); border-radius: 10px; }
.visual-answer-list { display: grid; gap: 7px; margin-top: 15px; }.visual-answer-option { min-height: 42px; display: grid; grid-template-columns: 22px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 9px 11px; border: 1px solid var(--premium-border); border-radius: 9px; color: #b7c9de; background: rgba(0,8,23,.28); font-size: .68rem; }.visual-answer-option.correct { border-color: rgba(64,212,161,.55); color: #c9f9e7; background: rgba(64,212,161,.09); }.visual-answer-option b { color: #69e2b7; font-size: .58rem; }.radio-shape, .check-shape { width: 18px; height: 18px; display: grid; place-items: center; border: 1px solid #617b9b; color: #062216; font-size: .66rem; font-weight: 900; }.radio-shape { border-radius: 50%; }.check-shape { border-radius: 5px; }.visual-answer-option.correct .radio-shape, .visual-answer-option.correct .check-shape, .radio-shape.selected { border-color: var(--success); background: var(--success); }
.visual-response-placeholder, .visual-long-response { min-height: 92px; display: grid; align-content: start; gap: 8px; margin-top: 18px; padding: 14px; border: 1px dashed var(--premium-border-strong); border-radius: 10px; color: var(--muted); background: rgba(0,8,23,.2); font-size: .68rem; }.visual-response-placeholder small { color: #6f86a4; }.visual-long-response div { height: 1px; background: var(--premium-border); margin-top: 12px; }.visual-ordering-preview { list-style: none; padding: 0; display: grid; gap: 7px; }.visual-ordering-preview li { display: grid; grid-template-columns: 22px 24px 1fr; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--premium-border); border-radius: 9px; font-size: .68rem; }.visual-ordering-preview span { color: var(--muted); }.visual-ordering-preview b { color: var(--violet); }
.visual-matrix-wrap { overflow-x: auto; margin-top: 14px; }.visual-matrix-wrap table { width: 100%; border-collapse: collapse; min-width: 430px; }.visual-matrix-wrap th, .visual-matrix-wrap td { padding: 9px; border-bottom: 1px solid var(--premium-border); text-align: center; font-size: .62rem; }.visual-matrix-wrap th:first-child { text-align: left; }
.canvas-advanced-edit { width: 100%; min-height: 37px; display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 14px; border-top: 1px solid var(--premium-border); color: #9db1ca; background: transparent; cursor: pointer; font-size: .63rem; }.canvas-add-question { width: 100%; min-height: 43px; display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 11px; border: 1px dashed rgba(156,133,255,.48); border-radius: 10px; color: #b8a8ff; background: transparent; cursor: pointer; font-size: .7rem; }
.visual-empty-canvas { min-height: 500px; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }.visual-empty-canvas h2 { margin: 12px 0 4px; }.visual-empty-canvas p { max-width: 400px; color: var(--muted); }.visual-empty-canvas .primary-button { margin-top: 10px; }
.visual-canvas-bottom { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(210px,.75fr); gap: 11px; margin-top: 12px; }.visual-canvas-bottom > article { padding: 14px; border: 1px solid var(--premium-border); border-radius: 11px; background: rgba(255,255,255,.014); }.section-summary-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 11px; }.section-summary-grid span { display: block; color: var(--muted); font-size: .57rem; }.section-summary-grid strong { display: block; margin-top: 5px; font-size: .78rem; }.builder-tip { display: flex; align-items: flex-start; gap: 10px; }.builder-tip > span { font-size: 1.15rem; }.builder-tip strong { font-size: .72rem; }.builder-tip p { margin: 5px 0 0; color: var(--muted); font-size: .61rem; line-height: 1.5; }
.visual-properties-panel { position: sticky; top: 91px; max-height: calc(100vh - 112px); overflow: auto; }.properties-heading { min-height: 61px; padding: 12px 14px; border-bottom: 1px solid var(--premium-border); }.properties-tabs { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--premium-border); }.properties-tabs button { min-height: 39px; padding: 0 4px; color: var(--muted); background: transparent; cursor: pointer; font-size: .59rem; border-bottom: 2px solid transparent; }.properties-tabs button.active { color: #cabfff; border-bottom-color: var(--violet); background: rgba(156,133,255,.05); }.visual-properties-body { display: grid; gap: 12px; padding: 14px; }.visual-field { display: grid; gap: 6px; min-width: 0; }.visual-field > span, .toggle-field > span { color: #b8c9dc; font-size: .62rem; font-weight: 740; }.visual-field input, .visual-field textarea, .visual-field select, .inline-option-row > input { width: 100%; min-width: 0; border: 1px solid var(--premium-border); border-radius: 9px; padding: 9px 10px; color: var(--text); background: rgba(0,8,23,.38); font-size: .67rem; }.visual-field textarea { resize: vertical; line-height: 1.45; }.visual-field small { color: var(--muted); font-size: .55rem; text-align: right; }.visual-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }.input-suffix { display: grid; grid-template-columns: minmax(0,1fr) auto; }.input-suffix input { border-radius: 9px 0 0 9px; }.input-suffix b { display: grid; place-items: center; padding: 0 9px; border: 1px solid var(--premium-border); border-left: 0; border-radius: 0 9px 9px 0; color: var(--muted); background: rgba(255,255,255,.025); font-size: .55rem; }.toggle-field { display: flex; flex-direction: column; gap: 11px; }.toggle-field input { width: 38px; height: 20px; accent-color: var(--violet); }
.inline-option-editor { display: grid; gap: 8px; }.inline-option-row { display: grid; grid-template-columns: 23px minmax(0,1fr) auto 30px; gap: 6px; align-items: center; }.inline-option-row > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 7px; color: #b7a7ff; background: rgba(156,133,255,.1); font-size: .58rem; font-weight: 800; }.inline-correct { display: flex; align-items: center; gap: 5px; color: var(--muted); font-size: .56rem; }.inline-correct input { accent-color: var(--success); }.visual-callout { padding: 13px; border: 1px solid rgba(156,133,255,.28); border-radius: 10px; background: rgba(156,133,255,.06); }.visual-callout strong { font-size: .7rem; }.visual-callout p { margin: 6px 0 10px; color: var(--muted); font-size: .61rem; line-height: 1.5; }.properties-empty { display: grid; gap: 12px; padding: 22px 14px; }.properties-empty p { margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }
.visual-builder-footer { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid var(--premium-border); border-radius: 11px; color: var(--muted); background: rgba(7,19,39,.72); font-size: .61rem; }.visual-builder-footer > :last-child { margin-left: auto; }.success-dot { color: var(--success); }
.settings-tabs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }.settings-tabs-grid section { min-width: 0; }.settings-tabs-grid h3 { margin: 0 0 14px; }

:root[data-theme="light"] .theme-choice { background: rgba(38,71,113,.04); }
:root[data-theme="light"] .theme-choice button.active { color: #452ea4; background: rgba(98,74,202,.12); }
:root[data-theme="light"] .visual-builder-metrics,
:root[data-theme="light"] .visual-structure-panel,
:root[data-theme="light"] .visual-canvas-panel,
:root[data-theme="light"] .visual-properties-panel,
:root[data-theme="light"] .visual-builder-footer { background: rgba(255,255,255,.88); box-shadow: 0 12px 34px rgba(42,69,105,.08); }
:root[data-theme="light"] .visual-question-card { background: linear-gradient(145deg, #fff, #f2f6fc); }
:root[data-theme="light"] .visual-answer-option,
:root[data-theme="light"] .visual-response-placeholder,
:root[data-theme="light"] .visual-long-response,
:root[data-theme="light"] .visual-field input,
:root[data-theme="light"] .visual-field textarea,
:root[data-theme="light"] .visual-field select,
:root[data-theme="light"] .inline-option-row > input { color: #17304d; background: rgba(255,255,255,.92); }
:root[data-theme="light"] .visual-tree-question.active { background: linear-gradient(90deg, rgba(103,78,207,.17), rgba(156,133,255,.08)); }
:root[data-theme="light"] .visual-answer-option { color: #405a79; }:root[data-theme="light"] .visual-answer-option.correct { color: #176145; background: rgba(37,171,119,.08); }
:root[data-theme="light"] .builder-action-menu > div { background: #fff; }

@media (max-width: 1500px) {
  .visual-builder-grid { grid-template-columns: 230px minmax(430px,1fr) 300px; }
  .visual-builder-actions .autosave-status { display: none; }
}
@media (max-width: 1260px) {
  .visual-builder-head { align-items: flex-start; }.visual-builder-actions { max-width: 680px; }
  .visual-builder-grid { grid-template-columns: 240px minmax(0,1fr); }
  .visual-properties-panel { grid-column: 1/-1; position: static; max-height: none; }
  .visual-properties-body { grid-template-columns: repeat(2,minmax(0,1fr)); }.visual-properties-body > .visual-callout, .visual-properties-body > .inline-option-editor, .visual-properties-body > .toggle-row { grid-column: 1/-1; }
}
@media (max-width: 900px) {
  .visual-builder-head { display: grid; }.visual-builder-actions { justify-content: flex-start; }.visual-builder-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }.visual-builder-metrics > div { border-bottom: 1px solid var(--premium-border); }.visual-builder-grid { grid-template-columns: 1fr; }.visual-structure-panel, .visual-properties-panel { position: static; max-height: none; }.visual-canvas-bottom, .settings-tabs-grid { grid-template-columns: 1fr; }.section-summary-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .theme-choice.compact button { min-width: 34px; padding: 0 7px; }.visual-builder-actions { display: grid; grid-template-columns: repeat(2,1fr); width: 100%; }.visual-builder-actions > * { width: 100%; }.visual-builder-actions .builder-action-menu > summary { width: 100%; }.visual-builder-metrics { grid-template-columns: 1fr 1fr; }.visual-builder-metrics > div { padding: 11px; }.visual-form-grid, .visual-properties-body { grid-template-columns: 1fr; }.inline-option-row { grid-template-columns: 23px minmax(0,1fr) 30px; }.inline-correct { grid-column: 2/3; }.section-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.visual-builder-footer { align-items: flex-start; flex-direction: column; padding: 10px 12px; }.visual-builder-footer > :last-child { margin-left: 0; }
}
.tree-section-actions { display: flex; gap: 3px; }
.visual-tree-section-head { grid-template-columns: 19px minmax(0,1fr) auto; }

/* ===== v3.2.1 · contraste claro, título e consistência visual ===== */
.hero-copy { min-width: 0; overflow: visible; padding-bottom: .08em; }
.hero-copy h1 {
  max-width: 100%;
  overflow: visible;
  line-height: .94;
  letter-spacing: -.062em;
  padding: .04em .08em .12em 0;
  text-wrap: balance;
}
.hero-copy h1 span { display: block; padding-right: .08em; padding-bottom: .08em; }

:root[data-theme="light"] {
  --premium-text: #132941;
  --premium-muted: #58708e;
  --premium-panel: rgba(255,255,255,.98);
  --premium-panel-strong: #ffffff;
  --premium-border: rgba(27,60,101,.20);
  --premium-border-strong: rgba(27,60,101,.34);
}
:root[data-theme="light"] .premium-shell,
:root[data-theme="light"] .premium-admin,
:root[data-theme="light"] .premium-admin-main {
  background: radial-gradient(circle at 78% 0, rgba(109,91,226,.15), transparent 35%), linear-gradient(145deg,#f8fbff,#eaf1f9 68%,#f3efff);
  color: #132941;
}
:root[data-theme="light"] .premium-topbar,
:root[data-theme="light"] .premium-admin-top {
  background: rgba(248,251,255,.96);
  border-color: rgba(27,60,101,.18);
  box-shadow: 0 8px 30px rgba(34,61,96,.10);
}
:root[data-theme="light"] .premium-sidebar {
  background: #f4f8fd;
  border-color: rgba(27,60,101,.18);
}
:root[data-theme="light"] .premium-sidebar-brand strong,
:root[data-theme="light"] .premium-admin-top strong,
:root[data-theme="light"] .premium-page-header h1,
:root[data-theme="light"] .premium-panel h2,
:root[data-theme="light"] .premium-panel h3,
:root[data-theme="light"] .visual-question-card h2,
:root[data-theme="light"] .properties-heading strong,
:root[data-theme="light"] .section-summary-grid strong,
:root[data-theme="light"] .premium-table th,
:root[data-theme="light"] .empty-state h3,
:root[data-theme="light"] .premium-loading strong {
  color: #10243b;
}
:root[data-theme="light"] .admin-context,
:root[data-theme="light"] .premium-sidebar-brand small,
:root[data-theme="light"] .premium-page-header p,
:root[data-theme="light"] .premium-panel p,
:root[data-theme="light"] .question-help,
:root[data-theme="light"] .visual-builder-footer,
:root[data-theme="light"] .builder-tip p,
:root[data-theme="light"] .visual-field small,
:root[data-theme="light"] .premium-table td,
:root[data-theme="light"] .empty-state,
:root[data-theme="light"] .premium-loading {
  color: #58708e;
}
:root[data-theme="light"] .premium-nav-item { color: #405b79; }
:root[data-theme="light"] .premium-nav-item.active {
  color: #10243b;
  background: linear-gradient(90deg, rgba(42,190,229,.15), rgba(89,109,219,.08));
  box-shadow: inset 3px 0 #2fc6e8;
}
:root[data-theme="light"] .premium-panel,
:root[data-theme="light"] .premium-metric,
:root[data-theme="light"] .premium-table-wrap,
:root[data-theme="light"] .test-management-card,
:root[data-theme="light"] .builder-section-card,
:root[data-theme="light"] .bank-question-card,
:root[data-theme="light"] .visual-builder-metrics,
:root[data-theme="light"] .visual-structure-panel,
:root[data-theme="light"] .visual-canvas-panel,
:root[data-theme="light"] .visual-properties-panel,
:root[data-theme="light"] .visual-builder-footer,
:root[data-theme="light"] .premium-modal {
  background: rgba(255,255,255,.97);
  border-color: rgba(27,60,101,.20);
  color: #132941;
  box-shadow: 0 16px 44px rgba(35,64,101,.12);
}
:root[data-theme="light"] .premium-table tr:hover td { background: rgba(43,92,145,.045); }
:root[data-theme="light"] .premium-table th { background: #eef4fa; }
:root[data-theme="light"] .visual-question-card,
:root[data-theme="light"] .visual-answer-option,
:root[data-theme="light"] .visual-response-placeholder,
:root[data-theme="light"] .visual-long-response,
:root[data-theme="light"] .visual-ordering-preview li,
:root[data-theme="light"] .visual-canvas-bottom > article {
  background: #f7faff;
  border-color: rgba(27,60,101,.20);
}
:root[data-theme="light"] .visual-answer-option { color: #284563; }
:root[data-theme="light"] .visual-answer-option.correct { color: #135b40; background: #ecfaf4; border-color: rgba(21,145,96,.45); }
:root[data-theme="light"] .visual-field > span,
:root[data-theme="light"] .toggle-field > span { color: #294966; }
:root[data-theme="light"] .visual-field input,
:root[data-theme="light"] .visual-field textarea,
:root[data-theme="light"] .visual-field select,
:root[data-theme="light"] .inline-option-row > input,
:root[data-theme="light"] .premium-filterbar input,
:root[data-theme="light"] .premium-filterbar select,
:root[data-theme="light"] .search-field {
  color: #10243b;
  background: #fff;
  border-color: rgba(27,60,101,.25);
}
:root[data-theme="light"] .primary-button { color: #051827; }
:root[data-theme="light"] .outline-button,
:root[data-theme="light"] .ghost-button { color: #233f5d; background: rgba(255,255,255,.72); border-color: rgba(27,60,101,.24); }
:root[data-theme="light"] .theme-choice { background: #e8eef6; border-color: rgba(27,60,101,.20); }
:root[data-theme="light"] .theme-choice button { color: #506b88; }
:root[data-theme="light"] .theme-choice button.active { color: #35218b; background: #fff; box-shadow: 0 3px 12px rgba(39,66,103,.13); }
:root[data-theme="light"] .notice.danger { color: #8d2032; background: #fff1f3; border-color: rgba(177,45,69,.35); }
:root[data-theme="light"] .notice.warning { color: #72500e; background: #fff8e7; border-color: rgba(170,122,24,.35); }
:root[data-theme="light"] .toast { background: #fff; border-color: rgba(27,60,101,.25); }
:root[data-theme="light"] .toast span { color: #233f5d; }
:root[data-theme="light"] .hero-copy > p,
:root[data-theme="light"] .trust-row,
:root[data-theme="light"] .premium-feature-strip p { color: #557392; }
:root[data-theme="light"] .hero-dashboard-mock {
  background: linear-gradient(145deg,#fff,#edf3fa);
  box-shadow: 0 34px 80px rgba(48,77,114,.20);
}
:root[data-theme="light"] .mock-head,
:root[data-theme="light"] .mock-list,
:root[data-theme="light"] .mock-kpis small { color: #587493; }
:root[data-theme="light"] .mock-head strong,
:root[data-theme="light"] .mock-kpis strong { color: #142b46; }
:root[data-theme="light"] .mock-kpis > div,
:root[data-theme="light"] .mock-chart { background: #f6f9fd; border-color: rgba(27,60,101,.18); }
:root[data-theme="light"] .premium-feature-strip { background: rgba(255,255,255,.92); box-shadow: 0 16px 50px rgba(39,67,103,.12); }

@media (max-width: 1100px) {
  .hero-copy h1 { font-size: clamp(3.6rem, 9.2vw, 6.3rem); letter-spacing: -.05em; }
}

/* ===== v3.2.2 · autenticação administrativa resiliente ===== */
.admin-logout-button {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid var(--premium-border);
  background: color-mix(in srgb, var(--premium-panel-strong) 82%, transparent);
  color: var(--premium-muted);
  cursor: pointer;
}
.admin-logout-button:hover { color: var(--premium-text); border-color: var(--premium-border-strong); }
.admin-logout-button:disabled { opacity: .55; cursor: wait; }
.admin-login-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 28px;
  align-items: start;
  max-width: 1180px;
}
.admin-login-copy { min-width: 0; }
.admin-login-panel { padding: 28px; }
.admin-login-panel > h2 { margin: 8px 0 22px; }
.admin-login-form { display: grid; gap: 17px; }
.admin-login-security,
.admin-auth-option {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--premium-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--premium-panel-strong) 82%, transparent);
}
.admin-login-security { margin-top: 24px; }
.admin-login-security > span,
.auth-option-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--premium-accent, #42d7ff);
  background: color-mix(in srgb, var(--premium-accent, #42d7ff) 13%, transparent);
}
.admin-login-security p,
.admin-auth-option p { margin: 5px 0 0; color: var(--premium-muted); }
.admin-auth-option { margin-bottom: 18px; align-items: center; }
.admin-auth-option > div:nth-child(2) { flex: 1; min-width: 0; }
.admin-auth-option .outline-button { flex: 0 0 auto; }
#admin-login-message:empty { display: none; }
#admin-login-message .notice { margin: 0; }
:root[data-theme="light"] .admin-logout-button,
:root[data-theme="light"] .admin-login-security,
:root[data-theme="light"] .admin-auth-option {
  background: #f7faff;
  border-color: rgba(27,60,101,.20);
}
@media (max-width: 960px) {
  .admin-login-layout { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .admin-login-panel { padding: 20px; }
  .admin-auth-option { flex-wrap: wrap; }
  .admin-auth-option .outline-button { width: 100%; }
  .admin-user { display: none; }
}

/* ===== v3.2.4 · refinamentos do login da gestão ===== */
.public-admin-login-modal { width: min(540px, 100%); padding: 30px; }
.public-admin-login-head { display: grid; gap: 16px; margin-bottom: 24px; padding-right: 36px; }
.public-admin-login-head h2 { margin: 4px 0 7px; }
.public-admin-login-head p { margin: 0; color: var(--premium-muted); line-height: 1.55; }
.admin-login-brand-block { display: grid; gap: 2px; justify-items: center; text-align: center; margin: 2px auto 0; }
.admin-login-brand-block strong { display: block; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; color: var(--premium-text); }
.admin-login-brand-block strong:last-child { max-width: 320px; }
.admin-login-panel-brand { margin: 8px 0 18px; }
.password-input-wrap { position: relative; }
.password-input-wrap > input { padding-right: 86px; }
.password-visibility-button {
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  min-height: 34px;
  padding: 0 10px;
  border: 0;
  border-radius: 9px;
  background: color-mix(in srgb, var(--premium-accent, #42d7ff) 12%, transparent);
  color: var(--premium-accent, #42d7ff);
  font-weight: 800;
  cursor: pointer;
}
.password-visibility-button:hover { background: color-mix(in srgb, var(--premium-accent, #42d7ff) 20%, transparent); }
.admin-login-inline-status {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--premium-border);
  border-radius: 12px;
  color: var(--premium-muted);
  background: color-mix(in srgb, var(--premium-panel-strong) 82%, transparent);
  font-size: .9rem;
}
.admin-login-inline-status .status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--premium-accent, #42d7ff); box-shadow: 0 0 0 5px color-mix(in srgb, var(--premium-accent, #42d7ff) 13%, transparent); }
.admin-login-inline-status.success { color: var(--premium-text); border-color: rgba(60,211,157,.42); }
.admin-login-inline-status.success .status-dot { background: #3cd39d; box-shadow: 0 0 0 5px rgba(60,211,157,.13); }
.admin-login-inline-status.warning { color: var(--premium-text); border-color: rgba(255,198,84,.42); }
.admin-login-inline-status.warning .status-dot { background: #ffc654; box-shadow: 0 0 0 5px rgba(255,198,84,.13); }
#public-admin-login-message:empty { display: none; }
#public-admin-login-message .notice { margin: 0; }
:root[data-theme="light"] .public-admin-login-modal { background: #ffffff; border-color: rgba(27,60,101,.22); box-shadow: 0 34px 100px rgba(28,55,90,.22); }
:root[data-theme="light"] .admin-login-inline-status { background: #f5f8fc; border-color: rgba(27,60,101,.18); color: #4b607b; }
:root[data-theme="light"] .password-visibility-button { color: #235f87; background: #e8f6fc; }
@media (max-width: 620px) {
  .public-admin-login-modal { padding: 22px; }
  .public-admin-login-head { gap: 12px; padding-right: 28px; }
  .admin-login-brand-block { display: grid; gap: 2px; justify-items: center; text-align: center; margin: 2px auto 0; }
.admin-login-brand-block strong { display: block; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; color: var(--premium-text); }
.admin-login-brand-block strong:last-child { max-width: 320px; }
.admin-login-panel-brand { margin: 8px 0 18px; }
}

/* ===== v3.2.5 · página principal minimalista e modal institucional ===== */
.home-text-brand .brand-lockup { gap: 12px; }
.home-text-brand .brand-copy { margin-left: 0; }
.minimal-public-shell main { min-height: calc(100vh - 78px); }
.minimal-home-hero {
  min-height: calc(100vh - 78px);
  padding: 48px 24px;
  display: grid;
  place-items: center;
}
.minimal-home-content {
  position: relative;
  z-index: 2;
  width: min(1100px, 100%);
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 36px;
}
.minimal-home-content h1 {
  margin: 0;
  max-width: 100%;
  font-size: clamp(4rem, 10vw, 9.2rem);
  line-height: .86;
  letter-spacing: -.075em;
  color: #f7fbff;
  text-wrap: balance;
}
.minimal-home-content h1 span { display: block; }
.minimal-home-content h1 span:last-child {
  padding: .08em .10em .16em;
  background: linear-gradient(110deg, #edf8ff, #a5ddff 48%, #b4a9ff);
  -webkit-background-clip: text;
  color: transparent;
}
.minimal-home-start { min-width: 190px; justify-content: center; }
:root[data-theme="light"] .minimal-home-content h1 { color: #132941; }
:root[data-theme="light"] .minimal-home-content h1 span:last-child {
  background: linear-gradient(110deg, #1f5277, #269dd0 48%, #6b5fd0);
  -webkit-background-clip: text;
  color: transparent;
}
.public-admin-login-modal .public-admin-login-header {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 15px;
  margin: 0 0 26px;
  padding: 0 36px 0;
}
.public-admin-institution {
  display: grid;
  justify-items: center;
  gap: 4px;
  width: 100%;
  text-align: center;
}
.public-admin-institution strong {
  display: block;
  width: 100%;
  margin: 0;
  color: var(--premium-text);
  font-size: 1.24rem;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -.02em;
}
.public-admin-institution strong:last-child { font-size: 1.08rem; }
.public-admin-login-header .eyebrow {
  display: block;
  margin: 2px 0 0;
  text-align: center;
}
.public-admin-login-header p {
  margin: 0;
  color: var(--premium-muted);
  line-height: 1.55;
  text-align: center;
}
@media (max-width: 700px) {
  .minimal-home-hero { padding: 36px 18px; }
  .minimal-home-content { gap: 28px; }
  .minimal-home-content h1 { font-size: clamp(3.25rem, 18vw, 6rem); letter-spacing: -.055em; }
  .public-admin-login-modal .public-admin-login-header { padding-right: 28px; }
  .public-admin-institution strong { font-size: 1.08rem; }
  .public-admin-institution strong:last-child { font-size: .98rem; }
}


/* ===== v3.2.6 · homepage centrada e configuração do título ===== */
.minimal-public-shell .premium-topbar .brand-copy small { display: none; }
.minimal-public-shell .top-actions .nav-link { display: none; }
.minimal-public-shell main { min-height: calc(100vh - 78px); }
.minimal-home-hero {
  min-height: calc(100vh - 78px);
  padding: 52px 24px;
  display: grid;
  place-items: center;
}
.minimal-home-content {
  position: relative;
  z-index: 2;
  width: min(1220px, 100%);
  min-height: min(620px, calc(100vh - 190px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 34px;
  text-align: center;
  margin: 0 auto;
}
.minimal-home-content h1 {
  display: grid;
  justify-items: center;
  margin: 0;
  max-width: 1180px;
  font-family: inherit;
  font-size: clamp(4.8rem, 8.6vw, 9rem);
  font-weight: 850;
  line-height: .98;
  letter-spacing: -.035em;
  color: #f7fbff;
  text-align: center;
  text-wrap: balance;
}
.minimal-home-content h1 span { display: block; width: 100%; text-align: center; }
.minimal-home-content h1 span:last-child {
  padding: .08em .10em .16em;
  background: linear-gradient(110deg, #edf8ff, #a5ddff 48%, #b4a9ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.minimal-home-start { min-width: 190px; justify-content: center; }
:root[data-theme="light"] .minimal-home-content h1 { color: #132941; }
:root[data-theme="light"] .minimal-home-content h1 span:last-child {
  background: linear-gradient(110deg, #1f5277, #269dd0 48%, #6b5fd0);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.homepage-settings-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 24px; align-items: start; }
.homepage-settings-form, .homepage-settings-preview { padding: 28px; }
.homepage-settings-form { display: grid; gap: 20px; }
.homepage-effective-note { display: grid; gap: 5px; padding: 15px 16px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(255,255,255,.025); }
.homepage-effective-note span { color: var(--premium-muted); font-size: .78rem; }
.homepage-effective-note strong { color: var(--premium-text); }
.homepage-preview-canvas { position: relative; min-height: 390px; margin: 18px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; padding: 32px; overflow: hidden; border: 1px solid var(--premium-border); border-radius: 20px; background: radial-gradient(circle at 75% 10%, rgba(85,80,210,.2), transparent 40%), radial-gradient(circle at 8% 88%, rgba(23,177,222,.15), transparent 40%), #020918; }
.homepage-preview-canvas::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px); background-size: 36px 36px; }
.homepage-preview-canvas > * { position: relative; z-index: 1; }
.homepage-preview-canvas h2 { display: grid; justify-items: center; margin: 0; font-size: clamp(2.6rem, 5vw, 5rem); line-height: .98; letter-spacing: -.03em; text-align: center; color: #f7fbff; }
.homepage-preview-canvas h2 span { display: block; }
.homepage-preview-canvas h2 span:last-child { padding: .08em .10em .16em; background: linear-gradient(110deg,#edf8ff,#a5ddff 48%,#b4a9ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.homepage-settings-preview > p { color: var(--premium-muted); }
.homepage-settings-preview > p strong { color: var(--premium-text); }
:root[data-theme="light"] .homepage-effective-note { background: #f6f9fd; border-color: rgba(27,60,101,.18); }
@media (max-width: 980px) {
  .homepage-settings-layout { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .minimal-home-hero { padding: 32px 18px; }
  .minimal-home-content { min-height: calc(100vh - 150px); gap: 28px; }
  .minimal-home-content h1 { font-size: clamp(3.25rem, 17vw, 6rem); line-height: 1.02; letter-spacing: -.03em; }
  .homepage-settings-form, .homepage-settings-preview { padding: 20px; }
  .homepage-preview-canvas { min-height: 300px; padding: 22px; }
}

/* ===== v3.4.0 · editor avançado de testes ===== */
.answer-guidance { margin: 0 0 12px; color: var(--premium-muted); font-size: .9rem; }
.numeric-answer-wrap { display: flex; align-items: center; gap: 10px; }
.numeric-answer-wrap .answer-input { flex: 1; }
.answer-unit { min-width: 56px; padding: 12px 14px; border: 1px solid var(--premium-border); border-radius: 12px; color: var(--premium-text); text-align: center; background: rgba(255,255,255,.025); }
.answer-counter { margin-top: 8px; color: var(--premium-muted); font-size: .82rem; text-align: right; }
.fill-blank-list, .matching-answer-list, .visual-fill-preview, .visual-matching-preview { display: grid; gap: 12px; }
.fill-blank-list label, .matching-answer-list label, .visual-fill-preview label { display: grid; gap: 7px; color: var(--premium-text); font-weight: 700; }
.matching-answer-list label { grid-template-columns: minmax(150px, .9fr) minmax(180px, 1.1fr); align-items: center; }
.matching-answer-list select { width: 100%; }
.visual-matching-preview > div { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 14px; align-items: center; padding: 13px 15px; border: 1px solid var(--premium-border); border-radius: 13px; background: rgba(255,255,255,.025); }
.visual-matching-preview em { color: var(--premium-accent); font-style: normal; }
.visual-long-response small { display: block; margin: 8px 0 14px; color: var(--premium-muted); }
.advanced-list-editor, .rubric-editor { display: grid; gap: 10px; margin: 14px 0; }
.advanced-list-row { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(220px,1.2fr) auto; gap: 10px; align-items: center; }
.rubric-editor-row { display: grid; grid-template-columns: minmax(150px,.8fr) 100px minmax(220px,1.2fr) auto; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(255,255,255,.02); }
.rubric-editor-row textarea { min-height: 70px; }
.matrix-multiple-correct { overflow-x: auto; margin: 16px 0; }
.matrix-multiple-correct table { width: 100%; border-collapse: collapse; }
.matrix-multiple-correct th, .matrix-multiple-correct td { padding: 10px; border: 1px solid var(--premium-border); text-align: center; }
.question-type-catalog { display: grid; gap: 24px; }
.question-type-catalog section > h3 { margin: 0 0 12px; color: var(--premium-text); }
.question-type-catalog section > div { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.question-type-catalog button { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 12px; row-gap: 5px; min-height: 112px; padding: 16px; border: 1px solid var(--premium-border); border-radius: 16px; background: rgba(255,255,255,.022); color: var(--premium-text); text-align: left; cursor: pointer; }
.question-type-catalog button:hover, .question-type-catalog button:focus-visible { border-color: var(--premium-accent); background: color-mix(in srgb, var(--premium-accent) 9%, transparent); transform: translateY(-1px); }
.question-type-catalog button > span { grid-row: 1 / 3; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; color: var(--premium-accent); background: color-mix(in srgb, var(--premium-accent) 12%, transparent); }
.question-type-catalog button strong { align-self: end; }
.question-type-catalog button small { color: var(--premium-muted); line-height: 1.4; }
.validation-modal { max-width: 860px; }
.validation-item { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; margin: 10px 0; padding: 14px 16px; border: 1px solid var(--premium-border); border-radius: 14px; }
.validation-item > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font-weight: 900; }
.validation-item.error { border-color: rgba(255,104,129,.35); background: rgba(255,104,129,.06); }
.validation-item.error > span { color: #ff879d; background: rgba(255,104,129,.15); }
.validation-item.warning { border-color: rgba(255,198,84,.35); background: rgba(255,198,84,.06); }
.validation-item.warning > span { color: #ffc654; background: rgba(255,198,84,.15); }
.validation-item strong { color: var(--premium-text); }
.validation-item p { margin: 4px 0 0; color: var(--premium-muted); }
.validation-success { display: grid; justify-items: center; gap: 8px; padding: 38px; text-align: center; }
.validation-success > span { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; color: #5ee3a4; background: rgba(94,227,164,.14); font-size: 1.7rem; }
.manual-rubric { display: grid; gap: 8px; grid-column: 1 / -1; padding: 14px; border: 1px solid var(--premium-border); border-radius: 14px; }
.manual-rubric > label { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--premium-border); }
.manual-rubric > label:last-child { border-bottom: 0; }
.manual-rubric small { display: block; margin-top: 3px; color: var(--premium-muted); }
.manual-rubric label > div { display: flex; align-items: center; gap: 8px; }
.manual-rubric input { width: 90px; }
.manual-rubric em { color: var(--premium-muted); font-style: normal; }
:root[data-theme="light"] .answer-unit,
:root[data-theme="light"] .visual-matching-preview > div,
:root[data-theme="light"] .rubric-editor-row,
:root[data-theme="light"] .question-type-catalog button { background: #f7fafd; }
@media (max-width: 980px) {
  .question-type-catalog section > div { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rubric-editor-row { grid-template-columns: 1fr 90px auto; }
  .rubric-editor-row textarea { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .question-type-catalog section > div { grid-template-columns: 1fr; }
  .advanced-list-row, .rubric-editor-row, .matching-answer-list label { grid-template-columns: 1fr; }
  .manual-rubric > label { grid-template-columns: 1fr; }
}


/* ===== v3.4.2 · NIP numérico e imagens no enunciado ===== */
.question-media-editor { grid-column: 1 / -1; display: grid; gap: 10px; padding: 14px; border: 1px solid var(--premium-border); border-radius: 14px; background: rgba(255,255,255,.018); }
.question-media-editor.compact { padding: 12px; }
.question-media-editor .field, .question-media-editor .visual-field { margin: 0; }
.question-media-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.question-media-preview { min-height: 96px; display: grid; place-items: center; overflow: hidden; border: 1px dashed var(--premium-border); border-radius: 12px; background: rgba(0,0,0,.12); color: var(--premium-muted); }
.question-media-preview img { display: block; width: 100%; max-height: 260px; object-fit: contain; background: rgba(0,0,0,.18); }
.question-media-editor > small { color: var(--premium-muted); line-height: 1.45; }
:root[data-theme="light"] .question-media-editor { background: #f7fafd; border-color: rgba(27,60,101,.18); }
:root[data-theme="light"] .question-media-preview { background: #edf3f9; border-color: rgba(27,60,101,.22); }
@media (max-width: 620px) { .question-media-actions > button { flex: 1 1 100%; } }


/* v4.0 advanced operations */
.generated-code-box { margin: 22px 0; padding: 24px; text-align: center; border: 1px solid rgba(74,217,255,.28); border-radius: 18px; background: rgba(74,217,255,.055); }
.generated-code-box code { display: block; font-size: clamp(1.8rem,5vw,3rem); letter-spacing: .16em; color: #a8efff; font-weight: 900; }
.generated-code-box p { margin: 15px 0 0; color: var(--premium-muted); }
.inline-field-action { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.table-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.premium-table select { min-height: 38px; padding: 0 10px; border: 1px solid var(--premium-border); border-radius: 10px; color: var(--premium-text); background: var(--premium-surface,#07162b); }
:root[data-theme="light"] .generated-code-box { background: #eefaff; border-color: rgba(25,130,178,.28); }
:root[data-theme="light"] .generated-code-box code { color: #12678d; }
@media (max-width:620px){ .inline-field-action{grid-template-columns:1fr}.table-actions{align-items:stretch}.table-actions>*{flex:1} }

/* v4.1.0 · diagnóstico e confirmação de identidade */
.diagnostic-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr); gap:18px; }
.diagnostic-status { display:inline-flex; padding:6px 10px; border-radius:999px; font-weight:800; font-size:.7rem; }
.diagnostic-status.ok { color:#8ff0d0; background:rgba(66,223,168,.1); border:1px solid rgba(66,223,168,.28); }
.diagnostic-status.bad { color:#ffb1bd; background:rgba(255,112,135,.1); border:1px solid rgba(255,112,135,.28); }
.diagnostic-list { display:grid; gap:10px; }
.diagnostic-list > div { display:flex; justify-content:space-between; gap:18px; padding:13px; border:1px solid var(--premium-border); border-radius:12px; }
.diagnostic-list span { color:var(--premium-muted); }
.participant-confirmation { margin:18px 0; padding:18px; border:1px solid rgba(66,223,168,.3); border-radius:15px; background:linear-gradient(135deg,rgba(66,223,168,.12),rgba(74,217,255,.07)); }
.participant-confirmation strong { display:block; margin:5px 0 9px; font-size:1.08rem; color:var(--premium-text); }
.participant-confirmation > div { display:flex; gap:10px; flex-wrap:wrap; color:var(--premium-muted); font-size:.78rem; }
.participant-confirmation small { display:block; margin-top:10px; color:#9ddfc9; }
@media(max-width:900px){.diagnostic-grid{grid-template-columns:1fr;}}


/* v4.2.0 · atribuições, acessibilidade e correção anónima */
.participant-accessibility { margin: 20px 0; padding: 18px; border: 1px solid var(--premium-border); border-radius: 16px; background: rgba(74,217,255,.025); }
.participant-accessibility h3 { margin: 0 0 14px; }
.assignment-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 18px; align-items: start; }
.assignment-note { margin-top: 14px; color: var(--premium-muted); line-height: 1.55; font-size: .78rem; }
.assignment-list { display: grid; gap: 8px; max-height: 58vh; overflow: auto; margin: 16px 0; }
.assignment-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--premium-border); border-radius: 13px; background: rgba(255,255,255,.018); cursor: pointer; }
.assignment-row:hover { border-color: var(--premium-border-strong); }
.assignment-row input { width: 19px; height: 19px; accent-color: var(--premium-cyan); }
.assignment-row strong, .assignment-row small { display: block; }
.assignment-row small { margin-top: 4px; color: var(--premium-muted); }
body.exam-large-text .secure-question-card { font-size: 1.16rem; }
body.exam-high-contrast .secure-question-card { border-color: #78eaff; background: #06152a; }
body.exam-reduced-motion *, body.exam-reduced-motion *::before, body.exam-reduced-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (max-width: 850px) { .assignment-layout { grid-template-columns: 1fr; } }

/* v4.3.0 */
.case-study-context{margin-bottom:20px;padding:18px;border:1px solid rgba(139,125,255,.3);border-radius:16px;background:linear-gradient(135deg,rgba(139,125,255,.14),rgba(74,217,255,.06))}.case-study-context span{display:block;color:#bcb2ff;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.case-study-context strong{display:block;margin:6px 0;font-size:1.05rem}.case-study-context p{margin:0;color:var(--muted);line-height:1.6}.hotspot-image-wrap{position:relative;display:inline-block;max-width:100%;cursor:crosshair}.hotspot-image-wrap img{display:block;max-width:100%;max-height:520px;border-radius:16px}.hotspot-marker{position:absolute;width:22px;height:22px;border:3px solid #fff;border-radius:50%;background:rgba(255,75,105,.65);transform:translate(-50%,-50%);box-shadow:0 0 0 5px rgba(255,75,105,.2)}.file-answer{display:grid;gap:12px;padding:18px;border:1px dashed var(--premium-border-strong);border-radius:16px}.file-answer input{width:100%}

/* v4.5.0 — modais operacionais mais estáveis */
.modal-backdrop .premium-modal-actions{position:sticky;bottom:0;z-index:3;padding-top:14px;padding-bottom:4px;background:linear-gradient(180deg,transparent 0%,var(--surface, #0c1b31) 22%)}
.modal-backdrop button[disabled]{cursor:wait;opacity:.7}

/* v4.6.6 — cartões e secções com fundos coloridos */
.visual-tree-section.section-tone-0{background:linear-gradient(145deg,rgba(0,184,230,.16),rgba(5,25,49,.9));border-color:rgba(55,211,255,.34)}
.visual-tree-section.section-tone-1{background:linear-gradient(145deg,rgba(123,92,255,.18),rgba(19,20,55,.9));border-color:rgba(155,132,255,.36)}
.visual-tree-section.section-tone-2{background:linear-gradient(145deg,rgba(28,180,113,.17),rgba(7,38,35,.9));border-color:rgba(65,222,151,.34)}
.visual-tree-section.section-tone-3{background:linear-gradient(145deg,rgba(246,157,45,.17),rgba(48,29,11,.9));border-color:rgba(255,181,73,.34)}
.visual-tree-section.section-tone-4{background:linear-gradient(145deg,rgba(232,75,132,.16),rgba(48,16,39,.9));border-color:rgba(255,103,158,.34)}
.visual-tree-section.section-tone-5{background:linear-gradient(145deg,rgba(53,122,255,.18),rgba(10,28,63,.9));border-color:rgba(92,151,255,.35)}
.visual-tree-question.question-tone-0{background:rgba(47,205,255,.07)}.visual-tree-question.question-tone-1{background:rgba(149,119,255,.08)}.visual-tree-question.question-tone-2{background:rgba(57,218,151,.07)}.visual-tree-question.question-tone-3{background:rgba(255,177,65,.07)}.visual-tree-question.question-tone-4{background:rgba(255,96,157,.07)}.visual-tree-question.question-tone-5{background:rgba(85,145,255,.08)}
.visual-question-card.question-tone-0{background:linear-gradient(145deg,rgba(13,63,91,.96),rgba(7,25,47,.98));border-color:rgba(55,211,255,.3)}
.visual-question-card.question-tone-1{background:linear-gradient(145deg,rgba(46,35,91,.96),rgba(15,20,47,.98));border-color:rgba(155,132,255,.3)}
.visual-question-card.question-tone-2{background:linear-gradient(145deg,rgba(14,67,54,.96),rgba(7,31,34,.98));border-color:rgba(65,222,151,.3)}
.visual-question-card.question-tone-3{background:linear-gradient(145deg,rgba(79,48,17,.96),rgba(33,25,17,.98));border-color:rgba(255,181,73,.3)}
.visual-question-card.question-tone-4{background:linear-gradient(145deg,rgba(77,26,53,.96),rgba(34,17,37,.98));border-color:rgba(255,103,158,.3)}
.visual-question-card.question-tone-5{background:linear-gradient(145deg,rgba(21,47,94,.96),rgba(9,25,52,.98));border-color:rgba(92,151,255,.3)}
.bank-question-card{position:relative;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.bank-question-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.18)}
.bank-question-card.bank-tone-0{background:linear-gradient(145deg,rgba(9,67,94,.94),rgba(6,25,46,.92));border-color:rgba(55,211,255,.34)}
.bank-question-card.bank-tone-1{background:linear-gradient(145deg,rgba(53,39,104,.94),rgba(18,21,52,.92));border-color:rgba(155,132,255,.34)}
.bank-question-card.bank-tone-2{background:linear-gradient(145deg,rgba(12,73,56,.94),rgba(6,35,34,.92));border-color:rgba(65,222,151,.34)}
.bank-question-card.bank-tone-3{background:linear-gradient(145deg,rgba(88,53,16,.94),rgba(39,27,16,.92));border-color:rgba(255,181,73,.34)}
.bank-question-card.bank-tone-4{background:linear-gradient(145deg,rgba(88,28,57,.94),rgba(42,18,40,.92));border-color:rgba(255,103,158,.34)}
.bank-question-card.bank-tone-5{background:linear-gradient(145deg,rgba(23,53,108,.94),rgba(9,27,59,.92));border-color:rgba(92,151,255,.34)}
.bank-select-control{position:absolute;top:13px;right:13px;z-index:2}.bank-select-control input{position:absolute;opacity:0}.bank-select-control span{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:rgba(1,8,23,.55);cursor:pointer}.bank-select-control input:checked+span{background:var(--premium-cyan);border-color:var(--premium-cyan);box-shadow:0 0 0 3px rgba(74,217,255,.16)}.bank-select-control input:checked+span:after{content:'✓';color:#061526;font-weight:900}
.bank-question-card .bank-card-head{padding-right:32px}
:root[data-theme="light"] .visual-tree-section.section-tone-0,:root[data-theme="light"] .bank-question-card.bank-tone-0{background:linear-gradient(145deg,#dff7ff,#eefaff)}
:root[data-theme="light"] .visual-tree-section.section-tone-1,:root[data-theme="light"] .bank-question-card.bank-tone-1{background:linear-gradient(145deg,#eee9ff,#f7f4ff)}
:root[data-theme="light"] .visual-tree-section.section-tone-2,:root[data-theme="light"] .bank-question-card.bank-tone-2{background:linear-gradient(145deg,#e0f8ee,#f1fcf7)}
:root[data-theme="light"] .visual-tree-section.section-tone-3,:root[data-theme="light"] .bank-question-card.bank-tone-3{background:linear-gradient(145deg,#fff0d8,#fff8ec)}
:root[data-theme="light"] .visual-tree-section.section-tone-4,:root[data-theme="light"] .bank-question-card.bank-tone-4{background:linear-gradient(145deg,#ffe4ef,#fff3f8)}
:root[data-theme="light"] .visual-tree-section.section-tone-5,:root[data-theme="light"] .bank-question-card.bank-tone-5{background:linear-gradient(145deg,#e4edff,#f3f7ff)}

/* v4.6.7 — matriz de correspondência intuitiva */
.matrix-dropdown-list{display:grid;gap:12px}.matrix-dropdown-list label{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.1fr);gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--panel) 86%,#5bd9ff 14%)}.matrix-dropdown-list label>span{font-weight:800}.matrix-dropdown-list select{width:100%}
.matrix-drag-builder{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(320px,1.25fr);gap:18px}.matrix-drag-bank,.matrix-drop-list{padding:16px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--panel) 90%,#8d78ff 10%)}.matrix-drag-bank>strong{display:block;margin-bottom:12px}.matrix-drag-bank>div{display:flex;flex-wrap:wrap;gap:10px}.matrix-drag-card{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:12px;padding:10px 12px;background:color-mix(in srgb,var(--panel) 78%,#49d5ff 22%);color:var(--text);font-weight:800;cursor:grab}.matrix-drag-card:active{cursor:grabbing}.matrix-drag-card.used{opacity:.42;cursor:not-allowed}.matrix-drop-list{display:grid;gap:10px}.matrix-drop-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.2fr);gap:12px;align-items:center}.matrix-drop-row>strong{font-size:.94rem}.matrix-drop-zone{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--accent) 60%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,#55d8ff 6%);transition:.16s ease}.matrix-drop-zone.drag-over{border-style:solid;transform:translateY(-1px);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.matrix-drop-zone.filled{border-style:solid;background:color-mix(in srgb,var(--panel) 78%,#45d7b1 22%)}.matrix-drop-zone button{width:28px;height:28px;border:0;border-radius:8px;background:color-mix(in srgb,#ff6178 18%,transparent);color:#ff8798;font-size:20px;cursor:pointer}.matrix-unique-toggle{align-self:end;margin:0!important}.matrix-wrap{overflow:auto}.matrix-table th,.matrix-table td{min-width:120px}.matrix-table tbody th{min-width:190px}
@media(max-width:760px){.matrix-drag-builder{grid-template-columns:1fr}.matrix-drop-row,.matrix-dropdown-list label{grid-template-columns:1fr}.matrix-table th,.matrix-table td{min-width:105px}}
.matrix-drag-card.selected{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent);transform:translateY(-1px)}

/* v4.6.8 — editor WYSIWYG: Tabela de análise Verdadeiro/Falso */
.analysis-builder{display:grid;gap:18px}.analysis-builder-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.analysis-builder-title h3{margin:4px 0 6px}.analysis-builder-title p{margin:0;color:var(--muted);max-width:760px}.analysis-builder-actions{display:flex;gap:8px;flex-wrap:wrap}.analysis-editor-canvas{border:1px solid rgba(91,192,255,.24);border-radius:18px;background:linear-gradient(145deg,rgba(9,31,59,.76),rgba(25,29,72,.66));padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.analysis-table-scroll{overflow-x:auto;border-radius:14px}.analysis-data-table{width:100%;border-collapse:separate;border-spacing:0;background:rgba(3,14,30,.55);border:1px solid rgba(126,161,210,.2);border-radius:14px;overflow:hidden}.analysis-data-table th,.analysis-data-table td{padding:12px 14px;border-right:1px solid rgba(126,161,210,.18);border-bottom:1px solid rgba(126,161,210,.18);vertical-align:middle;text-align:left}.analysis-data-table th:last-child,.analysis-data-table td:last-child{border-right:0}.analysis-data-table tbody tr:last-child td{border-bottom:0}.analysis-data-table th{background:rgba(72,100,183,.24);font-size:.82rem;color:var(--text);font-weight:800}.analysis-data-table td{color:var(--text);font-size:.9rem}.analysis-edit-table th,.analysis-edit-table td{padding:6px}.analysis-edit-table input,.analysis-edit-table textarea,.analysis-response-editor input[type="text"],.analysis-response-editor>div>input{width:100%;border:1px solid rgba(122,163,219,.22);border-radius:9px;background:rgba(3,17,37,.72);color:var(--text);padding:10px 11px;resize:vertical;min-width:120px}.analysis-edit-table th input{font-weight:800;background:rgba(46,74,145,.22)}.analysis-edit-cell{display:flex;align-items:center;gap:6px}.analysis-remove{border:0;background:transparent;color:#ff8292;font-size:20px;line-height:1;cursor:pointer;padding:4px 6px}.analysis-remove:disabled{opacity:.25;cursor:not-allowed}.analysis-response-editor,.analysis-tf-responses{margin-top:14px;border:1px solid rgba(126,161,210,.18);border-radius:14px;overflow:hidden;background:rgba(2,14,31,.48)}.analysis-tf-head,.analysis-tf-row{display:grid;grid-template-columns:minmax(220px,1fr) 112px 112px;align-items:center;gap:8px;padding:10px 12px}.analysis-response-editor .analysis-tf-head,.analysis-response-editor .analysis-tf-row.editor{grid-template-columns:minmax(240px,1fr) 100px 100px 44px}.analysis-tf-head{background:rgba(70,101,184,.2);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.analysis-tf-head strong{text-align:center}.analysis-tf-row{border-top:1px solid rgba(126,161,210,.14)}.analysis-tf-row>span:first-child{font-weight:650}.analysis-tf-row label{display:flex;justify-content:center;align-items:center;min-height:34px}.analysis-tf-row .radio-ui,.analysis-tf-row .radio-shape{margin:auto}.analysis-label-config{margin-top:2px}.analysis-tf-question{display:grid;gap:14px}.analysis-tf-question.preview{margin-top:8px}
html[data-theme="light"] .analysis-editor-canvas{background:linear-gradient(145deg,rgba(218,239,255,.92),rgba(232,225,255,.88));border-color:rgba(47,105,176,.26)}html[data-theme="light"] .analysis-data-table{background:#fff;border-color:rgba(35,79,137,.22)}html[data-theme="light"] .analysis-data-table th{background:#dfeaff;color:#14223a}html[data-theme="light"] .analysis-data-table td{color:#17263e;border-color:rgba(35,79,137,.17)}html[data-theme="light"] .analysis-edit-table input,html[data-theme="light"] .analysis-edit-table textarea,html[data-theme="light"] .analysis-response-editor>div>input{background:rgba(255,255,255,.92);color:#17263e;border-color:rgba(35,79,137,.22)}html[data-theme="light"] .analysis-tf-responses,html[data-theme="light"] .analysis-response-editor{background:#fff;border-color:rgba(35,79,137,.2)}html[data-theme="light"] .analysis-tf-head{background:#e8efff;color:#182841}
@media(max-width:780px){.analysis-builder-title{flex-direction:column}.analysis-tf-head,.analysis-tf-row{grid-template-columns:minmax(170px,1fr) 78px 78px}.analysis-response-editor .analysis-tf-head,.analysis-response-editor .analysis-tf-row.editor{grid-template-columns:minmax(180px,1fr) 72px 72px 40px}.analysis-data-table{min-width:680px}}

/* v4.6.10 — modal persistente e conteúdos da tabela centrados */
.analysis-edit-table{table-layout:fixed;min-width:max(100%,calc(var(--analysis-cols,4) * 165px));border-collapse:collapse;border-radius:12px;overflow:hidden}
.analysis-edit-table th,.analysis-edit-table td{padding:0;border:1px solid rgba(126,161,210,.28);vertical-align:top}
.analysis-edit-table th{background:linear-gradient(180deg,rgba(68,103,185,.38),rgba(46,75,145,.26))}
.analysis-header-cell{position:relative;display:flex;align-items:stretch;min-height:48px}
.analysis-header-input,.analysis-cell-input,.analysis-statement-input{box-sizing:border-box;width:100%;height:auto;min-height:42px;margin:0;border:0!important;border-radius:0!important;outline:0;background:transparent!important;color:var(--text)!important;padding:11px 12px!important;resize:none!important;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;font:inherit}
.analysis-header-input{font-weight:800;padding-right:34px!important;min-height:48px}
.analysis-cell-input:focus,.analysis-header-input:focus,.analysis-statement-input:focus{background:rgba(71,135,230,.10)!important;box-shadow:inset 0 0 0 2px rgba(87,192,255,.45)}
.analysis-header-cell .analysis-remove{position:absolute;top:4px;right:4px;z-index:2;width:26px;height:26px;border-radius:7px;background:rgba(4,17,37,.42);font-size:17px;display:grid;place-items:center}
.analysis-answer-wrap{margin-top:18px;overflow-x:auto;border:1px solid rgba(126,161,210,.22);border-radius:12px;background:rgba(2,14,31,.45)}
.analysis-answer-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}
.analysis-answer-table th,.analysis-answer-table td{border:1px solid rgba(126,161,210,.20);padding:0;vertical-align:middle}
.analysis-answer-table th{padding:10px 12px;background:rgba(70,101,184,.22);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;text-align:left}
.analysis-answer-table th:nth-child(2),.analysis-answer-table th:nth-child(3){width:105px;text-align:center}.analysis-answer-table th:last-child{width:48px}
.analysis-choice-cell{text-align:center}.analysis-choice-cell label{min-height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer}.analysis-delete-cell{text-align:center}.analysis-statement-input{min-height:46px}
.analysis-builder-actions{position:sticky;top:0;z-index:3}
html[data-theme="light"] .analysis-edit-table th{background:linear-gradient(180deg,#d8e6ff,#e8efff)}
html[data-theme="light"] .analysis-header-cell .analysis-remove{background:rgba(255,255,255,.75)}
html[data-theme="light"] .analysis-answer-wrap{background:#fff;border-color:rgba(35,79,137,.22)}
html[data-theme="light"] .analysis-answer-table th{background:#e3ecff;color:#182841}
@media(max-width:780px){.analysis-edit-table{min-width:max(760px,calc(var(--analysis-cols,4) * 170px))}.analysis-answer-table{min-width:620px}}


/* v4.6.10 — não fechar modais por clique no backdrop; texto da tabela centrado */
.analysis-data-table th,.analysis-data-table td{text-align:center}
.analysis-header-input,.analysis-cell-input,.analysis-statement-input{text-align:center}
.analysis-answer-table th:first-child{text-align:center}
.analysis-answer-table td:first-child{text-align:center}

/* v4.6.12 — caso prático guiado */
 .guided-case-builder{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(38,198,255,.08),rgba(139,92,246,.08))}.guided-case-builder.hidden{display:none}.guided-builder-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.reference-image-editor{display:grid;gap:10px;padding:14px;border:1px solid var(--premium-border);border-radius:14px;background:rgba(255,255,255,.018)}.reference-image-editor .field{margin:0}.reference-image-preview{min-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}.reference-image-preview img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:10px}.guided-reference{margin:0 0 16px;border:1px solid rgba(56,189,248,.28);border-radius:18px;background:linear-gradient(135deg,rgba(14,165,233,.09),rgba(99,102,241,.08));padding:14px}.guided-reference-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.guided-reference-head span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:#67e8f9}.guided-reference-head strong{display:block;font-size:1rem;margin-top:3px}.guided-reference>p{margin:10px 0;color:var(--muted)}.guided-reference-image-wrap{border:1px solid rgba(148,163,184,.2);border-radius:12px;background:rgba(0,0,0,.12);padding:8px}.guided-reference-image{display:block;width:100%;height:auto;max-height:calc(100vh - 270px);object-fit:contain;border-radius:8px}.guided-reference-empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px}.guided-reference-toggle{display:none}.secure-question-card:has(.guided-reference){max-width:1180px}.guided-question-media{border-color:rgba(56,189,248,.35)}@media(min-width:1000px){.secure-question-stage .secure-question-card:has(.guided-reference){display:grid;grid-template-columns:minmax(300px,38%) minmax(0,1fr);column-gap:22px;align-items:start}.secure-question-stage .secure-question-card:has(.guided-reference)>.guided-reference{grid-column:1;grid-row:1/20;position:sticky;top:86px;max-height:calc(100vh - 130px);overflow:auto}.secure-question-stage .secure-question-card:has(.guided-reference)>:not(.guided-reference){grid-column:2}}@media(max-width:999px){.guided-reference-toggle{display:inline-flex}.guided-reference-body{display:none;margin-top:12px}.guided-reference.open .guided-reference-body{display:block}}

/* =========================================================
   v4.6.29 — Correção visual do catálogo de tipologias
   Cartões com identidade cromática por família, mantendo o
   visual premium e a legibilidade no tema escuro/claro.
   ========================================================= */
.question-type-catalog section > div > button {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(13,31,58,.96), rgba(6,17,37,.94));
  border-color: rgba(142,179,225,.24);
  transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.question-type-catalog section > div > button::after {
  content: '';
  position: absolute;
  width: 110px;
  height: 110px;
  right: -55px;
  top: -55px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--card-accent) 22%, transparent), transparent 70%);
  pointer-events: none;
}
.question-type-catalog section > div > button > span {
  position: relative;
  z-index: 1;
  color: var(--card-accent);
  background: color-mix(in srgb, var(--card-accent) 13%, transparent);
  border: 1px solid color-mix(in srgb, var(--card-accent) 25%, transparent);
}
.question-type-catalog section > div > button strong,
.question-type-catalog section > div > button small { position: relative; z-index: 1; }
.question-type-catalog section > div > button:hover,
.question-type-catalog section > div > button:focus-visible {
  border-color: color-mix(in srgb, var(--card-accent) 58%, transparent);
  background: linear-gradient(145deg, color-mix(in srgb, var(--card-accent) 10%, #0d1f3a), rgba(6,17,37,.96));
  box-shadow: 0 12px 34px color-mix(in srgb, var(--card-accent) 10%, transparent);
}

/* Seleção */
.question-type-catalog section:nth-child(1) > div > button { --card-accent: var(--premium-cyan); }
/* Resposta direta */
.question-type-catalog section:nth-child(2) > div > button { --card-accent: var(--premium-violet); }
/* Estruturadas */
.question-type-catalog section:nth-child(3) > div > button { --card-accent: var(--premium-amber); }
/* Desenvolvimento */
.question-type-catalog section:nth-child(4) > div > button { --card-accent: var(--premium-green); }
/* Estruturas de avaliação */
.question-type-catalog .question-structure-catalog > div > button,
.question-structure-catalog > div > button {
  --card-accent: var(--premium-violet);
  background: linear-gradient(145deg, rgba(46,35,96,.52), rgba(7,18,37,.96));
  border-color: rgba(139,125,255,.32);
}
.question-type-catalog .question-structure-catalog > div > button > span,
.question-structure-catalog > div > button > span {
  color: var(--premium-violet);
  background: rgba(139,125,255,.14);
  border-color: rgba(139,125,255,.28);
}

:root[data-theme="light"] .question-type-catalog section > div > button {
  background: linear-gradient(145deg, #ffffff, #f4f8fd);
  border-color: rgba(60,91,126,.18);
}
:root[data-theme="light"] .question-type-catalog section:nth-child(1) > div > button { --card-accent: #0799c7; }
:root[data-theme="light"] .question-type-catalog section:nth-child(2) > div > button { --card-accent: #6657d8; }
:root[data-theme="light"] .question-type-catalog section:nth-child(3) > div > button { --card-accent: #c88700; }
:root[data-theme="light"] .question-type-catalog section:nth-child(4) > div > button { --card-accent: #15986e; }
:root[data-theme="light"] .question-type-catalog .question-structure-catalog > div > button,
:root[data-theme="light"] .question-structure-catalog > div > button {
  background: linear-gradient(145deg, #f2efff, #ffffff);
}

/* v4.6.42 — caso prático guiado: referência comum dentro da secção existente */
.tree-add-guided-case {
  display:flex; align-items:center; justify-content:center; gap:.45rem;
  width:calc(100% - 1rem); margin:.45rem .5rem .7rem; padding:.55rem .7rem;
  border:1px dashed var(--accent, #42d4ff); border-radius:.65rem;
  background:rgba(66,212,255,.055); color:inherit; cursor:pointer;
}
.tree-add-guided-case:hover,.tree-add-guided-case.active {
  background:rgba(66,212,255,.12); border-style:solid;
}
.builder-guided-reference {
  margin:0 0 .8rem; padding:.85rem; border:1px solid rgba(66,212,255,.35);
  border-radius:12px; background:rgba(12,42,68,.48);
}
.builder-guided-reference .guided-reference-head {
  display:flex; justify-content:space-between; align-items:center; gap:.8rem; margin-bottom:.5rem;
}
.builder-guided-reference .guided-reference-head span:first-child {
  display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:#42d4ff;
}
.builder-guided-reference .guided-reference-head strong { display:block; margin-top:.15rem; }
.builder-guided-reference p { margin:.35rem 0 .7rem; color:var(--muted,#9fb2c7); }
.builder-guided-reference-image {
  display:block; width:100%; max-height:420px; object-fit:contain; border-radius:9px;
  border:1px solid rgba(255,255,255,.1); background:#071323;
}

/* v4.6.42: zoom, guided text and capture masking */
.guided-reference>p,.case-study-context p,.secure-question-card .question-help{text-align:justify;text-justify:inter-word;hyphens:auto}.guided-reference-image-wrap{position:relative}.zoomable-image{cursor:zoom-in}.image-zoom-hint{display:block;text-align:center;margin-top:6px;color:var(--muted);font-size:.75rem}.image-zoom-button{display:block;margin:8px auto 0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:7px 12px;cursor:pointer}.image-zoom-backdrop{position:fixed;inset:0;z-index:100000;background:rgba(1,6,18,.96);display:grid;place-items:center;padding:18px}.image-zoom-dialog{width:min(96vw,1500px);height:min(94vh,1000px);display:flex;flex-direction:column;gap:10px}.image-zoom-toolbar{display:flex;justify-content:flex-end;gap:8px}.image-zoom-toolbar button{border:1px solid rgba(148,163,184,.35);border-radius:9px;background:#0d1b31;color:#fff;padding:9px 14px;cursor:pointer}.image-zoom-stage{flex:1;overflow:hidden;display:grid;place-items:center;border:1px solid rgba(148,163,184,.25);border-radius:14px;background:#020817;touch-action:none;cursor:grab}.image-zoom-stage:active{cursor:grabbing}.image-zoom-stage img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;transition:transform .12s ease;user-select:none}.privacy-overlay{backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);background:rgba(2,8,23,.98)!important}.exam-mode.capture-protected .secure-exam{filter:blur(32px)!important;visibility:hidden}

.grade-equivalent,.result-detail-grade small{display:block;font-size:.72rem;opacity:.8;margin-top:2px}.alert-button{border:1px solid rgba(244,63,94,.55);background:rgba(244,63,94,.1);color:#fda4af;border-radius:999px;padding:6px 10px;cursor:pointer}.result-question.correct{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.45)}.result-question.incorrect{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.45)}.result-question.blank{background:transparent}.result-question.pending{background:rgba(148,163,184,.06)}

/* v4.6.42 - dashboard, tabelas e detalhe sem sobreposição */
.premium-admin-main,.premium-admin-content,.dashboard-grid,.premium-panel,.premium-table-wrap{min-width:0}.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.dashboard-grid>.premium-panel{overflow:hidden}.insight-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;overflow:hidden}.insight-row>div:first-child{min-width:0;overflow:hidden}.insight-row strong{display:block;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;line-height:1.35;max-width:100%}.insight-row small{display:block;margin-top:4px}.insight-score{white-space:nowrap;align-self:start}.premium-table{table-layout:auto}.premium-table td,.premium-table th{min-width:0}.premium-table td strong,.premium-table td small{overflow-wrap:anywhere}.premium-table-wrap{max-width:100%;overflow-x:auto}
.dual-grade{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:76px;padding:6px 10px;border:1px solid;border-radius:11px;line-height:1;white-space:nowrap}.dual-grade-primary{font-size:.88rem;font-weight:850}.dual-grade-secondary{font-size:.72rem;font-weight:750;opacity:.86;padding-top:3px;border-top:1px solid currentColor;width:100%;text-align:center}.dual-grade.success{color:#86efac;background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.38)}.dual-grade.danger{color:#fda4af;background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.42)}
.result-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:28px}.result-detail-header>div:first-child{min-width:0}.result-detail-header h2{line-height:1.2;overflow-wrap:anywhere}.big-grade{margin:0!important;min-width:150px;display:flex!important;flex-direction:column;align-items:flex-end;gap:8px;line-height:1!important;white-space:nowrap}.big-grade .grade-primary,.big-grade .grade-secondary{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;width:100%}.big-grade .grade-primary strong{font-size:2.55rem;font-weight:850;letter-spacing:-.04em}.big-grade .grade-primary span{font-size:1rem;font-weight:750;color:var(--muted)}.big-grade .grade-secondary{padding-top:7px;border-top:1px solid rgba(148,163,184,.24)}.big-grade .grade-secondary strong{font-size:1.35rem;font-weight:800}.big-grade .grade-secondary span{font-size:.82rem;font-weight:700;color:var(--muted)}
.result-question-detail{position:relative;overflow:hidden}.result-question-detail::before{content:"";position:absolute;inset:0 auto 0 0;width:5px}.result-question-detail.correct{background:linear-gradient(90deg,rgba(34,197,94,.20),rgba(34,197,94,.08))!important;border-color:rgba(74,222,128,.58)!important}.result-question-detail.correct::before{background:#22c55e}.result-question-detail.incorrect{background:linear-gradient(90deg,rgba(239,68,68,.20),rgba(239,68,68,.08))!important;border-color:rgba(248,113,113,.60)!important}.result-question-detail.incorrect::before{background:#ef4444}.result-question-detail.blank{background:transparent!important;border-color:var(--border)!important}.result-question-detail.blank::before{background:transparent}.result-question-detail.pending{background:rgba(148,163,184,.06)!important}.result-question-detail.pending::before{background:#94a3b8}
@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.premium-panel{grid-column:auto!important}}@media(max-width:720px){.result-detail-header{grid-template-columns:1fr}.big-grade{align-items:flex-start;min-width:0}.big-grade .grade-primary,.big-grade .grade-secondary{justify-content:flex-start;width:auto}}

.exam-mode{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.exam-mode #question-input,.exam-mode #question-input *,.exam-mode button,.exam-mode label{-webkit-user-select:none;user-select:none;touch-action:manipulation}.secure-launch-card{width:min(720px,calc(100% - 24px));margin:40px auto;padding:32px;border:1px solid var(--border);border-radius:24px;background:var(--panel)}.secure-consent{display:flex;gap:10px;margin:20px 0;padding:14px;border:1px solid var(--border);border-radius:14px}@media print{body.exam-mode *{visibility:hidden!important}}@media(max-width:720px){.premium-modal-backdrop{padding:8px!important;align-items:flex-end!important}.premium-modal,.premium-modal.compact{width:100%!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;overflow:auto!important;border-radius:20px 20px 10px 10px!important;padding:18px 14px calc(14px + env(safe-area-inset-bottom))!important}.premium-modal-actions{position:sticky!important;bottom:calc(-14px - env(safe-area-inset-bottom));margin:18px -14px calc(-14px - env(safe-area-inset-bottom))!important;padding:12px 14px calc(12px + env(safe-area-inset-bottom))!important;background:var(--panel);display:grid!important;grid-template-columns:1fr!important}.premium-modal-actions button{width:100%;min-height:48px}.secure-question-stage{padding:8px!important}.secure-question-card{padding:16px!important;border-radius:16px!important}.secure-question-actions{display:grid!important;grid-template-columns:1fr!important}.secure-question-actions button{width:100%;min-height:48px}.answer-option{min-height:52px;padding:14px 12px!important}.secure-launch-card{margin:10px auto;padding:20px 16px}.secure-launch-card .primary-button{width:100%;min-height:50px}}

/* Build 2026.09.02.6 - mobile exam layout overhaul */
@media(max-width:820px){
  html{height:auto!important;min-height:100%!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
  body,body.exam-mode{height:auto!important;min-height:100%!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;position:static!important;touch-action:pan-y!important;overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  #app,.public-shell,.secure-exam{height:auto!important;min-height:var(--mobile-vh,100dvh)!important;max-height:none!important;overflow:visible!important;position:relative!important;}
  .secure-exam{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;isolation:auto!important;}
  .secure-exam-header{position:sticky!important;top:0!important;z-index:90!important;min-height:58px!important;height:auto!important;padding:max(8px,env(safe-area-inset-top)) 10px 8px!important;align-items:center!important;gap:8px!important;}
  .secure-exam-header .test-brand{min-width:0!important;flex:1 1 auto!important;gap:8px!important;}
  .secure-exam-header .test-brand>div{min-width:0!important;}
  .secure-exam-header .test-brand strong{display:block!important;max-width:100%!important;font-size:.88rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .secure-exam-header .test-brand small{display:block!important;max-width:100%!important;font-size:.68rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .secure-exam-header .brand-mark{width:34px!important;height:34px!important;min-width:34px!important;}
  .exam-header-actions{flex:0 0 auto!important;}
  .exam-header-actions .ghost-button{display:none!important;}
  .secure-timer{min-width:72px!important;padding:8px 9px!important;font-size:.88rem!important;border-radius:10px!important;}
  .exam-progress{position:sticky!important;top:58px!important;z-index:89!important;height:4px!important;}
  .secure-exam-layout{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;margin:0!important;padding:8px 8px calc(30px + env(safe-area-inset-bottom))!important;gap:8px!important;overflow:visible!important;}
  .secure-question-nav{position:relative!important;top:auto!important;order:2!important;width:100%!important;max-width:none!important;padding:12px!important;border-radius:14px!important;overflow:visible!important;}
  .question-nav-head,.exam-legend,.secure-question-nav .security-status{display:none!important;}
  .exam-number-grid{display:flex!important;grid-template-columns:none!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;padding:2px 2px 8px!important;scrollbar-width:thin!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;}
  .exam-number{flex:0 0 42px!important;width:42px!important;height:42px!important;min-width:42px!important;scroll-snap-align:center!important;}
  .secure-question-nav #submit-test{width:100%!important;min-height:46px!important;margin-top:5px!important;}
  .secure-question-stage{order:1!important;display:block!important;width:100%!important;min-width:0!important;max-width:none!important;padding:0!important;margin:0!important;overflow:visible!important;scroll-margin-top:70px!important;}
  .question-stage-meta{display:flex!important;justify-content:space-between!important;gap:8px!important;padding:6px 4px 8px!important;font-size:.72rem!important;flex-wrap:wrap!important;}
  .secure-question-card{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:0!important;height:auto!important;max-height:none!important;margin:0!important;padding:16px 14px!important;border-radius:15px!important;overflow:visible!important;}
  .secure-question-card h1{font-size:clamp(1.08rem,5vw,1.35rem)!important;line-height:1.3!important;overflow-wrap:anywhere!important;margin:12px 0!important;}
  .question-help,.secure-question-card p{overflow-wrap:anywhere!important;}
  #question-input{display:block!important;width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important;margin-top:14px!important;}
  .answer-options{display:grid!important;width:100%!important;gap:9px!important;overflow:visible!important;}
  .answer-option{display:flex!important;width:100%!important;min-width:0!important;min-height:52px!important;height:auto!important;padding:13px 11px!important;gap:10px!important;align-items:flex-start!important;overflow:visible!important;}
  .answer-option>span:last-child{min-width:0!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;line-height:1.4!important;}
  .answer-option input{flex:0 0 auto!important;}
  .answer-input,textarea.answer-input,#text-answer,#long-text-answer,#numeric-answer{display:block!important;width:100%!important;max-width:100%!important;min-height:48px!important;box-sizing:border-box!important;font-size:16px!important;}
  textarea.answer-input,#long-text-answer{min-height:180px!important;resize:vertical!important;}
  .matrix-wrap,.analysis-table-wrap,.matching-answer,.file-answer,.ordering-list{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  .question-media,.guided-reference-image,.hotspot-image-wrap img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:45dvh!important;object-fit:contain!important;}
  .secure-question-actions{position:relative!important;display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important;margin:10px 0 4px!important;padding:0!important;overflow:visible!important;}
  .secure-question-actions button{display:flex!important;width:100%!important;min-width:0!important;min-height:48px!important;padding:10px 8px!important;justify-content:center!important;white-space:normal!important;}
  .secure-question-actions #mark-question{grid-column:1/-1!important;grid-row:2!important;}
  
  .privacy-overlay{position:fixed!important;inset:0!important;height:100dvh!important;z-index:99999!important;overflow:auto!important;}
}
@media(max-width:390px){
  .secure-exam-layout{padding-inline:5px!important}.secure-question-card{padding:14px 11px!important}.secure-question-actions{grid-template-columns:1fr!important}.secure-question-actions #mark-question{grid-column:auto!important;grid-row:auto!important}.secure-exam-header .test-brand small{display:none!important}.secure-timer{min-width:66px!important;font-size:.8rem!important}.exam-progress{top:54px!important}
}

/* Build 2026.09.02.7 - definitive mobile scrolling and interaction fix */
@media(max-width:820px),(pointer:coarse){
  :root{overflow-y:scroll!important;overflow-x:hidden!important;height:auto!important;min-height:100%!important;}
  html{overflow-y:scroll!important;overflow-x:hidden!important;height:auto!important;min-height:100%!important;touch-action:pan-y!important;overscroll-behavior-y:auto!important;}
  body,body.exam-mode{display:block!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:100%!important;max-height:none!important;overflow-y:visible!important;overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior:auto!important;-webkit-overflow-scrolling:touch!important;}
  #app,.app-shell,.public-shell,.secure-exam,.secure-exam-layout,.secure-question-stage,.secure-question-card,#question-input,.answer-options{position:relative!important;height:auto!important;min-height:0!important;max-height:none!important;overflow-y:visible!important;touch-action:pan-y!important;}
  #app,.app-shell,.public-shell,.secure-exam{width:100%!important;overflow-x:hidden!important;}
  .secure-exam-layout{display:flex!important;flex-direction:column!important;padding-bottom:calc(48px + env(safe-area-inset-bottom))!important;}
  .secure-question-stage{flex:0 0 auto!important;contain:none!important;}
  .secure-question-card{display:block!important;contain:none!important;}
  .secure-question-card *,#question-input *{max-height:none;}
  .answer-option,.answer-option *,button,label,input,textarea,select{touch-action:manipulation!important;}
  .secure-question-card,.secure-question-card h1,.secure-question-card p,.answer-option,.answer-option span{pointer-events:auto!important;}
  .exam-number-grid{touch-action:pan-x!important;overscroll-behavior-x:contain!important;}
  
  .privacy-overlay:not(.visible){display:none!important;pointer-events:none!important;}
  .privacy-overlay.visible{display:grid!important;}
}


/* Build 2026.09.03.1 - respostas sempre interativas */
.exam-mode #question-input,
.exam-mode #question-input *,
.exam-mode .answer-option,
.exam-mode .answer-option *,
.exam-mode .secure-question-actions,
.exam-mode .secure-question-actions * {
  pointer-events: auto !important;
}
.exam-mode input,
.exam-mode textarea,
.exam-mode select {
  user-select: text !important;
  -webkit-user-select: text !important;
}
.privacy-overlay:not(.visible) {
  display: none !important;
  pointer-events: none !important;
}

.capture-shield{position:fixed;inset:0;z-index:1000000;display:none;place-items:center;background:#000;color:#fff;pointer-events:none}.capture-shield.visible{display:grid}.active-attempt-notice{margin-top:12px;padding:14px;border:1px solid rgba(74,217,255,.35);border-radius:14px;background:rgba(74,217,255,.08)}

/* Build 2026.09.03.4 - watermark above all exam media and automatic test generator */
.secure-exam-header,.secure-question-card,.secure-question-nav,.question-media,.guided-reference-image,.hotspot-image-wrap{position:relative;z-index:auto}.image-zoom-backdrop>.image-zoom-dialog{position:relative;z-index:10}.capture-shield.visible{display:grid!important} @media print{body.exam-mode }

/* Build 2026.09.07.1 - participantes: turma, ano, filtros e modelo CSV */
.participants-table{min-width:1380px}.column-filter-row th{padding:7px}.column-filter-row input,.column-filter-row select{width:100%;min-width:90px;min-height:34px;border:1px solid var(--premium-border);border-radius:8px;padding:0 8px;color:var(--text);background:rgba(2,9,24,.64);text-transform:none;letter-spacing:0}.participant-filter-summary{display:flex;justify-content:space-between;align-items:center;margin:10px 0;color:var(--muted)}
:root[data-theme="light"] .column-filter-row input,:root[data-theme="light"] .column-filter-row select{background:#fff;color:#14243a}

/* Build 2026.09.07.2 - marca de agua removida integralmente */

/* Build 2026.09.09.1 - aviso, escolha V/F limpa e bloqueio de sessão inválida */
.analysis-tf-row label{position:relative;cursor:pointer}.analysis-tf-row input[type="radio"]{position:absolute!important;inline-size:1px!important;block-size:1px!important;opacity:0!important;pointer-events:none!important}.analysis-tf-row input[type="radio"]+.radio-ui{width:22px;height:22px;border:2px solid #7190b8;border-radius:50%;display:block}.analysis-tf-row input[type="radio"]:checked+.radio-ui{border-color:var(--cyan);background:var(--cyan);box-shadow:inset 0 0 0 5px #0c1d34}.analysis-tf-row input[type="radio"]:focus-visible+.radio-ui{outline:3px solid rgba(74,217,255,.35);outline-offset:3px}.unauthorized-attempt{max-width:720px;margin:70px auto;text-align:center}.unauthorized-attempt .primary-button{margin-top:18px}


/* v4.6.55 - dual creative reports and reliable print charts */
.only-full,.only-executive{display:none}.report-question-dashboards{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.question-section-title{grid-column:1/-1;padding:20px 22px;border:1px solid var(--premium-border);border-radius:18px;background:linear-gradient(135deg,rgba(37,207,244,.10),rgba(139,92,246,.10))}.question-section-title h2{margin:5px 0}.question-section-title p{margin:0;color:var(--premium-muted)}.question-dashboard-card{padding:20px;border:1px solid var(--premium-border);border-radius:18px;background:linear-gradient(145deg,rgba(13,32,62,.94),rgba(17,24,52,.94));break-inside:avoid}.question-dashboard-head{display:flex;justify-content:space-between;gap:15px;color:var(--premium-cyan);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.question-dashboard-card h3{margin:14px 0 6px;font-size:1rem;line-height:1.45}.question-dashboard-card>small{color:var(--premium-muted)}.answer-dashboard{display:grid;gap:13px;margin-top:20px}.answer-dashboard label{display:flex;justify-content:space-between;gap:12px;font-size:.74rem}.answer-dashboard em{font-style:normal;color:var(--premium-muted)}.answer-bar{display:block;width:100%;height:10px;margin-top:6px;border-radius:999px;background:rgba(255,255,255,.06);overflow:hidden}.answer-bar:after{content:"";display:block;width:var(--answer-width);height:100%;border-radius:inherit}.answer-bar.correct:after{background:linear-gradient(90deg,#10b981,#34d399)}.answer-bar.incorrect:after{background:linear-gradient(90deg,#ef4444,#fb7185)}.answer-bar.blank:after{background:linear-gradient(90deg,#64748b,#94a3b8)}
@media(max-width:900px){.report-question-dashboards{grid-template-columns:1fr}}
@media print{
 @page{size:A4 portrait;margin:12mm 10mm 14mm}
 body.report-print-full .only-full,body.report-print-executive .only-executive{display:inline!important}
 body.report-print-executive .report-question-section{display:none!important}
 body.report-print-full .report-question-section{display:block}
 .report-filter-card,.premium-page-header,.admin-sidebar,.premium-admin-top,.visual-builder-footer{display:none!important}
 .premium-admin-content{padding:0!important}.premium-admin-shell,.premium-admin-main{display:block!important;background:#fff!important}
 #report-content{color:#14213d!important}.report-print-header{display:flex!important;align-items:flex-start;justify-content:space-between;padding:18px 20px;margin:0 0 12px;border:0;border-radius:15px;background:linear-gradient(135deg,#082f49,#312e81)!important;color:#fff!important}.report-print-header strong{font-size:16pt}.report-print-header small{display:block;margin-top:4px;color:#bae6fd}.report-metrics{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important}.premium-metric{min-height:0!important;padding:12px!important;border:1px solid #dbeafe!important;border-radius:12px!important;background:#f8fbff!important;color:#14213d!important;box-shadow:none!important;break-inside:avoid}.premium-metric strong{font-size:17pt!important;color:#0f172a!important}.premium-metric span,.premium-metric small{color:#475569!important}.report-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.premium-panel{padding:14px!important;border:1px solid #dbe3ef!important;border-radius:13px!important;background:#fff!important;color:#14213d!important;box-shadow:none!important;break-inside:avoid}.premium-panel.span-2{grid-column:1!important}.premium-table{color:#172033!important}.premium-table th{background:#eaf3ff!important;color:#12345b!important}.premium-table td{border-color:#dbe3ef!important}.premium-table small{color:#52657a!important}.premium-distribution-chart{min-height:175px!important}.distribution-bar{display:block!important;width:min(48px,70%)!important;accent-color:#2563eb!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-question-dashboards{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.question-section-title{padding:14px!important;background:#eaf3ff!important;color:#14213d!important;break-after:avoid}.question-dashboard-card{padding:14px!important;background:#fff!important;color:#14213d!important;border:1px solid #cbd5e1!important}.question-dashboard-card h3{font-size:10.5pt!important}.question-dashboard-head{color:#075985!important}.answer-bar{background:#e2e8f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.answer-bar.correct:after{background:#10b981!important}.answer-bar.incorrect:after{background:#ef4444!important}.answer-bar.blank:after{background:#64748b!important}.grade-pill,.progress-track i{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* v4.6.57 report corrections */
.report-filter-card{grid-template-columns:repeat(3,minmax(150px,1fr))}.report-signature{width:330px;margin:56px 24px 22px auto;text-align:center;break-inside:avoid}.report-signature p{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.signature-space{height:64px;border-bottom:1px solid currentColor}.report-signature strong,.report-signature span{display:block;margin-top:9px}.report-signature span{font-size:.78rem;color:var(--premium-muted)}
.report-metrics .premium-metric:nth-child(1){background:#075985!important}.report-metrics .premium-metric:nth-child(2){background:#047857!important}.report-metrics .premium-metric:nth-child(3){background:#6d28d9!important}.report-metrics .premium-metric:nth-child(4){background:#b45309!important}.report-metrics .premium-metric:nth-child(5){background:#1d4ed8!important}.report-metrics .premium-metric:nth-child(6){background:#b91c1c!important}.report-metrics .premium-metric *{color:#fff!important}.report-grid>.premium-panel:first-child{background:#10284d!important;color:#fff!important}.report-grid>.premium-panel:first-child *{color:#fff!important}.distribution-column>span{font-size:1.08rem!important;font-weight:900!important}.distribution-column small{font-size:.8rem!important;font-weight:800!important}.grade-pill.success{background:#047857!important;color:#fff!important;border-color:#065f46!important;font-weight:900}.grade-pill.danger{background:#be123c!important;color:#fff!important;border-color:#9f1239!important;font-weight:900}
@media print{.report-print-header{background:linear-gradient(135deg,#075985,#4338ca 55%,#7e22ce)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-print-header strong,.report-print-header small,.report-print-header span{color:#fff!important}.report-metrics .premium-metric,.report-grid>.premium-panel:first-child,.grade-pill{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-signature{display:block!important;color:#14213d!important}.report-signature span{color:#475569!important}}

/* v4.6.59 - independent report filters */
.report-filter-actions{display:flex;gap:10px;align-items:end}.report-filter-actions button{min-height:44px}.report-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px;padding:12px 14px;border:1px solid var(--premium-border);border-radius:14px;background:rgba(12,35,67,.7)}.report-active-filters strong{margin-right:5px}.report-active-filters span{padding:6px 10px;border-radius:999px;background:rgba(56,189,248,.12);color:#a5e8ff;font-size:.72rem;font-weight:750}.report-filter-card .field small{color:var(--premium-muted);font-size:.66rem}@media(max-width:900px){.report-filter-actions{grid-column:1/-1}.report-filter-actions button{flex:1}}@media print{.report-active-filters{background:#eaf3ff!important;color:#12345b!important;border-color:#bfdbfe!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-active-filters span{background:#dbeafe!important;color:#12345b!important}}
