:root{
  --bg-0:#070b10;
  --bg-1:#0c131b;
  --bg-2:#101b25;
  --line:#1c2b35;
  --green:#22e08a;
  --green-dim:#13a868;
  --green-glow: rgba(34,224,138,0.18);
  --text-0:#eef3f4;
  --text-1:#9fb3bd;
  --text-2:#5d7480;
  --amber:#f5a623;
  --red:#ef5b5b;
  --blue:#4d9fff;
  --radius:18px;
  --serif: 'Fraunces', Georgia, serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', 'Courier New', monospace;
}

@font-face{
  font-family:'Fraunces';
  src: local('Georgia');
}

*{box-sizing:border-box; margin:0; padding:0;}
html,body{
  background: radial-gradient(120% 140% at 20% -10%, #0e1c1f 0%, var(--bg-0) 45%, #050708 100%);
  color: var(--text-0);
  font-family: var(--sans);
  min-height:100vh;
  -webkit-font-smoothing: antialiased;
}
body{padding-bottom: 90px;}

a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}

::selection{background: var(--green-glow);}

/* Scrollbar */
::-webkit-scrollbar{width:8px; height:8px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#1c2b35; border-radius:8px;}

/* ===== Layout shells ===== */
.app{max-width: 880px; margin:0 auto; padding: 22px 18px 0;}
.hidden{display:none !important;}

/* ===== Top Brand Bar ===== */
.brandbar{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 18px; gap:12px;
}
.brand-left{display:flex; align-items:center; gap:12px; min-width:0;}
.brand-mark{
  width:68px; height:68px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden; flex-shrink:0;
  box-shadow: 0 0 0 1px rgba(34,224,138,0.25), 0 6px 18px -6px var(--green-glow);
}
.brand-mark img{width:100%; height:100%; object-fit:cover; display:block;}
.brand-name{font-size:14.5px; color:var(--text-1); letter-spacing:0.4px; line-height:1.4; min-width:0;}
.brand-name .linha1{display:block;}
.brand-name b{color:var(--text-0); display:block; font-size:18px;}

.role-switch{
  display:flex; flex-direction:column; gap:4px; background:var(--bg-1); border:1px solid var(--line);
  border-radius:16px; padding:4px; flex-shrink:0; align-items:stretch;
}
.role-switch button{
  border:none; background:transparent; color:var(--text-1);
  font-size:12px; font-weight:600; padding:7px 16px; border-radius:12px;
  transition: all .2s ease; white-space:nowrap;
}
.role-switch button.active{
  background: var(--green); color:#04130b;
}
.role-indicador{
  font-size:11.5px; font-weight:700; color:var(--green); padding:6px 14px 2px; white-space:nowrap; text-align:center;
}
.role-switch #btnLogout{
  background:rgba(239,91,91,0.12); color:var(--red); font-size:11px;
}
.role-switch #btnLogout:hover{background:rgba(239,91,91,0.2);}

.btn-ver-como-corretor-topo{
  margin-top:2px; background:rgba(168,123,255,0.12); border:1px solid rgba(168,123,255,0.35);
  color:#a87bff; font-size:10.5px; padding:7px 14px;
}
.btn-ver-como-corretor-topo:hover{background:rgba(168,123,255,0.2);}

.faixa-modo-teste{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(90deg, #3d2a6b, #5b3fa0);
  color:#fff; font-size:12px; font-weight:700; text-align:center;
  padding:9px 14px; border-radius:12px; margin-bottom:14px;
  display:flex; align-items:center; justify-content:center; gap:10px; flex-wrap:wrap;
}
.faixa-modo-teste button{
  background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.3); color:#fff;
  font-size:11px; font-weight:700; padding:5px 12px; border-radius:8px; cursor:pointer;
}
.faixa-modo-teste button:hover{background:rgba(255,255,255,0.28);}

/* ===== Hero / Dashboard Header ===== */
.hero{
  position:relative;
  background: linear-gradient(155deg, #0d171f 0%, #0a1117 70%);
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px 18px 16px;
  overflow:hidden;
  margin-bottom:12px;
}
.hero::before{
  content:'';
  position:absolute; right:-60px; top:-60px; width:280px; height:280px;
  background: radial-gradient(circle, var(--green-glow) 0%, transparent 70%);
  pointer-events:none;
}
.hero-skyline{
  position:absolute; right:14px; top:14px; opacity:0.5; color:var(--green);
  filter: drop-shadow(0 0 10px rgba(34,224,138,0.35));
  pointer-events:none;
}
.hero-skyline svg{width:30px; height:30px;}
.hero-eyebrow{
  font-size:10px; letter-spacing:1.5px; text-transform:uppercase;
  color: var(--green); font-weight:700; margin-bottom:7px;
  display:flex; align-items:center; gap:6px;
}
.hero-eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--green); box-shadow:0 0 10px var(--green);}
.hero h1{
  font-family: var(--serif);
  font-size: 22px; line-height:1.12; font-weight:700;
  letter-spacing:-0.3px;
  max-width:560px;
  margin-bottom:4px;
}
.hero p.sub{color:var(--text-1); font-size:12px; max-width:480px; margin-bottom:14px;}

.progress-row{display:flex; align-items:center; gap:12px; margin-top:2px;}
.progress-track{
  flex:1; height:8px; border-radius:999px; background:#101a20;
  border:1px solid var(--line); overflow:hidden; position:relative;
}
.progress-fill{
  height:100%; border-radius:999px;
  background: linear-gradient(90deg, var(--green-dim), var(--green));
  width:0%; transition: width .5s ease;
  box-shadow: 0 0 14px var(--green-glow);
}
.progress-label{font-size:12px; color:var(--text-1); white-space:nowrap; font-weight:600;}
.progress-label b{color:var(--green); font-size:14px;}
.progress-geral-legenda{font-size:10px; color:var(--text-2); margin-top:6px;}


/* ===== Cards grid (Resumo do Treinamento) ===== */
.grid{display:grid; gap:8px; grid-template-columns: repeat(4, 1fr); margin-bottom:14px;}
.stat-card{
  border:1px solid var(--line); border-radius:12px;
  padding:11px 8px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  min-width:0; min-height:88px; text-align:center;
}
.stat-card.c-blue{border-color:rgba(77,159,255,0.28); background: linear-gradient(165deg, rgba(77,159,255,0.10) 0%, var(--bg-1) 65%);}
.stat-card.c-purple{border-color:rgba(168,123,255,0.28); background: linear-gradient(165deg, rgba(168,123,255,0.10) 0%, var(--bg-1) 65%);}
.stat-card.c-amber{border-color:rgba(245,166,35,0.28); background: linear-gradient(165deg, rgba(245,166,35,0.10) 0%, var(--bg-1) 65%);}
.stat-card.c-green{border-color:rgba(34,224,138,0.28); background: linear-gradient(165deg, rgba(34,224,138,0.10) 0%, var(--bg-1) 65%);}
.stat-card .icon{
  width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:18px; flex-shrink:0; margin:0 auto;
}
.stat-card.c-blue .icon{background:rgba(77,159,255,0.18); color:var(--blue);}
.stat-card.c-purple .icon{background:rgba(168,123,255,0.18); color:#a87bff;}
.stat-card.c-amber .icon{background:rgba(245,166,35,0.18); color:var(--amber);}
.stat-card.c-green .icon{background:rgba(34,224,138,0.18); color:var(--green);}
.stat-card .stat-body{display:flex; flex-direction:column; align-items:center; min-width:0; width:100%;}
.stat-card .val{font-size:17px; font-weight:800; font-family:var(--serif); letter-spacing:-0.3px; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.stat-card.c-blue .val{color:var(--text-0);}
.stat-card.c-purple .val{color:var(--text-0);}
.stat-card.c-amber .val{color:var(--text-0);}
.stat-card.c-green .val{color:var(--text-0);}
.stat-card .val small{font-size:10px; color:var(--text-1); font-weight:500; font-family:var(--sans);}
.stat-card .lbl{font-size:9.5px; margin-top:0; font-weight:700; text-transform:uppercase; letter-spacing:0.2px; white-space:normal; line-height:1.25; word-break:break-word; width:100%; text-align:center;}
.stat-card.c-blue .lbl{color:var(--blue);}
.stat-card.c-purple .lbl{color:#a87bff;}
.stat-card.c-amber .lbl{color:var(--amber);}
.stat-card.c-green .lbl{color:var(--green);}
.stat-card .lbl2{font-size:9.5px; color:var(--text-1); font-weight:500; white-space:normal; line-height:1.25; word-break:break-word; width:100%; text-align:center;}

/* ===== Corretor card (avatar + badge) ===== */
.corretor-card-row{
  display:flex; align-items:flex-start; gap:12px;
  background:#0a1117; border:1px solid var(--line); border-radius:14px; padding:12px 13px;
}
.avatar-ring{
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  border:2px solid rgba(34,224,138,0.45); background: var(--green-glow);
  display:flex; align-items:center; justify-content:center;
  color:var(--green);
}
.avatar-ring svg{width:20px; height:20px;}
.corretor-card-info{flex:1; min-width:0;}
.corretor-card-info .nm{font-size:13.5px; font-weight:800; margin-bottom:6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.corretor-card-info .meta-line{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:11px; color:var(--text-1); margin-bottom:4px;
}
.corretor-card-info .meta-line span{display:flex; align-items:center; gap:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%;}
.meta-line-email{margin-bottom:6px !important;}
.meta-line-email span{max-width:100% !important;}
.badge-ativo{
  background:rgba(34,224,138,0.14); color:var(--green); border:1px solid rgba(34,224,138,0.35);
  font-size:10px; font-weight:700; padding:5px 12px; border-radius:999px;
  white-space:nowrap; flex-shrink:0;
}
.corretor-dates{
  display:flex; align-items:center; gap:8px; padding-top:8px; border-top:1px solid var(--line);
  font-size:10.5px; color:var(--text-1); flex-wrap:wrap; width:100%; margin-top:4px;
}
.corretor-dates span{display:flex; align-items:center; gap:4px;}
.corretor-dates b{color:var(--text-0); font-weight:700;}
.corretor-dates .sep{color:var(--line); font-weight:300;}

.btn-continuar-estudando{
  width:100%; margin-top:10px; padding:10px 14px; border-radius:10px;
  background:rgba(34,224,138,0.1); border:1px solid rgba(34,224,138,0.3); color:var(--green);
  font-size:12px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:7px;
  transition: background .15s ease;
}
.btn-continuar-estudando:hover{background:rgba(34,224,138,0.18);}
.btn-continuar-estudando svg{width:15px; height:15px;}

@media (max-width:420px){
  .corretor-card-info .meta-line{gap:8px; font-size:10px;}
  .corretor-card-info .meta-line span{max-width:140px;}
}

/* ===== Anel de progresso circular (SVG) ===== */
.ring-wrap{position:relative; width:64px; height:64px; flex-shrink:0;}
.ring-wrap svg{transform: rotate(-90deg);}
.ring-bg{fill:none; stroke:#101a20; stroke-width:7;}
.ring-fill{fill:none; stroke:var(--green); stroke-width:7; stroke-linecap:round; transition: stroke-dashoffset .6s ease;}
.ring-label{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:15px; font-weight:800; font-family:var(--serif); color:var(--text-0);
}
.ring-wrap.sm{width:42px; height:42px;}
.ring-wrap.sm .ring-bg, .ring-wrap.sm .ring-fill{stroke-width:5;}
.ring-wrap.sm .ring-label{font-size:10.5px;}
.ring-wrap.meta{width:58px; height:58px;}
.ring-wrap.meta .ring-bg, .ring-wrap.meta .ring-fill{stroke-width:6;}
.ring-wrap.meta .ring-label{font-size:12px; white-space:nowrap;}

/* ===== Meta card ===== */
.meta-card-row{
  display:flex; align-items:center; gap:10px; justify-content:space-between;
  background:#0a1117; border:1px solid var(--line); border-radius:12px; padding:10px 11px;
}
.meta-card-icon{
  width:30px; height:30px; border-radius:9px; flex-shrink:0;
  background:rgba(34,224,138,0.1); border:1px solid rgba(34,224,138,0.25);
  display:flex; align-items:center; justify-content:center; font-size:14px;
}
.meta-card-text{flex:1; min-width:0;}
.meta-card-text .t{font-size:11.5px; font-weight:800; color:var(--green); margin-bottom:2px;}
.meta-card-text .d{font-size:10px; color:var(--text-1); line-height:1.35;}
.meta-card-ring{display:flex; flex-direction:column; align-items:center; gap:3px; flex-shrink:0;}
.meta-card-ring .tag{font-size:9px; font-weight:700; color:var(--green);}

/* ===== Status card (reaproveitado pelo Próximos Passos) ===== */
.status-card-row{
  display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap;
  background:#0a1117; border:1px solid var(--line); border-radius:14px; padding:13px 14px;
}
.status-card-row .status-card-text{flex:1; min-width:140px;}
.status-card-left{display:flex; align-items:center; gap:10px; flex:1; min-width:160px;}
.status-check{
  width:34px; height:34px; border-radius:10px; flex-shrink:0;
  background: rgba(34,224,138,0.14); border:1px solid rgba(34,224,138,0.4);
  display:flex; align-items:center; justify-content:center; font-size:15px; color:var(--green);
}
.status-check.amber{background:rgba(245,166,35,0.14); border-color:rgba(245,166,35,0.4); color:var(--amber);}
.status-check.red{background:rgba(239,91,91,0.14); border-color:rgba(239,91,91,0.4); color:var(--red);}
.status-card-text .t{font-size:12.5px; font-weight:800; margin-bottom:2px;}
.status-card-text .t.amber{color:var(--amber);}
.status-card-text .t.green{color:var(--green);}
.status-card-text .t.red{color:var(--red);}
.status-card-text .d{font-size:11px; color:var(--text-1); line-height:1.4; max-width:320px;}

/* ===== Próximos Passos (checklist de módulos pendentes) ===== */
.passos-status-row{
  display:flex; align-items:center; gap:10px;
  background:#0a1117; border:1px solid var(--line); border-radius:12px; padding:11px 12px;
}
.passos-aviso-revisao{
  font-size:11px; color:var(--red); background:rgba(239,91,91,0.08); border:1px solid rgba(239,91,91,0.25);
  border-radius:10px; padding:9px 11px; margin-bottom:8px; line-height:1.4;
}
.passos-lista{display:flex; flex-direction:column; gap:7px;}
.passo-item{
  display:flex; align-items:center; gap:10px;
  background:#0a1117; border:1px solid var(--line); border-radius:11px; padding:10px 12px;
  cursor:pointer; transition: border-color .15s ease;
}
.passo-item:hover{border-color:#2a3f4a;}
.passo-item .ic{font-size:15px; flex-shrink:0;}
.passo-item .txt{flex:1; font-size:12px; font-weight:700; color:var(--text-0); min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.passo-item .qtd{font-size:11px; color:var(--amber); font-weight:700; flex-shrink:0;}
.passo-item .chev{color:var(--text-2); font-size:16px; flex-shrink:0;}
.passos-mais{font-size:10.5px; color:var(--text-2); text-align:center; margin-top:7px;}

/* ===== Section panels ===== */
.panel{
  background: var(--bg-1); border:1px solid var(--line); border-radius: 14px;
  padding:14px 14px; margin-bottom:12px;
}
.panel-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;}
.panel-title{display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--text-0);}
.panel-title .ic{font-size:14px;}
.panel-title small{color:var(--text-2); font-weight:500; font-size:10.5px;}

/* ===== Cadastro form ===== */
.form-grid{display:grid; grid-template-columns: 1fr 1fr; gap:14px;}
@media (max-width:600px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex; flex-direction:column; gap:6px;}
.field.full{grid-column: 1 / -1;}
.field label{font-size:12px; color:var(--text-1); font-weight:600;}
.field input{
  background:#0a1117; border:1px solid var(--line); border-radius:10px;
  padding:11px 13px; color:var(--text-0); font-size:14px; font-family:inherit;
  transition: border-color .15s ease;
}
.field input:focus{outline:none; border-color: var(--green); box-shadow:0 0 0 3px var(--green-glow);}
.field input::placeholder{color:var(--text-2);}

/* ===== Seletor de empreendimento (cadastro) ===== */
.emp-select-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.emp-card{
  background:#0a1117; border:1.5px solid var(--line); border-radius:12px; padding:10px 6px;
  text-align:center; cursor:pointer; transition: all .15s ease; min-width:0;
}
.emp-card:hover{border-color:#2a3f4a;}
.emp-card.selected{border-color:var(--green); background:rgba(34,224,138,0.06); box-shadow:0 0 0 2px var(--green-glow);}
.emp-card-ic{margin-bottom:5px; display:flex; justify-content:center;}
.emp-card-ic svg{width:22px; height:22px; color:var(--text-0);}
.emp-card.selected .emp-card-ic svg{color:var(--green);}
.emp-card-nome{font-size:11px; font-weight:800; margin-bottom:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.emp-card-meta{font-size:8.5px; color:var(--text-2); line-height:1.3;}
.emp-card-progresso{
  height:4px; border-radius:999px; background:#101a20; overflow:hidden; margin-top:7px;
}
.emp-card-progresso-fill{
  height:100%; border-radius:999px; background: linear-gradient(90deg, var(--green-dim), var(--green));
  width:0%; transition: width .4s ease;
}
.emp-card-progresso-pct{font-size:8.5px; color:var(--green); font-weight:700; margin-top:3px;}
.emp-card.selected .emp-card-nome{color:var(--green);}

/* ===== Empreendimento atual + troca (dashboard) ===== */
.btn-link-trocar{
  background:transparent; border:1px solid var(--line); color:var(--green);
  font-size:11px; font-weight:700; padding:5px 12px; border-radius:999px; cursor:pointer;
}
.btn-link-trocar:hover{border-color:var(--green);}
.emp-atual-row{
  display:flex; align-items:center; gap:10px;
  background:#0a1117; border:1px solid var(--line); border-radius:12px; padding:10px 12px;
}
.emp-atual-ic{
  width:34px; height:34px; border-radius:9px; flex-shrink:0;
  background:rgba(34,224,138,0.12); display:flex; align-items:center; justify-content:center; color:var(--green);
}
.emp-atual-ic svg{width:16px; height:16px;}
.emp-atual-info{flex:1; min-width:0;}
.emp-atual-info .n{font-size:13px; font-weight:800; color:var(--text-0);}
.emp-atual-info .m{font-size:10.5px; color:var(--text-2); margin-top:1px;}
.emp-troca-aviso{
  font-size:10.5px; color:var(--amber); background:rgba(245,166,35,0.08); border:1px solid rgba(245,166,35,0.25);
  border-radius:10px; padding:9px 11px; margin-top:10px; line-height:1.45;
}

.emp-resumo-comparativo{display:flex; flex-direction:column; gap:7px; margin-top:11px;}
.emp-resumo-linha{display:flex; align-items:center; gap:8px;}
.emp-resumo-linha .ic{flex-shrink:0; width:18px; display:flex; justify-content:center; color:var(--text-1);}
.emp-resumo-linha .ic svg{width:14px; height:14px;}
.emp-resumo-linha .nome{font-size:10.5px; color:var(--text-1); font-weight:600; width:78px; flex-shrink:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.emp-resumo-linha .nome.atual{color:var(--green); font-weight:800;}
.emp-resumo-linha .barra-track{flex:1; height:5px; border-radius:999px; background:#101a20; overflow:hidden;}
.emp-resumo-linha .barra-fill{height:100%; border-radius:999px; background: linear-gradient(90deg, var(--green-dim), var(--green)); width:0%; transition: width .4s ease;}
.emp-resumo-linha .pct{font-size:10px; color:var(--text-2); font-weight:700; width:32px; text-align:right; flex-shrink:0;}


.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border:none; border-radius:11px; font-weight:700; font-size:14px;
  padding:13px 22px; transition: all .15s ease;
}
.btn-arrow{display:inline-flex; align-items:center;}
.btn-arrow svg{width:15px; height:15px;}
.btn-arrow-left{display:inline-flex; align-items:center;}
.btn-arrow-left svg{width:15px; height:15px;}
.btn-primary{
  background: var(--green); color:#04130b;
  box-shadow: 0 8px 20px -8px var(--green-glow);
}
.btn-primary:hover{filter:brightness(1.08); transform:translateY(-1px);}
.btn-primary:disabled{opacity:.4; cursor:not-allowed; transform:none;}
.btn-ghost{
  background: transparent; border:1px solid var(--line); color:var(--text-1);
}
.btn-ghost:hover{border-color:var(--text-2); color:var(--text-0);}
.btn-danger{background: rgba(239,91,91,0.12); color:var(--red); border:1px solid rgba(239,91,91,0.3);}
.btn-block{width:100%;}

/* ===== Modules list ===== */
.module-list{display:flex; flex-direction:column; gap:10px;}
.module-row{
  display:flex; align-items:center; gap:14px;
  background:#0a1117; border:1px solid var(--line); border-radius:14px;
  padding:14px 16px; transition: border-color .15s ease;
}
.module-row:hover{border-color:#2a3f4a;}
.module-num{
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  background: var(--bg-2); display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-weight:700; font-size:15px; color:var(--text-1);
}
.module-row.done .module-num{background: var(--green-glow); color:var(--green);}
.module-info{flex:1; min-width:0;}
.module-info .t{font-size:14.5px; font-weight:700; color:var(--text-0);}
.module-info .r{font-size:12px; color:var(--text-2); margin-top:1px;}
.module-status{font-size:12px; font-weight:700; white-space:nowrap;}
.module-status.todo{color:var(--text-2);}
.module-status.progress{color:var(--amber);}
.module-status.done{color:var(--green);}
.module-mini-bar{
  width:60px; height:5px; border-radius:999px; background:#101a20; overflow:hidden; flex-shrink:0;
}
.module-mini-fill{height:100%; background:var(--green); border-radius:999px;}
.module-row .chev{color:var(--text-2); display:flex; flex-shrink:0;}
.module-row .chev svg{width:18px; height:18px;}
.modulo-icone-inline{display:inline-flex; vertical-align:middle;}
.modulo-icone-inline svg{width:15px; height:15px; vertical-align:-3px;}
.module-status svg{width:13px; height:13px; vertical-align:-2px; display:inline-block;}

/* ===== Quiz / Module view ===== */
.quiz-top-fixo{
  position:sticky; top:0; z-index:45;
  background:linear-gradient(180deg, var(--bg-0) 85%, transparent);
  padding:10px 0 10px; margin:-10px 0 8px;
}
.quiz-top{
  display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; gap:14px;
}
.quiz-top .back{
  font-size:13px; color:var(--text-1); display:flex; align-items:center; gap:6px; font-weight:600; cursor:pointer;
}
.quiz-top .back svg{width:15px; height:15px;}
.quiz-top .back:hover{color:var(--green);}
.quiz-progress-mini{font-size:12.5px; color:var(--text-2); font-weight:600;}
.quiz-progress-track{
  height:6px; border-radius:999px; background:#101a20; border:1px solid var(--line); overflow:hidden;
}
.quiz-progress-fill{
  height:100%; border-radius:999px; background: linear-gradient(90deg, var(--green-dim), var(--green));
  width:0%; transition: width .35s ease; box-shadow:0 0 10px var(--green-glow);
}

.q-card{
  background:#0a1117; border:1px solid var(--line); border-radius:16px;
  padding:20px 20px 18px; margin-bottom:14px;
}
.q-card .q-tag{
  font-size:11px; font-weight:800; color:var(--green); letter-spacing:1px; margin-bottom:8px;
  text-transform:uppercase;
}
.q-card .q-text{font-size:15.5px; line-height:1.5; color:var(--text-0); margin-bottom:14px; font-weight:500;}
.q-card textarea{
  width:100%; min-height:90px; resize:vertical;
  background:#070d12; border:1px solid var(--line); border-radius:10px;
  padding:12px 14px; color:var(--text-0); font-size:14px; font-family:inherit; line-height:1.5;
}
.q-card textarea:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 3px var(--green-glow);}
.q-save-state{
  display:flex; align-items:center; gap:6px; font-size:11.5px; color:var(--text-2);
  margin-top:8px; height:14px;
}
.q-save-state.show{color:var(--green);}
.q-save-state .pulse{width:6px;height:6px;border-radius:50%; background:currentColor;}

.module-nav{display:flex; gap:10px; margin-top:8px;}
.module-nav .btn{flex:1;}

/* ===== Gestor: list ===== */
.subm-row{
  display:flex; align-items:center; gap:16px;
  background:#0a1117; border:1px solid var(--line); border-radius:16px;
  padding:16px 18px; margin-bottom:10px; cursor:pointer; transition: border-color .15s ease;
}
.subm-row:hover{border-color:#2a3f4a;}
.subm-avatar{
  width:52px;height:52px;border-radius:50%; background:var(--green-glow);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:16px;
  color:var(--green); flex-shrink:0; border:2px solid rgba(34,224,138,0.4);
}
.subm-avatar.amber{background:rgba(245,166,35,0.14); color:var(--amber); border-color:rgba(245,166,35,0.4);}
.subm-avatar.red{background:rgba(239,91,91,0.14); color:var(--red); border-color:rgba(239,91,91,0.4);}
.subm-info{flex:1; min-width:0;}
.subm-info .n{font-size:15px; font-weight:800;}
.subm-info .m{font-size:12.5px; color:var(--text-2); margin-top:3px;}
.emp-tag{
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:0.3px;
  background:rgba(77,159,255,0.14); color:var(--blue); border:1px solid rgba(77,159,255,0.3);
  padding:2px 8px; border-radius:999px; margin-left:8px; vertical-align:middle;
}
.selo-reenviado{
  display:inline-block; font-size:10px; font-weight:700; letter-spacing:0.2px;
  background:rgba(168,123,255,0.14); color:#a87bff; border:1px solid rgba(168,123,255,0.35);
  padding:3px 9px; border-radius:999px; margin-top:6px;
}
.pill{
  font-size:11.5px; font-weight:700; padding:6px 13px; border-radius:999px; white-space:nowrap;
}
.pill.wait{background:rgba(245,166,35,0.14); color:var(--amber); border:1px solid rgba(245,166,35,0.35);}
.pill.approved{background:rgba(34,224,138,0.14); color:var(--green); border:1px solid rgba(34,224,138,0.35);}
.pill.rejected{background:rgba(239,91,91,0.14); color:var(--red); border:1px solid rgba(239,91,91,0.35);}
.pill.draft{background:rgba(93,116,128,0.15); color:var(--text-1); border:1px solid var(--line);}

/* ===== Gestor correction view ===== */
.correct-q{
  background:#0a1117; border:1px solid var(--line); border-radius:14px; padding:16px 18px; margin-bottom:10px;
}
.correct-q .q-text{font-size:13.5px; color:var(--text-1); margin-bottom:8px; font-weight:600;}
.correct-q .a-text{
  font-size:14.5px; color:var(--text-0); background:#070d12; border-radius:8px; padding:10px 12px;
  border-left:3px solid var(--green); line-height:1.5; margin-bottom:10px; white-space:pre-wrap;
}
.correct-q .a-text.empty{color:var(--text-2); font-style:italic; border-left-color:var(--line);}
.correct-actions{display:flex; gap:8px; align-items:center;}
.icon-btn{
  width:34px; height:34px; border-radius:9px; border:1px solid var(--line); background:#0a1117;
  display:flex; align-items:center; justify-content:center; font-size:15px; transition: all .15s ease;
}
.icon-btn svg{width:16px; height:16px;}

.txt-ic{display:inline-flex; align-items:center; vertical-align:-2px; color:currentColor; opacity:0.8;}
.campo-faltando{color:var(--amber); font-style:italic;}
.txt-ic svg{width:12px; height:12px;}
.txt-ic svg[data-lucide-bullet]{fill:currentColor;}
.badge-ativo .txt-ic svg{width:7px; height:7px; fill:currentColor;}
.icon-btn.ok{color:var(--text-1);}
.icon-btn.ok.active{background:rgba(34,224,138,0.15); border-color:var(--green); color:var(--green);}
.icon-btn.no{color:var(--text-1);}
.icon-btn.no.active{background:rgba(239,91,91,0.15); border-color:var(--red); color:var(--red);}
.comment-input{
  flex:1; background:#070d12; border:1px solid var(--line); border-radius:8px; padding:8px 11px;
  color:var(--text-0); font-size:13px; font-family:inherit;
}
.comment-input:focus{outline:none; border-color:var(--green);}


/* ===== Feedback do Gestor (Corretor) ===== */
.feedback-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.feedback-stat{border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center;background:#0a1117;}
.feedback-stat .v{font-family:var(--serif);font-size:22px;font-weight:800;margin-bottom:3px;}
.feedback-stat .l{font-size:10px;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px;}
.feedback-stat.ok .v{color:var(--green);}.feedback-stat.no .v{color:var(--red);}.feedback-stat.wait .v{color:var(--amber);}.feedback-stat.score .v{color:var(--blue);}
.feedback-module{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:12px;background:#0a1117;}
.feedback-module-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;background:#0d161e;border-bottom:1px solid var(--line);}
.feedback-module-title{font-weight:800;font-size:13.5px;color:var(--text-0);}
.feedback-module-meta{font-size:11px;color:var(--text-2);white-space:nowrap;}
.feedback-q{padding:14px 15px;border-bottom:1px solid rgba(255,255,255,.055);}
.feedback-q:last-child{border-bottom:none;}
.feedback-q-top{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.feedback-q-title{font-size:13px;font-weight:700;color:var(--text-1);line-height:1.45;}
.feedback-result{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:999px;padding:4px 8px;white-space:nowrap;}
.feedback-result.ok{color:var(--green);background:rgba(34,224,138,.12);border:1px solid rgba(34,224,138,.25);}
.feedback-result.no{color:var(--red);background:rgba(239,91,91,.12);border:1px solid rgba(239,91,91,.25);}
.feedback-result.wait{color:var(--amber);background:rgba(245,166,35,.12);border:1px solid rgba(245,166,35,.25);}
.feedback-answer{font-size:13px;line-height:1.5;color:var(--text-0);background:#070d12;border-radius:9px;padding:10px 12px;margin:7px 0;white-space:pre-wrap;border-left:3px solid var(--line);}
.feedback-q.is-ok .feedback-answer{border-left-color:var(--green);}.feedback-q.is-no .feedback-answer{border-left-color:var(--red);}
.feedback-comment{display:flex;gap:8px;align-items:flex-start;margin-top:9px;padding:10px 12px;border-radius:9px;background:rgba(77,159,255,.08);border:1px solid rgba(77,159,255,.18);font-size:12.5px;line-height:1.45;color:var(--text-1);}
.feedback-comment svg{width:15px;height:15px;flex-shrink:0;color:var(--blue);margin-top:1px;}
.feedback-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
@media(max-width:640px){.feedback-summary{grid-template-columns:repeat(2,1fr)}.feedback-q-top{flex-direction:column}.feedback-result{align-self:flex-start}}

/* ===== Certificate ===== */
.cert-box{
  text-align:center; padding:34px 20px;
}
.cert-icon{font-size:46px; margin-bottom:14px;}
.cert-box h2{font-family:var(--serif); font-size:24px; margin-bottom:8px;}
.cert-box p{color:var(--text-1); font-size:14px; max-width:380px; margin:0 auto 18px;}
.status-banner{
  display:inline-flex; align-items:center; gap:8px; padding:9px 18px; border-radius:999px;
  font-size:13px; font-weight:700; margin-bottom:6px;
}
.status-banner.wait{background:rgba(245,166,35,0.12); color:var(--amber);}
.status-banner.approved{background:rgba(34,224,138,0.12); color:var(--green);}
.status-banner.rejected{background:rgba(239,91,91,0.12); color:var(--red);}

.certificate-doc{
  border:1px solid var(--line); border-radius:16px; padding:34px 30px; margin-top:18px;
  background: linear-gradient(160deg, #0d1a14 0%, #0a1117 80%);
  position:relative; overflow:hidden;
}
.certificate-doc::before{
  content:''; position:absolute; inset:8px; border:1px solid rgba(34,224,138,0.25); border-radius:10px; pointer-events:none;
}
.certificate-doc .ce-eyebrow{font-size:11px; letter-spacing:2px; color:var(--green); font-weight:800; text-transform:uppercase;}
.certificate-doc h3{font-family:var(--serif); font-size:21px; margin:10px 0 2px;}
.certificate-doc .ce-sub{color:var(--text-1); font-size:12.5px; margin-bottom:20px;}
.certificate-doc .ce-name{font-family:var(--serif); font-size:28px; font-weight:700; margin:14px 0 4px;}
.certificate-doc .ce-creci{color:var(--text-2); font-size:12.5px; margin-bottom:18px;}
.certificate-doc .ce-meta{display:flex; justify-content:center; gap:30px; font-size:11.5px; color:var(--text-2); margin-top:16px;}
.certificate-doc .ce-meta b{color:var(--text-0); display:block; font-size:13px; margin-bottom:2px;}

/* Bottom nav (corretor) */
.bottomnav{
  position:fixed; bottom:14px; left:14px; right:14px;
  max-width: 880px; margin:0 auto;
  background: linear-gradient(165deg, #121f28 0%, #0d161e 100%);
  backdrop-filter: blur(14px);
  border:1.5px solid rgba(34,224,138,0.3); border-radius:20px;
  display:flex; justify-content:space-around; gap:4px; padding:10px 8px;
  z-index:40; box-shadow: 0 16px 44px -10px rgba(0,0,0,0.65), 0 0 0 1px rgba(34,224,138,0.06), 0 0 24px -8px rgba(34,224,138,0.18);
}
.bottomnav .navbtn{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  font-size:11px; color:var(--text-1); font-weight:700; padding:6px 10px; border-radius:12px;
  background:transparent; border:none; transition: all .15s ease; flex:1;
}
.bottomnav .navbtn.active{color:var(--green); background:rgba(34,224,138,0.12);}
.bottomnav .navbtn .ic{font-size:20px; line-height:1; display:flex; justify-content:center;}
.bottomnav .navbtn .ic svg{width:20px; height:20px;}

/* Toast */
.toast{
  position:fixed; bottom:90px; left:50%; transform:translateX(-50%) translateY(20px);
  background:#10221a; border:1px solid var(--green); color:var(--green);
  padding:11px 20px; border-radius:12px; font-size:13.5px; font-weight:600;
  opacity:0; transition: all .3s ease; z-index:60; pointer-events:none;
  box-shadow:0 10px 30px -10px rgba(0,0,0,0.5);
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* Empty state */
.empty-state{text-align:center; padding:40px 20px; color:var(--text-2);}
.empty-state .ic{font-size:32px; margin-bottom:10px; opacity:.6;}
.empty-state p{font-size:13.5px;}

/* ===== Filtros da lista do gestor ===== */
.gestor-filtros{display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap;}
.gestor-busca-input{
  flex:2; min-width:180px; background:#0a1117; border:1px solid var(--line); border-radius:10px;
  padding:10px 13px; color:var(--text-0); font-size:13.5px; font-family:inherit;
}
.gestor-busca-input:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 3px var(--green-glow);}
.gestor-filtro-select{
  flex:1; min-width:160px; background:#0a1117; border:1px solid var(--line); border-radius:10px;
  padding:10px 13px; color:var(--text-0); font-size:13.5px; font-family:inherit; cursor:pointer;
}
.gestor-filtro-select:focus{outline:none; border-color:var(--green);}

/* Gestor header stats */
.gestor-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:14px;}
.gestor-stat{border:1px solid var(--line); border-radius:12px; padding:11px 8px; min-width:0; min-height:82px; text-align:center;}
.gestor-stat.c-blue{border-color:rgba(77,159,255,0.28); background: linear-gradient(165deg, rgba(77,159,255,0.10) 0%, var(--bg-1) 65%);}
.gestor-stat.c-amber{border-color:rgba(245,166,35,0.28); background: linear-gradient(165deg, rgba(245,166,35,0.10) 0%, var(--bg-1) 65%);}
.gestor-stat.c-green{border-color:rgba(34,224,138,0.28); background: linear-gradient(165deg, rgba(34,224,138,0.10) 0%, var(--bg-1) 65%);}
.gestor-stat.c-red{border-color:rgba(239,91,91,0.28); background: linear-gradient(165deg, rgba(239,91,91,0.10) 0%, var(--bg-1) 65%);}
.gestor-stat.c-purple{border-color:rgba(168,123,255,0.28); background: linear-gradient(165deg, rgba(168,123,255,0.10) 0%, var(--bg-1) 65%);}
.gestor-stat .icon{
  width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:17px; margin:0 auto 6px;
}
.gestor-stat .icon svg{width:17px; height:17px;}
.gestor-stat.c-blue .icon{background:rgba(77,159,255,0.18); color:var(--blue); box-shadow:0 0 14px -4px rgba(77,159,255,0.5);}
.gestor-stat.c-amber .icon{background:rgba(245,166,35,0.18); color:var(--amber); box-shadow:0 0 14px -4px rgba(245,166,35,0.5);}
.gestor-stat.c-green .icon{background:rgba(34,224,138,0.18); color:var(--green); box-shadow:0 0 14px -4px rgba(34,224,138,0.5);}
.gestor-stat.c-red .icon{background:rgba(239,91,91,0.18); color:var(--red); box-shadow:0 0 14px -4px rgba(239,91,91,0.5);}
.gestor-stat.c-purple .icon{background:rgba(168,123,255,0.18); color:#a87bff; box-shadow:0 0 14px -4px rgba(168,123,255,0.5);}
.gestor-stat .v{font-size:17px; font-weight:800; font-family:var(--serif); letter-spacing:-0.3px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.gestor-stat.c-blue .v{color:var(--blue);}
.gestor-stat.c-amber .v{color:var(--amber);}
.gestor-stat.c-green .v{color:var(--green);}
.gestor-stat.c-red .v{color:var(--red);}
.gestor-stat.c-purple .v{color:#a87bff;}
.gestor-stat .l{font-size:8.5px; color:var(--text-2); text-transform:uppercase; letter-spacing:0.2px; margin-top:2px; white-space:normal; line-height:1.25; word-break:break-word;}

.json-actions{display:flex; gap:10px; flex-wrap:wrap;}

/* ===== Dashboard de Analytics ===== */
.analytics-secao{margin-top:18px;}
.analytics-secao-titulo{
  display:flex; align-items:center; gap:7px; font-size:12.5px; font-weight:700; color:var(--text-1);
  margin-bottom:10px;
}
.analytics-secao-titulo svg{width:15px; height:15px; color:var(--text-2);}
.analytics-row{
  display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid var(--line);
  border-radius:10px; background:#0a1117; margin-bottom:7px;
}
.analytics-row .rank{font-size:11px; font-weight:800; color:var(--text-2); width:18px; flex-shrink:0;}
.analytics-row .texto{flex:1; font-size:12px; color:var(--text-0); min-width:0;}
.analytics-row .texto .meta{font-size:10px; color:var(--text-2); margin-top:2px;}
.analytics-row .pct-badge{
  font-size:11px; font-weight:800; padding:4px 10px; border-radius:999px; flex-shrink:0; white-space:nowrap;
}
.analytics-row .pct-badge.alto{background:rgba(239,91,91,0.14); color:var(--red);}
.analytics-row .pct-badge.medio{background:rgba(245,166,35,0.14); color:var(--amber);}
.analytics-row .pct-badge.baixo{background:rgba(34,224,138,0.14); color:var(--green);}


/* ===== Upload de materiais (Gestor) ===== */
/* ===== Medidor de espaço usado (localStorage) ===== */
.storage-meter{margin-bottom:16px;}
.storage-meter-top{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:12px; color:var(--text-1); margin-bottom:7px; font-weight:600;
}
.storage-meter-track{
  height:7px; border-radius:999px; background:#101a20; border:1px solid var(--line); overflow:hidden;
}
.storage-meter-fill{
  height:100%; border-radius:999px; background: linear-gradient(90deg, var(--green-dim), var(--green));
  width:0%; transition: width .4s ease, background .3s ease;
}
.storage-meter-fill.warn{background: linear-gradient(90deg, #c97f12, var(--amber));}
.storage-meter-fill.danger{background: linear-gradient(90deg, #b13a3a, var(--red));}

.upload-drop{
  border:1.5px dashed var(--line); border-radius:14px; padding:26px 18px; text-align:center;
  cursor:pointer; transition: all .15s ease; background:#0a1117;
}
.upload-drop:hover{border-color: var(--green); background:rgba(34,224,138,0.04);}
.upload-drop-ic{margin-bottom:8px; display:flex; justify-content:center; color:var(--text-1);}
.upload-drop-ic svg{width:26px; height:26px;}
.upload-drop-t{font-size:13.5px; font-weight:700; color:var(--text-0); margin-bottom:4px;}
.upload-drop-d{font-size:11.5px; color:var(--text-2);}

.material-row{
  display:flex; align-items:center; gap:14px;
  background:#0a1117; border:1px solid var(--line); border-radius:14px;
  padding:13px 16px; margin-bottom:10px;
}
.material-icon{
  width:40px; height:40px; border-radius:11px; flex-shrink:0;
  background:rgba(239,91,91,0.14); color:var(--red);
  display:flex; align-items:center; justify-content:center;
}
.material-icon svg{width:18px; height:18px;}
.material-info{flex:1; min-width:0;}
.material-info .n{font-size:13.5px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.material-info .m{font-size:11.5px; color:var(--text-2); margin-top:2px;}
.material-actions{display:flex; gap:6px; flex-shrink:0;}
.badge-novo{
  display:inline-block; font-size:9.5px; font-weight:800; letter-spacing:0.5px; text-transform:uppercase;
  background:rgba(34,224,138,0.18); color:var(--green); border:1px solid rgba(34,224,138,0.4);
  padding:2px 7px; border-radius:999px; margin-left:6px; vertical-align:middle;
}
.navbtn-dot{
  position:absolute; top:2px; right:6px; width:7px; height:7px; border-radius:50%;
  background:var(--amber); box-shadow:0 0 6px var(--amber);
}
.bottomnav .navbtn{position:relative;}

textarea.import-area{
  width:100%; min-height:110px; background:#070d12; border:1px solid var(--line); border-radius:10px;
  padding:12px; color:var(--text-0); font-family:var(--mono); font-size:12px; margin-top:10px;
}

.section-divider{font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-2); font-weight:700; margin:22px 0 10px 4px;}

/* ===== Accordion de módulos (correção do gestor) ===== */
.modulo-accordion{
  border:1px solid var(--line); border-radius:14px; margin-bottom:10px; overflow:hidden; background:#0a1117;
}
.modulo-accordion-head{
  width:100%; display:flex; align-items:center; gap:10px; padding:14px 16px;
  background:transparent; border:none; cursor:pointer; text-align:left; color:var(--text-0);
}
.modulo-accordion-head:hover{background:rgba(255,255,255,0.02);}
.acc-chevron svg{width:16px; height:16px; flex-shrink:0; color:var(--text-2);}
.acc-titulo{font-weight:700; font-size:13.5px; flex-shrink:0;}
.acc-contagem{font-size:11px; color:var(--text-2); flex:1;}
.acc-badges{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end;}
.acc-badge{font-size:10px; font-weight:700; padding:3px 8px; border-radius:999px; white-space:nowrap;}
.acc-badge.ok{background:rgba(34,224,138,0.14); color:var(--green);}
.acc-badge.no{background:rgba(239,91,91,0.14); color:var(--red);}
.acc-badge.pendente{background:rgba(245,166,35,0.14); color:var(--amber);}

.modulo-accordion-body{padding:0 16px 16px;}

.acc-bulk-actions{display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap;}
.btn-bulk{
  display:flex; align-items:center; gap:6px; font-size:11.5px; font-weight:700; padding:8px 13px;
  border-radius:9px; cursor:pointer; border:1px solid var(--line); background:#070d12; color:var(--text-1);
}
.btn-bulk svg{width:14px; height:14px;}
.btn-bulk.aprovar{border-color:rgba(34,224,138,0.35); color:var(--green);}
.btn-bulk.aprovar:hover{background:rgba(34,224,138,0.1);}
.btn-bulk.reprovar{border-color:rgba(239,91,91,0.35); color:var(--red);}
.btn-bulk.reprovar:hover{background:rgba(239,91,91,0.1);}

.acc-perguntas{display:flex; flex-direction:column; gap:10px;}
.acc-templates{display:flex; gap:6px; flex-wrap:wrap; margin-top:8px;}
.acc-templates button{
  font-size:10px; color:var(--text-2); background:#070d12; border:1px solid var(--line);
  padding:5px 9px; border-radius:7px; cursor:pointer;
}
.acc-templates button:hover{color:var(--text-0); border-color:#2a3f4a;}


.mvp-footer-note{
  font-size:11.5px; color:var(--text-2); text-align:center; line-height:1.5;
  padding:14px 20px 4px; max-width:520px; margin:0 auto;
}

.cadastro-aviso-local{
  font-size:11px; color:var(--amber); background:rgba(245,166,35,0.08); border:1px solid rgba(245,166,35,0.25);
  border-radius:10px; padding:11px 13px; margin-top:14px; line-height:1.5; text-align:center;
}
.cadastro-aviso-local b{color:var(--text-0);}

/* ===== Auth (login/cadastro) ===== */
.auth-tabs{display:flex; gap:6px; background:#0a1117; border:1px solid var(--line); border-radius:12px; padding:4px; margin-bottom:18px;}
.auth-tab{flex:1; background:transparent; border:none; color:var(--text-1); font-size:13px; font-weight:700; padding:9px 0; border-radius:9px; cursor:pointer; transition: all .15s ease;}
.auth-tab.active{background:var(--green); color:#04130b;}
.auth-erro{
  font-size:12px; color:var(--red); background:rgba(239,91,91,0.08); border:1px solid rgba(239,91,91,0.25);
  border-radius:10px; padding:10px 12px; margin-top:12px; line-height:1.4;
}
.auth-sucesso{
  font-size:12px; color:var(--green); background:rgba(34,224,138,0.08); border:1px solid rgba(34,224,138,0.25);
  border-radius:10px; padding:10px 12px; margin-top:12px; line-height:1.4;
}

.senha-label-row{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:6px;}
.senha-label-row label{margin-bottom:0;}
.link-esqueci-senha{font-size:11.5px; color:var(--text-2); text-decoration:none;}
.link-esqueci-senha:hover{color:var(--green); text-decoration:underline;}

.senha-input-wrap{position:relative; display:flex; align-items:center;}
.senha-input-wrap input{width:100%; padding-right:42px;}
.btn-toggle-senha{
  position:absolute; right:4px; background:transparent; border:none; cursor:pointer;
  padding:8px 9px; border-radius:8px; opacity:0.6; transition: opacity .15s ease;
  display:flex; align-items:center; color:var(--text-1);
}
.btn-toggle-senha svg{width:16px; height:16px;}
.btn-toggle-senha:hover{opacity:1;}
.btn-toggle-senha.ativo{opacity:1; color:var(--green); filter: drop-shadow(0 0 4px rgba(34,224,138,0.6));}

.recuperar-senha-desc{font-size:12px; color:var(--text-1); line-height:1.5; margin-bottom:14px;}

.role-select-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;}
.role-card{
  background:#0a1117; border:1.5px solid var(--line); border-radius:12px; padding:14px 10px;
  text-align:center; cursor:pointer; transition: all .15s ease;
}
.role-card:hover{border-color:#2a3f4a;}
.role-card.selected{border-color:var(--green); background:rgba(34,224,138,0.06); box-shadow:0 0 0 2px var(--green-glow);}
.role-card .ic{font-size:24px; margin-bottom:6px;}
.role-card .nome{font-size:13px; font-weight:800; margin-bottom:3px;}
.role-card .desc{font-size:10.5px; color:var(--text-2); line-height:1.3;}
.role-card.selected .nome{color:var(--green);}

/* ===== Check de Qualidade (pré-envio) ===== */
.cq-hero-panel{background: linear-gradient(155deg, #0d171f 0%, #0a1117 70%);}
.cq-hero-row{display:flex; align-items:center; gap:14px;}
.cq-hero-text{flex:1; min-width:0;}
.cq-hero-title{font-family:var(--serif); font-size:17px; font-weight:700; margin-bottom:4px;}
.cq-hero-sub{font-size:11.5px; color:var(--text-1); line-height:1.4;}

.cq-resumo-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;}
.cq-resumo-item{
  background:#0a1117; border:1px solid var(--line); border-radius:10px; padding:9px 8px; text-align:center;
}
.cq-resumo-item .v{font-size:17px; font-weight:800; font-family:var(--serif);}
.cq-resumo-item .l{font-size:9px; color:var(--text-2); text-transform:uppercase; letter-spacing:0.3px; margin-top:2px;}
.cq-resumo-item.ok .v{color:var(--green);}
.cq-resumo-item.warn .v{color:var(--amber);}
.cq-resumo-item.bad .v{color:var(--red);}

.cq-fraca-item{
  background:#0a1117; border:1px solid rgba(245,166,35,0.25); border-radius:12px; padding:11px 13px; margin-bottom:8px;
}
.cq-fraca-item .tag{font-size:10px; font-weight:800; color:var(--amber); text-transform:uppercase; letter-spacing:0.3px; margin-bottom:5px; display:flex; align-items:center; gap:5px;}
.cq-fraca-item .q{font-size:12px; color:var(--text-0); font-weight:600; margin-bottom:5px; line-height:1.4;}
.cq-fraca-item .a{font-size:11.5px; color:var(--text-1); background:#070d12; border-radius:7px; padding:7px 9px; margin-bottom:8px; line-height:1.4; white-space:pre-wrap;}
.cq-fraca-item .a.vazio{color:var(--text-2); font-style:italic;}
.cq-fraca-actions{display:flex; gap:8px;}
.cq-fraca-actions button{
  flex:1; font-size:11px; font-weight:700; padding:7px 10px; border-radius:8px; cursor:pointer; white-space:nowrap;
  display:inline-flex; align-items:center; justify-content:center; gap:4px;
}
.cq-btn-melhorar{
  background:transparent; border:1px solid rgba(245,166,35,0.35); color:var(--amber);
}
.cq-btn-melhorar:hover{background:rgba(245,166,35,0.1);}
.cq-btn-manter{
  background:rgba(34,224,138,0.1); border:1px solid rgba(34,224,138,0.3); color:var(--green);
}
.cq-btn-manter:hover{background:rgba(34,224,138,0.18);}
.cq-aviso-final{font-size:10.5px; color:var(--text-2); text-align:center; margin-top:10px; line-height:1.4;}
.cq-tudo-ok{text-align:center; padding:18px 10px; color:var(--text-1); font-size:12.5px;}
.cq-tudo-ok .ic{font-size:30px; margin-bottom:8px;}

.danger-zone{border-color:rgba(239,91,91,0.3);}
.danger-zone .panel-title{color:var(--red);}

/* ===== RC3: conectividade e sincronizacao SaaS ===== */
.sync-pill{display:inline-flex;align-items:center;gap:6px;font-size:9.5px;font-weight:800;padding:4px 8px;border-radius:999px;border:1px solid var(--line);color:var(--text-2);background:#0a1117;margin:2px auto 0;max-width:100%;white-space:nowrap}
.sync-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.sync-pill.online{color:var(--green);border-color:rgba(34,224,138,.28)}
.sync-pill.syncing{color:var(--amber);border-color:rgba(245,166,35,.28)}
.sync-pill.offline,.sync-pill.error{color:var(--red);border-color:rgba(239,91,91,.28)}
.sync-pill.local{color:var(--blue);border-color:rgba(77,159,255,.28)}
