/* Simulados: visual do seu CIS_DF_Completo_Pratica (azul Google, cards brancos), com tema escuro automático */
:root{
  --primary:#1a73e8;--primary-dark:#0d47a1;--primary-soft:#e8f0fe;
  --success:#0f9d58;--success-soft:#e6f4ea;--danger:#db4437;--danger-soft:#fce8e6;
  --warning:#b06000;--warning-soft:#fef7e0;--bg:#f0f2f5;--card:#fff;--text:#202124;--muted:#5f6368;--border:#dadce0;
  --font:'Segoe UI',system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --primary:#8ab4f8;--primary-dark:#aecbfa;--primary-soft:#1e2a3d;--success:#81c995;--success-soft:#16301f;
  --danger:#f28b82;--danger-soft:#3b1d1b;--warning:#fdd663;--warning-soft:#3a3115;--bg:#16181c;--card:#202226;
  --text:#e8eaed;--muted:#9aa0a6;--border:#3c4043;color-scheme:dark}}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}
a{color:var(--primary)}
h1{font-size:1.4rem;margin-bottom:6px}h2{font-size:1.1rem;margin-bottom:10px}
.muted{color:var(--muted)}.small{font-size:.84rem}.hidden{display:none!important}
.exam-header{background:linear-gradient(135deg,#0d47a1,#1565c0 60%,#1a73e8);color:#fff;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.25);flex-wrap:wrap}
.brand{font-weight:600}
.topnav{display:flex;gap:14px;flex-wrap:wrap}.topnav a{color:#fff;text-decoration:none;font-size:.9rem;opacity:.9}.topnav a:hover{opacity:1;text-decoration:underline}
.page{max-width:1100px;margin:0 auto;padding:20px 16px 100px;display:grid;gap:16px}
.card{background:var(--card);border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.08);padding:20px;border:1px solid var(--border)}
.narrow{max-width:560px;margin:24px auto;width:100%}
.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tile{background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:16px;text-decoration:none;color:var(--text);display:grid;gap:4px;transition:.15s}
.tile b{font-size:1.05rem}.tile span{color:var(--muted);font-size:.88rem}
.tile.action:hover{border-color:var(--primary);background:var(--primary-soft)}
.tile.hot{border-color:var(--warning);background:var(--warning-soft)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:190px 1fr 150px;gap:10px;align-items:center;font-size:.9rem}
.track{height:12px;background:var(--primary-soft);border-radius:6px;position:relative;overflow:visible}
.fill{position:absolute;inset:0 auto 0 0;border-radius:6px;background:var(--primary)}
.fill.ok{background:var(--success)}.fill.warn{background:#f4b400}.fill.bad{background:var(--danger)}
.corte{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text);opacity:.55}
.num{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right}
.list{list-style:none;display:grid;gap:8px}.list li{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--border);padding-bottom:6px}
.pill{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:20px;background:var(--primary-soft);color:var(--primary-dark);text-decoration:none;white-space:nowrap}
.pill.ok,.st-conferida{background:var(--success-soft);color:var(--success)}
.pill.warn,.st-suspeita{background:var(--warning-soft);color:var(--warning)}
.pill.bad,.st-quebrada{background:var(--danger-soft);color:var(--danger)}
.st-a_conferir{background:var(--primary-soft);color:var(--primary-dark)}
.alert{padding:10px 12px;border-radius:8px;border-left:4px solid}
.alert.bad{background:var(--danger-soft);border-color:var(--danger)}.alert.ok{background:var(--success-soft);border-color:var(--success)}.alert.warn{background:var(--warning-soft);border-color:var(--warning)}
.form{display:grid;gap:8px}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.filters input,.filters select{width:100%;padding:9px 11px;border:1.5px solid var(--border);border-radius:8px;font:inherit;background:var(--card);color:var(--text)}
fieldset{border:1px solid var(--border);border-radius:10px;padding:10px 12px;display:grid;gap:6px}legend{padding:0 6px;font-weight:600}
.opt{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.opt input{margin-top:4px}
.filters{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:8px;margin:10px 0}
.row-end{display:flex;justify-content:flex-end;gap:8px}
button,.btn-primary{padding:9px 16px;border-radius:8px;border:none;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}
.btn-secondary{background:var(--border);color:var(--text)}
.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}
.btn-flag{background:transparent;border:1.5px solid #f4b400;color:var(--warning)}.btn-flag.active{background:var(--warning-soft)}
.btn-danger{background:var(--danger);color:#fff}.full{width:100%}
button:disabled{opacity:.45;cursor:default}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
/* tela de questões */
.exam{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}
.sidebar{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;position:sticky;top:64px;display:grid;gap:10px}
.side-head{display:grid;gap:4px}
.timer-box{background:var(--primary-dark);color:#fff;padding:5px 10px;border-radius:8px;font-variant-numeric:tabular-nums;font-weight:600;text-align:center}
.timer-box.warn{background:#c62828;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.7}}
.nav-dots{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;max-height:50vh;overflow-y:auto}
.dot{aspect-ratio:1;border-radius:5px;border:1.5px solid var(--border);background:var(--card);font-size:10px;font-weight:600;cursor:pointer;position:relative;color:var(--muted);padding:0}
.dot.cur{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}
.dot.ans{background:var(--primary-soft);border-color:#90caf9;color:var(--primary-dark)}
.dot.flag::after{content:'⚑';position:absolute;top:-4px;right:-3px;font-size:9px;color:#f4b400}
.dot.right{background:var(--success-soft);border-color:var(--success);color:var(--success)}
.dot.wrong{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
.dot.seen{background:#ede7f6;border-color:#7e57c2;color:#5e35b1}
.content{display:grid;gap:14px}
.progress-mini{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-mini i{display:block;height:100%;width:0;background:var(--primary);transition:width .3s}
.q-meta{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.82rem;color:var(--muted);flex-wrap:wrap;gap:6px}
.badge{background:var(--primary-soft);color:var(--primary-dark);padding:2px 9px;border-radius:20px;font-weight:600;font-size:.72rem}
.badge.hy{background:#fff3e0;color:#e65100}
.q-stem{font-size:1.05rem;font-weight:500;margin-bottom:16px;line-height:1.55}
.options{list-style:none}
.option{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1.5px solid var(--border);border-radius:9px;margin-bottom:8px;cursor:pointer;transition:.15s;background:var(--card)}
.option:hover{border-color:var(--primary)}
.option.selected{border-color:var(--primary);background:var(--primary-soft)}
.option.correct{border-color:var(--success);background:var(--success-soft)}
.option.incorrect{border-color:var(--danger);background:var(--danger-soft)}
.option input{margin-top:3px;width:15px;height:15px;flex-shrink:0;accent-color:var(--primary)}
.option label{cursor:pointer;flex:1;font-size:.93rem}
/* arrastar (associação) */
.badge.drag{background:#f3e5f5;color:#6a1b9a}
.match{display:grid;grid-template-columns:1.4fr 1fr;gap:16px;align-items:start}
.match-itens{list-style:none;display:grid;gap:10px}
.match-itens li{display:grid;gap:6px}
.match-item{display:flex;gap:8px;font-size:.93rem}
.match-item .n{flex:0 0 22px;height:22px;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-weight:700;font-size:.75rem;display:grid;place-items:center}
.slot{min-height:42px;border:2px dashed var(--border);border-radius:9px;padding:9px 12px;font-size:.9rem;cursor:pointer;background:var(--bg);transition:.12s}
.slot.filled{border-style:solid;border-color:var(--primary);background:var(--primary-soft)}
.slot.over{border-color:var(--primary);background:var(--primary-soft)}
.slot.correct{border:2px solid var(--success);background:var(--success-soft);cursor:default}
.slot.incorrect{border:2px solid var(--danger);background:var(--danger-soft);cursor:default}
.certo{color:var(--success);font-weight:600}
.slot.revealed{border:2px solid var(--success);background:var(--success-soft);cursor:default}
.match-pool{display:grid;gap:8px;position:sticky;top:70px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.chip{padding:9px 12px;border-radius:8px;background:var(--card);border:1.5px solid var(--border);cursor:grab;font-size:.88rem;user-select:none}
.chip:hover{border-color:var(--primary)}
.chip.dragging{opacity:.5}
.chip.picked{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px var(--primary)}
@media(max-width:900px){.match{grid-template-columns:1fr}.match-pool{position:static;order:-1}}
.feedback{margin-top:14px;padding:12px 14px;border-radius:8px;font-size:.9rem;display:grid;gap:6px}
.feedback.info{background:var(--primary-soft);border-left:4px solid var(--primary)}.feedback.ok{background:var(--success-soft);border-left:4px solid var(--success)}.feedback.bad{background:var(--danger-soft);border-left:4px solid var(--danger)}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--border);padding:10px 16px;display:flex;justify-content:space-between;gap:10px;z-index:100;flex-wrap:wrap}
.bottom-nav .left,.bottom-nav .right{display:flex;gap:8px;flex-wrap:wrap}
.score{display:flex;align-items:baseline;gap:12px;margin:6px 0 14px}.score b{font-size:2.4rem}
.score.ok b{color:var(--success)}.score.warn b{color:var(--warning)}.score.bad b{color:var(--danger)}
dialog{border:none;border-radius:12px;padding:20px;max-width:520px;width:92vw;background:var(--card);color:var(--text)}
dialog::backdrop{background:rgba(0,0,0,.45)}
.toast{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);background:#202124;color:#fff;padding:10px 16px;border-radius:8px;z-index:300;font-size:.9rem}
.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.78rem;text-transform:uppercase;color:var(--muted)}
.alt-edit{display:grid;grid-template-columns:22px 1fr 80px;gap:8px;align-items:start}
.pager{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.pager a{padding:3px 9px;border:1px solid var(--border);border-radius:6px;text-decoration:none}.pager a.cur{background:var(--primary);color:#fff}
.chart{overflow-x:auto}.chart svg{width:100%;min-width:480px;height:auto}
.chart .grid{stroke:var(--border)}.chart .axis{fill:var(--muted);font-size:11px}.chart .strong{fill:var(--text);font-weight:700}
.chart .corte-line{stroke:var(--danger);stroke-dasharray:4 4}.chart .serie{fill:none;stroke:var(--primary);stroke-width:2.5}.chart .ponto{fill:var(--primary)}
pre{white-space:pre-wrap}
@media(max-width:900px){.exam{grid-template-columns:1fr}.sidebar{position:static}.nav-dots{grid-template-columns:repeat(10,1fr);max-height:none}.bar{grid-template-columns:1fr;gap:4px}.num{text-align:left}.filters{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Marcação pessoal "na prova real" */
.relev{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 4px;padding-top:12px;border-top:1px dashed var(--border)}
.relev-btn{font:inherit;font-size:13px;padding:5px 12px;border-radius:999px;cursor:pointer;background:transparent;color:var(--muted);border:1px solid var(--border)}
.relev-btn:hover{color:var(--text)}
.relev-btn.on{font-weight:700}
.relev-btn.rv-caiu.on{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}
.relev-btn.rv-medio.on{background:var(--warning-soft);border-color:var(--warning);color:var(--warning)}
.relev-btn.rv-baixo.on{background:var(--bg);border-color:var(--muted);color:var(--text)}
#formRefazer{margin-top:8px}
