/* STUDY_ENTERPRISE_REDESIGN_UI_V1 */

:root{
  --se-bg:#081225;
  --se-bg2:#0F172A;
  --se-card:#13203A;
  --se-card-hover:#1A2A4A;
  --se-border:#22304D;
  --se-primary:#6B1D2B;
  --se-primary-hover:#8F2D3F;
  --se-cta:#F59E0B;
  --se-cta-hover:#FACC15;
  --se-success:#22C55E;
  --se-error:#EF4444;
  --se-info:#94A3B8;
  --se-text:#FFFFFF;
  --se-muted:#CBD5E1;
  --se-gradient:linear-gradient(135deg,#081225 0%,#0F172A 50%,#13203A 100%);
}

html,
body{
  background:var(--se-gradient) !important;
  color:var(--se-text) !important;
  font-family:Inter,Poppins,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}

body{
  min-height:100vh !important;
}

body *{
  box-sizing:border-box !important;
}

main,
.main,
.content,
.container,
.wrap,
.app,
.layout{
  color:var(--se-text) !important;
}

/* Layout geral */
.layout,
.app{
  background:transparent !important;
}

main,
.main,
.content{
  max-width:1440px !important;
}

/* Menu lateral */
aside,
.sidebar,
.side,
.menu,
nav.sidebar{
  background:#081225 !important;
  border-color:#22304D !important;
}

aside,
.sidebar{
  width:260px;
}

nav,
.nav,
.side-nav{
  gap:8px !important;
}

nav a,
.nav a,
.side-nav a,
.sidebar a,
.menu a{
  color:var(--se-muted) !important;
  background:transparent !important;
  border:1px solid transparent !important;
  border-radius:10px !important;
  padding:11px 12px !important;
  font-weight:600 !important;
  transition:all .25s ease !important;
}

nav a:hover,
.nav a:hover,
.side-nav a:hover,
.sidebar a:hover,
.menu a:hover{
  background:rgba(107,29,43,.20) !important;
  color:#fff !important;
}

nav a.active,
.nav a.active,
.side-nav a.active,
.sidebar a.active,
.menu a.active,
[aria-current="page"]{
  background:#6B1D2B !important;
  color:#fff !important;
}

/* Hero / headers */
header,
.header,
.hero,
.hero-card,
.study-force-hero,
.topbar,
.page-header,
section:first-of-type{
  background:var(--se-gradient) !important;
  border:1px solid var(--se-border) !important;
  border-radius:12px !important;
  color:#fff !important;
  box-shadow:0 8px 32px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.03) !important;
}

/* Cards e painéis */
.card,
.panel,
.box,
.module,
.group,
.section,
.stat,
.kpi,
.next-card,
.quick,
.guide,
article,
section,
[data-card],
[class*="card"],
[class*="panel"],
[class*="box"]{
  background:#13203A !important;
  border:1px solid #22304D !important;
  border-radius:12px !important;
  color:#fff !important;
  box-shadow:0 8px 32px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.03) !important;
}

.card:hover,
.panel:hover,
.box:hover,
.module:hover,
.group:hover,
.section:hover,
article:hover,
section:hover,
[data-card]:hover{
  background:#1A2A4A !important;
  border-color:#F59E0B !important;
  transform:translateY(-2px);
  transition:all .25s ease;
}

/* Tipografia */
h1{
  font-size:32px !important;
  font-weight:700 !important;
  color:#fff !important;
  letter-spacing:-.035em !important;
}

h2{
  font-size:24px !important;
  font-weight:700 !important;
  color:#fff !important;
  letter-spacing:-.025em !important;
}

h3{
  font-size:20px !important;
  font-weight:600 !important;
  color:#fff !important;
}

h4{
  font-size:18px !important;
  font-weight:600 !important;
  color:#fff !important;
}

p,
li,
td,
label,
span,
small,
.muted,
.description,
.subtitle{
  color:#CBD5E1 !important;
}

strong,
b{
  color:#fff !important;
}

/* Botões */
button,
.btn,
.button,
.action,
a.btn,
a.button,
a.action,
input[type="button"],
input[type="submit"]{
  background:#6B1D2B !important;
  color:#fff !important;
  border:1px solid transparent !important;
  border-radius:8px !important;
  font-weight:700 !important;
  transition:all .25s ease !important;
}

button:hover,
.btn:hover,
.button:hover,
.action:hover,
a.btn:hover,
a.button:hover,
a.action:hover,
input[type="button"]:hover,
input[type="submit"]:hover{
  background:#8F2D3F !important;
  color:#fff !important;
}

/* CTA apenas pontual */
.cta,
.btn-cta,
.button-cta,
[data-variant="cta"],
a[href*="treino"],
a[href*="questoes"].primary,
button[data-action="primary"]{
  background:#F59E0B !important;
  color:#fff !important;
}

.cta:hover,
.btn-cta:hover,
.button-cta:hover,
[data-variant="cta"]:hover{
  background:#FACC15 !important;
  color:#081225 !important;
}

/* Secundário */
.secondary,
.btn.secondary,
.button.secondary,
a.secondary{
  background:transparent !important;
  border:1px solid #22304D !important;
  color:#CBD5E1 !important;
}

/* Laranja antigo não pode virar faixa dominante */
[style*="#ff812f"],
[style*="#ff8b3d"],
[style*="orange"],
[style*="rgb(255, 128"],
[style*="rgb(255,128"],
[style*="background:#ff"],
[style*="background: #ff"],
[style*="background-color:#ff"],
[style*="background-color: #ff"]{
  background:#13203A !important;
  background-color:#13203A !important;
  color:#fff !important;
  border-color:#22304D !important;
}

/* Badges */
.badge,
.tag,
.pill,
.status-badge,
[class*="badge"],
[class*="tag"],
[class*="pill"]{
  background:rgba(148,163,184,.15) !important;
  color:#94A3B8 !important;
  border:1px solid rgba(148,163,184,.20) !important;
  border-radius:999px !important;
}

.success,
.ok,
.acerto,
.correct,
[data-status="success"],
[data-status="ok"]{
  background:rgba(34,197,94,.15) !important;
  color:#22C55E !important;
}

.processing,
.processando,
.pending,
.pendente,
[data-status="processing"],
[data-status="pending"]{
  background:rgba(245,158,11,.15) !important;
  color:#F59E0B !important;
}

.error,
.erro,
.danger,
.incorrect,
[data-status="error"]{
  background:rgba(239,68,68,.15) !important;
  color:#EF4444 !important;
}

/* Tabelas */
table{
  width:100% !important;
  border-collapse:collapse !important;
  background:#13203A !important;
  color:#fff !important;
}

thead,
th{
  background:#0F172A !important;
  color:#fff !important;
}

td,
th{
  border-bottom:1px solid #22304D !important;
  padding:12px !important;
}

tr:hover{
  background:rgba(245,158,11,.05) !important;
}

/* Formulários */
input,
select,
textarea{
  background:#0F172A !important;
  border:1px solid #22304D !important;
  color:#fff !important;
  border-radius:8px !important;
}

input:focus,
select:focus,
textarea:focus,
button:focus,
a:focus{
  outline:none !important;
  border-color:#F59E0B !important;
  box-shadow:0 0 0 2px rgba(245,158,11,.25) !important;
}

/* Progresso */
.progress,
.progress-bar,
[class*="progress"]{
  background:#22304D !important;
  border-radius:999px !important;
  overflow:hidden !important;
}

.progress > div,
.progress-bar > div,
[class*="progress"] > div{
  background:linear-gradient(90deg,#F59E0B,#FACC15) !important;
}

/* Modais */
dialog,
.modal,
.popup,
.drawer,
[role="dialog"]{
  background:#13203A !important;
  border:1px solid #22304D !important;
  border-radius:12px !important;
  color:#fff !important;
  box-shadow:0 20px 80px rgba(0,0,0,.45) !important;
}

/* Linhas/listas */
.data-row,
.list-row,
.item-row,
.row-card,
tr{
  border-color:#22304D !important;
}

/* Classe aplicada pelo JS */
.study-enterprise-dashboard-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
}

.study-enterprise-section{
  margin-bottom:24px !important;
}

.study-enterprise-main{
  padding:32px !important;
}

.study-enterprise-compact-card{
  padding:24px !important;
  min-height:120px !important;
}

/* Responsivo */
@media(max-width:1080px){
  .layout,
  .app{
    grid-template-columns:1fr !important;
  }

  aside,
  .sidebar{
    width:100% !important;
    border-right:0 !important;
    border-bottom:1px solid #22304D !important;
  }

  nav,
  .nav,
  .side-nav,
  .study-enterprise-dashboard-grid,
  .grid,
  .cards,
  .modules{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  main,
  .main,
  .content{
    padding:20px !important;
  }
}

@media(max-width:560px){
  nav,
  .nav,
  .side-nav,
  .study-enterprise-dashboard-grid,
  .grid,
  .cards,
  .modules,
  .status-grid{
    grid-template-columns:1fr !important;
  }

  h1{font-size:28px !important}
  h2{font-size:24px !important}
  h3{font-size:20px !important}

  main,
  .main,
  .content{
    padding:16px !important;
  }
}
