/* =========================================================
   UNICEFAK – visual da plataforma
   Paleta tirada da logo do CEFAK (azul-marinho + azuis da bandeira)
   Efeitos inspirados no site do CT Stronda (botão com brilho, menu
   de vidro com menu suspenso, rodapé em colunas, animação ao rolar).
   ========================================================= */

@property --ga { syntax: "<angle>"; inherits: false; initial-value: 0deg; }

:root {
	--ink: #0B1A2E;
	--ink2: #10233C;
	--ink3: #17304F;
	--navy: #1F3F6E;
	--azul: #0070C0;
	--ceu: #14AEE2;
	--ceu2: #7FD3F2;
	--mute: #A9B8CC;
	--line: rgba(255, 255, 255, .09);
	--bgL: #F4F7FB;
	--txtL: #1B2A3D;
	--muteL: #4E5D70;
	--lineL: rgba(15, 35, 65, .10);
	--ok: #1C6E45; --okBg: #E3F4EA;
	--falta: #9C3510; --faltaBg: #FCE8DC;
	--aviso: #6E4B00; --avisoBg: #FDF1D2;
	--vivo: #E0393E;
	--raio: 20px;
}

html { scroll-behavior: smooth; }
body.uc-corpo { margin: 0; background: var(--ink); }
.uc { font-family: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.6; color: #E6EDF6; background: var(--ink); -webkit-font-smoothing: antialiased; overflow-x: hidden; min-height: 100vh; display: flex; flex-direction: column; }
.uc *, .uc *::before, .uc *::after { box-sizing: border-box; }
:where(.uc) a { color: inherit; text-decoration: none; }
.uc img { max-width: 100%; display: block; }
.uc h1, .uc h2, .uc h3, .uc p { margin: 0; }
.uc button, .uc input, .uc select, .uc textarea { font: inherit; }
.uc-main { flex: 1; outline: none; }
.uc-wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.uc .hl { color: var(--ceu); }
.uc-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.uc-pular { position: absolute; left: -9999px; top: 8px; z-index: 2000; background: #fff; color: var(--ink) !important; padding: 10px 16px; border-radius: 10px; font-weight: 800; }
.uc-pular:focus { left: 12px; }
.uc :focus-visible { outline: 3px solid var(--ceu); outline-offset: 2px; border-radius: 6px; }

.uc-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ceu2); margin-bottom: 14px; }
.uc-h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 800; letter-spacing: -.02em; line-height: 1.12; color: #FAFCFF; }
.uc-h3 { display: flex; align-items: center; gap: 10px; font-size: 21px; font-weight: 800; color: var(--txtL); margin-bottom: 14px; }
.uc-lead { font-size: clamp(17px, 1.6vw, 19px); color: var(--mute); max-width: 680px; }
.uc-mudo { color: var(--muteL); }
.uc-centro { text-align: center; }
.uc-centro .uc-lead { margin: 14px auto 0; }
.uc-sec { padding: 96px 0; position: relative; }
.uc-sec--curta { padding: 48px 0 80px; }
.uc-sec--colada { padding-top: 0; }
.uc-claro { background: var(--bgL); color: var(--txtL); }
.uc-claro .uc-h2 { color: var(--ink); }
.uc-claro .uc-lead { color: var(--muteL); }
.uc-claro .uc-eyebrow { color: var(--azul); }

/* ---------------- Botões ---------------- */
.uc-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; font-weight: 800; font-size: 17px; line-height: 1; white-space: nowrap; padding: 17px 28px; transition: transform .3s, box-shadow .3s, background .3s; cursor: pointer; border: 0; min-height: 48px; }
.uc-btn > span { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; }
.uc-btn:hover { transform: translateY(-2px); }
.uc-btn:active { transform: translateY(1px); }
.uc-btn__seta { display: inline-flex; transition: transform .3s; }
.uc-btn:hover .uc-btn__seta { transform: translateX(4px); }
.uc-btn--brilho, .uc-btn--marca { --ga: 0deg; color: #fff; isolation: isolate; overflow: hidden; border: 1.5px solid transparent; animation: ucGira 2.6s linear infinite; }
.uc-btn--brilho { --topo: #16314f; --base: #0B1A2E; background: linear-gradient(var(--topo), var(--base)) padding-box, conic-gradient(from var(--ga), transparent 0%, var(--azul) 5%, var(--ceu2) 15%, var(--azul) 30%, transparent 40%, transparent 100%) border-box; box-shadow: inset 0 1px 1px rgba(255,255,255,.14), 0 10px 30px -10px rgba(0,0,0,.6); }
.uc-btn--brilho:hover { --topo: #1c3b61; box-shadow: inset 0 1px 1px rgba(255,255,255,.25), 0 16px 32px -8px rgba(20,174,226,.55); }
.uc-btn--marca { --topo: #1aa6e0; --base: #0068B5; background: linear-gradient(var(--topo), var(--base)) padding-box, conic-gradient(from var(--ga), transparent 0%, var(--azul) 5%, #fff 15%, var(--azul) 30%, transparent 40%, transparent 100%) border-box; box-shadow: inset 0 1px 1px rgba(255,255,255,.3), 0 14px 30px -10px rgba(0,112,192,.65); }
.uc-btn--marca:hover { --topo: #1597cf; --base: #005da3; box-shadow: inset 0 1px 1px rgba(255,255,255,.35), 0 18px 36px -10px rgba(0,112,192,.75); }
.uc-btn__pontos { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0; background-size: 4px 4px; background-image: radial-gradient(circle at .5px .5px, rgba(127,211,242,.55) .5px, transparent 0); -webkit-mask-image: linear-gradient(125deg, transparent 54%, #000d 66%, #000d 74%, transparent 85%); mask-image: linear-gradient(125deg, transparent 54%, #000d 66%, #000d 74%, transparent 85%); }
.uc-btn--marca .uc-btn__pontos { background-image: radial-gradient(circle at .5px .5px, rgba(255,255,255,.5) .5px, transparent 0); }
@keyframes ucGira { to { --ga: 360deg; } }
.uc-btn--fantasma { color: #fff; background: transparent; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.22); }
.uc-btn--fantasma:hover { background: rgba(255,255,255,.07); }
.uc-claro .uc-btn--fantasma, .uc-btn--fantasma-claro { color: var(--ink); background: linear-gradient(#fff, #f7f9fc); box-shadow: inset 0 0 0 1px rgba(15,35,65,.10), 0 8px 20px -6px rgba(15,35,65,.18); }
.uc-claro .uc-btn--fantasma:hover, .uc-btn--fantasma-claro:hover { box-shadow: inset 0 0 0 1px rgba(15,35,65,.14), 0 12px 24px -6px rgba(15,35,65,.24); }
.uc-btn--linha { padding: 11px 18px; min-height: 44px; font-size: 15px; color: var(--navy); background: #fff; box-shadow: inset 0 0 0 1.5px rgba(31,63,110,.28); }
.uc-btn--linha:hover { background: #EEF5FC; box-shadow: inset 0 0 0 1.5px var(--azul); transform: translateY(-1px); }
.uc-btn--perigo { padding: 10px 12px; min-height: 44px; color: var(--falta); background: transparent; box-shadow: inset 0 0 0 1.5px rgba(156,53,16,.25); }
.uc-btn--perigo:hover { background: var(--faltaBg); }
.uc-btn--cheio, .uc-btn[data-cheio] { width: 100%; }
.uc-btn[data-pequeno] { padding: 12px 20px; font-size: 15px; min-height: 44px; }
.uc-inline { display: inline; margin: 0; }
.uc-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 32px; }
.uc-ctas--centro { justify-content: center; }
.uc-checks { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 24px; font-size: 15px; color: var(--mute); }
.uc-checks span { display: inline-flex; align-items: center; gap: 7px; }
.uc-checks svg { color: var(--ceu); }

/* ---------------- Topo / menu ---------------- */
.uc-nav { position: sticky; top: 0; z-index: 999; background: rgba(11,26,46,.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.admin-bar .uc-nav { top: 32px; }
.uc-nav::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 1px; background: linear-gradient(90deg, transparent, rgba(20,174,226,.6) 50%, transparent); pointer-events: none; }
.uc-nav::before { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 70px; background: radial-gradient(ellipse 55% 100% at 50% 0%, rgba(20,174,226,.10), transparent 70%); pointer-events: none; }
.uc-nav__in { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: 16px; }
.uc-logo img { height: 42px; width: auto; }
.uc-links { display: flex; align-items: center; gap: 4px; }
.uc-links > a, .uc-ddt { font-size: 15.5px; font-weight: 700; color: #D6E1EE; padding: 10px 15px; border-radius: 999px; transition: background .2s, color .2s; background: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.uc-links > a:hover, .uc-ddt:hover, .uc-links > a[aria-current] { background: rgba(255,255,255,.09); color: #fff; }
.uc-ddt svg { transition: transform .2s; opacity: .75; }
.uc-dd { position: relative; }
.uc-dd:hover .uc-ddt svg, .uc-dd:focus-within .uc-ddt svg, .uc-dd.is-aberto .uc-ddt svg { transform: rotate(180deg); }
.uc-ddm { position: fixed; left: 0; right: 0; top: 76px; display: flex; justify-content: center; padding: 0 20px; opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 1000; }
.admin-bar .uc-ddm { top: 108px; }
.uc-ddm::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; }
.uc-links .uc-dd:hover .uc-ddm, .uc-links .uc-dd:focus-within .uc-ddm, .uc-links .uc-dd.is-aberto .uc-ddm { opacity: 1; visibility: visible; transform: none; }
.uc-ddin { width: min(1160px, 100%); display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.15fr; gap: 28px; background: rgba(12,27,47,.98); backdrop-filter: blur(16px); border: 1px solid rgba(255,255,255,.1); border-top: 0; border-radius: 0 0 22px 22px; padding: 26px 30px 28px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); }
.uc-dcol { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.uc-dh { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ceu); font-weight: 800; margin: 0 0 8px !important; }
.uc-dcol > a { display: block; font-size: 15.5px; color: #D9E3EF; padding: 7px 0; font-weight: 600; transition: color .2s; }
.uc-dcol > a:hover { color: #fff; }
.uc-dmain > a { padding: 8px 12px; margin: 0 -12px; border-radius: 12px; }
.uc-dmain > a:hover { background: rgba(255,255,255,.06); }
.uc-dmain b { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 15.5px; font-weight: 800; }
.uc-dmain small { display: block; color: #9BAAC0; font-size: 13.5px; padding-left: 34px; }
.uc-num { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 8px; background: rgba(20,174,226,.16); color: var(--ceu2); font-size: 13px; font-weight: 900; flex: none; }
.uc-dver { color: var(--ceu2) !important; font-weight: 800 !important; margin-top: 6px; }
.uc-dcard { position: relative; background: linear-gradient(180deg, rgba(20,174,226,.14), rgba(20,174,226,.03)); border: 1px solid rgba(20,174,226,.35); border-radius: 18px; padding: 20px; gap: 6px; }
.uc-dcard b { color: #fff; font-size: 19px; line-height: 1.25; }
.uc-dcard small { color: var(--mute); }
.uc-dcard .uc-pulso { position: absolute; top: 22px; right: 20px; }
.uc-dbtn { margin-top: 10px; color: var(--ceu2) !important; font-weight: 800 !important; }
.uc-nav__acoes { display: flex; align-items: center; gap: 10px; }
.uc-nav__entrar { font-weight: 800; color: #fff; padding: 10px 16px; border-radius: 999px; transition: background .2s; }
.uc-nav__entrar:hover { background: rgba(255,255,255,.09); }
.uc-user { padding: 6px 12px 6px 6px !important; background: rgba(255,255,255,.06) !important; border: 1px solid var(--line) !important; }
.uc-avatar { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, var(--ceu), var(--azul)); color: #fff; font-weight: 900; font-size: 15px; flex: none; }
.uc-umenu { position: absolute; right: 0; top: calc(100% + 10px); min-width: 250px; background: rgba(12,27,47,.98); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; padding: 8px; box-shadow: 0 30px 60px -20px rgba(0,0,0,.6); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility .2s; }
.uc-umenu::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.uc-dd--user:hover .uc-umenu, .uc-dd--user:focus-within .uc-umenu, .uc-dd--user.is-aberto .uc-umenu { opacity: 1; visibility: visible; transform: none; }
.uc-umenu a, .uc-umenu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 11px 12px; border-radius: 10px; color: #D9E3EF; font-weight: 700; font-size: 15.5px; background: none; border: 0; cursor: pointer; text-align: left; }
.uc-umenu a:hover, .uc-umenu button:hover { background: rgba(255,255,255,.07); color: #fff; }
.uc-umenu__sair { margin: 4px 0 0; border-top: 1px solid var(--line); padding-top: 4px; }
.uc-burger { display: none; background: none; border: 0; color: #fff; padding: 9px; cursor: pointer; border-radius: 12px; }
.uc-burger:hover { background: rgba(255,255,255,.08); }
.uc-mnav { display: none; position: fixed; top: 76px; left: 0; right: 0; bottom: 0; overflow-y: auto; z-index: 998; background: rgba(11,26,46,.98); backdrop-filter: blur(14px); border-top: 1px solid var(--line); padding: 10px 20px 40px; }
.uc.is-menu .uc-mnav { display: block; }
.uc-mnav a, .uc-mnav__sair { display: flex; align-items: center; gap: 12px; padding: 15px 4px; border-bottom: 1px solid var(--line); color: #E6EDF6; font-size: 18px; font-weight: 700; width: 100%; background: none; border-left: 0; border-right: 0; border-top: 0; text-align: left; cursor: pointer; }
.uc-mnav__dh { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ceu); font-weight: 800; margin-top: 22px !important; }
.uc-mnav .uc-btn { margin-top: 22px; width: 100%; border-bottom: 1.5px solid transparent; padding: 17px 28px; }

/* ---------------- Efeitos de fundo ---------------- */
.uc-glow { position: absolute; pointer-events: none; border-radius: 50%; filter: blur(90px); opacity: .55; }
.uc-g1 { width: 640px; height: 640px; background: radial-gradient(circle, rgba(20,174,226,.42), transparent 65%); top: -180px; right: -140px; }
.uc-g2 { width: 520px; height: 520px; background: radial-gradient(circle, rgba(0,112,192,.32), transparent 65%); bottom: -260px; left: -200px; }
.uc-spot { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.uc-spot i { position: absolute; inset: 0; }
.uc-spot i:first-child { background-image: radial-gradient(circle, rgba(255,255,255,.055) 1px, transparent 1.6px); background-size: 24px 24px; }
.uc-spot i:last-child { background-image: radial-gradient(circle, rgba(20,174,226,.65) 1.1px, transparent 1.7px); background-size: 24px 24px; -webkit-mask-image: radial-gradient(220px circle at var(--mx, -9999px) var(--my, -9999px), #000 0%, transparent 65%); mask-image: radial-gradient(220px circle at var(--mx, -9999px) var(--my, -9999px), #000 0%, transparent 65%); }
.uc-sec > .uc-wrap, .uc-hero > .uc-wrap, .uc-phero > .uc-wrap, .uc-ft > .uc-wrap { position: relative; z-index: 1; }
.uc-pulso { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--ceu); box-shadow: 0 0 0 0 rgba(20,174,226,.6); animation: ucPulso 2s infinite; flex: none; }
@keyframes ucPulso { 0% { box-shadow: 0 0 0 0 rgba(20,174,226,.6); } 70% { box-shadow: 0 0 0 10px rgba(20,174,226,0); } 100% { box-shadow: 0 0 0 0 rgba(20,174,226,0); } }

/* ---------------- Home: abertura ---------------- */
.uc-hero { position: relative; overflow: hidden; padding: 80px 0 56px; }
.uc-hero__in { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.uc-badge { display: inline-flex; align-items: center; gap: 10px; border: 1px solid var(--line); background: rgba(16,35,60,.7); backdrop-filter: blur(10px); border-radius: 999px; padding: 8px 16px 8px 12px; font-size: 14px; font-weight: 700; color: #D6E1EE; margin-bottom: 24px; }
.uc-hero h1 { font-size: clamp(38px, 5.4vw, 62px); font-weight: 900; letter-spacing: -.03em; line-height: 1.06; color: #FAFCFF; }
.uc-hero .uc-lead { margin-top: 22px; }
.uc-hero__lado { position: relative; display: flex; justify-content: center; }
.uc-rings { position: absolute; inset: 0; pointer-events: none; }
.uc-ring { position: absolute; left: 50%; top: 50%; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(20,174,226,.16); transform: translate(-50%, -50%); animation: ucRot var(--d) linear infinite; }
.uc-ring::after { content: ""; position: absolute; left: 50%; top: 0; width: 7px; height: 7px; border-radius: 50%; transform: translate(-50%, -50%); background: var(--ceu); box-shadow: 0 0 10px 2px rgba(20,174,226,.75); }
.uc-rb { animation-name: ucRotB; border-color: rgba(20,174,226,.10); }
@keyframes ucRot { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes ucRotB { to { transform: translate(-50%, -50%) rotate(-360deg); } }
.uc-vivo { position: relative; z-index: 2; width: 100%; max-width: 440px; background: linear-gradient(180deg, rgba(23,48,79,.92), rgba(11,26,46,.94)); border: 1px solid rgba(20,174,226,.35); border-radius: 28px; padding: 32px; box-shadow: 0 40px 80px -30px rgba(20,174,226,.35), 0 30px 60px -20px rgba(0,0,0,.7); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.uc-vivo__rot { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--ceu2); }
.uc-vivo__curso { font-size: 14px; color: var(--mute); font-weight: 700; }
.uc-vivo__tit { font-size: 27px; font-weight: 900; line-height: 1.2; color: #fff; }
.uc-vivo__data, .uc-vivo__exp { display: flex; align-items: center; gap: 8px; color: #C9D6E6; }
.uc-vivo .uc-btn { margin-top: 10px; }
.uc-chip { position: absolute; z-index: 3; display: flex; align-items: center; gap: 10px; background: rgba(16,35,60,.86); backdrop-filter: blur(12px); border: 1px solid var(--line); border-radius: 16px; padding: 12px 16px; font-size: 14px; color: #C9D6E6; box-shadow: 0 20px 40px -12px rgba(0,0,0,.6); animation: ucFlutua 6s ease-in-out infinite; }
.uc-chip b { display: block; color: #fff; font-size: 19px; font-weight: 900; line-height: 1.1; }
.uc-chip__ic { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(20,174,226,.16); color: var(--ceu); }
.uc-c1 { left: -30px; bottom: -22px; }
.uc-c2 { right: -24px; top: -26px; animation-delay: -3s; }
@keyframes ucFlutua { 50% { transform: translateY(-10px); } }

.uc-stats { padding: 8px 0 72px; }
.uc-srow { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,0)); }
.uc-stat { padding: 28px 26px; border-left: 1px solid var(--line); }
.uc-stat:first-child { border-left: 0; }
.uc-stat b { display: block; font-size: clamp(28px, 3.4vw, 40px); font-weight: 900; letter-spacing: -.02em; color: #fff; }
.uc-stat span { font-size: 15px; color: var(--mute); }

/* ---------------- Cabeçalho das páginas internas ---------------- */
.uc-phero { position: relative; overflow: hidden; padding: 64px 0 56px; background: radial-gradient(ellipse 70% 120% at 85% 0%, rgba(20,174,226,.16), transparent 60%), var(--ink); }
.uc-phero h1 { font-size: clamp(32px, 4.4vw, 50px); font-weight: 900; letter-spacing: -.025em; line-height: 1.1; color: #FAFCFF; }
.uc-phero .uc-lead { margin-top: 14px; }
.uc-phero__linha { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.uc-phero--aluno, .uc-phero--prof { padding-bottom: 40px; }

/* ---------------- Cartões e caixas ---------------- */
.uc-caixa { background: #fff; border: 1px solid var(--lineL); border-radius: var(--raio); padding: 26px; box-shadow: 0 1px 2px rgba(15,35,65,.04); color: var(--txtL); }
.uc-caixa + .uc-caixa { margin-top: 20px; }
.uc-sec:not(.uc-claro) .uc-caixa { background: var(--ink2); border-color: var(--line); color: #E6EDF6; }
.uc-sec:not(.uc-claro) .uc-caixa .uc-h3 { color: #fff; }
.uc-sec:not(.uc-claro) .uc-caixa p { color: #C3D0E0; }
.uc-caixa--destaque { background: linear-gradient(180deg, rgba(20,174,226,.14), rgba(20,174,226,.02)) !important; border-color: rgba(20,174,226,.45) !important; box-shadow: 0 30px 60px -30px rgba(20,174,226,.45); display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.uc-caixa--lista { padding-bottom: 8px; }
.uc-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.uc-duo .uc-caixa + .uc-caixa { margin-top: 0; }
.uc-duo--form { grid-template-columns: .95fr 1.05fr; }
.uc-cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.uc-vazio { color: var(--muteL); background: #F7F9FC; border: 1.5px dashed rgba(15,35,65,.15); border-radius: 14px; padding: 20px; text-align: center; margin-top: 12px; }
.uc-vazio-grande { text-align: center; padding: 40px 20px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.uc-vazio-grande h2 { font-size: 26px; font-weight: 900; color: var(--ink); }
.uc-vazio-grande p { color: var(--muteL); max-width: 520px; }
.uc-ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(20,174,226,.14); color: var(--ceu); flex: none; }
.uc-claro .uc-ico { background: #E3F2FB; color: var(--azul); }
.uc-ico--grande { width: 68px; height: 68px; border-radius: 20px; }
.uc-tag { position: absolute; top: 10px; left: 10px; background: rgba(11,26,46,.78); backdrop-filter: blur(8px); color: #fff; font-size: 12.5px; font-weight: 800; padding: 6px 11px; border-radius: 999px; }
.uc-tag--claro, .uc-tag--alerta { position: static; background: #E3F2FB; color: var(--navy); }
.uc-tag--alerta { background: var(--avisoBg); color: var(--aviso); }

/* Selos de situação */
.uc-selo { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: 14px; font-weight: 800; white-space: nowrap; }
.uc-selo--ok { background: var(--okBg); color: var(--ok); }
.uc-selo--falta { background: var(--faltaBg); color: var(--falta); }
.uc-selo--aviso { background: var(--avisoBg); color: var(--aviso); }
.uc-selo--neutro { background: #E8EFF8; color: var(--navy); }
.uc-selo--vivo { background: #FDE7E7; color: #A3191E; }
.uc-selo--vivo .uc-pulso { background: var(--vivo); animation-name: ucPulsoV; }
@keyframes ucPulsoV { 0% { box-shadow: 0 0 0 0 rgba(224,57,62,.6); } 70% { box-shadow: 0 0 0 9px rgba(224,57,62,0); } 100% { box-shadow: 0 0 0 0 rgba(224,57,62,0); } }
.uc-phero .uc-selo--neutro { background: rgba(255,255,255,.1); color: #fff; }

/* Alertas */
.uc-alerta-wrap { padding-top: 18px; padding-bottom: 4px; }
.uc-alerta { padding: 14px 18px; border-radius: 14px; font-weight: 700; border: 1px solid; }
.uc-alerta--ok { background: var(--okBg); color: var(--ok); border-color: rgba(28,110,69,.25); }
.uc-alerta--erro { background: var(--faltaBg); color: var(--falta); border-color: rgba(156,53,16,.25); }
.uc-faixa { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; background: #fff; border: 1px solid rgba(20,174,226,.4); border-radius: 18px; padding: 16px 20px; margin-bottom: 24px; color: var(--txtL); }
.uc-faixa > span { display: flex; align-items: center; gap: 10px; }
.uc-faixa--info { background: #EEF5FC; border-color: rgba(0,112,192,.25); margin: 16px 0 0; }

/* ---------------- Turmas (matrícula) ---------------- */
.uc-turmas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 380px)); justify-content: center; gap: 20px; margin-top: 44px; }
.uc-claro .uc-turmas:first-child { margin-top: 0; }
.uc-turma { background: #fff; border: 1px solid var(--lineL); border-radius: 22px; padding: 26px; display: flex; flex-direction: column; gap: 10px; transition: transform .35s, box-shadow .35s; color: var(--txtL); }
.uc-turma:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -16px rgba(15,35,65,.2); }
.uc-turma__topo { display: flex; gap: 8px; flex-wrap: wrap; }
.uc-turma h3 { font-size: 26px; font-weight: 900; color: var(--ink); line-height: 1.15; margin-top: 4px; }
.uc-turma__nome { color: var(--muteL); font-weight: 700; }
.uc-turma__info { list-style: none; margin: 6px 0; padding: 0; display: grid; gap: 8px; }
.uc-turma__info li { display: flex; gap: 10px; align-items: flex-start; color: var(--muteL); }
.uc-turma__info svg { color: var(--azul); flex: none; margin-top: 3px; }
.uc-turma__prazo { color: var(--txtL); margin-bottom: 6px; }
.uc-turma .uc-btn, .uc-turma form { margin-top: auto; }
.uc-turma form .uc-btn { width: 100%; }
.uc-turma__nota { font-size: 15px; color: var(--muteL); text-align: center; }
.uc-turma__nota a { color: var(--azul); font-weight: 800; text-decoration: underline; }
.uc-turma__bloq svg, .uc-regras svg, .uc-turma__info svg { flex: none; }
.uc-turma__bloq { display: flex; gap: 10px; align-items: flex-start; margin-top: auto; background: #F4F6FA; border-radius: 14px; padding: 14px; color: var(--muteL); font-weight: 600; }
.uc-regras { margin-top: 44px; background: #fff; border: 1px solid var(--lineL); border-radius: 22px; padding: 28px; }
.uc-regras ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.uc-regras li { display: flex; gap: 12px; color: var(--muteL); }
.uc-regras svg { color: var(--ok); flex: none; margin-top: 4px; }

/* ---------------- Trilha de cursos ---------------- */
.uc-trilha { list-style: none; margin: 48px auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; counter-reset: passo; }
.uc-passo { position: relative; display: flex; gap: 16px; background: #fff; border: 1px solid var(--lineL); border-radius: 22px; padding: 24px; transition: transform .35s, box-shadow .35s, border-color .35s; }
.uc-passo:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -16px rgba(15,35,65,.18); border-color: rgba(0,112,192,.35); }
.uc-passo__n { flex: none; width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; font-size: 20px; font-weight: 900; color: #fff; background: linear-gradient(135deg, var(--ceu), var(--azul)); box-shadow: 0 10px 20px -8px rgba(0,112,192,.6); }
.uc-passo h3 { font-size: 20px; font-weight: 900; color: var(--ink); }
.uc-passo p { color: var(--muteL); font-size: 15.5px; margin-top: 4px; }
.uc-passo small { display: block; margin-top: 10px; font-size: 13.5px; font-weight: 800; color: var(--azul); }
.uc-cursos { display: grid; gap: 18px; }
.uc-curso { display: flex; gap: 22px; background: #fff; border: 1px solid var(--lineL); border-radius: 24px; padding: 30px; scroll-margin-top: 100px; }
.uc-curso:target { border-color: var(--ceu); box-shadow: 0 0 0 4px rgba(20,174,226,.15); }
.uc-curso__n { flex: none; width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; font-size: 28px; font-weight: 900; color: #fff; background: linear-gradient(135deg, var(--ceu), var(--azul)); }
.uc-curso__bd { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; flex: 1; min-width: 0; }
.uc-curso h2 { font-size: 26px; font-weight: 900; color: var(--ink); }
.uc-curso__txt { color: var(--muteL); }
.uc-curso__tags { display: flex; gap: 8px; flex-wrap: wrap; }

/* Como funciona */
.uc-como { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 48px; }
.uc-como__it { border: 1px solid var(--line); background: var(--ink2); border-radius: 22px; padding: 26px; display: flex; flex-direction: column; gap: 10px; transition: transform .35s, border-color .35s; }
.uc-como__it:hover { transform: translateY(-4px); border-color: rgba(20,174,226,.4); }
.uc-como__it h3 { font-size: 19px; font-weight: 900; color: #fff; }
.uc-como__it p { color: var(--mute); font-size: 15.5px; }

/* ---------------- Vídeos ---------------- */
.uc-temas { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
.uc-temas a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 999px; background: #fff; border: 1px solid #DCE4EE; color: var(--txtL); font-weight: 700; transition: border-color .2s, color .2s, transform .2s; }
.uc-temas a:hover { border-color: var(--azul); color: var(--azul); transform: translateY(-1px); }
.uc-temas .uc-temas__pod { background: var(--ink); color: #fff; border-color: var(--ink); }
.uc-temas .uc-temas__pod:hover { color: var(--ceu2); }
.uc-videos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 28px; }
.uc-videos--3 { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
.uc-video { position: relative; border-radius: 18px; overflow: hidden; background: #fff; border: 1px solid var(--lineL); display: flex; flex-direction: column; transition: transform .35s, box-shadow .35s; color: var(--txtL); }
.uc-video:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -16px rgba(15,35,65,.22); }
.uc-video__img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); display: block; }
.uc-video__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s, opacity .3s; opacity: .92; }
.uc-video:hover .uc-video__img img { transform: scale(1.05); opacity: 1; }
.uc-video__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: rgba(11,26,46,.55); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.3); color: #fff; transition: transform .3s, background .3s; }
.uc-video:hover .uc-video__play { transform: translate(-50%, -50%) scale(1.08); background: var(--azul); }
.uc-video__corpo { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 4px; }
.uc-video__corpo strong { font-size: 16px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.uc-video__corpo small { color: var(--muteL); font-size: 14px; }
.uc-pod { margin-top: 28px; display: grid; grid-template-columns: 300px 1fr; gap: 0; background: var(--ink); color: #fff; border-radius: 24px; overflow: hidden; transition: transform .35s, box-shadow .35s; }
.uc-pod:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -24px rgba(0,112,192,.5); }
.uc-pod img { width: 100%; height: 100%; object-fit: cover; }
.uc-pod__bd { padding: 28px 32px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.uc-pod__bd strong { font-size: 23px; line-height: 1.25; font-weight: 900; }
.uc-pod__bd .uc-eyebrow { margin: 0; color: var(--ceu2); }
.uc-pod__ouvir { display: inline-flex; align-items: center; gap: 8px; color: var(--ceu2); font-weight: 800; margin-top: 6px; }
.uc-aviso { padding: 14px 0; border-top: 1px solid var(--line); }
.uc-aviso:first-of-type { border-top: 0; padding-top: 0; }
.uc-aviso strong { color: #fff; }
.uc-aviso small { color: var(--mute); }

/* Busca e filtros (estudos gerais) */
.uc-busca { display: flex; align-items: center; gap: 10px; margin-top: 28px; max-width: 680px; background: #fff; border-radius: 999px; padding: 6px 6px 6px 20px; box-shadow: 0 20px 40px -20px rgba(0,0,0,.6); color: var(--muteL); }
.uc-busca input { flex: 1; min-width: 0; border: 0; outline: none; font-size: 17px; padding: 10px 0; color: var(--txtL); background: transparent; }
.uc-busca button { border: 0; background: var(--azul); color: #fff; font-weight: 800; border-radius: 999px; padding: 12px 22px; cursor: pointer; min-height: 44px; }
.uc-busca button:hover { background: var(--navy); }
.uc-estudos { display: grid; grid-template-columns: 290px 1fr; gap: 28px; align-items: start; }
.uc-filtros { position: sticky; top: 96px; }
.uc-filtros__caixa { background: #fff; border: 1px solid var(--lineL); border-radius: 20px; padding: 20px; }
.uc-filtros__caixa > summary { display: flex; align-items: center; gap: 10px; font-weight: 900; font-size: 17px; cursor: pointer; list-style: none; color: var(--ink); min-height: 28px; }
.uc-filtros__caixa > summary svg { color: var(--azul); }
.uc-colecoes > summary { cursor: pointer; list-style: none; }
.uc-colecoes > summary::-webkit-details-marker { display: none; }
.uc-colecoes > summary::after { content: ' +'; }
.uc-colecoes[open] > summary::after { content: ' –'; }
.uc-filtros__caixa > summary::-webkit-details-marker { display: none; }
.uc-filtros__tit { font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 900; color: var(--azul); margin: 18px 0 10px !important; }
.uc-pilulas { display: flex; flex-wrap: wrap; gap: 8px; }
.uc-pilulas a { padding: 8px 13px; border-radius: 999px; background: #F1F5FA; color: var(--txtL); font-weight: 700; font-size: 15px; transition: background .2s, color .2s; }
.uc-pilulas a small { color: var(--muteL); font-size: 12.5px; }
.uc-pilulas a:hover { background: #E3F2FB; color: var(--azul); }
.uc-pilulas a[aria-current] { background: var(--navy); color: #fff; }
.uc-pilulas a[aria-current] small { color: #C9D6E6; }
.uc-pilulas--lista { flex-direction: column; gap: 4px; }
.uc-pilulas--lista a { border-radius: 10px; }
.uc-estudos__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; color: var(--muteL); }
.uc-ordem { display: flex; gap: 4px; background: #fff; border: 1px solid var(--lineL); border-radius: 999px; padding: 4px; }
.uc-ordem a { padding: 8px 14px; border-radius: 999px; font-weight: 700; font-size: 14.5px; color: var(--muteL); }
.uc-ordem a[aria-current] { background: var(--ink); color: #fff; }
.uc-limpar { margin: -6px 0 16px !important; }
.uc-limpar a { color: var(--azul); font-weight: 800; }
.uc-paginas { display: flex; justify-content: center; gap: 6px; margin-top: 32px; flex-wrap: wrap; }
.uc-paginas a, .uc-paginas span { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: #fff; border: 1px solid var(--lineL); font-weight: 800; color: var(--txtL); padding: 0 10px; }
.uc-paginas a[aria-current] { background: var(--azul); color: #fff; border-color: var(--azul); }
.uc-assistir { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; align-items: start; }
.uc-assistir__info { display: flex; flex-direction: column; gap: 10px; }
.uc-assistir__info .uc-h2 { font-size: clamp(22px, 2.6vw, 30px); }
.uc-assistir__rel { grid-column: 1 / -1; margin-top: 12px; }
.uc-videos--4 { margin-top: 0; }
.uc-temas--claro { margin-top: 4px; }
.uc-temas--claro a { padding: 7px 13px; font-size: 14.5px; }
.uc-desc { background: #fff; border: 1px solid var(--lineL); border-radius: 14px; padding: 12px 16px; }
.uc-desc summary { cursor: pointer; font-weight: 800; color: var(--azul); }
.uc-desc div { margin-top: 10px; color: var(--muteL); font-size: 15.5px; max-height: 340px; overflow-y: auto; overflow-wrap: anywhere; }
.uc-desc a { color: var(--azul); text-decoration: underline; }

/* ---------------- Área do aluno ---------------- */
.uc-resumo { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 30px; }
.uc-resumo__card { background: rgba(16,35,60,.75); border: 1px solid var(--line); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.uc-resumo__card small { color: var(--mute); font-size: 14.5px; }
.uc-resumo__card strong { color: #fff; font-size: 19px; line-height: 1.25; }
.uc-resumo__card--vivo { background: linear-gradient(180deg, rgba(20,174,226,.16), rgba(20,174,226,.03)); border-color: rgba(20,174,226,.4); }
.uc-resumo__card--vivo .uc-btn { margin-top: 6px; padding: 13px 22px; }
.uc-resumo__rot { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ceu2); }
.uc-resumo__num { color: var(--mute); }
.uc-resumo__num b { font-size: 40px; font-weight: 900; color: #fff; line-height: 1; margin-right: 6px; }
.uc-bolinhas { display: flex; gap: 8px; }
.uc-bolinhas span { width: 26px; height: 26px; border-radius: 50%; border: 3px solid #3A5578; }
.uc-bolinhas span.on { background: #F28A54; border-color: #F28A54; }
.uc-barra { width: 100%; height: 12px; background: rgba(255,255,255,.1); border-radius: 999px; overflow: hidden; }
.uc-barra span { display: block; height: 100%; background: linear-gradient(90deg, var(--azul), var(--ceu)); border-radius: 999px; transition: width .6s; }
.uc-claro .uc-barra { background: #E5ECF4; }
.uc-barra--grande { height: 16px; }
.uc-area { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: start; }
.uc-area__corpo { min-width: 0; }
.uc-abas { display: flex; flex-direction: column; gap: 4px; background: #fff; border: 1px solid var(--lineL); border-radius: 20px; padding: 10px; position: sticky; top: 96px; }
.uc-abas a { display: flex; align-items: center; gap: 10px; padding: 13px 14px; border-radius: 12px; font-weight: 800; color: var(--muteL); transition: background .2s, color .2s; }
.uc-abas a:hover { background: #F1F5FA; color: var(--ink); }
.uc-abas a[aria-current] { background: #E3F2FB; color: var(--navy); }
.uc-abas--linha { position: static; flex-direction: row; flex-wrap: wrap; margin-bottom: 22px; }
.uc-aula-linha { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid #EDF1F6; }
.uc-h3 + .uc-aula-linha, .uc-mudo + .uc-aula-linha { border-top: 0; }
.uc-aula-linha__n { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #EEF3F9; color: var(--navy); font-weight: 900; }
.uc-aula-linha__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.uc-aula-linha__bd strong { color: var(--ink); }
.uc-aula-linha__bd small { color: var(--muteL); font-size: 14.5px; }
.uc-prazo { display: inline-flex; align-items: center; gap: 6px; color: var(--aviso) !important; font-weight: 700; }
.uc-aula-linha__acao { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.uc-mat-grupo + .uc-mat-grupo { margin-top: 22px; }
.uc-mat-grupo h3 { font-size: 16px; font-weight: 900; color: var(--navy); margin-bottom: 10px; }
.uc-arquivo { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--lineL); border-radius: 14px; margin-top: 8px; transition: border-color .2s, background .2s; color: var(--txtL); }
.uc-arquivo:hover { border-color: var(--azul); background: #F5FAFE; }
.uc-arquivo > svg { transform: rotate(180deg); color: var(--azul); }
.uc-arquivo__ext { flex: none; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: #E3F2FB; color: var(--navy); font-size: 12px; font-weight: 900; }
.uc-arquivo__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.uc-arquivo__bd small { color: var(--muteL); }
.uc-arquivo--mini .uc-arquivo__ext { width: 38px; height: 38px; }
.uc-hist { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 0; border-top: 1px solid #EDF1F6; flex-wrap: wrap; }
.uc-hist small { display: block; color: var(--muteL); }
.uc-hist__acao { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }

/* Fórum e dúvidas */
.uc-novo { border: 1.5px solid rgba(0,112,192,.3); border-radius: 16px; padding: 4px 16px; margin: 16px 0; background: #F7FBFE; }
.uc-novo > summary { cursor: pointer; font-weight: 900; color: var(--azul); display: flex; align-items: center; gap: 8px; padding: 12px 0; list-style: none; }
.uc-novo > summary::-webkit-details-marker { display: none; }
.uc-novo .uc-form { padding-bottom: 16px; }
.uc-topico { border: 1px solid var(--lineL); border-radius: 16px; margin-top: 12px; overflow: hidden; }
.uc-topico > summary { display: flex; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; list-style: none; transition: background .2s; }
.uc-topico > summary::-webkit-details-marker { display: none; }
.uc-topico > summary:hover { background: #F7F9FC; }
.uc-topico__bd { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.uc-topico__bd strong { color: var(--ink); }
.uc-topico__bd small, .uc-topico__n { color: var(--muteL); font-size: 14px; }
.uc-topico__n { display: flex; gap: 8px; align-items: center; white-space: nowrap; }
.uc-topico__corpo { padding: 0 16px 16px; border-top: 1px solid #EDF1F6; }
.uc-msg { padding: 14px 0; color: var(--txtL); }
.uc-resp { margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: #F4F7FB; }
.uc-resp--prof { background: #E3F2FB; border-left: 4px solid var(--azul); }
.uc-resp small { color: var(--muteL); }
.uc-resp p { margin-top: 4px !important; }
.uc-form--resp { margin-top: 12px; display: flex; gap: 10px; align-items: flex-end; }
.uc-form--resp textarea { flex: 1; }

/* ---------------- Formulários ---------------- */
.uc-form { display: flex; flex-direction: column; gap: 16px; }
.uc-campo { display: flex; flex-direction: column; gap: 6px; }
.uc-campo label { font-weight: 800; color: var(--txtL); display: flex; align-items: center; gap: 8px; }
.uc-campo small { color: var(--muteL); font-size: 14.5px; }
.uc input[type=text], .uc input[type=email], .uc input[type=password], .uc input[type=tel], .uc input[type=url], .uc input[type=date], .uc input[type=time], .uc input[type=search], .uc select, .uc textarea { width: 100%; border: 1.5px solid #C9D4E1; border-radius: 12px; padding: 13px 15px; font-size: 17px; color: var(--txtL); background: #fff; transition: border-color .2s, box-shadow .2s; min-height: 50px; }
.uc input:focus, .uc select:focus, .uc textarea:focus { outline: none; border-color: var(--azul); box-shadow: 0 0 0 4px rgba(0,112,192,.15); }
.uc textarea { resize: vertical; min-height: 96px; }
.uc .uc-busca input { border: 0; min-height: 0; padding: 10px 0; box-shadow: none; }
.uc-grade2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.uc-check { display: flex; gap: 12px; align-items: flex-start; color: var(--muteL); font-size: 15.5px; cursor: pointer; }
.uc-check input { width: 22px; height: 22px; margin-top: 2px; flex: none; accent-color: var(--azul); }
.uc-check a { color: var(--azul); text-decoration: underline; }
.uc-senha { position: relative; }
.uc-senha input { padding-right: 96px; }
.uc-senha__ver { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: #EEF3F9; color: var(--navy); font-weight: 800; border-radius: 9px; padding: 9px 12px; cursor: pointer; font-size: 14px; }
.uc-passo-n { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; background: var(--azul); color: #fff; font-size: 14px; font-weight: 900; }
.uc-link-cancelar { color: var(--muteL); text-decoration: underline; font-weight: 700; align-self: flex-start; }
.uc-arquivo-campo input[type=file] { padding: 14px; border: 2px dashed #C9D4E1; border-radius: 14px; background: #F7F9FC; cursor: pointer; }
.uc-troca-turma { display: flex; align-items: center; gap: 10px; }
.uc-troca-turma label { color: var(--mute); font-weight: 700; }
.uc-troca-turma select { min-width: 240px; }

/* Entrar / cadastro */
.uc-auth { position: relative; overflow: hidden; padding: 64px 20px 96px; display: flex; justify-content: center; }
.uc-auth__card { position: relative; z-index: 1; width: 100%; max-width: 460px; background: #fff; color: var(--txtL); border-radius: 28px; padding: 36px; box-shadow: 0 40px 80px -30px rgba(0,0,0,.7); display: flex; flex-direction: column; gap: 14px; }
.uc-auth__card--largo { max-width: 600px; }
.uc-auth__card h1 { font-size: 32px; font-weight: 900; color: var(--ink); }
.uc-auth__card .uc-lead { color: var(--muteL); margin-bottom: 6px; }
.uc-auth__links { text-align: center; color: var(--muteL); }
.uc-auth__links a { color: var(--azul); font-weight: 800; text-decoration: underline; }
.uc-auth__div { display: flex; align-items: center; gap: 12px; color: var(--muteL); font-size: 15px; margin-top: 4px; }
.uc-auth__div::before, .uc-auth__div::after { content: ""; flex: 1; height: 1px; background: #E2E8F0; }

/* ---------------- Tela da aula ---------------- */
.uc-aula-topo { position: relative; padding: 36px 0 34px; background: radial-gradient(ellipse 70% 120% at 85% 0%, rgba(20,174,226,.14), transparent 60%), var(--ink); }
.uc-aula-topo h1 { font-size: clamp(28px, 3.6vw, 42px); font-weight: 900; color: #fff; line-height: 1.15; }
.uc-aula-topo__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: var(--mute); margin-top: 10px !important; }
.uc-voltar { display: table; color: var(--ceu2) !important; font-weight: 800; margin-bottom: 16px; padding: 6px 0; }
.uc-claro .uc-voltar { color: var(--azul) !important; margin-bottom: 0; }
.uc-aula { display: grid; grid-template-columns: 1fr 360px; gap: 28px; align-items: start; }
.uc-aula__principal { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.uc-aula__principal .uc-caixa + .uc-caixa { margin-top: 0; }
.uc-player-caixa { position: relative; aspect-ratio: 16 / 9; background: #050C17; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px -28px rgba(15,35,65,.6); }
.uc-player-caixa iframe, #uc-player { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.uc-player-vazio { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: var(--mute); text-align: center; padding: 20px; }
.uc-player-vazio svg { color: var(--ceu); }
.uc-progresso { background: #fff; border: 1px solid var(--lineL); border-radius: 20px; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.uc-progresso small { color: var(--muteL); }
.uc-progresso__linha { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.uc-progresso[data-estado=ok] .uc-barra span { background: linear-gradient(90deg, #1C6E45, #2FA36A); }
.uc-aula__lado .uc-caixa { padding: 22px; }
.uc-aula__lado .uc-campo label { font-weight: 600; color: var(--muteL); font-size: 15.5px; }
.uc-mini-aula { display: flex; align-items: center; gap: 12px; padding: 10px 10px; border-radius: 12px; color: var(--txtL); transition: background .2s; }
.uc-mini-aula:hover { background: #F1F5FA; }
.uc-mini-aula.is-atual { background: #E3F2FB; }
.uc-mini-aula > span { flex: none; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: #EEF3F9; color: var(--navy); font-weight: 900; font-size: 14px; }
.uc-mini-aula strong { flex: 1; min-width: 0; font-size: 15px; font-weight: 700; }
.uc-ok { color: var(--ok); }
.uc-texto { color: var(--muteL); }

/* ---------------- Painel do professor ---------------- */
.uc-atalhos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 30px; }
.uc-atalho { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 22px; background: rgba(16,35,60,.75); border: 1px solid var(--line); transition: transform .35s, border-color .35s, box-shadow .35s; }
.uc-atalho:hover { transform: translateY(-4px); border-color: rgba(20,174,226,.45); box-shadow: 0 24px 48px -20px rgba(20,174,226,.4); }
.uc-atalho svg { color: var(--ceu); margin-bottom: 6px; }
.uc-atalho b { font-size: 20px; font-weight: 900; color: #fff; }
.uc-atalho small { color: var(--mute); font-size: 15px; }
.uc-atalho--forte { background: linear-gradient(160deg, #1aa6e0, #0060A8); border-color: transparent; }
.uc-atalho--forte svg, .uc-atalho--forte small { color: #E3F5FD; }
.uc-contador { position: absolute; top: 18px; right: 18px; min-width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; background: #F28A54; color: #1B0E05; font-weight: 900; padding: 0 8px; }
.uc-mini-linha { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid #EDF1F6; }
.uc-mini-linha:first-of-type { border-top: 0; }
.uc-mini-linha small { display: block; color: var(--muteL); font-size: 14.5px; }
.uc-mini-linha a { color: var(--azul); font-weight: 700; }
.uc-legenda { display: flex; gap: 18px; flex-wrap: wrap; color: var(--muteL); font-size: 14.5px; margin-bottom: 14px; }
.uc-legenda span { display: inline-flex; align-items: center; gap: 8px; }
.uc-tabela-rolagem { overflow-x: auto; border: 1px solid var(--lineL); border-radius: 16px; }
.uc-freq { width: 100%; border-collapse: collapse; font-size: 15px; }
.uc-freq th, .uc-freq td { padding: 10px 8px; border-bottom: 1px solid #EDF1F6; text-align: center; }
.uc-freq thead th { background: #F4F7FB; color: var(--navy); font-weight: 900; position: sticky; top: 0; }
.uc-freq tbody th { text-align: left; font-weight: 800; color: var(--ink); min-width: 200px; padding-left: 16px; }
.uc-freq tbody th small { display: block; color: var(--muteL); font-weight: 600; font-size: 13px; }
.uc-freq--limite { background: #FFF7F2; }
.uc-freq__n { font-weight: 900; font-size: 17px; }
.uc-q { display: inline-block; width: 30px; height: 30px; border-radius: 9px; border: 0; cursor: pointer; vertical-align: middle; transition: transform .15s; }
button.uc-q:hover { transform: scale(1.12); }
.uc-legenda .uc-q { width: 18px; height: 18px; border-radius: 6px; cursor: default; }
.uc-q--presente { background: #2FA36A; }
.uc-q--falta { background: #E46A33; }
.uc-q--pendente { background: #F5C94C; }
.uc-q--futura { background: #E2E8F0; }

/* ---------------- Certificado ---------------- */
.uc-cert-acoes { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.uc-cert { max-width: 980px; margin: 0 auto; background: #fff; border-radius: 10px; padding: 18px; box-shadow: 0 30px 60px -30px rgba(15,35,65,.35); aspect-ratio: 1.414; }
.uc-cert__borda { height: 100%; border: 3px solid var(--navy); outline: 1px solid var(--ceu); outline-offset: -10px; border-radius: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; padding: 36px 48px; color: var(--txtL); background: radial-gradient(ellipse at top right, rgba(20,174,226,.08), transparent 60%), radial-gradient(ellipse at bottom left, rgba(0,112,192,.07), transparent 60%); }
.uc-cert__logo { height: 70px; width: auto; margin-bottom: 10px; }
.uc-cert__tit { font-size: 15px; letter-spacing: .3em; text-transform: uppercase; font-weight: 900; color: var(--azul); }
.uc-cert__txt { color: var(--muteL); max-width: 620px; }
.uc-cert__nome { font-size: clamp(28px, 4vw, 44px); font-weight: 900; color: var(--ink); line-height: 1.1; }
.uc-cert__curso { font-size: clamp(20px, 2.6vw, 28px); font-weight: 900; color: var(--navy); }
.uc-cert__data { margin-top: 10px !important; color: var(--txtL); font-weight: 700; }
.uc-cert__ass { margin-top: 22px; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.uc-cert__ass span { width: 260px; height: 1px; background: var(--txtL); }
.uc-cert__ass small { color: var(--muteL); }
.uc-cert__cod { margin-top: 8px !important; font-size: 12px; color: var(--muteL); letter-spacing: .06em; }

/* ---------------- Rodapé ---------------- */
.uc-ft { position: relative; overflow: hidden; background: #08131F; border-top: 1px solid var(--line); padding: 64px 0 40px; font-size: 15px; color: #8D9BAE; }
.uc-fcols { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1.4fr; gap: 36px; }
.uc-fbrand img { height: 44px; width: auto; margin-bottom: 18px; }
.uc-fbrand p { margin: 0 0 14px !important; line-height: 1.6; max-width: 320px; }
.uc-fmot { color: #fff; font-weight: 800; font-size: 17px; }
.uc-fh { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ceu); font-weight: 900; margin: 4px 0 14px !important; }
.uc-fcols > div > a { display: block; color: #C5D0DD; padding: 5px 0; transition: color .2s; }
.uc-fcols > div > a:hover { color: #fff; }
.uc-fct { margin: 0 0 12px !important; line-height: 1.5; color: #C5D0DD; }
.uc-fct span { display: block; font-size: 12.5px; color: #6E7E92; }
.uc-fct a { color: #fff; font-weight: 700; }
.uc-soc { display: flex; gap: 8px; margin-top: 6px; }
.uc-soc a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line); color: #D4DEEA; transition: background .2s, color .2s, border-color .2s; }
.uc-soc a:hover { background: var(--azul); color: #fff; border-color: var(--azul); }
.uc-fbot { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px; margin-top: 46px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 13.5px; color: #6E7E92; }
.uc-fbot b { color: #A9B8CC; }

/* ---------------- Animação ao rolar ---------------- */
.uc .rv { opacity: 0; transform: translateY(22px); transition: opacity .9s cubic-bezier(.22, 1, .36, 1), transform .9s cubic-bezier(.22, 1, .36, 1); }
.uc .rv.in, .no-js .uc .rv { opacity: 1; transform: none; }
.uc .d1 { transition-delay: .08s; } .uc .d2 { transition-delay: .16s; } .uc .d3 { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
	.uc-btn--brilho, .uc-btn--marca, .uc-chip, .uc-ring, .uc-pulso { animation: none; }
	.uc .rv { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* ---------------- Celular e tablet ---------------- */
@media (max-width: 1080px) {
	.uc-links, .uc-nav__acoes > .uc-btn, .uc-nav__entrar { display: none; }
	.uc-burger { display: block; }
	.uc-user__nome { display: none; }
	.uc-hero__in { grid-template-columns: 1fr; gap: 64px; }
	.uc-hero { padding-top: 56px; text-align: left; }
	.uc-trilha { grid-template-columns: 1fr 1fr; }
	.uc-como { grid-template-columns: 1fr 1fr; }
	.uc-videos { grid-template-columns: repeat(2, 1fr); }
	.uc-videos--3 { grid-template-columns: repeat(2, 1fr); }
	.uc-fcols { grid-template-columns: 1fr 1fr 1fr; }
	.uc-fbrand { grid-column: 1 / -1; }
	.uc-atalhos { grid-template-columns: 1fr 1fr; }
	.uc-aula { grid-template-columns: 1fr; }
	.uc-estudos { grid-template-columns: 1fr; }
	.uc-filtros { position: static; }
	.uc-assistir { grid-template-columns: 1fr; }
	.uc-area { grid-template-columns: 1fr; }
	.uc-abas { position: static; flex-direction: row; overflow-x: auto; }
	.uc-abas a { white-space: nowrap; }
	.uc-resumo { grid-template-columns: 1fr 1fr; }
	.uc-resumo__card--vivo { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	body.uc-corpo { font-size: 17px; }
	.uc-sec { padding: 64px 0; }
	.uc-sec--curta { padding: 32px 0 64px; }
	.uc-srow { grid-template-columns: 1fr 1fr; }
	.uc-stat:nth-child(3) { border-left: 0; }
	.uc-stat:nth-child(n+3) { border-top: 1px solid var(--line); }
	.uc-trilha, .uc-como, .uc-videos, .uc-videos--3, .uc-duo, .uc-duo--form, .uc-grade2, .uc-resumo { grid-template-columns: 1fr; }
	.uc-videos--4 { grid-template-columns: 1fr 1fr; }
	.uc-ctas .uc-btn { width: 100%; }
	.uc-pod { grid-template-columns: 1fr; }
	.uc-pod img { aspect-ratio: 16 / 9; }
	.uc-chip, .uc-rings { display: none; }
	.uc-turmas { grid-template-columns: 1fr; }
	.uc-vivo { padding: 26px; }
	.uc-fcols { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
	.uc-fcols > div:last-child { grid-column: 1 / -1; }
	.uc-curso { flex-direction: column; padding: 24px; }
	.uc-aula-linha { flex-wrap: wrap; }
	.uc-aula-linha__acao { width: 100%; justify-content: flex-start; padding-left: 56px; }
	.uc-atalhos { grid-template-columns: 1fr 1fr; gap: 12px; }
	.uc-atalho { padding: 18px; }
	.uc-atalho b { font-size: 17px; }
	.uc-auth__card { padding: 28px 22px; }
	.uc-cert { aspect-ratio: auto; }
	.uc-cert__borda { padding: 28px 18px; }
	.uc-form--resp { flex-direction: column; align-items: stretch; }
	.uc-troca-turma { width: 100%; flex-wrap: wrap; }
	.uc-troca-turma select { min-width: 0; }
	.uc-logo img { height: 36px; }
	.uc-busca { padding-left: 14px; }
	.uc-busca button { padding: 12px 16px; }
}
@media (max-width: 420px) {
	.uc-atalho small { display: none; }
	.uc-atalho { padding: 16px; }
	.uc-videos--4 { grid-template-columns: 1fr; }
}

/* ---------------- Impressão (certificado) ---------------- */
@media print {
	@page { size: A4 landscape; margin: 10mm; }
	.uc-nav, .uc-ft, .uc-cert-acoes, .uc-alerta-wrap, #wpadminbar { display: none !important; }
	body.uc-corpo, .uc, .uc-claro { background: #fff !important; }
	.uc-sec { padding: 0 !important; }
	.uc-cert { box-shadow: none; max-width: none; padding: 0; }
	.uc .rv { opacity: 1 !important; transform: none !important; }
}
