.app{max-width:1280px;margin:0 auto;padding:1rem 1.25rem 3rem}.topbar{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.eyebrow{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.85rem}.topbar h1{letter-spacing:-.02em;margin:.2rem 0 0;font-size:1.75rem;font-weight:700}.topbar-actions{align-items:end;gap:.75rem;display:flex}.topbar-actions label{color:var(--muted);gap:.25rem;font-size:.85rem;display:grid}.topbar-actions select,.panel select,.panel textarea,.panel input,.cell{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.45rem .6rem}.save{text-align:right;min-width:5.5rem;color:var(--muted);font-size:.9rem}.save-saving{color:var(--warn)}.save-saved{color:var(--ok)}.nav{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.nav-btn{border:1px solid var(--border);color:var(--ink);background:#fffdf9cc;border-radius:999px;padding:.4rem .8rem}.nav-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.main{min-height:70vh}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.panel-head,.panel-foot{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.panel-foot{border-bottom:0;border-top:1px solid var(--border)}.panel-head h2,.panel-head h3{margin:0}.panel-head p{color:var(--muted);margin:.25rem 0 0}.panel-body{padding:1rem 1.1rem 1.25rem}.stack{gap:.85rem;display:grid}.steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin:0;padding:.75rem 1rem 0;list-style:none;display:grid}.steps button{text-align:left;border:1px solid var(--border);width:100%;color:var(--muted);background:#fff;border-radius:10px;padding:.55rem .65rem;font-size:.82rem}.steps .current button{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.caps,.history ul,.checklist ul,.task-list{margin:0;padding-left:1.1rem}.example table,.simple,.grade{border-collapse:collapse;width:100%}.example th,.example td,.simple th,.simple td,.grade th,.grade td{border-bottom:1px solid var(--border);text-align:left;padding:.45rem .5rem;font-size:.92rem}.total-line{margin:.75rem 0}.muted{color:var(--muted)}.small{font-size:.85rem}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:8px;padding:.5rem .85rem}.primary:disabled,button:disabled{opacity:.45;cursor:not-allowed}button:not(.nav-btn):not(.chip):not(.primary):not(.linkish){border:1px solid var(--border);background:#fff;border-radius:8px;padding:.5rem .85rem}.linkish{color:var(--accent);background:0 0;border:0;margin-left:.5rem;padding:0;text-decoration:underline}.chips,.filters,.grade-actions{flex-wrap:wrap;gap:.4rem;display:flex}.chips{padding:0 1.1rem}.chips span,.chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.filters{padding:.75rem 1.1rem}.chip.active{background:var(--accent-soft);border-color:var(--accent)}.grade-layout,.boletim-layout,.split{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) 280px;gap:0;display:grid}.table-wrap{max-height:62vh;overflow:auto}.grade .sticky-name{background:var(--surface);z-index:1;min-width:11rem;position:sticky;left:0}.grade thead th{z-index:2;background:#f3f6f9;position:sticky;top:0}.grade thead .sticky-name{z-index:3}.cell{text-align:center;width:4.2rem;padding:.35rem .25rem}.cell.empty{color:var(--muted)}.cell.error{border-color:var(--danger);background:var(--danger-soft)}.selected-row{background:#f3f8f6}.total{font-variant-numeric:tabular-nums;font-weight:600}.status{background:#eef1f5;border-radius:999px;padding:.15rem .5rem;font-size:.78rem;display:inline-block}.status-Completo{background:var(--ok-soft);color:var(--ok)}.status-Pendente{color:var(--muted);background:#eef1f5}.status-Recuperação{background:var(--warn-soft);color:var(--warn)}.drawer{border-left:1px solid var(--border);background:#fbfaf7;padding:1rem}.drawer h3,.drawer h4{margin-top:0}.drawer label,.panel-body label,.modal label{gap:.35rem;margin:.75rem 0;font-size:.9rem;display:grid}.inst-group{border:1px solid var(--border);border-radius:12px;margin-bottom:.75rem;padding:.85rem 1rem}.inst-group h3{margin:0 0 .5rem}.inst-group ul{margin:0 0 .75rem;padding-left:1rem}.checklist{gap:.75rem;display:grid}.check-block{border:1px solid var(--border);border-radius:12px;padding:.75rem 1rem}.check-block h3{margin:0 0 .4rem;font-size:.95rem}.check-block.danger{background:var(--danger-soft);border-color:#e2b4b4}.check-block.warn{background:var(--warn-soft);border-color:#e6d3a2}.check-block.ok{background:var(--ok-soft);border-color:#b7d7cb}.boletim-doc{padding:1rem 1.1rem}.task-list{gap:.65rem;padding:0;list-style:none;display:grid}.task-list label{border:1px solid var(--border);background:#fff;border-radius:10px;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;margin:0;padding:.65rem .75rem;display:grid}.modal-backdrop{z-index:40;background:#141c2873;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:min(480px,100%);box-shadow:var(--shadow);border-radius:14px;padding:1.1rem}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.toast{background:var(--ink);color:#fff;z-index:50;border-radius:10px;max-width:min(420px,100vw - 2rem);padding:.75rem 1rem;position:fixed;bottom:1rem;right:1rem}@media (width<=900px){.steps,.grade-layout,.boletim-layout,.split{grid-template-columns:1fr}.drawer{border-left:0;border-top:1px solid var(--border)}.topbar{flex-direction:column;align-items:stretch}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f5f1;--surface:#fffdf9;--ink:#1c2430;--muted:#5b6573;--border:#d7dde6;--border-strong:#9aa6b5;--accent:#1f5c4a;--accent-soft:#e4f1ec;--danger:#8b2e2e;--danger-soft:#f8e8e8;--warn:#8a5a12;--warn-soft:#f8efd9;--ok:#1f5c4a;--ok-soft:#e4f1ec;--ring:#2f6fed;--shadow:0 10px 30px #1c24300f;font-family:"Source Sans 3",Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);background:radial-gradient(circle at 0 0,#e8eef7 0,#0000 40%),linear-gradient(#f7f5f1 0%,#eef1f5 100%);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}kbd{border:1px solid var(--border);background:#fff;border-radius:4px;padding:.05rem .35rem;font-size:.85em}
