/* AtivHub — CSS Global | Arial 14/16/22px | Dark/Light Theme */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* TEMA ESCURO (padrão) */
:root,[data-theme="dark"]{
  --bg:#0F1117;--bg2:#1A1D27;--bg3:#22263A;--bg4:#2A2F45;
  --border:rgba(255,255,255,.08);--border2:rgba(255,255,255,.15);
  --accent:#3B82F6;--accent-h:#2563EB;--accent-l:rgba(59,130,246,.14);
  --text:#F1F5F9;--text2:#94A3B8;--text3:#64748B;
  --success:#22C55E;--sbg:rgba(34,197,94,.12);
  --danger:#F87171;--dbg:rgba(248,113,113,.12);
  --warn:#FBBF24;--wbg:rgba(251,191,36,.12);
  --info:#60A5FA;--ibg:rgba(96,165,250,.12);
  --purple:#A78BFA;--pbg:rgba(167,139,250,.12);
  --sw:240px;--r:8px;--rl:12px;
  --toggle-bg:#22263A;--toggle-icon:"☀";
}

/* TEMA CLARO */
[data-theme="light"]{
  --bg:#F1F5F9;--bg2:#FFFFFF;--bg3:#F8FAFC;--bg4:#EFF3F8;
  --border:rgba(0,0,0,.09);--border2:rgba(0,0,0,.15);
  --accent:#2563EB;--accent-h:#1D4ED8;--accent-l:rgba(37,99,235,.1);
  --text:#0F172A;--text2:#334155;--text3:#64748B;
  --success:#166534;--sbg:rgba(22,101,52,.1);
  --danger:#991B1B;--dbg:rgba(153,27,27,.1);
  --warn:#92400E;--wbg:rgba(146,64,14,.1);
  --info:#1E40AF;--ibg:rgba(30,64,175,.1);
  --purple:#5B21B6;--pbg:rgba(91,33,182,.1);
  --toggle-bg:#EFF3F8;--toggle-icon:"🌙";
}

body{font-family:Arial,sans-serif;font-size:14px;line-height:1.6;background:var(--bg);color:var(--text);display:flex;min-height:100vh;transition:background .2s,color .2s}

/* TOGGLE TEMA */
.theme-toggle{width:36px;height:36px;border-radius:50%;border:1px solid var(--border2);background:var(--toggle-bg);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s;flex-shrink:0}
.theme-toggle:hover{border-color:var(--accent)}

/* SIDEBAR */
.sidebar{width:var(--sw);min-width:var(--sw);background:var(--bg2);border-right:1px solid var(--border);position:fixed;top:0;left:0;height:100vh;display:flex;flex-direction:column;z-index:100;transition:background .2s}
.sidebar-brand{padding:22px 20px;border-bottom:1px solid var(--border)}
.brand-name{font-size:20px;font-weight:700;color:var(--accent)}
.brand-escola{font-size:12px;color:var(--text3);margin-top:4px}
.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto}
.nav-section-label{font-size:11px;font-weight:700;color:var(--text3);padding:14px 20px 5px;letter-spacing:.07em;text-transform:uppercase}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:2px 8px;border-radius:var(--r);font-size:14px;color:var(--text2);text-decoration:none;transition:background .12s,color .12s}
.nav-item:hover{background:var(--bg3);color:var(--text)}
.nav-item.active{background:var(--accent-l);color:var(--accent);font-weight:700}
.nav-icon{width:16px;height:16px;opacity:.7;flex-shrink:0}
.nav-item.active .nav-icon{opacity:1}
.nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}
.sidebar-user{padding:16px 20px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}
.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-l);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--accent);flex-shrink:0}
.user-name{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-role{font-size:12px;color:var(--text3);text-transform:capitalize}
.btn-logout{color:var(--text3);text-decoration:none;margin-left:auto;flex-shrink:0}
.btn-logout:hover{color:var(--danger)}

/* MAIN */
.main{margin-left:var(--sw);flex:1;display:flex;flex-direction:column;min-height:100vh}
.page-header{background:var(--bg2);border-bottom:1px solid var(--border);padding:24px 32px 0;transition:background .2s}
.page-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}
.page-title{font-size:22px;font-weight:700;color:var(--text)}
.page-subtitle{font-size:14px;color:var(--text2);margin-top:4px}
.tabs{display:flex;gap:0;margin-bottom:-1px}
.tab{padding:10px 22px;font-size:14px;font-weight:700;color:var(--text3);text-decoration:none;border-bottom:2px solid transparent;transition:color .12s,border-color .12s;white-space:nowrap}
.tab:hover{color:var(--text2)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.sub-tabs{display:flex;gap:6px;margin-bottom:22px}
.sub-tab{padding:7px 16px;border-radius:20px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid var(--border2);color:var(--text3);background:transparent;transition:all .12s}
.sub-tab:hover{border-color:var(--accent);color:var(--accent)}.sub-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.page-content{flex:1;padding:26px 32px}

/* MÉTRICAS */
.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px}
.metric-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:16px 18px;transition:background .2s}
.metric-label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
.metric-value{font-size:28px;font-weight:700;color:var(--text);line-height:1}
.metric-desc{font-size:12px;color:var(--text3);margin-top:4px}

/* CARD */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden;margin-bottom:18px;transition:background .2s}
.card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}
.card-title{font-size:16px;font-weight:700;color:var(--text)}
.card-subtitle{font-size:12px;color:var(--text3);margin-top:2px}
.card-body{padding:20px}

/* TABELA */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
thead th{text-align:left;padding:11px 18px;font-size:12px;font-weight:700;color:var(--text3);background:rgba(128,128,128,.05);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
tbody td{padding:13px 18px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:rgba(128,128,128,.04)}
.td-nome{font-size:15px;font-weight:700;color:var(--text)}
.td-sub{font-size:12px;color:var(--text3);margin-top:2px}
.desativado{opacity:.4}

/* FORM */
.form-max{max-width:560px}
.form-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:20px}
.form-divider{height:1px;background:var(--border);margin:16px 0}
.form-section-label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.field{margin-bottom:14px}
.field label{display:block;font-size:14px;font-weight:700;color:var(--text2);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:0 14px;font-family:Arial,sans-serif;font-size:14px;color:var(--text);outline:none;transition:border-color .15s,background .2s}
.field input,.field select{height:44px}
.field textarea{height:100px;padding:10px 14px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--text3)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.field select option{background:var(--bg2)}
.field input:disabled,.field select:disabled{opacity:.4;cursor:not-allowed}
.field-hint{font-size:12px;color:var(--text3);margin-top:4px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.slug-preview{font-size:12px;color:var(--accent);font-weight:700;margin-top:4px}

/* BOTÕES */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r);font-family:Arial,sans-serif;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid var(--border2);background:transparent;color:var(--text2);transition:background .12s,color .12s;white-space:nowrap}
.btn:hover{background:var(--bg3);color:var(--text)}.btn:active{transform:scale(.98)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-h)}
.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 24px;font-size:15px;border-radius:9px}
.btn-danger{color:var(--danger);border-color:rgba(248,113,113,.25)}.btn-danger:hover{background:var(--dbg)}
.btn-warn{color:var(--warn);border-color:rgba(251,191,36,.25)}.btn-warn:hover{background:var(--wbg)}
.btn-info{color:var(--accent);border-color:rgba(59,130,246,.25)}.btn-info:hover{background:var(--accent-l)}
.btn-success{color:var(--success);border-color:rgba(34,197,94,.25)}.btn-success:hover{background:var(--sbg)}
.btn-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}

/* BADGES */
.badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:700}
.badge-success{background:var(--sbg);color:var(--success)}
.badge-danger{background:var(--dbg);color:var(--danger)}
.badge-warn{background:var(--wbg);color:var(--warn)}
.badge-info{background:var(--ibg);color:var(--info)}
.badge-gray{background:var(--bg3);color:var(--text3)}
.badge-accent{background:var(--accent-l);color:var(--accent)}
.badge-purple{background:var(--pbg);color:var(--purple)}
.badge-diretor{background:var(--dbg);color:var(--danger)}
.badge-coordenador{background:var(--wbg);color:var(--warn)}
.badge-professor{background:var(--sbg);color:var(--success)}
.badge-aluno{background:var(--ibg);color:var(--info)}

/* BUSCA / FILTROS */
.search-bar{display:flex;gap:10px;margin-bottom:20px}
.search-bar input{flex:1;height:44px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:0 14px;font-family:Arial,sans-serif;font-size:14px;color:var(--text);outline:none}
.search-bar input::placeholder{color:var(--text3)}
.search-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.filtros{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap;align-items:center}
.filtros input,.filtros select{height:42px;background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:0 12px;font-family:Arial,sans-serif;font-size:14px;color:var(--text);outline:none}
.filtros input{flex:1;min-width:200px}.filtros select{min-width:200px}
.filtros input:focus,.filtros select:focus{border-color:var(--accent)}
.filtros select option{background:var(--bg2)}

/* FLASH */
.flash{padding:12px 18px;border-radius:var(--r);font-size:14px;margin-bottom:20px}
.flash-success{background:var(--sbg);color:var(--success);border:1px solid rgba(34,197,94,.2)}
.flash-error{background:var(--dbg);color:var(--danger);border:1px solid rgba(248,113,113,.2)}
.flash-warning{background:var(--wbg);color:var(--warn);border:1px solid rgba(251,191,36,.2)}

/* UTILITÁRIOS */
.progress-bar{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden;margin-top:5px}
.progress-fill{height:100%;background:var(--accent);border-radius:2px}
.empty-state{padding:48px 32px;text-align:center;color:var(--text3);font-size:14px}
.atalhos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:24px}
.atalho{display:block;background:var(--bg2);border:1px solid var(--border);border-radius:var(--rl);padding:20px;text-decoration:none;color:var(--text);transition:background .12s,border-color .12s}
.atalho:hover{background:var(--bg3);border-color:var(--border2)}
.atalho-icon{width:40px;height:40px;border-radius:10px;background:var(--accent-l);display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.atalho-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:3px}
.atalho-desc{font-size:13px;color:var(--text3)}
.alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--rl);margin-bottom:20px}
.alert-warn{background:rgba(251,191,36,.1);border:1px solid rgba(251,191,36,.25)}
.alert-title{font-size:14px;font-weight:700;color:var(--warn)}
.alert-desc{font-size:12px;color:var(--text3);margin-top:2px}
.divider{height:1px;background:var(--border);margin:18px 0}
.text-muted{color:var(--text3)}.text-accent{color:var(--accent)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.fw-700{font-weight:700}

/* COMENTÁRIOS */
.comentario{display:flex;gap:12px;margin-bottom:16px}
.com-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.com-av-aluno{background:var(--accent-l);color:var(--accent)}
.com-av-prof{background:var(--sbg);color:var(--success)}
.com-body{flex:1;min-width:0}
.com-header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}
.com-autor{font-size:13px;font-weight:700;color:var(--text)}
.com-role{font-size:11px;color:var(--text3)}
.com-hora{font-size:11px;color:var(--text3);margin-left:auto}
.com-texto{font-size:14px;color:var(--text2);line-height:1.6;background:var(--bg3);padding:10px 14px;border-radius:0 var(--r) var(--r) var(--r);border:1px solid var(--border)}
.com-prof .com-texto{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.15)}

/* TOGGLE SWITCH */
.toggle-wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg3);border-radius:var(--r);margin-bottom:16px}
.toggle-track{position:relative;width:40px;height:22px;border-radius:11px;background:var(--border2);transition:background .2s;cursor:pointer;flex-shrink:0;border:none}
.toggle-track.on{background:var(--accent)}
.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.toggle-track.on .toggle-thumb{transform:translateX(18px)}

/* ── CORREÇÕES TEMA CLARO ─────────────────────────────────── */
[data-theme="light"] .btn { background: #fff; color: var(--text2); border-color: var(--border2); }
[data-theme="light"] .btn:hover { background: var(--bg4); color: var(--text); }
[data-theme="light"] .btn-primary { background: var(--accent); color: #fff; }
[data-theme="light"] .btn-primary:hover { background: var(--accent-h); color: #fff; }
[data-theme="light"] .btn-danger { color: var(--danger); background: #fff; }
[data-theme="light"] .btn-danger:hover { background: var(--dbg); }
[data-theme="light"] .btn-warn { color: var(--warn); background: #fff; }
[data-theme="light"] .btn-warn:hover { background: var(--wbg); }
[data-theme="light"] .btn-info { color: var(--accent); background: #fff; }
[data-theme="light"] .btn-info:hover { background: var(--accent-l); }
[data-theme="light"] .card { background: #fff; }
[data-theme="light"] .sidebar { background: #fff; }
[data-theme="light"] .page-header { background: #fff; }
[data-theme="light"] .metric-card { background: #fff; }
[data-theme="light"] .sub-tab { background: #fff; color: var(--text3); }
[data-theme="light"] .sub-tab:hover { color: var(--accent); border-color: var(--accent); }
[data-theme="light"] thead th { background: var(--bg3); }
[data-theme="light"] .toggle-track { background: #CBD5E1; }
[data-theme="light"] .toggle-track.on { background: var(--accent); }
[data-theme="light"] .field input,
[data-theme="light"] .field select,
[data-theme="light"] .field textarea { background: #fff; }
[data-theme="light"] .search-bar input,
[data-theme="light"] .filtros input,
[data-theme="light"] .filtros select { background: #fff; }