:root{--ink-950: #0F0C20;--ink-900: #14102B;--surface-800: #18152E;--surface-700: #1F1B3C;--violet-500: #6D44F6;--violet-400: #7C3AED;--lime-400: #D4FF3F;--amber-500: #FFB020;--coral-500: #FF5C7A;--text-high: #FFFFFF;--text-muted: #9490B8;--border: #352C66;--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px}*{box-sizing:border-box}body{margin:0;background:var(--ink-950);color:var(--text-high);font-family:var(--font-body)}h1,h2{font-family:var(--font-display);margin:0}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 0%,var(--ink-900),var(--ink-950) 60%);padding:24px}.login-card{width:100%;max-width:380px;background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;text-align:center}.login-logo{width:56px;height:56px;border-radius:var(--radius-md);margin:0 auto 14px;background:linear-gradient(135deg,var(--violet-500),var(--violet-400));display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;color:#fff}.login-card h1{font-size:22px}.login-card h1 span{color:var(--violet-400)}.login-sub{color:var(--text-muted);font-size:13px;margin:6px 0 22px}.login-api{margin-top:18px;text-align:left}.login-api label{font-size:11px;color:var(--text-muted)}.field{text-align:left;margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:5px}.field-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:18px 0 10px;padding-top:12px;border-top:1px solid var(--border)}.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea{width:100%;background:var(--surface-700);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-high);font-family:var(--font-body);font-size:14px}.field textarea{resize:vertical}.field-checkbox label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-high);cursor:pointer}.field-checkbox input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.banner-aviso{background:#f0ad4e1f;border:1px solid rgba(240,173,78,.4);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:20px;font-size:13px;color:var(--text-high);line-height:1.5}.erro-msg{color:var(--coral-500);font-size:13px;min-height:16px;margin:0 0 8px}.btn{border:none;border-radius:var(--radius-sm);padding:10px 16px;font-weight:600;font-size:14px;cursor:pointer;font-family:var(--font-body)}.btn-primary{background:var(--violet-500);color:#fff}.btn-primary:hover{background:var(--violet-400)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text-high)}.btn-block{width:100%}.btn-sm{padding:6px 10px;font-size:12px}.btn-icon{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:15px;padding:4px 6px}.btn-icon:hover{color:var(--text-high)}.btn-icon.danger:hover{color:var(--coral-500)}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--ink-900);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 14px;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:700;font-size:16px;padding:0 8px 22px}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--violet-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;flex:1}.nav-item{text-align:left;background:transparent;border:none;color:var(--text-muted);padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.nav-item:hover{background:var(--surface-800);color:var(--text-high)}.nav-item.active{background:#6c4dff2e;color:var(--violet-400);font-weight:600}.sidebar-logout{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:10px;cursor:pointer;font-size:13px}.main{flex:1;padding:32px 40px;overflow-x:auto}.view-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:12px}.view-header p{color:var(--text-muted);font-size:13px;margin:4px 0 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.stat-card{background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px}.stat-card .stat-value{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--lime-400)}.stat-card .stat-label{font-size:12px;color:var(--text-muted);margin-top:4px}.table-wrap{background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}table{width:100%;border-collapse:collapse}thead th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:12px 16px;border-bottom:1px solid var(--border)}tbody td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--border)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--surface-700)}.col-actions{text-align:right;white-space:nowrap}.badge-pill{font-family:var(--font-mono);font-size:11px;padding:3px 9px;border-radius:999px}.badge-admin{background:#ffb0202e;color:var(--amber-500)}.badge-professor{background:#8b6fff2e;color:var(--violet-400)}.badge-responsavel{background:#3fc4ff2e;color:#3fc4ff}.badge-user{background:#a79fd626;color:var(--text-muted)}.badge-escola,.badge-ativo{background:#d4ff3f26;color:var(--lime-400)}.badge-bloqueado{background:#ff5c7a26;color:var(--coral-500)}.filtro-field{max-width:320px;display:flex;gap:8px;margin-bottom:16px}.empty-msg{padding:24px;text-align:center;color:var(--text-muted);font-size:14px}.col-codigo{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap}.filtro-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.filtro-bar .field{margin-bottom:0;flex:1 1 200px;min-width:160px;max-width:280px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px}.pagination-info{font-size:12px;color:var(--text-muted)}.pagination-controls{display:flex;align-items:center;gap:8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:40}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:90%;max-width:420px;max-height:85vh;overflow-y:auto;background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.modal-wide{max-width:560px}.modal h2{margin-bottom:16px;font-size:18px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.alt-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.alt-row input[type=radio]{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--violet-500);cursor:pointer}.alt-row input[type=text]{flex:1 1 auto;min-width:0}.alt-row .btn-icon{flex:0 0 auto}.mm-preview{display:block;max-width:100%;max-height:180px;border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:10px;object-fit:contain;background:var(--surface-700)}.mm-upload-status{display:block;margin-top:6px;font-size:12px;color:var(--text-muted)}.col-thumb{width:52px}.mm-avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.mm-avatar-opcao{font-size:22px;padding:8px 0;border-radius:var(--radius-sm);background:var(--surface-700);border:1px solid var(--border);cursor:pointer}.mm-avatar-opcao:hover{border-color:var(--violet-400)}.mm-avatar-opcao.selecionado{border-color:var(--violet-500);background:#6c4dff2e}.mm-avatar-opcao:disabled{opacity:.6;cursor:not-allowed}.mm-thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);display:block}.toast,.mm-toast{position:fixed;bottom:24px;right:24px;background:var(--surface-800);border:1px solid var(--lime-400);color:var(--lime-400);padding:12px 18px;border-radius:var(--radius-sm);font-size:13px;z-index:60}.attempt-data{color:var(--text-muted);font-size:12px;margin:-8px 0 16px}.attempt-questions{display:flex;flex-direction:column;gap:14px;max-height:55vh;overflow-y:auto}.attempt-question{background:var(--surface-700);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px}.attempt-question-num{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--violet-400);background:#6c4dff26;padding:3px 9px;border-radius:999px;margin-bottom:8px}.attempt-enunciado{margin:0 0 10px;font-size:14px;color:var(--text-high);line-height:1.4}.attempt-alts{display:flex;flex-direction:column;gap:6px}.attempt-alt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-800);border:1px solid var(--border);font-size:13px;color:var(--text-muted)}.attempt-alt.attempt-alt-correta{border-color:var(--lime-400);color:var(--text-high)}.attempt-alt.attempt-alt-errada{border-color:var(--coral-500);color:var(--text-high)}.attempt-icon-ok{color:var(--lime-400);font-weight:700}.attempt-icon-erro{color:var(--coral-500);font-weight:700}.attempt-explicacao{margin:10px 0 0;padding:10px;background:var(--surface-800);border-radius:var(--radius-sm);font-size:13px;color:var(--text-muted);line-height:1.4}.turma-grid{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:20px;align-items:start}@media (max-width: 900px){.turma-grid{grid-template-columns:1fr}}.turma-list{display:flex;flex-direction:column;gap:10px}.turma-card{background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;cursor:pointer;text-align:left}.turma-card:hover{border-color:var(--violet-400)}.turma-card.selecionada{border-color:var(--violet-500);background:var(--surface-700)}.turma-card h3{margin:0 0 4px;font-size:15px}.turma-card .turma-meta{font-size:12px;color:var(--text-muted)}.turma-codigo{font-family:var(--font-mono);font-size:18px;letter-spacing:.12em;font-weight:700;color:var(--lime-400);background:#d4ff3f1a;border-radius:var(--radius-sm);padding:8px 12px;display:inline-block}.turma-detalhe{background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px}.turma-detalhe-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px}.turma-atribuir{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.turma-resultado{font-size:13px;color:var(--lime-400);margin-top:8px}.relatorio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.relatorio-item{background:var(--surface-700);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;text-align:center}.relatorio-item strong{display:block;font-size:20px;color:var(--text-high);font-family:var(--font-mono)}.relatorio-item span{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.mm-hint{font-size:12px;color:var(--text-muted);background:var(--surface-700);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:0 0 16px}.attempt-discursiva{background:var(--surface-700);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;margin:8px 0}.attempt-resposta-texto{margin:0 0 6px;white-space:pre-wrap}.attempt-correcao-pendente{font-size:12px;color:var(--amber-500);margin:0}.attempt-correcao-ok{font-size:12px;color:var(--lime-400);margin:0}.attempt-correcao-erro{font-size:12px;color:var(--coral-500);margin:0}.correcao-list{display:flex;flex-direction:column;gap:16px}.correcao-card{background:var(--surface-800);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.correcao-card-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:8px}.correcao-card-header h3{margin:0;font-size:15px}.correcao-card-meta{font-size:12px;color:var(--text-muted)}.correcao-pergunta{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.correcao-pergunta-enunciado{font-weight:600;margin:0 0 6px}.correcao-pergunta-resposta{background:var(--surface-700);border-radius:var(--radius-sm);padding:10px 12px;white-space:pre-wrap;margin:0 0 8px}.correcao-pergunta-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.correcao-feedback-geral{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}
