/* ============================================================
   Tema premium (fase 1: fundação). EM TESTE, só vale com html.premium.
   Regra de ouro: toda regra abaixo começa com "html.premium", exceto @font-face.
   Sem essa classe nada aqui altera o site (tools/premium_conferir.py confere isso).
   Mantém: fundo preto, caixas cinza, cores dos flashcards e das apostilas.
   Muda: cor de destaque (lavanda do logo), tipografia, superfícies, menu, botões.
   ============================================================ */

@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500 800; font-display: swap; src: url(../fonts/montserrat-latin.woff2) format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-latin.woff2) format('woff2'); }

/* ---------- Tokens ---------- */
html.premium {
  --p-bg: #08080A;
  --p-s1: #111114;
  --p-s2: #17171B;
  --p-s3: #1E1E23;
  --p-line: rgba(255,255,255,.08);
  --p-line-2: rgba(255,255,255,.14);
  --p-tx: #F2F2F5;
  --p-tx2: #B4B4BF;
  --p-tx3: #83838F;
  --p-ac: #B087F7;
  --p-ac-hi: #C7ADFB;
  --p-ac-lo: #8F63E8;
  --p-ac-soft: rgba(176,135,247,.10);
  --p-ac-line: rgba(176,135,247,.38);
  --p-fh: 'Montserrat', 'Segoe UI', system-ui, sans-serif;
  --p-fb: 'Inter', 'Segoe UI', system-ui, sans-serif;

  /* remapeia as variáveis que o resto do app já usa: o visual todo acompanha */
  --bg: var(--p-bg); --bg-2: #0B0B0E; --side: #0B0B0E;
  --panel: var(--p-s1); --panel-2: var(--p-s2);
  --line: var(--p-line); --line-2: var(--p-line-2);
  --text: var(--p-tx); --muted: var(--p-tx2); --gray-hi: #D6D6DE;
  --mg: var(--p-ac); --mg-2: var(--p-ac-lo); --mg-3: #4B3391; --mg-hi: var(--p-ac-hi);
  --vio: var(--p-ac-lo);
  --mg-soft: var(--p-ac-soft); --mg-line: var(--p-ac-line);
  --edge: var(--p-line-2); --edge-strong: var(--p-ac-line);
  --grad-edge: linear-gradient(var(--p-line-2), var(--p-line-2));
  --grad-line: linear-gradient(90deg, transparent, var(--p-line-2), transparent);
  --glow: 0 0 0 transparent; --glow-soft: 0 0 0 1px var(--p-ac-line);
  --lift: none; --shadow: none;
}

/* ---------- Base ---------- */
html.premium body { background: var(--p-bg); background-attachment: scroll; font-family: var(--p-fb); font-size: 15px; line-height: 1.6; color: var(--p-tx); -webkit-font-smoothing: antialiased; }
html.premium body::before, html.premium body::after { display: none !important; }
html.premium ::selection { background: rgba(176,135,247,.35); color: #fff; }
html.premium .fc-stage ::selection { background: rgba(200,62,250,.45); color: #fff; }
/* Cartão do flashcard: NÃO recebe nada do tema novo (pedido do usuário). Restaura o que herdaria do corpo da página. */
html.premium .fc-stage { font-size: 16px; line-height: 1.55; -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; }
html.premium :focus-visible:not(.fc-stage *) { outline: 2px solid var(--p-ac); outline-offset: 2px; }
html.premium h1, html.premium h2, html.premium h3 { font-family: var(--p-fh); letter-spacing: -.005em; }
html.premium .tbl td.num, html.premium .kpi b, html.premium .dash-kpi b, html.premium .rk-num b, html.premium .prog small { font-variant-numeric: tabular-nums; }

/* ---------- Menu lateral ---------- */
html.premium .sidebar { background: #0B0B0E; border-right: 1px solid var(--p-line); box-shadow: none; }
html.premium .sidebar::after { display: none; }
html.premium .sb-brand { padding: 22px 18px 18px; border-bottom: 1px solid var(--p-line); }
html.premium .sb-brand::after, html.premium .sb-foot::before { display: none; }
html.premium .sb-foot { border-top: 1px solid var(--p-line); }
html.premium .sb-mini-btn { display: none !important; }
html.premium body.sb-mini { --sb-w: 300px; }
html.premium body.sb-mini .sidebar { width: 300px; }
html.premium body.sb-mini .brand-name, html.premium body.sb-mini .sb-lbl { display: flex; }

/* marca: monograma DF + nome em duas linhas, como no logo */
html.premium .brand { gap: 12px; align-items: center; }
html.premium .brand::before { content: ""; flex: none; width: 52px; height: 27px; background: url(../icons/marca/df-mono-escuro.png) center / contain no-repeat; }
html.premium .brand-name { display: flex; flex-direction: column; gap: 6px; font-family: var(--p-fh); font-weight: 800; font-size: 1.02rem; line-height: 1; letter-spacing: .03em; color: #F4F4F8; }
html.premium .brand-name em { display: flex; align-items: center; gap: 7px; font-style: normal; font-weight: 600; font-size: .5rem; letter-spacing: .42em; color: var(--p-ac); background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; text-shadow: none; }
html.premium .brand-name em::before, html.premium .brand-name em::after { content: ""; flex: 1; height: 1px; background: var(--p-ac); opacity: .85; }
html.premium .brand-name em::after { margin-left: -.42em; }

/* itens: só texto, com barra fina lavanda no ativo */
html.premium .sb-body { padding: 14px 12px 20px; }
html.premium .sb-menu { gap: 2px; padding-top: 0; }
html.premium .sb-nav { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 0 !important; border-radius: 8px; background: transparent !important; box-shadow: none !important; transform: none !important; color: var(--p-tx2); }
html.premium .sb-nav:hover { background: var(--p-s2) !important; color: var(--p-tx); }
html.premium .sb-nav.active { background: var(--p-ac-soft) !important; color: #fff; }
html.premium .sb-nav.active::before { content: ""; position: absolute; left: 0; top: 9px; bottom: 9px; width: 2px; border-radius: 2px; background: var(--p-ac); }
html.premium .sb-ic { display: none !important; }
html.premium .sb-lbl b { font-size: .87rem; font-weight: 600; letter-spacing: 0; color: inherit; }
html.premium .sb-lbl small { display: none; }
html.premium .sb-badge { border-radius: 6px; font-size: .66rem; font-weight: 700; letter-spacing: .04em; color: var(--p-tx2); border: 1px solid var(--p-line-2); background: transparent; padding: 1px 7px; }
html.premium .sb-section { color: var(--p-tx3); font-size: .64rem; letter-spacing: .16em; opacity: 1; padding: 18px 12px 8px; }
html.premium .sb-section::after { background: var(--p-line); }

/* ---------- Barra superior ---------- */
html.premium .topbar { background: rgba(8,8,10,.88); border-bottom: 1px solid var(--p-line); backdrop-filter: blur(12px); }
html.premium .topbar::after { display: none; }
html.premium .top-link { border-radius: 8px; border: 1px solid var(--p-line-2); background: transparent; color: var(--p-tx); font-weight: 600; font-size: .8rem; box-shadow: none; }
html.premium .top-link.active, html.premium .top-link:hover { border-color: var(--p-ac-line); color: var(--p-ac); box-shadow: none; }
html.premium .crumbs { color: var(--p-tx3); }
html.premium .crumbs a:hover { color: var(--p-ac); }

/* ---------- Títulos das telas: texto limpo, sem caixas em degradê ---------- */
html.premium .app > h1.title, html.premium h1.title { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 4px 0 8px; font-weight: 800; font-size: clamp(1.5rem, 2.4vw, 2rem); letter-spacing: -.015em; text-shadow: none; color: var(--p-tx); }
html.premium .app > h1.title::after, html.premium h1.title::after { display: none !important; }
html.premium h1.title .mg { background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; color: var(--p-ac); }
html.premium .app > p.subtitle, html.premium p.subtitle { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 22px; color: var(--p-tx2); font-size: .95rem; max-width: 70ch; }

/* ---------- Quadros e cartões: cinza chapado, borda de 1 px, sem brilho ---------- */
html.premium .panel, html.premium .dash-card, html.premium .cat-card, html.premium .cab-concurso, html.premium .sb-concurso,
html.premium .lp-rec, html.premium .lp-conc-card, html.premium .lp-dep, html.premium .plano, html.premium .tf-item, html.premium .dash-kpi,
html.premium .update-bar, html.premium .coment-box, html.premium .rep-card, html.premium .panel.kpi, html.premium .viewer-bar .grow, html.premium .sb-tabs {
  background: var(--p-s1) !important;
  border: 1px solid var(--p-line) !important;
  border-radius: 12px;
  box-shadow: none !important;
}
html.premium .panel::before, html.premium .panel::after, html.premium .cat-card::after, html.premium .dash-kpi::after, html.premium .tf-item.ganho::after,
html.premium .lp-rec::after, html.premium .plano::after { display: none !important; }
html.premium .panel:hover, html.premium .cat-card:hover, html.premium .lp-rec:hover, html.premium .plano:hover, html.premium .sb-concurso:hover {
  box-shadow: none !important; border-color: var(--p-line-2) !important; transform: none;
}
html.premium .panel-h, html.premium .dash-card .panel-h, html.premium .grp-materias .panel-h, html.premium .dash-cal .cal-panel .panel-h {
  background: none !important; border-bottom: 1px solid var(--p-line) !important; border-radius: 12px 12px 0 0; padding: 16px 20px;
}
html.premium .panel-h::after { display: none !important; }
html.premium .panel-h h2, html.premium .dash-card .panel-h h2, html.premium .grp-materias .panel-h h2 { font-family: var(--p-fh); font-weight: 700; font-size: .95rem; letter-spacing: 0; color: var(--p-tx); text-shadow: none; }
html.premium .panel-b { padding: 12px 20px 20px; }

/* ---------- Botões ---------- */
html.premium .btn { border-radius: 8px; padding: 9px 16px; font-family: var(--p-fb); font-weight: 600; font-size: .84rem; letter-spacing: .01em; background: var(--p-s2); border: 1px solid var(--p-line-2); color: var(--p-tx); box-shadow: none; transform: none; transition: background .16s, border-color .16s, color .16s; }
html.premium .btn:hover { background: var(--p-s3); border-color: rgba(255,255,255,.26); box-shadow: none; transform: none; }
html.premium .btn.primary { background: var(--p-ac); color: #0A0A0C; border: 1px solid var(--p-ac); font-weight: 700; }
html.premium .btn.primary:hover { background: var(--p-ac-hi); border-color: var(--p-ac-hi); }
html.premium .btn.primary::after, html.premium .btn.primary::before { display: none !important; }
html.premium .btn.outline { background: transparent; border-color: var(--p-ac-line); color: var(--p-ac); }
html.premium .btn.outline:hover { background: var(--p-ac-soft); border-color: var(--p-ac); }
html.premium .btn.ghost { background: transparent; border-color: transparent; color: var(--p-tx2); }
html.premium .btn.ghost:hover { background: var(--p-s2); color: var(--p-tx); }
html.premium .btn.small { padding: 6px 12px; font-size: .78rem; border-radius: 7px; }
html.premium .btn:disabled { opacity: .4; }

/* ---------- Rótulos, barras, tabelas ---------- */
html.premium .chip { border-radius: 6px; padding: 2px 8px; font-size: .68rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: transparent; border: 1px solid var(--p-line-2); color: var(--p-tx2); box-shadow: none; }
html.premium .chip.mg { color: var(--p-ac); border-color: var(--p-ac-line); background: var(--p-ac-soft); }
html.premium .bar { height: 4px; border: 0; border-radius: 4px; background: rgba(255,255,255,.09); }
html.premium .bar i { background: var(--p-ac); border-radius: 4px; }
html.premium .tbl th { background: none; border-bottom: 1px solid var(--p-line-2); color: var(--p-tx3); font-size: .66rem; letter-spacing: .14em; font-weight: 700; }
html.premium .tbl td { border-bottom-color: var(--p-line); }
html.premium .tbl .grp td { background: var(--p-s2); color: var(--p-ac); letter-spacing: .06em; }
html.premium .row { border-bottom-color: var(--p-line); }
html.premium .row:hover { background: var(--p-s2); box-shadow: none; }
html.premium .kpi b { color: var(--p-tx); text-shadow: none; }

/* ---------- Campos ---------- */
html.premium input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), html.premium select, html.premium textarea {
  background: var(--p-s3); border: 1px solid var(--p-line-2); border-radius: 8px; color: var(--p-tx); font-family: var(--p-fb);
}
html.premium input:focus, html.premium select:focus, html.premium textarea:focus { border-color: var(--p-ac); outline: none; box-shadow: 0 0 0 3px var(--p-ac-soft); }

/* barras de rolagem discretas */
html.premium ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); border-radius: 8px; }
html.premium ::-webkit-scrollbar-track { background: transparent; }

/* ============================================================
   Lote 2: resíduos do tema antigo (trilha, brilhos, cabeçalhos, rodapé do menu)
   ============================================================ */

/* trilha de navegação: texto simples, sem caixas */
html.premium .crumbs { gap: 4px; font-size: .84rem; font-weight: 500; letter-spacing: 0; }
html.premium .crumbs a { color: var(--p-tx3); padding: 2px 4px; border-radius: 6px; background: none; }
html.premium .crumbs a:hover { color: var(--p-tx); background: none; }
html.premium .crumbs > span:not(.sep) { color: var(--p-tx); font-weight: 600; padding: 2px 4px; border-radius: 6px; background: none; border: 0; box-shadow: none; text-shadow: none; }
html.premium .crumbs .sep { color: var(--p-tx3); opacity: .6; font-weight: 400; }
html.premium .icon-btn { border: 1px solid var(--p-line-2); background: transparent; box-shadow: none; border-radius: 8px; }
html.premium .icon-btn:hover { border-color: var(--p-ac-line); }
html.premium .top-novidades svg { display: none; }
html.premium .top-novidades .tn-ponto { background: var(--p-ac); box-shadow: none; }

/* rodapé do menu: suporte e links discretos */
html.premium .sb-foot a { color: var(--p-tx3); font-weight: 500; }
html.premium .sb-foot a:hover { color: var(--p-tx); }
html.premium .sb-foot .sb-suporte { background: transparent !important; border: 1px solid var(--p-line-2) !important; color: var(--p-tx) !important; border-radius: 8px; font-weight: 600; box-shadow: none !important; filter: none; padding: 7px 14px; }
html.premium .sb-foot .sb-suporte:hover { border-color: var(--p-ac-line) !important; color: var(--p-ac) !important; filter: none; }
html.premium .sb-foot .sb-suporte svg { display: none; }

/* palavra de destaque dos títulos: lavanda chapada, sem brilho */
html.premium h1.title .mg, html.premium .cab-concurso h1.title .mg { filter: none !important; text-shadow: none !important; background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; color: var(--p-ac); }
html.premium .cab-concurso h1.title { text-shadow: none; }
html.premium .cab-concurso img, html.premium .sb-concurso img { box-shadow: none; }

/* grupos de assunto (matéria) e linhas de lista */
html.premium .tbl .grp td { background: var(--p-s2) !important; color: var(--p-tx) !important; border-top: 1px solid var(--p-line) !important; border-left: 0 !important; box-shadow: none !important; letter-spacing: .02em; }
html.premium .tbl.materia tr.tg:focus-visible td { outline-color: var(--p-ac); }
html.premium .row:hover { box-shadow: none !important; background: var(--p-s2) !important; }
html.premium .row .lbl b { font-family: var(--p-fh); font-weight: 600; font-size: .95rem; }

/* painel de desempenho: cabeçalho chapado */
html.premium .dash-hero, html.premium .perfil-hero { background: var(--p-s1) !important; border: 1px solid var(--p-line) !important; box-shadow: none !important; border-radius: 12px; }
html.premium .dash-hero::before, html.premium .dash-hero::after, html.premium .perfil-hero::before, html.premium .perfil-hero::after { display: none !important; }
html.premium .dash-kicker { color: var(--p-tx3); letter-spacing: .16em; }
html.premium .dash-id h1 span { color: var(--p-ac); background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; filter: none; text-shadow: none; }

/* catálogo: faixa do logo em cinza claro chapado */
html.premium .cat-logo { background: #F4F4F7; border-bottom: 1px solid var(--p-line); }

/* barra fixa de salvar */
html.premium .save-bar.fixa { background: var(--p-s1) !important; border: 1px solid var(--p-line-2) !important; box-shadow: 0 -12px 32px rgba(0,0,0,.5) !important; border-radius: 12px; }
html.premium .save-bar.fixa .save-txt { color: var(--p-tx2); }

/* seletores segmentados e caixas de número */
html.premium .filtros { background: var(--p-s1) !important; border: 1px solid var(--p-line) !important; box-shadow: none !important; border-radius: 10px; padding: 4px; }
html.premium .filtro { border-radius: 7px; color: var(--p-tx2); font-weight: 600; letter-spacing: .01em; }
html.premium .filtro:hover { background: var(--p-s2); color: var(--p-tx); }
html.premium .filtro.on { background: var(--p-ac-soft) !important; color: var(--p-ac) !important; box-shadow: inset 0 0 0 1px var(--p-ac-line) !important; }
html.premium .mini-kpis > div { background: var(--p-s2) !important; border: 1px solid var(--p-line) !important; box-shadow: none !important; border-radius: 8px; }
html.premium .mini-kpis b { background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; color: var(--p-tx); }
html.premium .mini-kpis span { color: var(--p-tx3); letter-spacing: .12em; opacity: 1; }

/* ============================================================
   Lote 3: marca nova na abertura, página do produto e janelas de entrar
   ============================================================ */
@keyframes pEntrar { from { opacity: 0; transform: translateY(8px); } }
@keyframes pCarregar { from { background-position: -70% 0; } to { background-position: 170% 0; } }

/* tela de abertura: monograma DF, nome em duas linhas e uma barrinha sutil de carregamento */
html.premium #splash { display: grid !important; background: #0a0a0c; gap: 24px; }
html.premium #splash.hide { display: grid !important; }
html.premium.sem-splash #splash { display: none !important; }
html.premium .sp-ring { width: min(58vw, 250px); aspect-ratio: auto; border-radius: 0; isolation: auto; }
html.premium .sp-ring::before, html.premium .sp-ring::after { display: none; }
html.premium .sp-ring img { width: 100%; height: auto; border: 0; border-radius: 0; object-fit: contain; animation: pEntrar .7s ease both; }
html.premium .sp-ring img:not(.df-marca) { visibility: hidden; }
html.premium .sp-name { text-transform: uppercase; display: flex; flex-direction: column; gap: 9px; width: min(58vw, 250px); font-family: var(--p-fh); font-weight: 800; font-size: clamp(1.15rem, 3.4vw, 1.5rem); line-height: 1; letter-spacing: .06em; color: #F4F4F8; text-shadow: none; text-align: center; animation: pEntrar .7s .12s ease both; }
html.premium .sp-name em { display: flex; align-items: center; gap: 9px; font-style: normal; font-weight: 600; font-size: .5em; letter-spacing: .44em; color: var(--p-ac); background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; }
html.premium .sp-name em::before, html.premium .sp-name em::after { content: ""; flex: 1; height: 1px; background: var(--p-ac); opacity: .85; }
html.premium .sp-name em::after { margin-left: -.44em; }
html.premium #splash::after { content: ""; display: block; width: min(46vw, 210px); height: 2px; margin: 6px auto 0; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--p-ac) 50%, transparent) no-repeat, rgba(255,255,255,.07); background-size: 45% 100%, 100% 100%; animation: pCarregar 1.15s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { html.premium #splash::after { animation: none; background-size: 100% 100%, 100% 100%; } }

/* página do produto: mesma marca do menu; selo giratório colorido sai */
html.premium .lp-marca { gap: 12px; }
html.premium .lp-marca img { width: 52px; height: auto; border-radius: 0; box-shadow: none; animation: none; }
html.premium .lp-marca img:not(.df-marca) { visibility: hidden; }
html.premium .lp-selo { display: none; }
@media (min-width: 601px) {
  html.premium .lp-marca span { display: flex; flex-direction: column; gap: 6px; font-family: var(--p-fh); font-weight: 800; font-size: 1rem; line-height: 1; letter-spacing: .04em; text-transform: uppercase; color: #F4F4F8; }
  html.premium .lp-marca em { display: flex; align-items: center; gap: 7px; font-style: normal; font-weight: 600; font-size: .5rem; letter-spacing: .42em; color: var(--p-ac); background: none; -webkit-background-clip: border-box; background-clip: border-box; -webkit-text-fill-color: currentColor; }
  html.premium .lp-marca em::before, html.premium .lp-marca em::after { content: ""; flex: 1; height: 1px; background: var(--p-ac); opacity: .85; }
  html.premium .lp-marca em::after { margin-left: -.42em; }
}

/* janelas de entrar, criar conta e instalar: monograma no lugar do cérebro */
html.premium .login-logo { width: 56px; height: auto; border-radius: 0; box-shadow: none; }
html.premium .login-logo:not(.df-marca) { visibility: hidden; }

/* assistente animado (cérebro): sai do tema novo */
html.premium .mascote { display: none !important; }

/* ============================================================
   Lote 4: menu lateral com mais lavanda no selecionado, chip do usuário sem cortes
   ============================================================ */
html.premium .sb-menu::before { content: "MENU"; display: block; padding: 2px 14px 10px; font-size: .62rem; font-weight: 700; letter-spacing: .2em; color: var(--p-tx3); }
html.premium .sb-nav { border-radius: 9px; transition: background .16s, color .16s; }
html.premium .sb-nav:hover { background: rgba(176,135,247,.08) !important; color: var(--p-tx); }
html.premium .sb-nav.active { background: linear-gradient(90deg, rgba(176,135,247,.24), rgba(176,135,247,.09) 65%, rgba(176,135,247,.03)) !important; box-shadow: inset 0 0 0 1px rgba(176,135,247,.26) !important; color: #fff; }
html.premium .sb-nav.active::before { top: 7px; bottom: 7px; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--p-ac-hi), var(--p-ac-lo)); }
html.premium .sb-nav.active .sb-lbl b { color: #fff; font-weight: 700; }
html.premium .sb-nav.active .sb-badge { color: var(--p-ac-hi); border-color: var(--p-ac-line); background: rgba(176,135,247,.12); }

/* chip do usuário no topo: nome inteiro, avatar com a letra no centro */
html.premium .top-user { background: var(--p-s2); border: 1px solid var(--p-line-2); box-shadow: none; color: var(--p-tx); font-weight: 600; }
html.premium .top-user:hover { border-color: var(--p-ac-line); box-shadow: none; }
html.premium .av { box-shadow: 0 0 0 1px var(--p-line-2); }
html.premium .av-letra { background: linear-gradient(135deg, var(--p-ac-hi), var(--p-ac-lo)); color: #0D0B14; font-weight: 800; }

/* ============================================================
   Lote 5: lavanda estratégica nos títulos de destaque (cabeçalhos, blocos, banners, números)
   ============================================================ */
html.premium .panel-h, html.premium .dash-card .panel-h, html.premium .dash-cal .cal-panel .panel-h {
  background: linear-gradient(90deg, rgba(176,135,247,.17), rgba(176,135,247,.06) 55%, rgba(176,135,247,0) 100%) !important;
  border-bottom: 1px solid rgba(176,135,247,.22) !important;
}
html.premium .grp-materias .panel-h {
  background: linear-gradient(90deg, rgba(176,135,247,.30), rgba(176,135,247,.11) 55%, rgba(176,135,247,.02) 100%) !important;
  box-shadow: inset 3px 0 0 var(--p-ac) !important;
  border-bottom: 1px solid rgba(176,135,247,.32) !important;
}
html.premium .panel-h h2, html.premium .grp-materias .panel-h h2 { color: #fff; }

/* banners de topo (concurso, desempenho, perfil) */
html.premium .dash-hero, html.premium .perfil-hero, html.premium .cab-concurso {
  background: linear-gradient(135deg, rgba(176,135,247,.22) 0%, rgba(176,135,247,.08) 38%, var(--p-s1) 80%) !important;
  border: 1px solid rgba(176,135,247,.28) !important;
}

/* caixas de números */
html.premium .mini-kpis > div, html.premium .kpis .panel.kpi {
  background: linear-gradient(180deg, rgba(176,135,247,.12), rgba(176,135,247,.03)) !important;
  border: 1px solid rgba(176,135,247,.24) !important;
}
html.premium .mini-kpis span, html.premium .kpi span { color: var(--p-ac-hi); opacity: .9; }

/* grupos de assunto e linhas */
html.premium .tbl .grp td { background: linear-gradient(90deg, rgba(176,135,247,.15), rgba(176,135,247,.04) 60%, transparent) !important; }
html.premium .tbl .grp td:first-child { box-shadow: inset 3px 0 0 var(--p-ac) !important; }
html.premium .row:hover { background: rgba(176,135,247,.07) !important; }

/* linhas de contorno da estrutura */
html.premium .topbar, html.premium .sb-brand { border-bottom-color: rgba(176,135,247,.20); }
html.premium .sidebar { border-right-color: rgba(176,135,247,.16); }

/* ============================================================
   Lote 6: linhas do topo alinhadas (menu e barra superior com a mesma altura) e título MENU em destaque
   ============================================================ */
@media (min-width: 901px) {
  html.premium .sb-brand { box-sizing: border-box; height: 68px; padding: 0 18px; align-items: center; }
  html.premium .topbar { box-sizing: border-box; height: 68px; padding-top: 0; padding-bottom: 0; }
  html.premium .crumbs { flex-wrap: nowrap; overflow: hidden; white-space: nowrap; min-width: 0; }
  html.premium .crumbs > * { flex: none; }
  html.premium .crumbs > :last-child { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}
html.premium .sb-menu::before {
  content: "MENU"; display: block; margin: 0 0 10px; padding: 10px 14px;
  font-family: var(--p-fh); font-size: .78rem; font-weight: 800; letter-spacing: .24em; color: #fff;
  background: linear-gradient(90deg, rgba(176,135,247,.32), rgba(176,135,247,.11) 70%, rgba(176,135,247,.02));
  border-radius: 8px; box-shadow: inset 3px 0 0 var(--p-ac);
}

/* ============================================================
   Lote 7: celular e tablet (caixas de números, planos, topo)
   ============================================================ */
html.premium .mini-kpis { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); }
html.premium .mini-kpis.com-meta { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); }
html.premium .mini-kpis span { white-space: normal; overflow-wrap: anywhere; letter-spacing: .08em; font-size: .6rem; }
html.premium .planos { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
html.premium .planos.plano-unico { grid-template-columns: minmax(0, 480px); }
html.premium .plano { min-width: 0; max-width: 100%; }
@media (max-width: 760px) {
  html.premium .top-link.top-novidades .tn-txt { display: inline; }
  html.premium .top-link.top-novidades { padding: 6px 10px; font-size: .74rem; }
}
@media (max-width: 600px) {
  html.premium #topPainel { display: none; }
  html.premium .panel-b { padding: 10px 14px 16px; }
  html.premium .panel-h, html.premium .dash-card .panel-h { padding: 14px 16px; }
  html.premium h1.title { font-size: clamp(1.35rem, 6.2vw, 1.75rem); }
}

/* ============================================================
   Lote 8: nomes de concursos em branco (sigla) e lavanda (cargo), sempre no mesmo padrão
   ============================================================ */
html.premium .row .lbl b .cn { color: #fff; }
html.premium .row .lbl b .cs { color: var(--p-tx3); }
html.premium .row .lbl b .cc { color: var(--p-ac-hi); }
html.premium .cat-body b { color: #fff; font-family: var(--p-fh); font-weight: 800; letter-spacing: .01em; }
html.premium .cat-body > span { color: var(--p-ac-hi); font-weight: 600; }
html.premium .pfc-nome b { color: #fff; font-family: var(--p-fh); font-weight: 800; }
html.premium .pfc-nome small { color: var(--p-ac-hi); }
html.premium .dash-logo > b { background: linear-gradient(90deg, #fff, var(--p-ac-hi)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* ============================================================
   Lote 9: cruzamento das linhas do topo em "T", grupo Conta, topo mais consistente
   ============================================================ */
/* uma única linha horizontal contínua no topo (menu + barra superior); a linha vertical do menu começa abaixo dela */
@media (min-width: 901px) {
  html.premium .sidebar { border-right: 0; }
  html.premium .sidebar::after { display: block; content: ""; position: absolute; top: 68px; bottom: 0; right: 0; width: 1px; background: rgba(176,135,247,.18); pointer-events: none; }
  html.premium .sb-brand, html.premium .topbar { border-bottom: 1px solid rgba(176,135,247,.22); }
}
html.premium .sb-grupo {
  margin: 18px 0 10px; padding: 10px 14px;
  font-family: var(--p-fh); font-size: .78rem; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; color: #fff;
  background: linear-gradient(90deg, rgba(176,135,247,.32), rgba(176,135,247,.11) 70%, rgba(176,135,247,.02));
  border-radius: 8px; box-shadow: inset 3px 0 0 var(--p-ac);
}
/* topo: mesma altura e alinhamento vertical em todos os controles */
html.premium .topbar { gap: 10px; }
html.premium .topbar .top-link, html.premium .topbar .top-user, html.premium .topbar .top-entrar { min-height: 38px; display: inline-flex; align-items: center; }
html.premium .topbar .icon-btn { min-height: 38px; width: 38px; place-items: center; }
html.premium .topbar .top-entrar { padding: 0 18px; }

/* Lote 10: botão Suporte com fundo lavanda */
html.premium .sb-foot .sb-suporte { background: linear-gradient(90deg, rgba(176,135,247,.34), rgba(176,135,247,.14)) !important; border: 1px solid rgba(176,135,247,.5) !important; color: #fff !important; font-weight: 700; }
html.premium .sb-foot .sb-suporte:hover { background: linear-gradient(90deg, rgba(176,135,247,.48), rgba(176,135,247,.22)) !important; border-color: var(--p-ac) !important; color: #fff !important; }

/* ============================================================
   Lote 11: cartões de números (Perfil e Desempenho): várias cores, acabamento sóbrio
   ============================================================ */
html.premium .dash-kpi { --c1: #B087F7; --c2: #C7ADFB; }
html.premium .dash-kpi.k-vio { --c1: #7C9BFF; --c2: #A9BEFF; }
html.premium .dash-kpi.k-ok { --c1: #4CC38A; --c2: #8EE0B8; }
html.premium .dash-kpi.k-ko { --c1: #EE7D77; --c2: #F5A9A4; }
html.premium .dash-kpi.k-gold { --c1: #E3B75B; --c2: #F0D28F; }
html.premium .dash-kpi.k-cia { --c1: #4FC3E0; --c2: #8FDDF0; }
html.premium .dash-kpi {
  padding: 18px; border-radius: 12px; gap: 14px;
  background: linear-gradient(160deg, color-mix(in srgb, var(--c1) 10%, #121215) 0%, #111114 62%) !important;
  border: 1px solid color-mix(in srgb, var(--c1) 26%, rgba(255,255,255,.05)) !important;
  box-shadow: none !important; transition: border-color .18s;
}
html.premium .dash-kpi:hover { transform: none; box-shadow: none !important; border-color: color-mix(in srgb, var(--c1) 52%, rgba(255,255,255,.08)) !important; }
html.premium .dash-kpi::before { height: 2px; background: linear-gradient(90deg, var(--c1), color-mix(in srgb, var(--c1) 0%, transparent) 85%); }
html.premium .dk-ic { width: 40px; height: 40px; border-radius: 10px; color: color-mix(in srgb, var(--c1) 72%, #fff); background: color-mix(in srgb, var(--c1) 16%, #0d0d10); border: 1px solid color-mix(in srgb, var(--c1) 40%, transparent); box-shadow: none; }
html.premium .dk-txt b { font-family: var(--p-fh); font-weight: 700; font-size: 1.7rem; letter-spacing: -.01em; line-height: 1.05; font-variant-numeric: tabular-nums; }
html.premium .dk-txt span { margin-top: 4px; font-size: .62rem; font-weight: 700; letter-spacing: .13em; color: color-mix(in srgb, var(--c1) 55%, #e4e4ec); opacity: 1; }
html.premium .dk-txt small { font-size: .74rem; color: var(--p-tx2); }
html.premium .perfil-kpis, html.premium .dash-kpis { gap: 14px; }
/* certos e errados */
html.premium .ce-mini-barra { height: 4px; }
html.premium .ce-b-ok { background: #3FBF7F; }
html.premium .ce-b-ko { background: #E5675F; }
html.premium .ce-cel { --c: #4CC38A; background: color-mix(in srgb, var(--c) 9%, #0f0f12) !important; border: 1px solid color-mix(in srgb, var(--c) 32%, transparent) !important; border-radius: 8px; box-shadow: none !important; }
html.premium .ce-cel.ce-ko { --c: #EE7D77; }
html.premium .ce-cel em { font-family: var(--p-fh); font-weight: 700; }
html.premium .ce-cel small { letter-spacing: .1em; }
/* níveis dos troféus */
html.premium .tf-mini i { border-radius: 8px; background: color-mix(in srgb, var(--nv) 9%, #0f0f12) !important; border: 1px solid color-mix(in srgb, var(--nv) 34%, transparent) !important; box-shadow: none !important; }
html.premium .tf-mini svg { filter: none; }
html.premium .tf-mini em { font-family: var(--p-fh); font-weight: 700; }
html.premium .tf-mini small { letter-spacing: .1em; }

/* cartões do Perfil: 3 por linha em tela larga (antes ficavam 6 apertados e cortavam o rótulo) */
@media (min-width: 1201px) { html.premium .perfil-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
html.premium .dk-txt span { letter-spacing: .05em; font-size: .58rem; overflow-wrap: normal; word-break: keep-all; hyphens: none; }
html.premium .dash-kpi:not(.com-extra) { gap: 10px; padding-left: 12px; padding-right: 10px; }
html.premium .dash-kpi:not(.com-extra) .dk-ic { width: 32px; height: 32px; flex: 0 0 32px; }

/* ============================================================
   Lote 12: calendário e legendas dos gráficos em tons leves, mesma identidade (verde estudou, coral não estudou)
   ============================================================ */
html.premium .cal-d { border-radius: 10px; background: #111114; border: 1px solid var(--p-line); color: var(--p-tx3); transition: border-color .15s; }
html.premium .cal-d:hover { transform: none; }
html.premium .cal-d.ok { background: rgba(76,195,138,.15) !important; border: 1px solid rgba(76,195,138,.42) !important; color: #C4F0DA !important; box-shadow: none !important; }
html.premium .cal-d.ok .cal-mk { color: #6FD3A1; text-shadow: none; }
html.premium .cal-d.perdido { background: rgba(238,125,119,.14) !important; border: 1px solid rgba(238,125,119,.44) !important; color: #F8CBC7 !important; box-shadow: none !important; }
html.premium .cal-d.perdido .cal-mk.x::before, html.premium .cal-d.perdido .cal-mk.x::after { background: #F19A95; }
html.premium .cal-d.is-hoje { background: rgba(176,135,247,.10) !important; box-shadow: 0 0 0 2px var(--p-ac) !important; color: #fff !important; }
html.premium .cal-d.vazio { background: transparent !important; border: 0 !important; }
html.premium .lg { box-shadow: none; border-radius: 3px; }
html.premium .lg.ok { background: #4CC38A; }
html.premium .lg.perdido { background: #EE7D77; }
html.premium .lg.hoje { background: transparent; box-shadow: inset 0 0 0 2px var(--p-ac); }
html.premium .cal-leg .cal-seq b { color: var(--p-ac-hi); }
html.premium .chart .gx { stroke: rgba(255,255,255,.07); }
html.premium .hb-trilho { background: rgba(255,255,255,.07); height: 8px; }
html.premium .hb-trilho i { background: linear-gradient(90deg, #8F63E8, #B087F7); }

/* Lote 13: item selecionado do menu diferente das faixas MENU e CONTA (chapado, leve e limpo) */
html.premium .sb-nav.active { background: rgba(176,135,247,.10) !important; box-shadow: none !important; border-radius: 8px; color: #fff; }
html.premium .sb-nav.active::before { left: 0; top: 9px; bottom: 9px; width: 3px; border-radius: 0 3px 3px 0; background: var(--p-ac); }
html.premium .sb-nav.active .sb-lbl b { color: #fff; font-weight: 700; letter-spacing: 0; }
html.premium .sb-nav:hover:not(.active) { background: rgba(255,255,255,.04) !important; }
html.premium .sb-nav.active .sb-badge { color: #fff; border-color: rgba(176,135,247,.45); background: rgba(176,135,247,.14); }

/* Lote 14: aba atual da trilha de navegação no topo em lavanda */
html.premium .crumbs > span:not(.sep) { color: var(--p-ac-hi); font-weight: 700; }
html.premium .crumbs a { color: var(--p-tx3); }
html.premium .crumbs a:hover { color: var(--p-ac-hi); }

/* Lote 15: botão Novidades em lavanda, com a bolinha de aviso branca */
html.premium .top-link.top-novidades { color: var(--p-ac-hi); font-weight: 700; border-color: var(--p-ac-line); background: rgba(176,135,247,.08); }
html.premium .top-link.top-novidades:hover { color: #fff; border-color: var(--p-ac); background: rgba(176,135,247,.16); }
html.premium .top-novidades .tn-ponto { background: #fff; box-shadow: 0 0 0 2px #0a0a0c; }

/* Lote 16: fundo de destaque dos cabeçalhos com mais cor */
html.premium .panel-h, html.premium .dash-card .panel-h, html.premium .dash-cal .cal-panel .panel-h {
  background: linear-gradient(90deg, rgba(176,135,247,.32), rgba(176,135,247,.13) 60%, rgba(176,135,247,.04) 100%) !important;
  border-bottom: 1px solid rgba(176,135,247,.32) !important;
}
html.premium .grp-materias .panel-h {
  background: linear-gradient(90deg, rgba(176,135,247,.40), rgba(176,135,247,.16) 60%, rgba(176,135,247,.04) 100%) !important;
  border-bottom: 1px solid rgba(176,135,247,.38) !important;
}


/* ============================================================
   Lote 17: tabela de assuntos (matéria): colunas alinhadas no computador, cartões empilhados no celular e tablet
   ============================================================ */
html.premium .tbl.materia { width: 100%; table-layout: fixed; border-collapse: collapse; }
html.premium .tbl.materia th { background: rgba(255,255,255,.02); border-bottom: 1px solid rgba(176,135,247,.22); color: var(--p-tx3); font-size: .64rem; letter-spacing: .14em; padding: 10px 12px; }
html.premium .tbl.materia th:nth-child(3), html.premium .tbl.materia th:nth-child(4), html.premium .tbl.materia th:nth-child(5) { text-align: center; }
html.premium .tbl.materia th:nth-child(1), html.premium .tbl.materia td:nth-child(1) { width: 46px; }
html.premium .tbl.materia th:nth-child(3), html.premium .tbl.materia td:nth-child(3) { width: 128px; }
html.premium .tbl.materia th:nth-child(4), html.premium .tbl.materia td:nth-child(4), html.premium .tbl.materia th:nth-child(5), html.premium .tbl.materia td:nth-child(5) { width: 84px; }
html.premium .tbl.materia th:nth-child(6), html.premium .tbl.materia td:nth-child(6) { width: 276px; }
html.premium .tbl.materia td { padding: 11px 12px; vertical-align: middle; line-height: 1.4; border-bottom: 1px solid var(--p-line); }
html.premium .tbl.materia td.num { text-align: center; white-space: normal; font-size: .86rem; color: var(--p-tx2); }
html.premium .tbl.materia td.num.ok { color: #6FD3A1; font-weight: 700; }
html.premium .tbl.materia td.num.ko { color: #F19A95; font-weight: 700; }
html.premium .tbl.materia td.num.ok:empty::before, html.premium .tbl.materia td.num.ko:empty::before { content: "\00b7"; color: var(--p-tx3); font-weight: 400; }
html.premium .tbl.materia td:nth-child(6) .acts { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: nowrap; }
html.premium .tbl.materia .acts .btn, html.premium .tbl.materia .acts .btn-slot { min-width: 104px; justify-content: center; }
html.premium .tbl.materia .acts .btn-slot { display: inline-block; }
/* faixas de grupo: um traço só, sem linhas dobradas */
html.premium .tbl.materia .grp td { border-top: 0 !important; border-bottom: 1px solid rgba(176,135,247,.28) !important; padding: 13px 14px; }
html.premium .tbl.materia .sub.cab td { border-top: 0 !important; border-left: 0 !important; border-bottom: 1px solid var(--p-line) !important; padding: 11px 14px; }
html.premium .tbl.materia .sub.cab.d1 td { background: linear-gradient(90deg, rgba(176,135,247,.16), rgba(176,135,247,.04) 70%, transparent) !important; color: #fff !important; font-weight: 700; }
html.premium .tbl.materia .sub.cab.d2 td, html.premium .tbl.materia .sub.cab.d3 td { background: rgba(255,255,255,.025) !important; color: var(--p-ac-hi) !important; font-weight: 600; }
html.premium .tbl.materia .sub:not(.cab) td { background: transparent; }

@media (max-width: 900px) {
  html.premium .tbl.materia, html.premium .tbl.materia tbody { display: block; width: 100%; }
  html.premium .tbl.materia tr:first-child { display: none; }
  html.premium .tbl.materia tr.grp, html.premium .tbl.materia tr.sub { display: block; }
  html.premium .tbl.materia tr.grp td, html.premium .tbl.materia tr.sub td { display: block; width: auto; }
  html.premium .tbl.materia tr.folha {
    display: grid; grid-template-columns: 34px auto auto minmax(0, 1fr);
    grid-template-areas: "dot tit tit tit" ". fc ac er" ". acts acts acts";
    column-gap: 10px; row-gap: 6px; padding: 12px 12px 14px; border-bottom: 1px solid var(--p-line);
  }
  html.premium .tbl.materia tr.oculto, html.premium .tbl.materia tr.sub.oculto { display: none !important; }
  html.premium .tbl.materia tr.folha td { display: block; width: auto; padding: 0; border: 0; background: transparent; }
  html.premium .tbl.materia tr.folha td:nth-child(1) { grid-area: dot; padding-left: 0 !important; }
  html.premium .tbl.materia tr.folha td:nth-child(2) { grid-area: tit; font-size: .92rem; }
  html.premium .tbl.materia tr.folha td:nth-child(3) { grid-area: fc; text-align: left; font-size: .8rem; }
  html.premium .tbl.materia tr.folha td:nth-child(4) { grid-area: ac; text-align: left; font-size: .8rem; }
  html.premium .tbl.materia tr.folha td:nth-child(5) { grid-area: er; text-align: left; font-size: .8rem; }
  html.premium .tbl.materia tr.folha td:nth-child(6) { grid-area: acts; }
  html.premium .tbl.materia td.num.ok:not(:empty)::before { content: "Acertos "; font-weight: 500; color: var(--p-tx3); }
  html.premium .tbl.materia td.num.ko:not(:empty)::before { content: "Erros "; font-weight: 500; color: var(--p-tx3); }
  html.premium .tbl.materia td.num.ok:empty, html.premium .tbl.materia td.num.ko:empty { display: none !important; }
  html.premium .tbl.materia td:nth-child(6) .acts { justify-content: stretch; gap: 8px; }
  html.premium .tbl.materia .acts .btn { flex: 1; min-height: 38px; }
  html.premium .tbl.materia .acts .btn-slot { display: none; }
}

/* Lote 17b: bolinha de estudado sem invadir o título; botões lado a lado no celular */
html.premium .tbl.materia tr.folha td:nth-child(1) { padding-left: 16px !important; }
@media (max-width: 900px) {
  html.premium .tbl.materia tr.folha td:nth-child(1) { padding-left: 0 !important; }
  html.premium .tbl.materia td:nth-child(6) .acts { flex-direction: row; align-items: stretch; flex-wrap: nowrap; justify-content: stretch; gap: 8px; }
  html.premium .tbl.materia .acts .btn { width: auto; flex: 1 1 0; }
}

/* Lote 18: conteúdo dos cartões de números centralizado (ícone e texto como um bloco só, sem sobra à direita) */
html.premium .dash-kpi:not(.com-extra) { justify-content: center; align-items: center; }
html.premium .dash-kpi:not(.com-extra) .dk-txt { flex: 0 1 auto; min-width: 0; }

/* Lote 19: faixas MENU e CONTA um pouco menores */
html.premium .sb-menu::before, html.premium .sb-grupo { padding: 7px 12px; font-size: .68rem; letter-spacing: .22em; border-radius: 7px; }
html.premium .sb-menu::before { margin-bottom: 8px; }
html.premium .sb-grupo { margin: 14px 0 8px; }

/* Lote 20: itens do menu recuados, como submenu de MENU e de CONTA */
html.premium .sb-menu .sb-nav { margin-left: 16px; padding-left: 12px; }
html.premium .sb-menu .sb-nav.active::before { left: 0; }

/* Lote 21: rodapé do menu organizado (Suporte na largura do menu, links em uma linha) e lista que nunca fica cortada */
html.premium .sb-body { padding-bottom: 18px; scroll-padding-bottom: 18px; }
html.premium .sb-foot { flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 10px; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); background: #0B0B0E; }
html.premium .sb-foot .sb-suporte { width: 100%; flex: none; justify-content: center; padding: 10px 14px; min-height: 40px; }
html.premium .sb-foot #sbInstall:not([hidden]) { width: 100%; flex: none; }
html.premium .sb-foot .sb-legal { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; font-size: .72rem; }
@media (max-height: 820px) {
  html.premium .sb-menu .sb-nav { padding-top: 8px; padding-bottom: 8px; }
  html.premium .sb-grupo { margin: 10px 0 6px; }
  html.premium .sb-foot { gap: 8px; padding-top: 10px; }
  html.premium .sb-foot .sb-suporte { padding: 8px 14px; min-height: 36px; }
}
@media (max-height: 680px) {
  html.premium .sb-menu .sb-nav { padding-top: 6px; padding-bottom: 6px; }
  html.premium .sb-foot .sb-legal { font-size: .68rem; }
}

/* Lote 22: card de concurso (Concursos): informações em lista limpa, sem caixinhas com borda */
html.premium .cat-body { gap: 4px; padding: 16px 18px 8px; }
html.premium .cat-body > b { font-family: var(--p-fh); font-size: 1.08rem; line-height: 1.25; }
html.premium .cat-body > span { font-size: .86rem; color: var(--p-tx2); line-height: 1.35; }
html.premium .cat-chips { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 7px; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--p-line); }
html.premium .cat-chips .chip { position: relative; display: block; width: auto; padding: 0 0 0 16px; border: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0; text-transform: none; letter-spacing: 0; font-size: .82rem; font-weight: 500; line-height: 1.4; color: var(--p-tx2); white-space: normal; }
html.premium .cat-chips .chip::before { content: ""; position: absolute; left: 1px; top: .5em; width: 6px; height: 6px; border-radius: 50%; background: #C7ADFB; }
html.premium .cat-chips .chip.mg { padding-left: 0; margin-bottom: 2px; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--p-ac) !important; }
html.premium .cat-chips .chip.mg::before { display: none; }
html.premium .cat-chips .chip.soon { color: var(--p-tx2); }
html.premium .cat-body > small { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--p-line); font-size: .76rem; line-height: 1.5; color: var(--p-tx3); }

/* Lote 23: tela de Troféus organizada (resumo, filtros, seções por nível e cartões uniformes) */
html.premium .tf-resumo .tf-niveis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; margin-top: 16px; border: 1px solid var(--p-line); border-radius: 10px; overflow: hidden; background: #0f0f12; }
html.premium .tf-resumo .tf-niveis span { display: flex; flex-direction: column; gap: 2px; padding: 11px 14px; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; border-right: 1px solid var(--p-line); }
html.premium .tf-resumo .tf-niveis span:last-child { border-right: 0; }
html.premium .tf-resumo .tf-niveis span b { font-family: var(--p-fh); font-size: 1.05rem; letter-spacing: 0; color: #fff; }
html.premium .tf-filtros { gap: 8px; margin: 20px 0 6px; padding: 12px; border: 1px solid var(--p-line); border-radius: 12px; background: #0e0e11; }
html.premium .tf-filtro { padding: 7px 13px; border-radius: 8px; font-size: .76rem; font-weight: 600; color: var(--p-tx2); background: transparent; border: 1px solid var(--p-line); transition: border-color .15s, color .15s, background .15s; }
html.premium .tf-filtro:hover { color: #fff; border-color: var(--p-ac-line); }
html.premium .tf-filtro.on { color: #fff; font-weight: 700; background: rgba(176,135,247,.2); border-color: var(--p-ac); }
html.premium .tf-cat-titulo { display: flex; align-items: center; gap: 14px; margin: 30px 0 14px; font-family: var(--p-fh); font-size: .8rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
html.premium .tf-cat-titulo::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--p-line-2), transparent); }
html.premium .tf-grid-cat { gap: 12px; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); }
html.premium .tf-item { align-items: flex-start; padding: 16px; border-radius: 12px; min-height: 104px; }
html.premium .tf-item .tf-txt { min-width: 0; flex: 1; }
html.premium .tf-item .tf-txt b { display: block; padding-right: 66px; font-size: .94rem; line-height: 1.3; }
html.premium .tf-item .tf-txt > span { display: block; margin-top: 3px; font-size: .82rem; line-height: 1.4; color: var(--p-tx2); }
html.premium .tf-item .tf-tag { top: 14px; right: 14px; border-radius: 6px; padding: 2px 8px; font-size: .58rem; letter-spacing: .14em; background: transparent; }
html.premium .tf-item .bar { margin-top: 10px; height: 4px; border-radius: 4px; }
html.premium .tf-item small { display: block; margin-top: 6px; font-size: .72rem; }
html.premium .tf-item.bloq { opacity: .82; }
@media (max-width: 760px) {
  html.premium .tf-resumo .tf-niveis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html.premium .tf-resumo .tf-niveis span { border-bottom: 1px solid var(--p-line); }
  html.premium .tf-grid-cat { grid-template-columns: 1fr; }
  html.premium .tf-filtros { padding: 10px; }
}

/* Lote 24: tela de resolução mais compacta ao redor do cartão (o cartão em si não muda): CERTO e ERRADO visíveis sem rolar no PC a 100% */
html.premium .app:has(.quiz) { padding-top: 8px; padding-bottom: 24px; }
html.premium .quiz .qf-bar { margin: 0 0 6px; padding: 2px 2px 4px; gap: 6px; }
html.premium .quiz .qf-chip { padding: 5px 11px; font-size: .74rem; }
html.premium .quiz .quiz-head { margin-bottom: 4px; gap: 8px; }
html.premium .quiz .quiz-head .chip { padding-top: 3px; padding-bottom: 3px; }
html.premium .quiz .fc-stage { padding-bottom: 4px; }
html.premium .quiz .fc-nav { margin-top: 2px; }
html.premium .quiz .fc-atalhos { margin-top: 2px; }
@media (max-height: 760px) and (min-width: 901px) {
  html.premium .app:has(.quiz) { padding-top: 4px; }
  html.premium .quiz .qf-bar { margin-bottom: 2px; }
  html.premium .quiz .fc-nav .btn { padding-top: 6px; padding-bottom: 6px; }
}

/* Lote 25: destaque fixo no topo de Novidades (resultado do sorteio) */
html.premium .nv-destaque { position: relative; display: flex; flex-direction: column; gap: 4px; margin: 0 0 14px; padding: 16px 18px 16px 20px; border-radius: 12px; border: 1px solid rgba(176,135,247,.55); background: linear-gradient(100deg, rgba(176,135,247,.34), rgba(176,135,247,.12) 62%, rgba(227,183,91,.10)); box-shadow: inset 4px 0 0 var(--p-ac); }
html.premium .nv-dtag { align-self: flex-start; font-size: .62rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #0A0A0C; background: var(--p-ac); border-radius: 6px; padding: 3px 9px; }
html.premium .nv-dtit { font-family: var(--p-fh); font-size: 1.08rem; line-height: 1.3; color: #fff; margin-top: 6px; }
html.premium .nv-dsub { font-size: .82rem; color: var(--p-tx2); }

/* Lote 26: Troféus em blocos (contador no título e botão Mostrar mais) */
html.premium .tf-cat-titulo .tf-cont { font-family: var(--p-fb); font-size: .7rem; font-weight: 700; letter-spacing: .08em; color: var(--p-tx3); padding: 2px 8px; border: 1px solid var(--p-line-2); border-radius: 6px; }
html.premium .tf-mais-box { display: flex; justify-content: center; margin: 14px 0 4px; }
html.premium .tf-mais { min-width: 240px; justify-content: center; }

/* Lote 27: paginação dos Troféus */
html.premium .tf-pag { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
@media (max-width: 600px) { html.premium .tf-pag { justify-content: center; text-align: center; } }

/* Lote 28: Pomodoro (botão no topo com o tempo sob o símbolo, tela do cronômetro, horas líquidas e 20 últimas sessões) */
html.premium .topbar .top-pomo { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-height: 38px; min-width: 46px; padding: 3px 9px; border-radius: 8px; border: 1px solid var(--p-line-2); background: transparent; color: var(--p-tx); cursor: pointer; transition: border-color .15s, background .15s; }
html.premium .topbar .top-pomo:hover { border-color: var(--p-ac-line); }
html.premium .top-pomo img { width: 22px; height: 22px; display: block; object-fit: contain; }
html.premium .top-pomo .tp-tempo { font-family: var(--p-fh); font-size: .62rem; font-weight: 700; line-height: 1; letter-spacing: .02em; color: #C7ADFB; font-variant-numeric: tabular-nums; }
html.premium .top-pomo .tp-tempo[hidden] { display: none; }
html.premium .topbar .top-pomo.ativo { border-color: var(--p-ac); background: rgba(176,135,247,.14); }
html.premium .topbar .top-pomo.pausado { border-style: dashed; }
html.premium .topbar .top-pomo.pausado .tp-tempo { color: var(--p-tx3); }

html.premium .pomo-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 16px; margin-bottom: 16px; align-items: start; }
html.premium .pomo-cron .panel-b { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 24px 20px 26px; }
html.premium .pomo-anel { position: relative; width: min(260px, 70vw); aspect-ratio: 1; }
html.premium .pomo-anel svg { width: 100%; height: 100%; display: block; }
html.premium .pomo-trilha { fill: none; stroke: rgba(176,135,247,.16); stroke-width: 9; }
html.premium .pomo-prog { fill: none; stroke-width: 9; stroke-linecap: round; transition: stroke-dashoffset .4s linear; }
html.premium .pomo-tempo { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; }
html.premium .pomo-tempo b { font-family: var(--p-fh); font-size: clamp(2.2rem, 9vw, 3.1rem); font-weight: 700; letter-spacing: -.01em; color: #fff; font-variant-numeric: tabular-nums; line-height: 1; }
html.premium .pomo-tempo span { font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--p-ac); }
html.premium .pomo-presets { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
html.premium .pomo-preset { font: inherit; font-size: .82rem; font-weight: 600; padding: 8px 16px; border-radius: 8px; border: 1px solid var(--p-line-2); background: transparent; color: var(--p-tx2); cursor: pointer; transition: border-color .15s, color .15s, background .15s; }
html.premium .pomo-preset:hover { color: #fff; border-color: var(--p-ac-line); }
html.premium .pomo-preset.on { color: #fff; background: rgba(176,135,247,.22); border-color: var(--p-ac); }
html.premium .pomo-outro { display: inline-flex; align-items: center; gap: 8px; padding: 0 0 0 12px; border: 1px solid var(--p-line-2); border-radius: 8px; font-size: .78rem; font-weight: 600; color: var(--p-tx3); }
html.premium .pomo-outro input { width: 64px; padding: 8px 8px; border: 0; border-left: 1px solid var(--p-line-2); border-radius: 0 8px 8px 0; background: #0d0d10; color: #fff; font: inherit; font-size: .86rem; text-align: center; }
html.premium .pomo-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; }
html.premium .pomo-iniciar { min-width: 220px; justify-content: center; }
html.premium .pomo-meta { margin: 0; font-size: .78rem; color: var(--p-tx3); text-align: center; line-height: 1.5; }

html.premium .pomo-lado { display: flex; flex-direction: column; gap: 12px; }
html.premium .pomo-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
html.premium .pomo-kpi { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border-radius: 12px; border: 1px solid rgba(176,135,247,.26); background: linear-gradient(160deg, rgba(176,135,247,.10), #111114 62%); }
html.premium .pomo-kpi:first-child { grid-column: 1 / -1; border-color: rgba(176,135,247,.5); background: linear-gradient(160deg, rgba(176,135,247,.22), #111114 70%); }
html.premium .pomo-kpi span { font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #C7ADFB; }
html.premium .pomo-kpi b { font-family: var(--p-fh); font-size: 1.6rem; font-weight: 700; color: #fff; line-height: 1.1; font-variant-numeric: tabular-nums; }
html.premium .pomo-kpi:first-child b { font-size: 2.2rem; }
html.premium .pomo-kpi small { font-size: .74rem; color: var(--p-tx3); }
html.premium .pomo-nota { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 14px 16px; border-radius: 10px; border: 1px solid var(--p-line-2); background: #0e0e11; font-size: .84rem; color: var(--p-tx2); }

html.premium .pomo-tab { display: flex; flex-direction: column; }
html.premium .pomo-th, html.premium .pomo-tr { display: grid; grid-template-columns: 1.1fr .8fr 1fr 1fr 1.3fr; gap: 12px; align-items: center; padding: 11px 14px; }
html.premium .pomo-th { font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--p-tx3); border-bottom: 1px solid rgba(176,135,247,.22); }
html.premium .pomo-tr { font-size: .88rem; color: var(--p-tx2); border-bottom: 1px solid var(--p-line); }
html.premium .pomo-tr:last-child { border-bottom: 0; }
html.premium .pomo-tr .pt-liq b { color: #fff; font-weight: 700; }
html.premium .pomo-tr .pt-sit i { font-style: normal; font-size: .72rem; font-weight: 700; letter-spacing: .06em; color: var(--p-tx3); }
html.premium .pomo-tr .pt-sit i.ok { color: #6FD3A1; }

html.premium .pomo-aviso { text-align: center; max-width: 380px; }
html.premium .pomo-aviso img { display: block; margin: 0 auto 6px; }
html.premium .pomo-aviso h3 { margin: 6px 0 8px; font-family: var(--p-fh); }
html.premium .pomo-aviso p { margin: 0 0 14px; color: var(--p-tx2); line-height: 1.5; }
html.premium .pomo-aviso .rep-acts { justify-content: center; }

@media (max-width: 900px) {
  html.premium .pomo-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  html.premium .topbar .top-pomo { min-width: 40px; padding: 3px 6px; }
  html.premium .pomo-th { display: none; }
  html.premium .pomo-tr { grid-template-columns: 1fr 1fr; gap: 4px 12px; padding: 12px 4px; }
  html.premium .pomo-tr .pt-data { font-weight: 700; color: #fff; }
  html.premium .pomo-tr .pt-hora, html.premium .pomo-tr .pt-sit { text-align: right; }
  html.premium .pomo-tr .pt-plan::before { content: "Planejado "; color: var(--p-tx3); }
  html.premium .pomo-tr .pt-liq::before { content: "Estudado "; color: var(--p-tx3); font-weight: 400; }
  html.premium .pomo-tr .pt-liq { text-align: right; }
  html.premium .pomo-kpi b { font-size: 1.35rem; }
  html.premium .pomo-kpi:first-child b { font-size: 1.9rem; }
  html.premium .pomo-iniciar { min-width: 0; width: 100%; }
}

/* Lote 29: mini painel do Pomodoro no topo e cartões de horas em linha */
html.premium .pomo-mini { position: fixed; z-index: 90; width: min(280px, calc(100vw - 16px)); padding: 16px; border-radius: 12px; border: 1px solid rgba(176,135,247,.45); background: #0f0f12; box-shadow: 0 18px 44px rgba(0,0,0,.6); display: flex; flex-direction: column; gap: 12px; }
html.premium .pomo-mini .pm-tempo { display: flex; flex-direction: column; align-items: center; gap: 4px; }
html.premium .pomo-mini .pm-tempo b { font-family: var(--p-fh); font-size: 2.1rem; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; line-height: 1; }
html.premium .pomo-mini .pm-tempo span { font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--p-ac); }
html.premium .pomo-mini .pm-acoes { display: flex; gap: 8px; }
html.premium .pomo-mini .pm-acoes .btn { flex: 1; justify-content: center; }
html.premium .pomo-mini .pm-abrir { text-align: center; font-size: .78rem; font-weight: 600; color: var(--p-ac); }
html.premium .pomo-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html.premium .pomo-kpi:first-child { grid-column: 1 / -1; }
@media (max-width: 600px) { html.premium .pomo-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } html.premium .pomo-kpi:last-child { grid-column: 1 / -1; } }
/* botão do tomate limpo: só a imagem; moldura lavanda apenas com sessão em andamento */
html.premium .topbar .top-pomo { border-color: transparent; background: transparent; }
html.premium .topbar .top-pomo:hover { border-color: transparent; background: rgba(176,135,247,.10); }
html.premium .topbar .top-pomo.ativo { border-color: var(--p-ac); background: rgba(176,135,247,.12); }

/* Lote 30: destaques de Novidades com roxo mais forte e botão Abrir */
html.premium .nv-destaque { border-color: rgba(176,135,247,.8); background: linear-gradient(100deg, rgba(176,135,247,.58), rgba(143,99,232,.30) 62%, rgba(143,99,232,.14)); box-shadow: inset 4px 0 0 var(--p-ac), 0 0 0 1px rgba(176,135,247,.12); }
html.premium .nv-destaque .nv-dsub { color: #E4D8FB; }
html.premium .nv-destaque .nv-dabrir { align-self: flex-start; margin-top: 8px; }

/* Lote 31: contador geral de horas do Pomodoro */
html.premium .pomo-geral { margin: 0 0 16px; padding: 18px; border-radius: 12px; border: 1px solid rgba(176,135,247,.4); background: linear-gradient(100deg, rgba(176,135,247,.20), rgba(143,99,232,.06) 70%, transparent); }
html.premium .pomo-geral-tit { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 12px; }
html.premium .pomo-geral-tit b { font-family: var(--p-fh); font-size: .8rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #fff; }
html.premium .pomo-geral-tit span { font-size: .8rem; color: var(--p-tx2); }
html.premium .pomo-geral-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
html.premium .pomo-geral .pomo-kpi:first-child { grid-column: auto; }
html.premium .pomo-geral .pomo-kpi:first-child b { font-size: 1.6rem; }
@media (max-width: 600px) { html.premium .pomo-geral-kpis { grid-template-columns: 1fr 1fr; } html.premium .pomo-geral .pomo-kpi:last-child { grid-column: auto; } }

/* Lote 32: Pomodoro mais colorido, com brilho e efeitos; cabeçalhos mais fortes; aviso de sessão */
html.premium .pomo-cron, html.premium .pomo-hist { border-color: rgba(176,135,247,.45); box-shadow: 0 0 0 1px rgba(176,135,247,.08), 0 18px 46px rgba(0,0,0,.45), 0 0 40px rgba(176,135,247,.08); overflow: hidden; }
html.premium .pomo-cron .panel-h, html.premium .pomo-hist .panel-h { background: linear-gradient(95deg, rgba(176,135,247,.70), rgba(143,99,232,.34) 55%, rgba(143,99,232,.08)); box-shadow: inset 5px 0 0 var(--p-ac), inset 0 -1px 0 rgba(199,173,251,.35); }
html.premium .pomo-cron .panel-h h2, html.premium .pomo-hist .panel-h h2 { font-size: .86rem; letter-spacing: .2em; text-transform: uppercase; color: #fff; text-shadow: 0 0 18px rgba(199,173,251,.9), 0 1px 0 rgba(0,0,0,.4); }
html.premium .pomo-cron .panel-b { background: radial-gradient(70% 55% at 50% 22%, rgba(176,135,247,.20), transparent 70%); }
html.premium .pomo-anel svg { filter: drop-shadow(0 0 12px rgba(176,135,247,.55)); }
html.premium .pomo-trilha { stroke: rgba(176,135,247,.20); }
html.premium .pomo-prog { stroke-width: 10; }
html.premium .pomo-anel.rodando svg { animation: pomoBrilho 2.6s ease-in-out infinite; }
@keyframes pomoBrilho { 0%, 100% { filter: drop-shadow(0 0 8px rgba(176,135,247,.45)); } 50% { filter: drop-shadow(0 0 20px rgba(199,173,251,.85)); } }
html.premium .pomo-tempo b { text-shadow: 0 0 26px rgba(176,135,247,.6); }
html.premium .pomo-preset.on { box-shadow: 0 0 0 1px var(--p-ac), 0 0 18px rgba(176,135,247,.45); }
html.premium .pomo-iniciar { background: linear-gradient(135deg, #C7ADFB, #8F63E8); border-color: transparent; box-shadow: 0 8px 24px rgba(143,99,232,.45); }
html.premium .pomo-iniciar:hover { box-shadow: 0 10px 30px rgba(176,135,247,.65); }
html.premium .pomo-kpi { position: relative; overflow: hidden; --c: #B087F7; border-color: color-mix(in srgb, var(--c) 40%, transparent); background: linear-gradient(160deg, color-mix(in srgb, var(--c) 20%, #121215), #111114 70%); box-shadow: 0 10px 28px rgba(0,0,0,.35); }
html.premium .pomo-kpi::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--c), transparent 85%); }
html.premium .pomo-kpi span { color: color-mix(in srgb, var(--c) 60%, #fff); }
html.premium .pomo-kpi b { text-shadow: 0 0 22px color-mix(in srgb, var(--c) 55%, transparent); }
html.premium .pomo-kpi:nth-child(1) { --c: #B087F7; }
html.premium .pomo-kpi:nth-child(2) { --c: #4CC38A; }
html.premium .pomo-kpi:nth-child(3) { --c: #7C9BFF; }
html.premium .pomo-kpi:nth-child(4) { --c: #E3B75B; }
html.premium .pomo-tr:nth-child(even) { background: rgba(176,135,247,.04); }
html.premium .pomo-tr:hover { background: rgba(176,135,247,.10); }
html.premium .pomo-aviso { position: relative; overflow: hidden; padding: 30px 24px 22px; border: 1px solid rgba(176,135,247,.6); background: radial-gradient(90% 60% at 50% 0%, rgba(176,135,247,.34), transparent 70%), #0f0f12; box-shadow: 0 24px 64px rgba(0,0,0,.65), 0 0 46px rgba(176,135,247,.28); }
html.premium .pomo-aviso-faixa { position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, #8F63E8, #C7ADFB, #8F63E8); }
html.premium .pomo-aviso.ok { border-color: rgba(227,183,91,.65); box-shadow: 0 24px 64px rgba(0,0,0,.65), 0 0 46px rgba(227,183,91,.28); background: radial-gradient(90% 60% at 50% 0%, rgba(227,183,91,.26), transparent 70%), #0f0f12; }
html.premium .pomo-aviso.ok .pomo-aviso-faixa { background: linear-gradient(90deg, #C98F2E, #F5DE8E, #C98F2E); }
html.premium .pomo-aviso img { filter: drop-shadow(0 8px 20px rgba(176,135,247,.65)); animation: pomoFlutua 3s ease-in-out infinite; }
@keyframes pomoFlutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
html.premium .pomo-aviso h3 { font-size: 1.3rem; background: linear-gradient(90deg, #fff, #C7ADFB); -webkit-background-clip: text; background-clip: text; color: transparent; }
html.premium .pomo-aviso .rep-acts { gap: 10px; flex-wrap: wrap; }
@media (max-width: 600px) {
  html.premium .pomo-aviso { margin: 0 12px; padding: 26px 18px 18px; }
  html.premium .pomo-cron .panel-b { padding: 20px 14px 22px; }
  html.premium .pomo-cron .panel-h h2, html.premium .pomo-hist .panel-h h2 { font-size: .78rem; }
}
@media (prefers-reduced-motion: reduce) { html.premium .pomo-anel.rodando svg, html.premium .pomo-aviso img { animation: none; } }

/* Lote 33: Pomodoro, meta diária com círculo de progresso e KPIs em linha */
html.premium .pomo-grid { align-items: stretch; }
html.premium .pomo-metap { overflow: hidden; border-color: rgba(176,135,247,.45); box-shadow: 0 0 0 1px rgba(176,135,247,.08), 0 18px 46px rgba(0,0,0,.45), 0 0 40px rgba(176,135,247,.08); }
html.premium .pomo-metap .panel-h { background: linear-gradient(95deg, rgba(176,135,247,.70), rgba(143,99,232,.34) 55%, rgba(143,99,232,.08)); box-shadow: inset 5px 0 0 var(--p-ac), inset 0 -1px 0 rgba(199,173,251,.35); }
html.premium .pomo-metap .panel-h h2 { font-size: .86rem; letter-spacing: .2em; text-transform: uppercase; color: #fff; text-shadow: 0 0 18px rgba(199,173,251,.9), 0 1px 0 rgba(0,0,0,.4); }
html.premium .pomo-metap .panel-b { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 24px 20px 24px; background: radial-gradient(70% 55% at 50% 22%, rgba(176,135,247,.20), transparent 70%); }
html.premium #pomoMetaAnel { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; }
html.premium .pomo-meta-anel { position: relative; width: min(240px, 66vw); aspect-ratio: 1; }
html.premium .pomo-meta-anel svg { width: 100%; height: 100%; display: block; filter: drop-shadow(0 0 12px rgba(176,135,247,.5)); }
html.premium .pomo-meta-trilha { fill: none; stroke: rgba(176,135,247,.18); stroke-width: 14; }
html.premium .pomo-meta-prog { fill: none; stroke-width: 14; stroke-linecap: round; transition: stroke-dashoffset .6s ease; }
html.premium .pomo-meta-ponto { fill: #E4D8FB; stroke: #8F63E8; stroke-width: 3; filter: drop-shadow(0 0 8px rgba(199,173,251,.9)); }
html.premium .pomo-meta-anel.bateu svg { filter: drop-shadow(0 0 16px rgba(227,183,91,.7)); }
html.premium .pomo-meta-anel.bateu .pomo-meta-ponto { fill: #FFF1C2; stroke: #C98F2E; }
html.premium .pomo-meta-centro { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
html.premium .pomo-meta-centro b { font-family: var(--p-fh); font-size: 2.6rem; font-weight: 700; color: #fff; line-height: 1; text-shadow: 0 0 26px rgba(176,135,247,.6); font-variant-numeric: tabular-nums; }
html.premium .pomo-meta-centro span { font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #C7ADFB; }
html.premium .pomo-meta-linha { margin: 0; font-size: 1rem; color: var(--p-tx2); text-align: center; }
html.premium .pomo-meta-linha b { color: #fff; font-family: var(--p-fh); }
html.premium .pomo-meta-sub { margin: 0; font-size: .8rem; color: var(--p-tx3); text-align: center; }
html.premium .pomo-meta-def { display: flex; flex-direction: column; align-items: center; gap: 10px; width: 100%; padding-top: 14px; border-top: 1px solid var(--p-line); }
html.premium .pomo-meta-def > span { font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--p-tx3); }
html.premium .pomo-meta-def small { font-size: .76rem; color: var(--p-tx3); }
html.premium .pomo-preset:disabled, html.premium .pomo-outro input:disabled { opacity: .5; cursor: not-allowed; }
html.premium .pomo-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; }
html.premium .pomo-kpi:first-child { grid-column: auto; }
html.premium .pomo-kpi:first-child b { font-size: 1.6rem; }
@media (max-width: 900px) { html.premium .pomo-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { html.premium .pomo-meta-centro b { font-size: 2.2rem; } html.premium .pomo-metap .panel-b { padding: 20px 14px 22px; } html.premium .pomo-kpi:first-child b { font-size: 1.4rem; } }
/* Lote 34: ajustes finais do Pomodoro (cartões em 2 colunas no celular e folga acima do histórico) */
html.premium #pomoNota:not(:empty) { margin-bottom: 16px; }
html.premium .pomo-kpis { margin-bottom: 16px; }
@media (max-width: 900px) { html.premium .pomo-kpis .pomo-kpi:last-child, html.premium .pomo-kpis .pomo-kpi:first-child { grid-column: auto; } }

/* Lote 35: cards de concurso com roxo bem leve, no mesmo estilo do cabeçalho do Desempenho */
html.premium .cat-card {
  background: linear-gradient(135deg, rgba(176,135,247,.11) 0%, rgba(176,135,247,.04) 42%, var(--p-s1) 85%) !important;
  border: 1px solid rgba(176,135,247,.18) !important;
}
html.premium .cat-card:hover {
  background: linear-gradient(135deg, rgba(176,135,247,.17) 0%, rgba(176,135,247,.06) 42%, var(--p-s1) 85%) !important;
  border-color: rgba(176,135,247,.34) !important;
}

/* Lote 36: botao Instalar app com o texto centralizado, igual ao botao Suporte */
html.premium .sb-foot #sbInstall:not([hidden]) { display: flex; align-items: center; justify-content: center; text-align: center; }

/* Lote 31: tomate (Pomodoro) e Novidades no topo, responsivos em celular, tablet e computador */
html.premium .topbar .top-pomo, html.premium .topbar .top-link.top-novidades { box-sizing: border-box; min-height: 40px; -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent; }
html.premium .topbar .top-pomo { background: transparent !important; background-image: none !important; min-width: 48px; padding: 4px 10px; border-radius: 10px; }
html.premium .topbar .top-pomo img { width: 24px; height: 24px; background: transparent; mix-blend-mode: normal; }
html.premium .topbar .top-pomo.ativo { background: rgba(176,135,247,.16) !important; }
html.premium .topbar .top-link.top-novidades { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 14px; border-radius: 10px; white-space: nowrap; line-height: 1; }
html.premium .top-novidades svg { display: none !important; width: 0; height: 0; }
html.premium .top-novidades .tn-ponto { top: 5px; right: 5px; width: 8px; height: 8px; }
@media (hover: none) and (pointer: coarse) {
  html.premium .topbar .top-pomo, html.premium .topbar .top-link.top-novidades, html.premium .topbar .top-link { min-height: 44px; }
  html.premium .topbar .top-pomo:hover { border-color: var(--p-line-2); }
}
@media (min-width: 601px) and (max-width: 1100px) {
  html.premium .topbar .top-link.top-novidades { font-size: .8rem; padding: 6px 14px; }
  html.premium .topbar { gap: 8px; }
}
@media (max-width: 600px) {
  html.premium .topbar .top-pomo { min-width: 44px; padding: 3px 7px; }
  html.premium .topbar .top-pomo img { width: 22px; height: 22px; }
  html.premium .topbar .top-link.top-novidades { font-size: .72rem; padding: 6px 9px; }
}

/* Lote 32: tela Sugestão de melhoria */
html.premium .sug-area { width: 100%; min-height: 180px; padding: 14px 16px; box-sizing: border-box; border: 1px solid var(--p-line-2); border-radius: 12px; background: #0d0d10; color: #f4f0fb; font: inherit; font-size: .95rem; line-height: 1.6; resize: vertical; }
html.premium .sug-area:focus { outline: none; border-color: var(--p-ac); box-shadow: 0 0 0 3px rgba(176,135,247,.18); }
html.premium .sug-rodape { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 14px; }
html.premium .sug-conta { color: var(--p-tx3); font-size: .78rem; margin-right: auto; }
html.premium .sug-msg { font-size: .85rem; color: var(--p-tx2); }
html.premium .sug-msg.ok { color: #6ee7b7; }
html.premium .sug-msg.ko { color: #ff8a9b; }
@media (max-width: 600px) { html.premium .sug-rodape .btn { width: 100%; } html.premium .sug-conta { width: 100%; } }

/* ---------- Flashcards Anki (vitrine de baralhos; hoje so para o administrador) ---------- */
html.premium .al-tela { display: flex; flex-direction: column; gap: 30px; max-width: 1760px; }
html.premium .al-admin { padding: 11px 16px; border-radius: 12px; border: 1px dashed var(--p-ac-line); background: var(--p-ac-soft); color: var(--p-tx2); font: 500 13px/1.5 var(--p-fb); }
html.premium .al-admin b { color: var(--p-ac-hi); }
html.premium .al-hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr); gap: 32px; align-items: center; padding: clamp(22px, 3.4vw, 44px); border-radius: 26px; border: 1px solid rgba(176,135,247,.34); background: radial-gradient(110% 130% at 0% 0%, rgba(176,135,247,.15), transparent 58%), radial-gradient(80% 90% at 100% 100%, rgba(143,99,232,.09), transparent 60%), linear-gradient(180deg, var(--p-s2), var(--p-s1)); overflow: hidden; }
html.premium .al-kicker { display: inline-block; font: 700 11px/1.4 var(--p-fb); letter-spacing: .16em; text-transform: uppercase; color: var(--p-ac-hi); padding: 7px 14px; border-radius: 999px; border: 1px solid var(--p-ac-line); background: var(--p-ac-soft); }
html.premium .al-hero h1 { margin: 16px 0 12px; font: 800 clamp(30px, 4.4vw, 52px)/1.06 var(--p-fh); letter-spacing: -.015em; color: var(--p-tx); }
html.premium .al-hero h1 span { color: var(--p-ac); }
html.premium .al-hero p { margin: 0; max-width: 60ch; color: var(--p-tx2); font: 400 16px/1.7 var(--p-fb); }
html.premium .al-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 22px; }
html.premium .al-hero-cta .al-btn { min-width: 170px; padding: 0 22px; }
html.premium .al-selos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; }
html.premium .al-selos li { display: flex; align-items: center; gap: 9px; color: var(--p-tx); font: 600 13.5px/1.4 var(--p-fb); }
html.premium .al-selos svg, html.premium .al-itens svg { flex: none; color: var(--p-ac); }
html.premium .al-hero-vis { display: grid; place-items: center; }
html.premium .al-mock { width: 100%; max-width: 380px; padding: 18px; border-radius: 24px; border: 1px solid rgba(176,135,247,.5); background: #15151a; box-shadow: 0 26px 60px rgba(0,0,0,.55); transform: rotate(1.6deg); }
html.premium .al-mock-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
html.premium .al-mock-topo span { padding: 5px 11px; border-radius: 999px; background: var(--p-ac); color: #0B0B0E; font: 800 10.5px var(--p-fb); letter-spacing: .08em; text-transform: uppercase; }
html.premium .al-mock-topo i { font: 800 12px var(--p-fh); font-style: normal; color: var(--p-ac-hi); }
html.premium .al-mock-ass { padding: 14px; border-radius: 16px; border: 1px solid var(--p-ac-line); background: var(--p-s3); }
html.premium .al-mock-ass small, html.premium .al-mock-exp small { display: block; margin-bottom: 6px; color: var(--p-ac-hi); font: 800 10.5px var(--p-fb); letter-spacing: .12em; text-transform: uppercase; }
html.premium .al-mock-ass p { margin: 0; color: var(--p-tx); font: 500 15px/1.5 var(--p-fb); }
html.premium .al-mock-bt { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 12px 0; }
html.premium .al-mock-bt span { display: grid; place-items: center; height: 44px; border-radius: 12px; background: linear-gradient(180deg, var(--p-ac-hi), var(--p-ac)); color: #0B0B0E; font: 800 14px var(--p-fb); letter-spacing: .06em; }
html.premium .al-mock-exp { padding: 12px 14px; border-radius: 14px; background: rgba(0,0,0,.35); border: 1px solid var(--p-line); }
html.premium .al-mock-exp p { margin: 0; color: var(--p-tx2); font: 400 13.5px/1.5 var(--p-fb); }

html.premium .al-faixa { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: 20px; border: 1px solid rgba(176,135,247,.26); background: #17171B; overflow: hidden; }
html.premium .al-faixa > div { padding: 22px 12px; text-align: center; border-left: 1px solid rgba(176,135,247,.14); }
html.premium .al-faixa > div:first-child { border-left: 0; }
html.premium .al-faixa b { display: block; font: 800 clamp(24px, 3vw, 34px)/1.1 var(--p-fh); color: var(--p-tx); }
html.premium .al-faixa small { display: block; margin-top: 6px; color: var(--p-tx3); font: 700 11px/1.3 var(--p-fb); letter-spacing: .1em; text-transform: uppercase; }

html.premium .al-sec-bloco { display: grid; gap: 18px; scroll-margin-top: 80px; }
html.premium .al-sec-bloco h2 { margin: 0; font: 800 clamp(22px, 2.6vw, 28px)/1.2 var(--p-fh); color: var(--p-tx); }
html.premium .al-sec-bloco h2::after { content: ""; display: block; width: 46px; height: 3px; margin-top: 10px; border-radius: 3px; background: var(--p-ac); }
html.premium .al-sec-topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html.premium .al-passos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
html.premium .al-passo { padding: 22px; border-radius: 20px; border: 1px solid rgba(176,135,247,.22); background: linear-gradient(180deg, #1A1A1F, #141418); }
html.premium .al-passo i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--p-ac-line); background: var(--p-ac-soft); color: var(--p-ac-hi); font: 800 16px var(--p-fh); font-style: normal; }
html.premium .al-passo b { display: block; margin: 14px 0 6px; color: var(--p-tx); font: 800 17px var(--p-fh); }
html.premium .al-passo p { margin: 0; color: var(--p-tx2); font: 400 14px/1.6 var(--p-fb); }

html.premium .al-barra { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 14px; }
html.premium .al-barra label { display: grid; gap: 7px; }
html.premium .al-barra label > span { font: 700 11px/1 var(--p-fb); letter-spacing: .1em; text-transform: uppercase; color: var(--p-tx3); }
html.premium .al-barra input, html.premium .al-barra select { width: 100%; box-sizing: border-box; height: 52px; padding: 0 16px; border-radius: 14px; border: 1px solid rgba(176,135,247,.28); background: #1A1A1F; color: var(--p-tx); font: 500 15px var(--p-fb); outline: none; transition: border-color .15s, box-shadow .15s; }
html.premium .al-barra input:focus, html.premium .al-barra select:focus { border-color: var(--p-ac); box-shadow: 0 0 0 4px var(--p-ac-soft); }
html.premium .al-chips, html.premium .cat-areas { display: flex; flex-wrap: wrap; gap: 8px; }
html.premium .al-chip, html.premium .cat-area { height: 38px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(176,135,247,.28); background: #17171B; color: var(--p-tx2); font: 700 13px var(--p-fb); cursor: pointer; transition: all .15s; }
html.premium .al-chip:hover, html.premium .cat-area:hover { border-color: var(--p-ac-line); color: var(--p-tx); }
html.premium .al-chip.on, html.premium .cat-area.on { background: var(--p-ac-soft); border-color: var(--p-ac); color: var(--p-ac-hi); }
html.premium .cat-area small { margin-left: 6px; color: var(--p-tx3); font-weight: 700; }
html.premium .cat-area.on small { color: var(--p-ac-hi); }
html.premium .cat-areas { margin: 4px 0 14px; }
html.premium .al-resumo { color: var(--p-tx3); font: 600 12.5px var(--p-fb); }
html.premium .al-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 18px; }

html.premium .al-card { display: flex; flex-direction: column; border-radius: 20px; border: 1px solid rgba(176,135,247,.26); background: linear-gradient(180deg, #1A1A1F, #141418); overflow: hidden; min-width: 0; transition: border-color .18s, transform .18s, box-shadow .18s; }
html.premium .al-card:hover { transform: translateY(-3px); border-color: rgba(176,135,247,.55); box-shadow: 0 16px 36px rgba(0,0,0,.5); }
html.premium .al-card.venda { border-color: rgba(176,135,247,.5); box-shadow: 0 10px 30px rgba(176,135,247,.08); }
html.premium .al-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 18px; border-bottom: 1px solid rgba(176,135,247,.16); background: rgba(176,135,247,.07); }
html.premium .al-area { color: rgba(199,173,251,.85); font: 700 10.5px/1.3 var(--p-fb); letter-spacing: .1em; text-transform: uppercase; }
html.premium .al-status { padding: 4px 10px; border-radius: 999px; font: 800 10.5px/1.2 var(--p-fb); letter-spacing: .06em; text-transform: uppercase; }
html.premium .al-status.ok { background: rgba(52,211,153,.14); border: 1px solid rgba(52,211,153,.4); color: #6EE7B7; }
html.premium .al-status.breve { border: 1px solid var(--p-line-2); color: var(--p-tx3); }
html.premium .al-top { display: flex; gap: 16px; align-items: center; padding: 18px 18px 6px; }
html.premium .al-logo { flex: none; width: 74px; height: 74px; display: grid; place-items: center; border-radius: 16px; background: #fff; overflow: hidden; border: 1px solid rgba(176,135,247,.35); box-shadow: 0 4px 14px rgba(0,0,0,.4); }
html.premium .al-logo img { max-width: 82%; max-height: 82%; object-fit: contain; }
html.premium .al-logo span { font: 800 20px var(--p-fh); color: #17171B; }
html.premium .al-tit { min-width: 0; }
html.premium .al-banca { display: inline-block; padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(176,135,247,.4); background: rgba(176,135,247,.07); color: var(--p-ac-hi); font: 700 10.5px/1.2 var(--p-fb); letter-spacing: .08em; text-transform: uppercase; }
html.premium .al-tit h3 { margin: 7px 0 3px; font: 800 20px/1.2 var(--p-fh); color: var(--p-tx); overflow-wrap: anywhere; }
html.premium .al-tit p { margin: 0; color: var(--p-tx2); font: 500 13px/1.4 var(--p-fb); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
html.premium .al-itens { list-style: none; margin: 0; padding: 14px 18px 4px; display: grid; gap: 9px; }
html.premium .al-itens li { display: flex; align-items: center; gap: 10px; color: var(--p-tx2); font: 500 14px/1.4 var(--p-fb); }
html.premium .al-itens b { color: var(--p-tx); font-weight: 800; }
html.premium .al-preco { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 14px 18px 0; padding: 14px; min-height: 96px; box-sizing: border-box; align-items: center; border-radius: 14px; border: 1px solid rgba(176,135,247,.2); background: #1F1F25; }
html.premium .al-preco small { color: var(--p-tx3); font: 700 11px var(--p-fb); letter-spacing: .08em; text-transform: uppercase; }
html.premium .al-preco b { font: 800 26px var(--p-fh); color: var(--p-tx); }
html.premium .al-preco b.off { font-size: 15px; color: var(--p-tx3); }
html.premium .al-preco.par { flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; }
html.premium .al-preco.par b { font-size: 32px; line-height: 1.1; color: var(--p-ac-hi); }
html.premium .al-preco.par span { color: var(--p-tx2); font: 500 14px var(--p-fb); }
html.premium .al-preco.par strong { color: var(--p-tx); font-weight: 800; }
html.premium .al-acoes { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 16px 18px 6px; margin-top: auto; }
html.premium .al-btn { display: flex; width: 100%; align-items: center; justify-content: center; min-height: 50px; padding: 0 14px; border-radius: 14px; font: 800 14.5px var(--p-fb); text-align: center; text-decoration: none; cursor: pointer; transition: transform .15s, filter .15s, border-color .15s; box-sizing: border-box; border: 0; }
html.premium .al-btn:hover { transform: translateY(-1px); }
html.premium .al-pri { background: linear-gradient(180deg, var(--p-ac-hi), var(--p-ac)); color: #0B0B0E; box-shadow: 0 8px 24px rgba(176,135,247,.3); }
html.premium .al-sec { background: transparent; color: var(--p-ac-hi); border: 1px solid rgba(176,135,247,.5); }
html.premium .al-sec:hover { background: rgba(176,135,247,.10); border-color: var(--p-ac); }
html.premium .al-btn.off { opacity: .4; cursor: not-allowed; box-shadow: none; pointer-events: none; }
html.premium .al-link { align-self: center; margin: 2px 0 14px; background: none; border: 0; padding: 2px 6px; color: var(--p-tx3); font: 600 12.5px var(--p-fb); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
html.premium .al-link:hover, html.premium .al-link.ok { color: var(--p-ac-hi); }
html.premium .al-vazio { grid-column: 1 / -1; display: grid; gap: 6px; padding: 44px 20px; text-align: center; border-radius: 18px; border: 1px dashed var(--p-line-2); color: var(--p-tx2); }
html.premium .al-vazio b { color: var(--p-tx); font: 800 17px var(--p-fh); }
html.premium .al-faq { display: grid; gap: 10px; max-width: 920px; }
html.premium .al-faq details { border-radius: 14px; border: 1px solid rgba(176,135,247,.22); background: #17171B; transition: border-color .15s; }
html.premium .al-faq details[open] { border-color: rgba(176,135,247,.5); }
html.premium .al-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; cursor: pointer; list-style: none; color: var(--p-tx); font: 700 15px var(--p-fb); }
html.premium .al-faq summary::-webkit-details-marker { display: none; }
html.premium .al-faq summary::after { content: "+"; flex: none; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--p-ac-line); color: var(--p-ac-hi); font: 700 17px/1 var(--p-fb); }
html.premium .al-faq details[open] summary::after { content: "\2212"; }
html.premium .al-faq details p { margin: 0; padding: 0 18px 18px; color: var(--p-tx2); font: 400 14.5px/1.7 var(--p-fb); }
@media (max-width: 900px) {
  html.premium .al-hero { grid-template-columns: 1fr; }
  html.premium .al-mock { max-width: 360px; transform: none; }
  html.premium .al-faixa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.premium .al-faixa > div:nth-child(3) { border-left: 0; }
  html.premium .al-faixa > div:nth-child(n+3) { border-top: 1px solid var(--p-line); }
  html.premium .al-passos { grid-template-columns: 1fr; }
  html.premium .al-barra { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  html.premium .al-selos { grid-template-columns: 1fr; }
  html.premium .al-hero-cta .al-btn { flex: 1 1 100%; }
  html.premium .al-top { padding: 16px 14px 4px; }
  html.premium .al-topo, html.premium .al-itens, html.premium .al-acoes { padding-left: 14px; padding-right: 14px; }
  html.premium .al-preco { margin-left: 14px; margin-right: 14px; }
}
html.premium .al-marca { display: inline-flex; align-items: center; gap: 10px; color: var(--p-tx); text-decoration: none; font: 800 1.05rem/1 var(--p-fh, var(--p-fb)); }
html.premium .al-marca em { font-style: normal; color: var(--p-ac-hi); }
html.premium .al-conv { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap; padding: 22px 26px; border-radius: 20px; border: 1px solid rgba(176,135,247,.3); background: linear-gradient(120deg, rgba(176,135,247,.12), #17171B 60%); }
html.premium .al-conv > div:first-child { flex: 1 1 340px; min-width: 0; }
html.premium .al-conv h2 { margin: 10px 0 6px; font: 800 clamp(1.3rem, 3vw, 1.8rem)/1.2 var(--p-fh, var(--p-fb)); color: var(--p-tx); }
html.premium .al-conv h2 span { color: var(--p-ac-hi); }
html.premium .al-conv p { margin: 0; color: var(--p-tx2); font-size: .95rem; line-height: 1.55; max-width: 62ch; }
html.premium .al-conv-bt { display: flex; gap: 10px; flex-wrap: wrap; }
html.premium .al-conv-bt .al-btn { width: auto; padding: 0 20px; min-height: 46px; }
@media (max-width: 520px) { html.premium .al-conv-bt { width: 100%; } html.premium .al-conv-bt .al-btn { flex: 1 1 0; } html.premium .al-conv { padding: 18px 16px; } }
html.premium .al-pag { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
html.premium .al-pg { min-width: 42px; min-height: 42px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(176,135,247,.28); background: #17171B; color: var(--p-tx2); font: 700 .9rem/1 var(--p-fb); cursor: pointer; transition: border-color .15s, color .15s; }
html.premium .al-pg:hover:not(:disabled) { border-color: var(--p-ac); color: var(--p-tx); }
html.premium .al-pg.on { background: var(--p-ac); border-color: var(--p-ac); color: #111; }
html.premium .al-pg:disabled { opacity: .4; cursor: default; }
html.premium .al-pg-gap { color: var(--p-tx3, #7c7c88); padding: 0 2px; }
@media (max-width: 520px) { html.premium .al-pg { min-width: 38px; min-height: 40px; padding: 0 10px; } }
html.premium .al-hero-marca { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 4px; }
html.premium .al-logo-anki { display: inline-block; width: 54px; height: 66px; filter: drop-shadow(0 6px 14px rgba(0,0,0,.55)); }
html.premium .al-logo-anki svg { width: 100%; height: 100%; display: block; }
html.premium .al-mock { position: relative; }
html.premium .al-logo-mock { position: absolute; top: -30px; right: -22px; width: 60px; height: 74px; transform: rotate(8deg); z-index: 2; }
@media (max-width: 900px) { html.premium .al-logo-mock { right: -8px; top: -26px; width: 50px; height: 62px; } }
html.premium .al-logo-anki { width: 66px; height: 80px; }
html.premium .al-sec.al-verde { color: #5EE0A0; border-color: rgba(94,224,160,.55); background: rgba(94,224,160,.07); }
html.premium .al-sec.al-verde:hover { background: rgba(94,224,160,.16); border-color: #5EE0A0; }
html.premium body.modo-landing .al-tela { max-width: 1280px; margin: 0 auto; padding: 14px clamp(16px, 4vw, 40px) 56px; box-sizing: border-box; }
html.premium .al-preco.de { flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; }
html.premium .al-preco.de .al-de { font: 600 .95rem/1.2 var(--p-fb); color: var(--p-tx3, #8a8a96); }
html.premium .al-preco.de .al-de s { text-decoration-color: rgba(255,120,120,.8); }
html.premium .al-preco.de b { font: 800 clamp(1.25rem, 2.4vw, 1.55rem)/1.15 var(--p-fh, var(--p-fb)); color: var(--p-tx); }
html.premium .al-preco.de .al-parc { font: 600 .9rem/1.2 var(--p-fb); color: var(--p-ac-hi); }
html.premium .al-cab { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 4px 16px; border-bottom: 1px solid rgba(176,135,247,.16); }
html.premium .al-marca { gap: 12px; flex: none; }
html.premium .al-marca img { width: 48px; height: 48px; border-radius: 12px; object-fit: contain; background: #0b0b0e; box-shadow: 0 0 0 1px rgba(176,135,247,.3), 0 6px 18px rgba(0,0,0,.5); flex: none; }
html.premium .al-marca span { font-size: 1.12rem; letter-spacing: -.01em; white-space: nowrap; }
html.premium .al-cab-acoes { display: flex; gap: 10px; align-items: center; }
html.premium .al-cab-acoes .al-btn { width: auto; padding: 0 20px; min-height: 44px; text-decoration: none; white-space: nowrap; }
@media (max-width: 520px) { html.premium .al-cab { flex-wrap: wrap; justify-content: center; gap: 12px; } html.premium .al-cab-acoes { width: 100%; } html.premium .al-cab-acoes .al-btn { flex: 1 1 0; padding: 0 10px; } html.premium .al-marca img { width: 44px; height: 44px; } }

/* Lote 19: botão "PDF Esquematizado" e "Flashcards" sempre em uma linha, sem corte (PDF mais largo, Flashcards mais estreito) */
html.premium .tbl.materia .acts .btn { white-space: nowrap; }
@media (min-width: 901px) {
  html.premium .tbl.materia .acts .btn-pdf, html.premium .tbl.materia .acts .btn-slot:first-child { width: 156px; min-width: 156px; }
  html.premium .tbl.materia .acts .btn-fc, html.premium .tbl.materia .acts .btn-slot:last-child { width: 94px; min-width: 94px; }
}
@media (max-width: 900px) {
  html.premium .tbl.materia .acts .btn-pdf { flex: 1.75 1 0; min-width: 0; }
  html.premium .tbl.materia .acts .btn-fc { flex: 1 1 0; min-width: 0; }
  html.premium .tbl.materia .acts .btn { padding-left: 8px; padding-right: 8px; overflow: hidden; }
}
@media (max-width: 380px) {
  html.premium .tbl.materia .acts .btn { font-size: .72rem; padding-left: 6px; padding-right: 6px; }
}

/* Grupos Bíblia e Conta do menu: recolhidos, abrem ao clicar no título */
html.premium button.sb-grupo { display: flex; align-items: center; justify-content: space-between; width: 100%; border: 0; text-align: left; cursor: pointer; font-family: var(--p-fh); }
html.premium button.sb-grupo:hover { background: linear-gradient(90deg, rgba(176,135,247,.46), rgba(176,135,247,.18) 70%, rgba(176,135,247,.04)); }
html.premium button.sb-grupo:focus-visible { outline: 2px solid var(--p-ac); outline-offset: 2px; }
html.premium .sb-seta { width: 8px; height: 8px; margin-right: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform .2s; flex: none; }
html.premium button.sb-grupo[aria-expanded="true"] .sb-seta { transform: rotate(45deg); }
html.premium .sb-bloco[hidden] { display: none; }

/* 19/10/2026: o titulo MENU virou grupo recolhivel (botao), entao o titulo desenhado por ::before some */
html.premium .sb-menu::before { display: none !important; }

/* 19/10/2026: topo da apostila compacto e organizado: titulo em uma linha, trilha repetida removida (ja esta no titulo e na barra de navegacao),
   botoes em uma linha sem quebra, Tela cheia em destaque e mais area para a apostila */
html.premium .vb2 .vb-info small { display: none; }
html.premium .vb2 .vb-btn, html.premium .vb2 .rep-btn { white-space: nowrap; }
html.premium #btnFull { background: linear-gradient(180deg, rgba(176,135,247,.26), rgba(176,135,247,.12)); border: 1px solid rgba(176,135,247,.75); color: #EBDDFF; font-weight: 700; box-shadow: 0 0 0 1px rgba(176,135,247,.16), 0 6px 18px rgba(176,135,247,.24); }
html.premium #btnFull:hover { background: linear-gradient(180deg, rgba(176,135,247,.4), rgba(176,135,247,.2)); border-color: #C9A8FF; }
html.premium .vb2 .rep-btn { margin: 0; align-self: center; font-size: .72rem; padding: 6px 10px; min-height: 34px; opacity: .85; }
@media (min-width: 901px) {
  html.premium .viewer-bar.vb2 { flex-wrap: nowrap; padding: 9px 14px; gap: 14px; margin-bottom: 8px; border-radius: 14px; }
  html.premium .vb2 .vb-info { flex: 1 1 0; min-width: 0; gap: 1px; }
  html.premium .vb2 .vb-kicker { font-size: .6rem; letter-spacing: .12em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html.premium .vb2 .vb-info h2 { font-size: .98rem; line-height: 1.25; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  html.premium .vb2 .vb-acts { display: flex; flex: 0 0 auto; flex-wrap: nowrap; gap: 6px; align-items: center; }
  html.premium .vb2 .vb-btn { min-height: 36px; padding: 6px 11px; font-size: .78rem; gap: 6px; border-radius: 10px; }
  html.premium .vb2 .vb-ic { width: 15px; height: 15px; }
  html.premium .frame { height: calc(100vh - 118px); min-height: 520px; }
}
@media (max-width: 1180px) and (min-width: 901px) { html.premium .vb2 .vb-longo { display: none; } html.premium .vb2 .vb-curto { display: inline; } }

/* 19/10/2026: Plano Anual com bonus de 1 mes (13 meses) e destaque do custo por mes */
html.premium .plano-bonus { margin: 2px 0 14px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(214,177,74,.55); background: linear-gradient(90deg, rgba(214,177,74,.28), rgba(176,135,247,.14) 70%, transparent); display: flex; flex-direction: column; gap: 2px; box-shadow: 0 0 0 1px rgba(214,177,74,.08), 0 8px 22px rgba(214,177,74,.10); }
html.premium .plano-bonus b { font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: #F4DC9A; }
html.premium .plano-bonus span { font-size: .92rem; color: #fff; }
html.premium .plano-bonus strong { color: #F4DC9A; font-weight: 800; }
html.premium .plano-eco { margin: 10px 0 14px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(176,135,247,.45); background: linear-gradient(90deg, rgba(176,135,247,.28), rgba(176,135,247,.06) 80%); display: flex; flex-direction: column; gap: 2px; }
html.premium .plano-eco b { font-size: 1.05rem; color: #fff; }
html.premium .plano-eco span { font-size: .8rem; color: #CFC3EA; }

/* 19/10/2026: sem os pontinhos nas colunas de acertos e erros vazias da tabela de assuntos */
html.premium .tbl.materia td.num.ok:empty::before, html.premium .tbl.materia td.num.ko:empty::before { content: none !important; }

/* 19/10/2026: titulo do assunto mais leve e claro (menos grosso) para contrastar com os titulos dos topicos */
html.premium .tbl.materia tr:not(.grp):not(.cab) > td:nth-child(2), html.premium .tbl.materia tr:not(.grp):not(.cab) > td:nth-child(2) a, html.premium .tbl.materia tr:not(.grp):not(.cab) > td:nth-child(2) span { font-weight: 500 !important; color: #DEDEE8 !important; letter-spacing: .005em; }
html.premium .tbl.materia tr:not(.grp):not(.cab) > td:nth-child(2) a:hover { color: #FFFFFF !important; }

/* 19/10/2026: cabecalho da tela da materia mais sofisticado: titulo e subtitulo mais contidos e cartoes de numeros compactos em degrade */
html.premium #app:has(.tbl.materia) h1.title { font-size: clamp(1.35rem, 2.1vw, 1.8rem); line-height: 1.2; margin: 0 0 4px; }
html.premium #app:has(.tbl.materia) .subtitle { font-size: .84rem; margin: 0 0 12px; color: var(--p-tx3, #9A9AA8); }
html.premium #app:has(.tbl.materia) .kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
html.premium #app:has(.tbl.materia) .kpis .kpi { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 4px 10px; padding: 9px 14px; min-height: 0; border-radius: 12px; border: 1px solid rgba(176,135,247,.3); background: linear-gradient(135deg, rgba(176,135,247,.16), rgba(176,135,247,.03) 72%), #121216; box-shadow: 0 6px 18px rgba(0,0,0,.28); }
html.premium #app:has(.tbl.materia) .kpis .kpi b { font-size: 1.2rem; line-height: 1.1; margin: 0; }
html.premium #app:has(.tbl.materia) .kpis .kpi span { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: #BBA6EA; }
@media (max-width: 520px) { html.premium #app:has(.tbl.materia) .kpis { gap: 6px; } html.premium #app:has(.tbl.materia) .kpis .kpi { flex-direction: column; align-items: center; gap: 2px; padding: 8px 6px; } html.premium #app:has(.tbl.materia) .kpis .kpi b { font-size: 1.05rem; } html.premium #app:has(.tbl.materia) .kpis .kpi span { font-size: .56rem; letter-spacing: .1em; } }

/* sem risquinhos coloridos nas bordas esquerdas de títulos, grupos e itens */
html.premium .grp-materias .panel-h, html.premium .tbl .grp td:first-child, html.premium .sb-grupo, html.premium .sb-menu::before,
html.premium .nv-destaque, html.premium .pomo-cron .panel-h, html.premium .pomo-hist .panel-h, html.premium .pomo-metap .panel-h,
html.premium .tbl.materia tr.tl-sel > td:first-child { box-shadow: none !important; }
html.premium .sb-menu .sb-nav.active::before { display: none !important; }

/* busca: uma caixa só, texto com respiro, sem campo dentro de campo */
html.premium .busca { gap: 14px; padding: 4px 18px; min-height: 56px; border-radius: 14px; background: rgba(255,255,255,.035) !important; border: 1px solid rgba(255,255,255,.12) !important; box-shadow: none !important; transition: border-color .15s, background .15s; }
html.premium .busca:focus-within { border-color: rgba(176,135,247,.65) !important; background: rgba(176,135,247,.06) !important; box-shadow: 0 0 0 3px rgba(176,135,247,.14) !important; }
html.premium .busca input, html.premium .busca input:focus { flex: 1; width: auto; margin: 0; padding: 12px 4px 12px 6px !important; min-height: 44px; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; outline: none !important; font-size: 1rem; }
html.premium .busca .ic-busca { flex: 0 0 auto; width: 20px; height: 20px; color: var(--p-ac, #B087F7); }
html.premium .busca-n { flex: 0 0 auto; padding: 4px 12px; font-size: .72rem; letter-spacing: .02em; white-space: nowrap; color: #CDB5FD; background: rgba(176,135,247,.1); border: 1px solid rgba(176,135,247,.3); }
@media (max-width: 520px) { html.premium .busca { padding: 2px 12px; gap: 10px; } html.premium .busca-n { display: none; } html.premium .busca input { font-size: 16px; } }

/* Planos: os dois cartões alinhados linha a linha (título, preço, destaques, benefícios, botão) para comparar de relance */
html.premium .planos { max-width: 1000px; gap: 20px; grid-auto-rows: auto; align-items: stretch; }
html.premium .plano { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 16px; padding: 0 0 22px; overflow: hidden; background: #131318 !important; border: 1px solid rgba(255,255,255,.1) !important; }
html.premium .plano.destaque { border-color: rgba(176,135,247,.5) !important; box-shadow: 0 18px 44px -22px rgba(0,0,0,.9), 0 0 34px -16px rgba(176,135,247,.55); }
html.premium .plano > * { margin-left: 22px; margin-right: 22px; min-width: 0; }
html.premium .plano > .plano-cab { margin: 0; padding: 16px 22px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 12px; background: linear-gradient(100deg, rgba(176,135,247,.42), rgba(176,135,247,.1) 75%); border-bottom: 1px solid rgba(176,135,247,.25); }
html.premium .plano-cab h2 { margin: 0; font-size: 1.5rem; color: #fff; }
html.premium .plano-cab .plano-tag { align-self: center; margin: 0; }
html.premium .plano-preco { align-self: start; }
html.premium .plano-preco small:first-child { text-transform: uppercase; letter-spacing: .1em; font-size: .7rem; font-weight: 700; margin-bottom: 4px; }
html.premium .plano-preco b { display: block; font-size: clamp(1.9rem, 5vw, 2.4rem); line-height: 1.1; white-space: nowrap; }
html.premium .plano-extra { display: flex; flex-direction: column; gap: 10px; align-self: stretch; }
html.premium .plano-extra > * { margin: 0 !important; }
html.premium .plano-nota { padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); display: flex; flex-direction: column; gap: 2px; }
html.premium .plano-nota b { font-size: 1rem; color: #fff; } html.premium .plano-nota span { font-size: .8rem; color: var(--p-tx2, #B4B4BF); }
html.premium .plano ul { align-self: start; margin: 0 22px; }
html.premium .plano-acao { align-self: end; display: flex; flex-direction: column; gap: 8px; }
html.premium .plano-acao .btn { width: 100%; justify-content: center; }
@supports not (grid-template-rows: subgrid) { html.premium .plano { display: flex; flex-direction: column; } html.premium .plano ul { flex: 1; } }
@media (max-width: 700px) { html.premium .plano { grid-row: auto; display: flex; flex-direction: column; gap: 16px; } html.premium .plano > .plano-cab { padding: 14px 18px; } html.premium .plano > * { margin-left: 18px; margin-right: 18px; } html.premium .plano ul { margin: 0 18px; } }

/* plano anual: o valor por mês em destaque */
html.premium .eco-mes { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; margin: 6px 0 2px; }
html.premium .eco-mes strong { font-family: var(--p-fh, inherit); font-size: clamp(1.7rem, 5vw, 2.1rem); line-height: 1.1; color: #fff; background: linear-gradient(90deg, #fff, #CDB5FD); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
html.premium .eco-mes span { font-size: .9rem; font-weight: 700; color: #E4D6FF; }
html.premium .plano-eco .eco-obs { font-size: .8rem; color: #CFC3EA; }

/* Loja Anki: topo compacto, os baralhos e a amostra gratuita aparecem logo na entrada */
html.premium .al-topo { display: flex; align-items: center; justify-content: space-between; gap: 14px 24px; flex-wrap: wrap; padding: 14px 20px; border-radius: 18px; border: 1px solid rgba(176,135,247,.3); background: linear-gradient(120deg, rgba(176,135,247,.12), var(--p-s1) 65%); }
html.premium .al-topo-txt { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1 1 320px; }
html.premium .al-topo-txt .al-logo-anki { flex: 0 0 auto; display: grid; place-items: center; width: 44px; height: 44px; }
html.premium .al-topo-txt .al-logo-anki svg, html.premium .al-topo-txt .al-logo-anki img { width: 100%; height: 100%; }
html.premium .al-topo h1 { margin: 0; font: 800 clamp(18px, 2.6vw, 24px)/1.2 var(--p-fh); letter-spacing: -.01em; color: var(--p-tx); }
html.premium .al-topo h1 span { color: var(--p-ac); }
html.premium .al-topo p { margin: 3px 0 0; color: var(--p-tx2); font: 400 14px/1.45 var(--p-fb); }
html.premium .al-topo-login { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
html.premium .al-topo-login span { color: var(--p-tx2); font: 400 13px/1.4 var(--p-fb); }
html.premium .al-topo-login .al-btn { width: auto; min-height: 42px; padding: 0 18px; }
@media (max-width: 520px) { html.premium .al-topo { padding: 12px 14px; } html.premium .al-topo-login { width: 100%; } html.premium .al-topo-login .al-btn { flex: 1 1 100%; } }
@media (max-width: 640px) {
  html.premium .al-topo-login { display: none; }
  html.premium .al-topo p { display: none; }
  html.premium .al-topo { padding: 10px 14px; }
  html.premium .al-topo-txt .al-logo-anki { width: 36px; height: 36px; }
  html.premium .al-topo h1 { font-size: 17px; }
  html.premium body.modo-landing .al-tela { gap: 18px; }
  html.premium .al-sec-bloco .al-sec-topo h2 { font-size: 22px; }
}
/* Loja Anki: deck por materia (logo em texto) */
html.premium .al-logo-texto span { font: 800 17px/1 var(--p-fh, inherit); letter-spacing: -.02em; color: #0A0A0C; text-align: center; }

/* Loja Anki: seletor entre decks completos por concurso e decks por materia, e capa do deck por materia */
html.premium .al-vistas { display: flex; gap: 8px; flex-wrap: wrap; }
html.premium .al-vista { flex: 1 1 220px; min-height: 48px; padding: 0 18px; border-radius: 14px; border: 1px solid rgba(176,135,247,.3); background: var(--p-s1); color: var(--p-tx2); font: 700 15px/1 var(--p-fb); cursor: pointer; }
html.premium .al-vista.on { background: linear-gradient(120deg, rgba(176,135,247,.28), rgba(176,135,247,.12)); border-color: var(--p-ac); color: #fff; }
html.premium .al-vista:focus-visible { outline: 2px solid var(--p-ac); outline-offset: 2px; }
html.premium .al-capa { margin: 0 16px; border-radius: 14px; overflow: hidden; border: 1px solid rgba(176,135,247,.25); background: #fff; }
html.premium .al-capa img { display: block; width: 100%; height: auto; object-fit: contain; }
html.premium [data-vista-bloco][hidden] { display: none !important; }

html.premium a.al-vista { display: flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
html.premium .al-vistas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 640px) { html.premium .al-vistas { grid-template-columns: 1fr; } }

/* botão sutil de reportar erro em todas as telas */
html.premium .rep-global { position: fixed; right: 14px; bottom: 14px; z-index: 60; display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 11px; border-radius: 999px; border: 1px solid rgba(255,255,255,.1); background: rgba(14,14,18,.72); color: var(--p-tx3, #8d8d96); font: 600 12px/1 var(--p-fb, inherit); cursor: pointer; opacity: .55; backdrop-filter: blur(6px); transition: opacity .2s ease, color .2s ease, border-color .2s ease, background .2s ease; }
html.premium .rep-global[hidden] { display: none; }
html.premium .rep-global:hover, html.premium .rep-global:focus-visible { opacity: 1; color: #ffb4b4; border-color: rgba(255,120,120,.45); background: rgba(40,16,20,.85); outline: none; }
html.premium .rep-global .ic-rep { width: 14px; height: 14px; flex: 0 0 auto; }
@media (max-width: 700px) { html.premium .rep-global { right: 10px; bottom: 10px; width: 36px; height: 36px; padding: 0; justify-content: center; } html.premium .rep-global span { display: none; } html.premium .rep-global .ic-rep { width: 16px; height: 16px; } }
@media print { html.premium .rep-global { display: none !important; } }
@media (prefers-reduced-motion: reduce) { html.premium .rep-global { transition: none; } }

/* bolinha de presença nos rankings: verde online, vermelha offline */
html.premium .rk-av { position: relative; display: inline-flex; flex: 0 0 auto; }
html.premium .rk-on { display: inline-block; width: 11px; height: 11px; border-radius: 50%; box-sizing: border-box; border: 2px solid var(--p-s1, #111114); background: #E5484D; box-shadow: 0 0 0 1px rgba(229,72,77,.35); }
html.premium .rk-av .rk-on { position: absolute; right: -2px; bottom: -2px; width: 12px; height: 12px; }
html.premium .rk-on.on { background: #3DDC97; box-shadow: 0 0 0 1px rgba(61,220,151,.45), 0 0 8px rgba(61,220,151,.7); animation: rkPulso 2.4s ease-in-out infinite; }
html.premium .rk-on.off { background: #E5484D; }
html.premium .rk-leg { display: inline-flex; align-items: center; gap: 5px; margin-right: 8px; color: var(--p-tx3, #8d8d96); font-size: .72rem; white-space: nowrap; }
html.premium .rk-leg .rk-on { width: 9px; height: 9px; border-width: 1.5px; margin-left: 6px; animation: none; }
html.premium .rk-leg .rk-on:first-child { margin-left: 0; }
@keyframes rkPulso { 0%, 100% { box-shadow: 0 0 0 1px rgba(61,220,151,.45), 0 0 4px rgba(61,220,151,.5); } 50% { box-shadow: 0 0 0 1px rgba(61,220,151,.45), 0 0 12px rgba(61,220,151,.95); } }
@media (max-width: 560px) { html.premium .rk-leg { display: none; } }
@media (prefers-reduced-motion: reduce) { html.premium .rk-on.on { animation: none; } }
