/*
 * Notas de Corte SISU — estilos do plugin.
 * Todos os seletores usam o prefixo .ncs- para isolar do CSS do tema.
 * Variáveis no escopo de #ncs-app (não vazam para o resto do site).
 */
#ncs-app{
	--ncs-azul:#1d4ed8;
	--ncs-azul2:#1e3a8a;
	--ncs-cinza:#f1f5f9;
	--ncs-txt:#0f172a;
	--ncs-mut:#64748b;
	--ncs-ok:#16a34a;
	--ncs-est:#ca8a04;
	color:var(--ncs-txt);
	line-height:1.5;
}
.ncs-wrap{max-width:880px;margin:0 auto;padding:20px}

.ncs-bc{font-size:13px;color:var(--ncs-mut);margin:6px 0 18px}
.ncs-bc a{color:var(--ncs-azul);text-decoration:none}
.ncs-bc i{font-style:normal;color:#cbd5e1;margin:0 2px}

.ncs-h1{font-size:26px;line-height:1.25;margin:0 0 6px;color:var(--ncs-txt)}
.ncs-h2{font-size:18px;margin:22px 0 10px;color:var(--ncs-txt)}
.ncs-sub{color:var(--ncs-mut);margin:0 0 22px;font-size:15px}

.ncs-cta{display:block;background:linear-gradient(135deg,#2563eb,#1e3a8a);color:#fff !important;
	text-decoration:none;padding:16px 20px;border-radius:12px;text-align:center;font-weight:600;margin:10px 0 18px}
.ncs-cta:hover{opacity:.95}
.ncs-cta-alt{background:linear-gradient(135deg,#0ea5e9,#1e3a8a)}

.ncs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:6px 0 26px}
.ncs-card{display:block;padding:12px 14px;border:1px solid #e2e8f0;border-radius:10px;
	text-decoration:none;color:var(--ncs-txt) !important;transition:.15s;background:#fff}
.ncs-card:hover{border-color:var(--ncs-azul);box-shadow:0 2px 8px rgba(29,78,216,.08)}
.ncs-card b{display:block;font-size:15px}
.ncs-card span{font-size:12px;color:var(--ncs-mut)}

.ncs-tablewrap,.ncs-rk{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;
	box-shadow:0 1px 3px rgba(15,23,42,.05);margin:6px 0 22px;background:#fff}
.ncs-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;margin:0}
.ncs-table th,.ncs-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef2f6;vertical-align:middle}
.ncs-table th{background:var(--ncs-cinza);font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--ncs-mut)}
.ncs-table tbody tr:last-child td{border-bottom:0}
.ncs-table tbody tr:hover{background:#f8fafc}

.ncs-nota{font-weight:700;font-size:16px;white-space:nowrap;text-align:right}
.ncs-nota.vazio{color:var(--ncs-mut);font-style:italic;font-weight:400}

.ncs-badge{font-size:10px;padding:1px 7px;border-radius:20px;vertical-align:middle;margin-left:6px;display:inline-block}
.ncs-badge.of{background:#dcfce7;color:var(--ncs-ok)}
.ncs-badge.es{background:#fef9c3;color:var(--ncs-est)}

.ncs-ies{font-weight:700;font-size:15px;color:var(--ncs-txt);text-decoration:none}
a.ncs-ies{color:var(--ncs-azul) !important}
.ncs-meta{display:block;font-size:11.5px;color:var(--ncs-mut);margin-top:1px}

.ncs-texto{font-size:15px;color:#334155;margin:4px 0 22px}
.ncs-texto p{margin:0 0 12px}
.ncs-texto strong{color:var(--ncs-txt)}

.ncs-veja{font-size:14px;color:#334155;margin:4px 0 22px}
.ncs-veja a{color:var(--ncs-azul);text-decoration:none}
.ncs-veja a:hover{text-decoration:underline}

/* aviso de modalidade (ampla concorrência / cotas) */
.ncs-note{display:flex;gap:10px;align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;
	border-left:4px solid var(--ncs-azul);border-radius:10px;padding:12px 14px;margin:0 0 18px;
	font-size:13.5px;color:#1e3a8a;line-height:1.45}
.ncs-note .ic{font-size:18px;line-height:1.2}
.ncs-note a{color:var(--ncs-azul);font-weight:600;text-decoration:none}
.ncs-note a:hover{text-decoration:underline}

/* faixa de estatísticas do ranking */
.ncs-stats{display:flex;gap:10px;margin:2px 0 18px;flex-wrap:wrap}
.ncs-stat{flex:1;min-width:96px;background:var(--ncs-cinza);border:1px solid #e2e8f0;
	border-radius:12px;padding:11px 12px;text-align:center}
.ncs-stat b{display:block;font-size:21px;font-weight:800;color:var(--ncs-azul2);letter-spacing:-.02em}
.ncs-stat span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ncs-mut);margin-top:2px}

/* posição (círculo do pódio) e número-herói */
.ncs-poscell{width:54px;text-align:center}
.ncs-pos{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
	border-radius:50%;font-weight:800;font-size:14px;background:#eef2ff;color:var(--ncs-azul)}
.ncs-pos.top{background:linear-gradient(135deg,#2563eb,#1e3a8a);color:#fff;box-shadow:0 2px 6px rgba(29,78,216,.35)}
.ncs-notacell{text-align:right;white-space:nowrap}
.ncs-num{font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--ncs-txt)}
.ncs-bar{display:block;height:6px;border-radius:99px;background:#eef2f6;margin:6px 0 0 auto;max-width:130px;overflow:hidden}
.ncs-bar>i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#93c5fd,#1d4ed8)}

/* slot de anúncio dentro do conteúdo */
.ncs-adbox{margin:18px 0;text-align:center;min-height:90px;overflow:hidden}

@media(max-width:560px){
	.ncs-table th.hide,.ncs-table td.hide{display:none}
	.ncs-wrap{padding:14px}
	.ncs-h1{font-size:22px}
	.ncs-bar{max-width:80px}
	.ncs-stat b{font-size:18px}
}
