/* Empower Club — área de membros (mobile first) */
:root {
	--bg: #F4F5F8;
	--surface: #FFFFFF;
	--surface-2: #F0F2F6;
	--text: #111827;
	--muted: #6B7280;
	--line: #E3E6EC;
	--brand: #0B1220;
	--brand-2: #16213A;
	--accent: #FF5A1F;
	--accent-ink: #FFFFFF;
	--accent-soft: #FFF0E9;
	--ok: #16A34A;
	--ok-soft: #E8F7EE;
	--warn: #B45309;
	--danger: #DC2626;
	--radius: 16px;
	--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 2px 8px rgba(16, 24, 40, .05);
	--tabbar-h: 64px;
	--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--display: "Saira Condensed", "Inter", system-ui, sans-serif;
	color-scheme: light;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--bg: #0A0F1A;
		--surface: #121A2A;
		--surface-2: #1A2336;
		--text: #E8ECF3;
		--muted: #9AA4B5;
		--line: #243049;
		--accent-soft: rgba(255, 90, 31, .14);
		--ok-soft: rgba(22, 163, 74, .16);
		--shadow: none;
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
	--bg: #0A0F1A; --surface: #121A2A; --surface-2: #1A2336; --text: #E8ECF3; --muted: #9AA4B5; --line: #243049;
	--accent-soft: rgba(255, 90, 31, .14); --ok-soft: rgba(22, 163, 74, .16); --shadow: none; color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.ec { margin: 0; font: 400 16px/1.5 var(--font); color: var(--text); background: var(--bg); -webkit-font-smoothing: antialiased; }
.ec a { color: inherit; }
.ec img { max-width: 100%; }
.ec h1, .ec h2, .ec h3, .ec h4 { margin: 0; line-height: 1.2; }
.ec h1 { font: 700 30px/1.1 var(--display); letter-spacing: .2px; }
.ec h2 { font-size: 20px; font-weight: 700; }
.ec h3 { font-size: 17px; font-weight: 700; }
.ec h4 { font-size: 16px; font-weight: 600; }
.ec p { margin: 0; }
.ec-icon { width: 20px; height: 20px; flex: none; vertical-align: -4px; }
.ec-muted { color: var(--muted); font-size: 14px; }
.ec-eyebrow { color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }

/* ---------- Shell ---------- */
.ec-top {
	position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between;
	height: calc(56px + env(safe-area-inset-top)); padding: env(safe-area-inset-top) 16px 0; background: var(--brand); color: #fff;
}
.ec-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #fff !important; font: 600 20px/1 var(--display); letter-spacing: .5px; text-transform: uppercase; }
.ec-brand b { color: var(--accent); }
.ec-main { width: 100%; max-width: 760px; margin: 0 auto; padding: 20px 16px calc(var(--tabbar-h) + 32px + env(safe-area-inset-bottom)); }
.ec--bare .ec-main { padding-bottom: 32px; max-width: 460px; }

.ec-tabbar {
	position: fixed; z-index: 30; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-around;
	height: calc(var(--tabbar-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom);
	background: var(--surface); border-top: 1px solid var(--line);
}
.ec-tabbar a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; text-decoration: none; color: var(--muted); font-size: 11px; font-weight: 600; -webkit-tap-highlight-color: transparent; }
.ec-tabbar a .ec-icon { width: 24px; height: 24px; }
.ec-tabbar a.is-active { color: var(--accent); }
.ec-tabbar a.is-active .ec-icon { stroke-width: 2.3; }

.ec-side { display: none; }
@media (min-width: 960px) {
	.ec-top, .ec-tabbar { display: none; }
	.ec--shell { padding-left: 248px; }
	.ec-side {
		position: fixed; inset: 0 auto 0 0; width: 248px; display: flex; flex-direction: column; gap: 24px;
		padding: 24px 16px; background: var(--brand); color: #C9D1E0;
	}
	.ec-side .ec-brand { padding: 0 8px; }
	.ec-side__nav { display: flex; flex-direction: column; gap: 4px; }
	.ec-side__nav a { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border-radius: 12px; text-decoration: none; font-weight: 500; }
	.ec-side__nav a:hover { background: var(--brand-2); color: #fff; }
	.ec-side__nav a.is-active { background: var(--accent); color: #fff; }
	.ec-side__foot { margin-top: auto; display: flex; flex-direction: column; gap: 10px; }
	.ec-side__me { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; text-decoration: none; color: #fff !important; }
	.ec-side__me:hover, .ec-side__me.is-active { background: var(--brand-2); }
	.ec-side__me small { display: block; color: #8B95A8; font-size: 12px; }
	.ec-side__admin { font-size: 13px; color: #8B95A8 !important; padding: 0 10px; text-decoration: none; }
	.ec-main { padding: 40px 32px 64px; max-width: 980px; }
	.ec h1 { font-size: 38px; }
}

/* ---------- Componentes ---------- */
.ec-card { display: block; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); text-decoration: none; }
a.ec-card:active { transform: scale(.995); }
.ec-card__title { margin-bottom: 12px; }
.ec-card + .ec-card, .ec-card + .ec-block, .ec-block + .ec-block, .ec-card + section, section + .ec-card { margin-top: 14px; }
.ec-list { display: flex; flex-direction: column; gap: 12px; }
.ec-block { margin-top: 28px; }
.ec-block__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.ec-block__head a { color: var(--accent); font-weight: 600; font-size: 14px; text-decoration: none; }

.ec-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 20px;
	border: 0; border-radius: 12px; background: var(--accent); color: var(--accent-ink) !important; font: 600 15px/1 var(--font);
	text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.ec-btn:hover { filter: brightness(1.05); }
.ec-btn--ghost { background: var(--surface-2); color: var(--text) !important; border: 1px solid var(--line); }
.ec-btn--block { width: 100%; }
.ec-btn .ec-icon { width: 18px; height: 18px; }
.ec-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.ec-actions > .ec-btn { flex: 1 1 auto; }
.ec-actions--center { justify-content: center; margin-top: 24px; }
.ec-danger { color: var(--danger) !important; }
.ec-linkbtn { background: none; border: 0; padding: 4px 0; font: 600 13px var(--font); color: var(--muted); cursor: pointer; }

.ec-chip { display: inline-flex; align-items: center; padding: 2px 9px; border-radius: 99px; background: var(--surface-2); color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }
.ec-chip--ok { background: var(--ok-soft); color: var(--ok); }
.ec-tag { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 99px; background: var(--surface-2); color: var(--muted); font-size: 12px; font-weight: 600; }
.ec-tag .ec-icon { width: 13px; height: 13px; }
.ec-tag--comunicacao { background: #FFF0E9; color: #C2410C; }
.ec-tag--network { background: #E8F1FF; color: #1D4ED8; }
.ec-tag--negocios { background: #E8F7EE; color: #15803D; }
.ec-tag--repertorio { background: #F3EBFF; color: #7E22CE; }
.ec-tag--warn { background: #FEF3C7; color: var(--warn); }

.ec-avatar { display: inline-block; flex: none; width: var(--s, 40px); height: var(--s, 40px); border-radius: 50%; object-fit: cover; }
.ec-avatar--initials { display: inline-flex; align-items: center; justify-content: center; background: hsl(var(--h) 55% 45%); color: #fff; font-weight: 700; font-size: calc(var(--s) * .38); }

.ec-toast { position: fixed; z-index: 50; left: 50%; top: calc(68px + env(safe-area-inset-top)); transform: translateX(-50%); padding: 12px 18px; border-radius: 12px; background: var(--ok); color: #fff; font-weight: 600; box-shadow: 0 8px 24px rgba(0,0,0,.18); transition: opacity .4s; max-width: calc(100% - 32px); }
.ec-toast--err { background: var(--danger); }
.ec-toast.is-hidden { opacity: 0; pointer-events: none; }

.ec-back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 14px; color: var(--muted) !important; text-decoration: none; font-weight: 600; font-size: 14px; }
.ec-page-head { margin-bottom: 20px; }
.ec-page-head p { margin-top: 6px; color: var(--muted); }
.ec-page-head--row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ec-empty { text-align: center; color: var(--muted); padding: 28px 18px; }
.ec-banner { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 14px; padding: 14px 16px; border-radius: 14px; background: var(--accent-soft); color: var(--accent) !important; font-weight: 600; text-decoration: none; font-size: 14px; }

/* Início */
.ec-hello { margin: 4px 0 18px; }
.ec-next { background: var(--brand); color: #fff; border: 0; position: relative; overflow: hidden; }
.ec-next::after { content: ""; position: absolute; right: -10px; top: 0; bottom: 0; width: 90px; opacity: .08;
	background: repeating-conic-gradient(#fff 0 25%, transparent 0 50%) 0 0 / 22px 22px; }
.ec-next__label { display: flex; align-items: center; gap: 6px; color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8px; }
.ec-next h2 { color: #fff; }
.ec-next__date { margin-top: 6px; color: #C9D1E0; }
.ec-next .ec-btn--ghost { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.15); color: #fff !important; }
.ec-next--compact { margin-bottom: 16px; }
.ec-countdown { display: flex; gap: 8px; margin-top: 14px; }
.ec-countdown:empty { display: none; }
.ec-countdown div { min-width: 58px; padding: 8px 6px; border-radius: 10px; background: rgba(255,255,255,.08); text-align: center; }
.ec-countdown b { display: block; font: 700 24px/1 var(--display); color: #fff; }
.ec-countdown small { font-size: 11px; color: #9AA4B5; text-transform: uppercase; letter-spacing: .05em; }
.ec-countdown .ec-live { min-width: 0; padding: 8px 12px; background: var(--accent); color: #fff; font-weight: 700; }

.ec-mission__head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.ec-mission__text { margin-top: 10px; color: var(--muted); font-size: 15px; }
.ec-ring { --p: 0; flex: none; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center;
	background: conic-gradient(var(--accent) calc(var(--p) * 1%), var(--surface-2) 0); }
.ec-ring span { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: var(--surface); font-weight: 700; font-size: 14px; }
.ec-ring--sm { width: 52px; height: 52px; }
.ec-ring--sm span { width: 40px; height: 40px; font-size: 12px; }

.ec-laps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 560px) { .ec-laps { grid-template-columns: repeat(12, 1fr); } }
.ec-laps a { display: grid; place-items: center; aspect-ratio: 1; border-radius: 12px; font: 700 18px/1 var(--display); text-decoration: none; background: var(--surface); border: 1px solid var(--line); color: var(--muted); }
.ec-laps .is-open a { border: 2px solid var(--accent); color: var(--accent); }
.ec-laps .is-done a { background: var(--accent); border-color: var(--accent); color: #fff; }

.ec-aviso, .ec-mini-post { display: flex; gap: 12px; align-items: flex-start; }
.ec-aviso { background: var(--accent-soft); border-color: transparent; }
.ec-aviso .ec-icon { color: var(--accent); margin-top: 2px; }
.ec-aviso small { color: var(--muted); font-size: 13px; }
.ec-mini-post > div { flex: 1; min-width: 0; }
.ec-mini-post p { color: var(--muted); font-size: 14px; }

/* Encontros */
.ec-ep { display: flex; align-items: center; gap: 14px; }
.ec-ep > .ec-icon { color: var(--muted); }
.ec-ep__num { flex: none; width: 58px; text-align: center; font: 700 30px/1 var(--display); color: var(--accent); }
.ec-ep__num small { display: block; font: 600 10px var(--font); color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.ec-ep__body { flex: 1; min-width: 0; }
.ec-ep__body h3 { margin: 4px 0 2px; }
.ec-ep__tags { display: flex; gap: 6px; flex-wrap: wrap; }
.ec-ep.is-locked { opacity: .7; }
.ec-ep.is-locked .ec-ep__num { color: var(--muted); }
.ec-bar { height: 6px; margin-top: 10px; border-radius: 99px; background: var(--surface-2); overflow: hidden; }
.ec-bar span { display: block; height: 100%; background: var(--accent); border-radius: inherit; }

.ec-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; background: #000; margin-bottom: 16px; }
.ec-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ec-video-link { display: flex; align-items: center; gap: 10px; font-weight: 600; margin-bottom: 16px; }
.ec-two { display: grid; gap: 14px; }
.ec-two > div, .ec-two > aside { display: flex; flex-direction: column; gap: 14px; }
.ec-two .ec-card + .ec-card, .ec-two .ec-card + section, .ec-two section + .ec-card { margin-top: 0; }
@media (min-width: 960px) { .ec-two { grid-template-columns: 1fr 320px; align-items: start; } .ec-two > aside { position: sticky; top: 24px; } }
.ec-prose { font-size: 16px; line-height: 1.65; }
.ec-prose h3 { margin: 20px 0 8px; }
.ec-prose h3:first-child { margin-top: 0; }
.ec-prose p, .ec-prose ul { margin: 0 0 12px; }
.ec-transcript summary { cursor: pointer; font-weight: 600; }
.ec-transcript .ec-prose { margin-top: 12px; max-height: 60vh; overflow: auto; font-size: 14px; }
.ec-files { list-style: none; margin: 0; padding: 0; }
.ec-files a { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid var(--line); text-decoration: none; font-weight: 500; }
.ec-files li:first-child a { border-top: 0; }
.ec-files .ec-icon { color: var(--accent); }

/* Formulários */
.ec-field { display: block; margin-top: 14px; }
.ec-field > span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--muted); }
.ec-field > h4 { margin-bottom: 10px; }
.ec input[type=text], .ec input[type=email], .ec input[type=password], .ec input[type=tel], .ec input[type=date], .ec input[type=search], .ec select, .ec textarea {
	width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px;
	background: var(--surface); color: var(--text); font: 400 16px/1.45 var(--font); /* 16px evita zoom no iOS */
	-webkit-appearance: none; appearance: none;
}
.ec select { background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 36px; }
.ec textarea { resize: vertical; min-height: 80px; }
.ec input:focus, .ec select:focus, .ec textarea:focus { outline: 2px solid var(--accent); outline-offset: 0; border-color: transparent; }
.ec-check { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: 14px; cursor: pointer; }
.ec-check input { width: 20px; height: 20px; accent-color: var(--accent); }
.ec-grid-2 { display: grid; gap: 0 12px; }
@media (min-width: 600px) { .ec-grid-2 { grid-template-columns: 1fr 1fr; } }
.ec-form .ec-btn--block { margin-top: 20px; }
.ec-photo { display: flex; align-items: center; gap: 16px; }

/* Jornada */
.ec-section { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 12px; box-shadow: var(--shadow); }
.ec-section > summary { display: flex; align-items: center; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
.ec-section > summary::-webkit-details-marker { display: none; }
.ec-section__num { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font-weight: 700; font-size: 14px; }
.ec-section__title { flex: 1; font-weight: 700; font-size: 16px; }
.ec-section__body { padding: 0 18px 18px; }
.ec-intro { margin-bottom: 14px; color: var(--muted); font-size: 14px; padding: 12px 14px; background: var(--surface-2); border-radius: 12px; }
.ec-q { padding: 16px; background: var(--bg); box-shadow: none; }
.ec-q + .ec-q { margin-top: 12px; }
.ec-q > h4 { display: flex; align-items: center; gap: 8px; }
.ec-hint { color: var(--muted); font-size: 13px; margin-top: 2px; }
.ec-q > textarea { margin-top: 10px; }
.ec-answer { padding: 10px 12px; border-radius: 10px; background: var(--surface); border: 1px solid var(--line); font-size: 15px; white-space: normal; }
.ec-history { margin-top: 12px; font-size: 14px; }
.ec-history summary { cursor: pointer; color: var(--accent); font-weight: 600; }
.ec-history__item { margin-top: 10px; padding: 10px 12px; border-left: 3px solid var(--line); }
.ec-history__item p { margin-top: 4px; color: var(--muted); }

.ec-fb { padding: 16px; border-radius: 14px; background: var(--bg); border: 1px solid var(--line); }
.ec-fb + .ec-fb { margin-top: 12px; }
.ec-fb__head { font-weight: 700; color: var(--accent); }
.ec-ratings { margin-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.ec-ratings__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.ec-ratings__row > span { font-size: 14px; font-weight: 600; }
.ec-rating { display: flex; gap: 6px; }
.ec-rating input { position: absolute; opacity: 0; pointer-events: none; }
.ec-rating label { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); font-weight: 700; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ec-rating input:checked + label { background: var(--accent); border-color: var(--accent); color: #fff; }
.ec-rating input:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 2px; }
.ec-rating input:disabled + label { cursor: default; }
[data-fb-add] { margin-top: 12px; width: 100%; }

.ec-savebar {
	position: sticky; z-index: 15; bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 8px);
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; padding: 10px;
	background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 28px rgba(0,0,0,.12);
}
.ec-savebar__status { flex: 1 1 100%; font-size: 12px; color: var(--muted); text-align: center; }
.ec-savebar .ec-btn { flex: 1; }
.ec-savebar.is-dirty .ec-savebar__status { color: var(--accent); font-weight: 600; }
@media (min-width: 960px) { .ec-savebar { bottom: 16px; } .ec-savebar__status { flex: 1; text-align: left; } .ec-savebar .ec-btn { flex: none; } }

.ec-notes { margin-bottom: 16px; border-left: 4px solid var(--accent); }
.ec-note { display: flex; gap: 10px; margin-top: 12px; }
.ec-note p { margin-top: 4px; }
.ec-note-form { margin-top: 14px; display: flex; flex-direction: column; gap: 10px; }

/* Comunidade */
.ec-segment { display: inline-flex; margin-top: 14px; padding: 4px; border-radius: 12px; background: var(--surface-2); }
.ec-segment a { padding: 9px 16px; border-radius: 9px; text-decoration: none; font-weight: 600; font-size: 14px; color: var(--muted); }
.ec-segment a.is-active { background: var(--surface); color: var(--text); box-shadow: var(--shadow); }
.ec-composer { margin-bottom: 16px; }
.ec-composer__row { display: flex; gap: 12px; align-items: flex-start; }
.ec-composer__row textarea { min-height: 48px; }
.ec-composer__foot { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 10px; }
.ec-composer__foot .ec-check { margin: 0 auto 0 0; }
.ec-post { margin-bottom: 12px; }
.ec-post.is-pinned { border-color: var(--accent); }
.ec-post__head { display: flex; gap: 12px; align-items: center; }
.ec-post__head small { display: block; }
.ec-post__body { margin-top: 12px; overflow-wrap: anywhere; }
.ec-post__body p + p { margin-top: 8px; }
.ec-post__body a { color: var(--accent); }
.ec-post__foot { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; font-weight: 600; }
.ec-post__foot a { text-decoration: none; color: var(--muted); }
.ec-post__tools { display: flex; gap: 16px; }
.ec-comments h3 { margin: 20px 0 12px; }
.ec-comment { display: flex; gap: 10px; margin-bottom: 12px; }
.ec-comment__bubble { flex: 1; min-width: 0; padding: 10px 14px; border-radius: 4px 16px 16px 16px; background: var(--surface); border: 1px solid var(--line); overflow-wrap: anywhere; }
.ec-comment__bubble p { margin-top: 4px; }
.ec-pager { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; }

.ec-filters { display: flex; gap: 8px; margin-bottom: 14px; }
.ec-filters input { flex: 1.3; }
.ec-filters select { flex: 1; }
.ec-people { display: grid; gap: 12px; }
@media (min-width: 700px) { .ec-people { grid-template-columns: 1fr 1fr; } }
.ec-person__head { display: flex; gap: 14px; align-items: center; }
.ec-person__head h3 { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ec-person__head .ec-icon { width: 14px; height: 14px; }
.ec-person > p { margin-top: 10px; font-size: 14px; }
.ec-mantra { margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--accent); background: var(--surface-2); border-radius: 0 10px 10px 0; font-size: 14px; font-style: italic; }
.ec-person__links { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 12px; font-size: 14px; font-weight: 600; }
.ec-person__links a { display: inline-flex; gap: 6px; align-items: center; color: var(--accent); text-decoration: none; }
.ec-person--big { margin-bottom: 16px; }
.ec-person--big h1 { font-size: 26px; }

.ec-student { display: flex; align-items: center; gap: 12px; }
.ec-student__body { flex: 1; min-width: 0; }
.ec-student__bars { display: flex; gap: 4px; margin-top: 8px; height: 28px; align-items: flex-end; }
.ec-mini { width: 14px; height: 100%; border-radius: 4px; background: var(--surface-2); display: flex; align-items: flex-end; overflow: hidden; }
.ec-mini i { display: block; width: 100%; background: var(--accent); opacity: .55; }
.ec-mini.is-sent i { opacity: 1; }

/* Login */
.ec-auth { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: 24px 0; }
body.ec--bare { background: var(--brand); }
.ec-auth__hero { text-align: center; color: #fff; }
.ec-auth__hero h1 { margin-top: 12px; font: 700 34px/1 var(--display); text-transform: uppercase; letter-spacing: 1px; color: #fff; }
.ec-auth__hero h1 b { color: var(--accent); }
.ec-auth__hero p { margin: 10px auto 0; max-width: 320px; color: #9AA4B5; font-size: 14px; }
.ec-auth__form { padding: 24px; }
.ec-auth__form h2 { margin-bottom: 4px; }
.ec-auth__form .ec-btn { margin-top: 20px; }
.ec-link-muted { display: block; margin-top: 16px; text-align: center; font-size: 14px; color: var(--muted) !important; }
.ec-center { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ec-center > .ec-icon { width: 40px; height: 40px; color: var(--accent); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
.ec-big-emoji { font-size: 44px; line-height: 1; }
.ec-auth__form > p { margin-top: 6px; }
.ec-video video { position: absolute; inset: 0; width: 100%; height: 100%; background: #000; }
.ec-transcript__search { margin-top: 12px; }
.ec-transcript__body { margin-top: 12px; max-height: 60vh; overflow: auto; font-size: 14px; line-height: 1.6; }
.ec-transcript__body p { margin: 0 0 10px; }
.ec-transcript__body p.is-hidden { display: none; }
.ec-ts { display: inline-block; min-width: 62px; color: var(--muted); font-variant-numeric: tabular-nums; font-size: 12px; }
.ec-transcript__body mark { background: var(--accent-soft); color: inherit; padding: 0 2px; border-radius: 3px; }
/* Assinatura */
.ec-sell { gap: 14px; }
.ec-sell .ec-card + .ec-card { margin-top: 0; }
.ec-sell__note { background: var(--accent-soft); border-color: transparent; color: var(--accent); font-weight: 600; text-align: center; }
.ec-checks { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ec-checks li { position: relative; padding-left: 28px; font-size: 15px; }
.ec-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--ok-soft); color: var(--ok); font-size: 12px; font-weight: 700; display: grid; place-items: center; }
.ec-plans { border: 0; margin: 0 0 4px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ec-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ec-plan input { position: absolute; opacity: 0; }
.ec-plan__box { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 16px; border: 2px solid var(--line); border-radius: 14px; cursor: pointer; }
.ec-plan__box strong { font: 700 24px/1.1 var(--display); }
.ec-plan__box small { color: var(--muted); font-size: 13px; }
.ec-plan input:checked + .ec-plan__box { border-color: var(--accent); background: var(--accent-soft); }
.ec-plan input:focus-visible + .ec-plan__box { outline: 2px solid var(--accent); outline-offset: 2px; }
.ec-plan__tag { align-self: flex-start; padding: 2px 8px; border-radius: 99px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ec-center-text { text-align: center; margin-top: 12px; font-size: 12px; }
.ec-link-light { color: #9AA4B5 !important; }
.ec-sub { margin-top: 14px; }
.ec-sub form { margin-top: 12px; }
