/* /assets/css/dark-theme.css */
:root {
    /* Paleta Gira */
    --gira-lavender: #C4C4E2;
    --gira-slate: #4E4E73;
    --gira-peach: #FFDDA3;
    --gira-orange: #F96436;

    --color-scheme: dark;
    --paper: #0A0F55;
    --ink: #FFFFFF;
    --muted: var(--gira-lavender);
    --line: #3B3E70;
    --surface: #1E2144;
    --surface-strong: #282B58;
    --surface-alt: #33355F;
    --surface-soft: #151A4D;
    --accent: var(--gira-orange);
    --accent-soft: var(--gira-peach);
    --button-ink: #0A0F55;
    --danger: #FF7A8F;

    /* Nomes antigos mantidos como apelidos, para não quebrar o CSS existente */
    --turquoise: var(--accent);
    --lime: var(--accent-soft);
    --violet: var(--gira-slate);
    --violet-deep: #3A3A5C;
    --coral: var(--danger);
}

html, body {
    background: var(--paper);
}

body {
    color: var(--ink);
}

::selection {
    color: var(--button-ink);
    background: var(--cta);
}

a {
    color: var(--ink);
}

.brand em,
.app-nav-link.is-active,
.back-link,
.aside-number {
    color: var(--turquoise);
}

.tool-action,
.tool-card:hover .tool-action {
    color: var(--lime);
}

.tool-card.featured {
    background: var(--violet);
    border-color: var(--violet);
    color: #fff;
}

.tool-card.featured .tool-icon {
    background: #fff;
    color: var(--violet);
}

.tool-icon {
    background: var(--surface-alt);
    color: var(--lime);
}
/* /assets/css/motion.css */
/* =======================================================
   GIRA — CAMADA VISUAL "AURORA" (design system 1.5)
   Estilo: Aurora UI (azul-marinho + laranja complementares, gradientes
   vivos em loops lentos) + Bento grid. Fonte de verdade: design-system/gira/MASTER.md
   Regras (UI UX Pro Max): só transform/opacity; tokens únicos de duração e
   easing; stagger de 40 ms; 1–2 elementos animados por tela; tudo para
   quando o sistema pede menos movimento; foco sempre visível; alvos ≥ 44 px.
   ======================================================= */

:root {
    /* Cores semânticas (contraste conferido: texto ≥ 4.5:1 sobre --paper e --surface) */
    --aurora-1: #3B3FD8;            /* azul elétrico */
    --aurora-2: #F96436;            /* laranja Gira */
    --aurora-3: #FFDDA3;            /* pêssego */
    --aurora-4: #2E6BFF;            /* azul (sem roxo: a marca é azul-marinho + laranja) */
    --glass: rgba(30, 33, 68, .62);
    --glass-strong: rgba(40, 43, 88, .78);
    --glass-line: rgba(196, 196, 226, .16);
    --glow-accent: 0 0 0 1px rgba(249, 100, 54, .35), 0 18px 50px -12px rgba(249, 100, 54, .45);
    --accent-strong: #FF8A5C;       /* laranja claro para texto pequeno: 7.4:1 */
    --gradient-brand: linear-gradient(120deg, #FF8A5C 0%, #F96436 35%, #FFDDA3 100%);

    /* Movimento: um ritmo só para o site todo */
    --ease-out: cubic-bezier(.22, 1, .36, 1);       /* chegada: desacelera */
    --ease-in: cubic-bezier(.55, 0, 1, .45);        /* saída: acelera */
    --ease-spring: cubic-bezier(.34, 1.56, .64, 1); /* toque: leve “mola” */
    --dur-fast: 150ms;     /* hover, foco */
    --dur-base: 240ms;     /* estados de botão/cartão */
    --dur-slow: 480ms;     /* entrada de conteúdo */
    --dur-reveal: 700ms;   /* revelar ao rolar */
    --stagger: 40ms;

    /* Raios e espaçamentos */
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-pill: 999px;
}

html { -webkit-text-size-adjust: 100%; }
body { font-size: 16px; line-height: 1.5; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

/* Foco visível e consistente (WCAG 2.2) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--aurora-3);
    outline-offset: 3px;
    border-radius: 8px;
}
:where(a, button, summary, label[for], .chip) { cursor: pointer; touch-action: manipulation; }

/* ---------- Aurora: fundo vivo (decorativo) ---------- */
.aurora {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
    contain: strict;
}
.aurora::before, .aurora::after, .aurora span {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .55;
    will-change: transform;
}
.aurora::before {
    width: 52vmax; height: 52vmax; left: -14vmax; top: -22vmax;
    background: radial-gradient(circle, var(--aurora-1) 0%, transparent 65%);
    animation: aurora-a 14s var(--ease-out) infinite alternate;
}
.aurora::after {
    width: 46vmax; height: 46vmax; right: -16vmax; top: -6vmax;
    background: radial-gradient(circle, var(--aurora-2) 0%, transparent 62%);
    opacity: .42;
    animation: aurora-b 12s ease-in-out infinite alternate;
}
.aurora span {
    width: 34vmax; height: 34vmax; left: 30%; bottom: -20vmax;
    background: radial-gradient(circle, var(--aurora-4) 0%, transparent 65%);
    opacity: .38;
    animation: aurora-c 16s ease-in-out infinite alternate;
}
.aurora--soft::before, .aurora--soft::after, .aurora--soft span { opacity: .28; }

@keyframes aurora-a { to { transform: translate3d(8vmax, 6vmax, 0) scale(1.12); } }
@keyframes aurora-b { to { transform: translate3d(-10vmax, 8vmax, 0) scale(.92); } }
@keyframes aurora-c { to { transform: translate3d(-6vmax, -8vmax, 0) scale(1.15); } }

/* Grão fino por cima (tira o “chapado” dos gradientes) */
.grain::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: .06;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Texto em gradiente ---------- */
.text-gradient {
    background: var(--gradient-brand);
    background-size: 200% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: gradient-pan 8s ease-in-out infinite alternate;
}
@keyframes gradient-pan { to { background-position: 100% 0; } }

/* ---------- Palavra que gira no título ---------- */
.word-rotator {
    position: relative;
    display: inline-grid;
    vertical-align: bottom;
    overflow: hidden;
    padding-bottom: .08em;
}
.word-rotator > span { grid-area: 1 / 1; }
.js .word-rotator > span {
    opacity: 0;
    transform: translateY(70%);
    transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-slow) var(--ease-out);
}
.js .word-rotator > span.is-active { opacity: 1; transform: none; }
.js .word-rotator > span.is-leaving {
    opacity: 0;
    transform: translateY(-70%);
    transition-duration: calc(var(--dur-slow) * .65);
    transition-timing-function: var(--ease-in);
}

/* ---------- Revelar ao rolar (só com JS; sem JS tudo aparece) ---------- */
.js [data-reveal] {
    opacity: 0;
    transform: translate3d(0, 18px, 0);
    transition: opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);
    transition-delay: calc(var(--i, 0) * var(--stagger));
}
.js [data-reveal="scale"] { transform: scale(.96); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

/* ---------- Texto ligado à rolagem (só com JS e sem "reduzir movimento") ----------
   motion.js quebra o texto em palavras (.st-w) e acende (.is-lit) conforme a rolagem.
   Apagada = cor --muted (passa no contraste), acesa = cor normal do título. */
.st-ready .st-w { color: var(--muted); transition: color 220ms var(--ease-out); }
.st-ready .st-w.is-lit { color: inherit; }
.st-ready strong .st-w.is-lit, .st-ready em .st-w.is-lit { color: var(--accent-ink); }

/* Impressão: tudo visível e na cor final */
@media print {
    .js [data-reveal] { opacity: 1 !important; transform: none !important; }
    .st-ready .st-w { color: inherit !important; }
}

/* ---------- Botões ---------- */
.primary-button, .lp-ghost, .login-submit, .social-button {
    min-height: 44px;
    transition: transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) var(--ease-out),
                background-color var(--dur-fast) linear, border-color var(--dur-fast) linear, color var(--dur-fast) linear;
}
.primary-button { position: relative; overflow: hidden; isolation: isolate; border-radius: 12px; }
.primary-button::after {          /* brilho que atravessa no hover */
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%);
    transform: translateX(-120%);
    transition: transform 700ms var(--ease-out);
}
.primary-button:hover { transform: translateY(-2px); box-shadow: var(--glow-accent); }
.primary-button:hover::after { transform: translateX(120%); }
.primary-button:active, .lp-ghost:active, .login-submit:active, .quick-card:active, .catalog-card:active { transform: scale(.97); }
.btn-arrow { display: inline-block; transition: transform var(--dur-base) var(--ease-spring); }
.primary-button:hover .btn-arrow { transform: translateX(4px); }
.lp-ghost { border-radius: 12px; background: rgba(255, 255, 255, .03); backdrop-filter: blur(6px); }
.lp-ghost:hover { border-color: var(--aurora-3); transform: translateY(-2px); }

/* ---------- Cartões com holofote que segue o cursor ---------- */
[data-spotlight] { position: relative; isolation: isolate; }
[data-spotlight]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    opacity: 0;
    background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(249, 100, 54, .18), transparent 70%);
    transition: opacity var(--dur-base) var(--ease-out);
}
[data-spotlight]:hover::before { opacity: 1; }

.lift {
    transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-fast) linear, box-shadow var(--dur-base) var(--ease-out);
}
.lift:hover { transform: translateY(-4px); border-color: rgba(249, 100, 54, .55); box-shadow: 0 24px 50px -24px rgba(0, 0, 0, .7); }

/* Pílula de destaque com ponto pulsando */
.badge-live {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 7px 14px 7px 10px; margin-bottom: 22px;
    border: 1px solid var(--glass-line); border-radius: var(--radius-pill);
    background: var(--glass); backdrop-filter: blur(10px);
    color: var(--ink); font-size: 13px; font-weight: 700;
}
.badge-live b { padding: 2px 8px; border-radius: var(--radius-pill); background: var(--gradient-brand); color: var(--button-ink); font-size: 11px; }
.badge-live a { color: var(--accent-strong); }
.pulse-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #5BE49B; }
.pulse-dot::after {
    content: ""; position: absolute; inset: 0; border-radius: 50%; background: inherit;
    animation: pulse 2s var(--ease-out) infinite;
}
@keyframes pulse { to { transform: scale(3); opacity: 0; } }

/* Faixa que corre (pausa no hover/foco e no botão) */
.marquee { position: relative; overflow: hidden; padding: 18px 0; border-block: 1px solid var(--line);
    mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee-track { display: flex; gap: 14px; width: max-content; animation: marquee 38s linear infinite; }
.marquee:hover .marquee-track, .marquee:focus-within .marquee-track, .marquee.is-paused .marquee-track { animation-play-state: paused; }
.marquee a {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px;
    padding: 0 18px; border: 1px solid var(--line); border-radius: var(--radius-pill);
    background: var(--glass); color: var(--muted); font-size: 14px; font-weight: 700; white-space: nowrap;
}
.marquee a:hover { color: var(--ink); border-color: var(--accent); }
.marquee a svg { width: 16px; height: 16px; color: var(--accent-strong); }
@keyframes marquee { to { transform: translateX(-50%); } }
.marquee-toggle {
    position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
    width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%;
    background: var(--surface-strong); color: var(--ink); font-size: 14px;
}

/* Números com dígitos de largura fixa (não “pulam” na contagem) */
.tabular { font-variant-numeric: tabular-nums; }

/* =======================================================
   LANDING
   ======================================================= */
.lp-v2 { position: relative; isolation: isolate; overflow-x: clip; }
.lp-v2 .lp-hero { position: relative; padding: 64px 0 56px; }
.lp-v2 .lp-hero h1 { font-size: clamp(38px, 5.4vw, 68px); line-height: 1.02; letter-spacing: -.05em; margin-bottom: 22px; }
.lp-v2 .lp-lead { font-size: 18px; line-height: 1.65; max-width: 52ch; }
.lp-v2 .lp-cta { font-size: 15px; padding: 16px 26px; }
.lp-v2 .lp-ghost { font-size: 15px; }
.lp-v2 .lp-microcopy { font-size: 13px; }

.hero-stats { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 30px; }
.hero-stats div { display: grid; gap: 2px; }
.hero-stats strong { font-size: 28px; letter-spacing: -.04em; line-height: 1; }
.hero-stats span { color: var(--muted); font-size: 13px; }

@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* Bento grid das ferramentas */
.bento { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(150px, auto); gap: 14px; }
.bento-card {
    display: flex; flex-direction: column; justify-content: space-between; gap: 14px; padding: 22px;
    border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface);
    overflow: hidden;
}
.bento-card strong { font-size: 18px; letter-spacing: -.02em; }
.bento-card small { color: var(--muted); font-size: 14px; line-height: 1.55; }
.bento-card--wide { grid-column: span 2; }
.bento-card--tall { grid-row: span 2; }
.bento-card--hero { background: linear-gradient(150deg, rgba(249, 100, 54, .2), rgba(59, 63, 216, .18) 60%, var(--surface)); }
.bento-icon {
    display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px;
    background: var(--gradient-brand); color: var(--button-ink);
    transition: transform var(--dur-base) var(--ease-spring);
}
.bento-icon svg { width: 22px; height: 22px; }
.bento-card:hover .bento-icon { transform: rotate(-8deg) scale(1.08); }
.bento-big { font-size: clamp(40px, 5vw, 64px); font-weight: 800; letter-spacing: -.05em; line-height: 1; }

/* Passos com linha que se desenha */
.lp-v2 .lp-steps { position: relative; }
.lp-v2 .lp-steps::before {
    content: ""; position: absolute; left: 6%; right: 6%; top: 35px; height: 2px; z-index: -1;
    background: var(--gradient-brand); transform-origin: left; transform: scaleX(0);
    transition: transform 1.2s var(--ease-out);
}
.lp-v2 .lp-steps.is-visible::before { transform: scaleX(1); }
.no-js .lp-v2 .lp-steps::before, html:not(.js) .lp-v2 .lp-steps::before { transform: scaleX(1); }

/* Escudo com órbitas (privacidade) */
.shield-orbit { position: relative; width: 140px; height: 140px; margin-bottom: 18px; }
.shield-orbit svg.shield { position: absolute; inset: 38px; width: 64px; height: 64px; color: var(--aurora-3); }
.shield-orbit i { position: absolute; inset: 0; border: 1px dashed rgba(196, 196, 226, .35); border-radius: 50%; animation: spin 18s linear infinite; }
.shield-orbit i:nth-child(2) { inset: 18px; animation-duration: 12s; animation-direction: reverse; border-color: rgba(249, 100, 54, .45); }
.shield-orbit i::after { content: ""; position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
@keyframes spin { to { transform: rotate(360deg); } }

/* Plano em destaque com borda viva */
.lp-v2 .lp-plan.is-featured { position: relative; border-color: transparent; background:
    linear-gradient(var(--surface), var(--surface)) padding-box,
    conic-gradient(from var(--angle, 0deg), var(--aurora-2), var(--aurora-3), var(--aurora-1), var(--aurora-2)) border-box;
    border: 1.5px solid transparent; animation: border-spin 6s linear infinite; }
@property --angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes border-spin { to { --angle: 360deg; } }

.lp-v2 .lp-final { position: relative; isolation: isolate; margin-top: 60px; padding: 90px 24px; border-radius: var(--radius-lg); overflow: hidden; }
.lp-v2 .lp-final h2 { font-size: clamp(32px, 4.6vw, 56px); letter-spacing: -.05em; }

/* =======================================================
   LOGIN / CADASTRO
   ======================================================= */
.auth { position: relative; isolation: isolate; min-height: 100vh; min-height: 100dvh; overflow-x: clip; }
.auth .login-page { position: relative; }
.auth .login-showcase::before { display: none; }
.auth-title { margin: 26px 0 14px; font-size: clamp(34px, 4.2vw, 54px); line-height: 1.02; letter-spacing: -.05em; }
.auth .login-features li { font-size: 15px; }
.auth .login-features li::before {
    content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 7px; transform: none;
    background: var(--gradient-brand); color: var(--button-ink); font-size: 13px; font-weight: 900;
}
.auth .login-features li { align-items: center; }

/* Pilha de documentos animada */
.doc-stack { position: relative; width: min(100%, 420px); height: 250px; margin: 6px 0 4px; }
.doc {
    position: absolute; width: 170px; height: 214px; padding: 18px 16px; border-radius: 16px;
    border: 1px solid var(--glass-line); background: var(--glass-strong); backdrop-filter: blur(12px);
    box-shadow: 0 30px 60px -28px rgba(0, 0, 0, .85);
}
.doc i { display: block; height: 7px; margin-bottom: 9px; border-radius: 4px; background: rgba(196, 196, 226, .22); }
.doc i:nth-child(2) { width: 80%; } .doc i:nth-child(3) { width: 62%; } .doc i:nth-child(5) { width: 70%; }
.doc b { display: inline-block; margin-bottom: 14px; padding: 4px 8px; border-radius: 6px; font: 800 11px 'DM Mono', monospace; color: var(--button-ink); }
.doc--a { left: 0; top: 24px; transform: rotate(-9deg); animation: doc-a 7s ease-in-out infinite; }
.doc--a b { background: var(--aurora-3); }
.doc--b { left: 120px; top: 6px; z-index: 2; transform: rotate(2deg); animation: doc-b 7s ease-in-out infinite; }
.doc--b b { background: var(--aurora-2); }
.doc--c { left: 236px; top: 34px; transform: rotate(10deg); animation: doc-c 7s ease-in-out infinite; }
.doc--c b { background: #9C9CD0; }
.doc-progress { position: absolute; left: 16px; right: 16px; bottom: 18px; height: 6px; border-radius: 4px; background: var(--surface-alt); overflow: hidden; }
.doc-progress::after { content: ""; position: absolute; inset: 0; background: var(--gradient-brand); transform-origin: left; animation: doc-load 3.5s var(--ease-out) infinite; }
.doc-badge { position: absolute; right: -16px; top: -14px; z-index: 3; padding: 8px 12px; border-radius: 12px;
    background: #5BE49B; color: var(--button-ink); font-weight: 900; font-size: 13px; box-shadow: 0 14px 30px -12px rgba(91, 228, 155, .7);
    animation: float 5s ease-in-out infinite; }
@keyframes doc-a { 50% { transform: rotate(-12deg) translateY(-8px); } }
@keyframes doc-b { 50% { transform: rotate(0deg) translateY(-14px); } }
@keyframes doc-c { 50% { transform: rotate(13deg) translateY(-6px); } }
@keyframes doc-load { 0% { transform: scaleX(0); } 70%, 100% { transform: scaleX(1); } }

/* Painel de vidro */
.auth .login-panel {
    position: relative;
    padding: clamp(26px, 4vw, 40px);
    border: 1px solid var(--glass-line);
    border-radius: var(--radius-lg);
    background: var(--glass);
    backdrop-filter: blur(22px) saturate(1.2);
    box-shadow: 0 50px 100px -40px rgba(0, 0, 0, .85), inset 0 1px 0 rgba(255, 255, 255, .07);
}
.auth .login-input { min-height: 48px; font-size: 16px; transition: border-color var(--dur-fast) linear, box-shadow var(--dur-base) var(--ease-out), background-color var(--dur-fast) linear; }
.auth .login-input:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(249, 100, 54, .2); }
.auth .login-submit { border-radius: 12px; background: var(--gradient-brand); background-size: 160% 100%; color: var(--button-ink); font-weight: 900; }
.auth .login-submit:hover:not(:disabled) { transform: translateY(-2px); box-shadow: var(--glow-accent); background-position: 100% 0; }
.auth .social-button { border-radius: 12px; }
.auth .social-button:hover { transform: translateY(-2px); }

/* =======================================================
   DASHBOARD (Home logada)
   ======================================================= */
.dash { position: relative; isolation: isolate; }
.dash-hero { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: 28px; align-items: center; padding: 44px 0 28px; }
.dash-hello { margin: 0 0 6px; color: var(--muted); font-size: 16px; font-weight: 700; }
.dash-hero h1 { margin: 0 0 22px; font-size: clamp(34px, 5vw, 60px); line-height: 1.02; letter-spacing: -.055em; }
.dash .tool-search input { min-height: 56px; font-size: 16px; border-radius: 16px; transition: box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-fast) linear; }
.dash .tool-search input:focus { box-shadow: 0 0 0 4px rgba(249, 100, 54, .2), 0 20px 50px -24px rgba(249, 100, 54, .6); }
.kbd { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-strong); font: 600 12px 'DM Mono', monospace; color: var(--muted); }
.dash-tip { margin-top: 10px; color: var(--muted); font-size: 13px; }

.plan-widget {
    position: relative; padding: 22px; border: 1px solid var(--glass-line); border-radius: var(--radius-lg);
    background: var(--glass); backdrop-filter: blur(16px);
}
.plan-widget-top { display: flex; align-items: center; gap: 16px; }
.ring {
    --p: 0;
    position: relative; flex: none; width: 86px; height: 86px; border-radius: 50%;
    background: conic-gradient(var(--accent) calc(var(--p) * 1%), var(--surface-alt) 0);
    display: grid; place-items: center;
}
.ring::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--surface); }
.ring strong { position: relative; font-size: 22px; letter-spacing: -.04em; }
.plan-widget h2 { margin: 0 0 4px; font-size: 18px; }
.plan-widget p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.plan-widget .primary-button { width: 100%; margin-top: 16px; }

.dash .quick-grid { gap: 12px; }
.dash .quick-card {
    position: relative; min-height: 118px; padding: 18px; padding-top: 66px; border-radius: var(--radius-md); overflow: hidden;
    display: flex; flex-direction: column; justify-content: flex-start; gap: 4px;
}
.dash .quick-card strong { font-size: 15px; }
.dash .quick-card small { font-size: 13px; }
.quick-icon {
    position: absolute; top: 16px; left: 18px; display: grid; place-items: center; width: 40px; height: 40px;
    border-radius: 12px; background: var(--gradient-brand); color: var(--button-ink);
    transition: transform var(--dur-base) var(--ease-spring);
}
.quick-icon svg { width: 20px; height: 20px; }
.quick-card:hover .quick-icon { transform: translateY(-3px) rotate(-6deg); }
.quick-card .quick-dot { display: none; }
.dash .catalog-card { border-radius: 14px; }
.dash .catalog-card .tool-tile { transition: transform var(--dur-base) var(--ease-spring); }
.dash .catalog-card:hover .tool-tile { transform: scale(1.1) rotate(-6deg); }

/* ---------- Responsivo ---------- */
@media (max-width: 1000px) {
    .bento { grid-template-columns: repeat(2, 1fr); }
    .dash-hero { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .doc-stack { display: none; }
    .auth-title { margin-top: 10px; }
}
@media (max-width: 560px) {
    .bento { grid-template-columns: 1fr; }
    .bento-card--wide, .bento-card--tall { grid-column: auto; grid-row: auto; }
    .lp-v2 .lp-hero { padding-top: 36px; }
    .lp-v2 .lp-lead { font-size: 16px; }
    .hero-stats { gap: 18px; }
    .hero-stats strong { font-size: 22px; }
    .lp-v2 .lp-steps::before { display: none; }
    .dash-hero { padding-top: 28px; }
}

/* ---------- Menos movimento: tudo parado, estado final visível ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .aurora::before, .aurora::after, .aurora span, .text-gradient, .marquee-track, .doc, .doc-badge, .shield-orbit i, .pulse-dot::after { animation: none !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
    .marquee-track { flex-wrap: wrap; justify-content: center; width: auto; }
    .marquee-track [aria-hidden="true"] { display: none; }
    .marquee { mask-image: none; }
    .marquee-toggle { display: none; }
    .js .word-rotator > span:not(:first-child) { display: none; }
    .js .word-rotator > span:first-child { opacity: 1; transform: none; }
}

/* Utilitários */
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lp-hero-wrap { position: relative; isolation: isolate; overflow: hidden; }
.lp-v2 .lp-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.lp-v2 .lp-hero-visual { position: relative; padding: 24px 28px 40px; }
.lp-v2 .lp-demo-note { margin: 34px 0 0; text-align: center; color: var(--muted); font-size: 12px; }
.hero-stats dd { margin: 0; display: grid; gap: 4px; }
.lp-v2 .lp-section-head h2 { font-size: clamp(30px, 4vw, 48px); letter-spacing: -.05em; }
.lp-v2 .lp-section-head .eyebrow { margin-bottom: 12px; }
.lp-v2 .lp-business { background: linear-gradient(120deg, rgba(249, 100, 54, .18), rgba(59, 63, 216, .22)), var(--surface); border-color: rgba(249, 100, 54, .5); }
.lp-v2 .lp-plan { border-radius: var(--radius-md); }
.lp-v2 .lp-final { text-align: center; }
@media (max-width: 900px) { .lp-v2 .lp-hero { grid-template-columns: 1fr; } .lp-v2 .lp-hero-visual { padding: 10px 6px 34px; } }

/* Keep exactly one headline word visible, including without JS. */
.word-rotator > span { visibility: hidden; }
.word-rotator > span.is-active,
.word-rotator:not(:has(> .is-active)) > span:first-child { visibility: visible; }
@media (prefers-reduced-motion: reduce) {
    .word-rotator > span { display: none; }
    .word-rotator > span:first-child { display: block; visibility: visible; }
}
/* Give navigation its own row before it collides with the brand. */
.topbar { height: auto; min-height: 94px; gap: 20px; padding-top: 18px; padding-bottom: 18px; }
.topbar .brand { flex-shrink: 0; }
.topbar .app-navbar { margin-left: 0; gap: 26px; }
.topbar .navbar-meta { flex-shrink: 0; min-width: 0; }
@media (max-width: 1050px) {
    .topbar { flex-wrap: wrap; gap: 10px 20px; }
    .topbar .navbar-meta { margin-left: auto; }
    .topbar .app-navbar { order: 3; flex-basis: 100%; justify-content: flex-start; flex-wrap: wrap; gap: 8px 28px; }
    .topbar .app-nav-link { display: inline-flex; align-items: center; min-height: 44px; }
}
@media (max-width: 440px) {
    .topbar .brand-logo { width: 105px; }
    .topbar .guest-actions { gap: 10px; }
    .topbar .guest-signup { font-size: 12px; padding: 10px; }
    .topbar .app-navbar { justify-content: space-between; gap: 8px 14px; }
}

/* Tool legibility: a visible fallback for every category, including dividir. */
.tool-tile { background: var(--accent-soft); color: var(--button-ink); }
.tool-tile--organizar, .tool-tile--editar { background: #FF9B73; color: var(--button-ink); }
.tool-tile--dividir, .tool-tile--otimizar { background: var(--accent-soft); color: var(--button-ink); }
.tool-tile--para-pdf, .tool-tile--de-pdf { background: #C4C4E2; color: var(--button-ink); }
.tool-tile--seguranca, .tool-tile--ia, .tool-tile--outras { background: #393C69; color: var(--accent-ink); }
.catalog-card .tool-tile { width: 40px; height: 40px; border-radius: 10px; }
.catalog-card .tool-tile svg { width: 22px; height: 22px; }
.catalog-card.is-locked .tool-tile { opacity: 1; }
.catalog-group h3 { font-size: 16px; color: var(--ink); margin-bottom: 16px; }
.catalog-grid { gap: 12px; }
.catalog-card { padding: 18px; gap: 14px; }
.catalog-card strong { font-size: 15px; line-height: 1.4; }
.catalog-card small { display: block; font-size: 13px; line-height: 1.55; color: var(--muted); }
.catalog-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.converter-page .back-link { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 24px; color: var(--accent-ink); font-size: 14px; font-weight: 700; }
.converter-page .back-link:hover { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 4px; }
.converter-page .eyebrow { font: 700 13px/1.5 Manrope, Arial, sans-serif; letter-spacing: .06em; color: var(--muted); }
.converter-page .converter-heading { gap: 20px; flex-wrap: wrap; align-items: center; }
.converter-page .converter-heading h1 { line-height: 1.12; letter-spacing: -.04em; }
.converter-page .converter-heading p:not(.eyebrow) { font-size: 16px; line-height: 1.65; max-width: 64ch; }
.converter-page .converter-limit { font: 600 13px/1.5 Manrope, Arial, sans-serif; color: var(--ink); background: var(--surface); border-color: var(--line); padding: 10px 14px; border-radius: 9px; }
@media (max-width: 520px) {
    .catalog-card { padding: 16px; }
    .catalog-card small { display: block; }
    .converter-page .converter-heading { align-items: flex-start; }
}

/* Shared form controls and contextual help. */
body select { min-height: 48px; max-width: 100%; padding: 10px 36px 10px 14px; border: 1px solid var(--line-strong); border-radius: 9px; background-color: var(--field); color: var(--ink); font: 500 16px/1.5 Manrope, Arial, sans-serif; color-scheme: var(--color-scheme, dark); }
body select option, body select optgroup { background: var(--field); color: var(--ink); font-size: 16px; }
body select optgroup { font-weight: 700; }
body select:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.converter-summary { flex-wrap: wrap; gap: 16px; }
.converter-summary > div { min-width: 0; }
.converter-summary .tool-selector-label { flex: 1 1 100%; min-width: 0; margin: 8px 0 0; padding-top: 18px; border-top: 1px solid var(--line); gap: 9px; color: var(--ink); font: 600 14px/1.5 Manrope, Arial, sans-serif; text-transform: none; letter-spacing: 0; }
.converter-summary .tool-selector-label select { width: 100%; min-width: 0; min-height: 50px; max-height: none; padding: 12px 36px 12px 14px; font: 500 16px/1.5 Manrope, Arial, sans-serif; border-color: var(--line-strong); border-radius: 9px; }
body .tool-field select { font-size: 16px; }
.converter-aside { display: flex; flex-direction: column; gap: 18px; height: auto; min-height: 0; padding: 28px; align-self: start; }
.converter-aside > .aside-number { font-size: 14px; color: var(--accent-ink); }
.converter-aside h2 { max-width: none; margin: 8px 0 0; font-size: 26px; line-height: 1.2; letter-spacing: -.035em; }
.converter-aside > p { max-width: none; margin: 0; font-size: 15px; line-height: 1.7; color: var(--muted); }
.converter-aside .aside-note { position: relative; inset: auto; display: flex; align-items: flex-start; gap: 10px; margin-top: 8px; padding-top: 20px; border-top: 1px solid var(--line); }
.converter-aside .aside-note span { display: block; flex: 1; max-width: none; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.converter-aside::after { pointer-events: none; }
.converter-page .dropzone strong { font-size: 16px; }
.converter-page .dropzone > span:not(.upload-icon):not(.upload-cta), .converter-page .dropzone small { font-size: 13px; line-height: 1.6; }
@media (max-width: 600px) { .converter-aside { padding: 22px; } }

/* Clear return action on tool screens. */
.converter-page .back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid var(--line-strong);
    border-radius: 9px;
    background: var(--field);
    color: var(--ink);
    font-size: 14px;
    text-decoration: none;
}
.converter-page .back-link:hover {
    background: var(--field-hover);
    border-color: var(--accent);
    color: var(--ink);
    text-decoration: none;
}
.converter-page .back-link:focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 3px;
}


/* Shared readable labels and tool cards; no decorative dot or spaced microtype. */
body .eyebrow, body .converter-page .eyebrow {
    display: block; color: var(--muted); font: 600 14px/1.6 Manrope, Arial, sans-serif;
    text-transform: none; letter-spacing: 0; margin: 0 0 12px;
}
body .eyebrow > span:empty { display: none; }
body .tool-format, body .tool-category {
    font: 500 13px/1.6 Manrope, Arial, sans-serif;
    letter-spacing: 0; text-transform: none; color: var(--muted);
}
body .converter-summary .tool-format { margin-top: 4px; }
body .tool-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 16px; }
body .tool-card {
    display: flex; flex-direction: column; align-items: flex-start; gap: 12px;
    padding: 24px; min-height: 0; height: auto; border-radius: 14px;
}
body .tool-card .tool-icon {
    position: static; width: 44px; height: 44px; flex: none;
    background: var(--accent-soft); color: var(--button-ink); font-size: 22px; border-radius: 10px;
}
body .tool-card .tool-format { margin: 0; font-size: 13px; }
body .tool-card strong { margin: 0; font-size: 18px; line-height: 1.35; letter-spacing: -.02em; }
body .tool-card small { margin: 0; min-height: 0; font-size: 14px; line-height: 1.65; color: var(--muted); }
body .tool-card .tool-action {
    position: static; margin-top: auto; padding-top: 8px;
    min-height: 44px; display: inline-flex; align-items: center;
    color: var(--accent-ink); font-size: 14px; line-height: 1.5;
}
body .tool-card:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }


/* Unified interface icons, secondary actions and help content. */
.ui-inline-icon { display:inline-block; flex:none; vertical-align:middle; margin-right:4px; }
.tool-action .ui-inline-icon { margin:0 0 0 8px; }
body .tool-card .tool-action { margin-top:auto; padding:8px 12px; min-height:40px; border:1px solid var(--line-strong); border-radius:8px; background:var(--field); color:var(--ink); }
.lp-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:14px; line-height:1.5; color:var(--accent-ink); }
.help-guide { margin:48px 0; }
.help-guide h2 { font-size:26px; line-height:1.3; margin:0 0 10px; }
.help-guide > p { color:var(--muted); font-size:15px; margin:0 0 24px; }
.help-questions { display:grid; gap:12px; }
.help-questions details { border:1px solid var(--line); border-radius:12px; background:var(--surface); padding:0 22px; }
.help-questions summary { display:flex; align-items:center; gap:14px; min-height:72px; padding:16px 0; font-size:16px; font-weight:700; list-style:none; }
.help-questions summary::-webkit-details-marker { display:none; }
.help-questions summary > svg { flex:none; color:var(--accent-ink); }
.help-questions summary::after { content:'+'; margin-left:auto; font-size:24px; color:var(--accent-ink); }
.help-questions details[open] summary::after { content:'−'; }
.help-questions details[open] summary { border-bottom:1px solid var(--line); }
.help-questions details p { color:var(--muted); font-size:15px; line-height:1.7; margin:18px 0; max-width:70ch; }
.help-questions details > a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; margin:0 0 20px; border:1px solid var(--line-strong); border-radius:8px; background:var(--field); color:var(--ink); font-size:14px; font-weight:600; }
.help-questions summary:focus-visible,.help-questions a:focus-visible { outline:3px solid var(--focus); outline-offset:4px; }
.pricing-secure { font-size:14px; line-height:1.7; }

/* Reserved advertising column, separate from processing controls. */
.tool-side-column { display:flex; flex-direction:column; align-self:start; min-width:0; gap:28px; }
.tool-side-column > .converter-aside { width:100%; }
.tool-ad-reserved { width:100%; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--surface); text-align:center; }
.tool-ad-label { display:block; color:var(--muted); font:600 12px/1.5 Manrope,Arial,sans-serif; margin-bottom:14px; }
.tool-ad-space { display:flex; flex-direction:column; justify-content:center; align-items:center; min-height:250px; padding:24px 12px; border:1px dashed var(--line); border-radius:8px; }
.tool-ad-space p { margin:0 0 10px; color:var(--muted); font-size:14px; line-height:1.6; }
.tool-ad-space small { color:var(--muted); font-size:12px; }
@media(max-width:760px) { .tool-side-column { gap:24px; } .tool-ad-space { min-height:180px; } }

/* Keep recent tools as complete cards, including their local icon and description. */
.recent-tool-card {justify-content:flex-start;gap:12px;min-height:200px}
.recent-tool-card .quick-icon {width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;color:var(--button-ink);background:var(--accent-soft);border-radius:12px}
.recent-tool-card small {line-height:1.6;color:var(--muted);font-size:13px}
.tool-tile svg {display:block;width:26px;height:26px;flex-shrink:0}
.help-contact p { color:var(--muted); max-width:70ch; }
.help-contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.help-contact-actions a { display:inline-flex; align-items:center; gap:8px; min-height:48px; overflow-wrap:anywhere; }
.help-contact-emails { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:8px; color:var(--muted); }
.help-contact-emails a { overflow-wrap:anywhere; }

/* /assets/css/referral.css */
.referral-campaign[hidden] {display:none!important}
.referral-campaign {padding:28px;margin:24px 0;border:1px solid #ffa178;border-radius:16px;background:#222650;color:var(--ink)}
.referral-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.referral-heading h2 {font-size:26px;line-height:1.3;letter-spacing:-.6px;margin:0;max-width:640px}
.referral-reward {padding:8px 12px;border-radius:8px;background:#ffdeab;color:#12164b;font-size:14px;font-weight:800}
.referral-campaign p {line-height:1.65;color:#dce0fb}
.referral-campaign .referral-label {display:block;font-weight:700;margin-top:22px}
.referral-label input {display:block;width:100%;padding:14px;margin:8px 0 16px;border:1px solid #7b80a5;border-radius:9px;background:#15193f;color:var(--ink);font:inherit;box-sizing:border-box}
.referral-actions {display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.referral-secondary {display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:10px 16px;border:1px solid #858aad;border-radius:10px;color:var(--ink);background:transparent;font:700 14px Manrope,Arial,sans-serif;text-decoration:none;cursor:pointer}
.referral-campaign .referral-rules {font-size:13px;border-top:1px solid #515780;padding-top:16px;margin-top:22px}
.referral-campaign button:focus-visible,.referral-campaign a:focus-visible,.referral-campaign input:focus-visible {outline:3px solid #ffdeab;outline-offset:3px}
.referral-code strong {overflow-wrap:anywhere}
@media(max-width:520px){.referral-campaign{padding:20px}.referral-heading h2{font-size:23px}.referral-actions>*{width:100%}}

/* /assets/css/ux.css */
/* "hidden" sempre esconde: alguns estilos antigos forçavam display e deixavam
   aparecer, por exemplo, uma linha de arquivo vazia antes do envio. */
[hidden] { display: none !important; }

/* Área de envio no padrão dos conversores conhecidos (Adobe, iLovePDF, Smallpdf):
   um alvo grande, um botão óbvio e o arrastar e soltar como alternativa.
   Carregado em todas as páginas, depois dos estilos de cada tela. */
.dropzone.dropzone {
    gap: 4px;
    min-height: 250px;
    padding: 36px 24px;
    border: 2px dashed rgba(249, 100, 54, .42);
    border-radius: 18px;
    background: rgba(255, 255, 255, .025);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.dropzone.dropzone:hover,
.dropzone.dropzone.is-dragging {
    border-color: var(--accent);
    background: rgba(249, 100, 54, .07);
}
.dropzone.dropzone.is-dragging { box-shadow: 0 0 0 6px rgba(249, 100, 54, .14); }
.dropzone.dropzone:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.dropzone .upload-icon {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin: 0 0 10px;
    border-radius: 20px;
    background: rgba(249, 100, 54, .14);
    color: var(--accent);
}
.dropzone .upload-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    margin: 2px 0 8px;
    padding: 0 34px;
    border-radius: 14px;
    background: var(--cta);
    color: var(--button-ink);
    font-size: 17px;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(249, 100, 54, .32);
    transition: transform .15s ease, filter .15s ease;
}
.dropzone:hover .upload-cta { transform: translateY(-1px); filter: brightness(1.06); }
.dropzone.dropzone strong { font-size: 15px; font-weight: 600; color: var(--ink); }
.dropzone.dropzone small { margin-top: 4px; font-size: 13px; color: var(--muted); }

/* Lista de arquivos escolhidos (modo visitante usa a mesma da página de ferramenta). */
.dropzone + .tool-file-list {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}
.dropzone + .tool-file-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-soft);
    font-size: 14px;
    overflow-wrap: anywhere;
}
.dropzone + .tool-file-list small { color: var(--muted); white-space: nowrap; }

@media (max-width: 560px) {
    .dropzone.dropzone { min-height: 210px; padding: 28px 16px; }
    .dropzone .upload-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .dropzone .upload-cta { transition: none; }
}

/* Anúncio do próprio Gira nas telas de ferramenta (visitante e Free).
   Fica na coluna lateral, longe dos botões de enviar e baixar. */
.house-ad {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 22px;
    border: 1px solid rgba(249, 100, 54, .45);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(249, 100, 54, .16), rgba(255, 255, 255, .03) 60%);
}
.house-ad-label {
    justify-self: start;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 221, 163, .16);
    color: var(--accent-ink);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.house-ad strong { font-size: 20px; line-height: 1.25; color: var(--ink); }
.house-ad ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.house-ad li { position: relative; padding-left: 22px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.house-ad li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .45em;
    width: 10px;
    height: 6px;
    border-left: 2px solid var(--accent);
    border-bottom: 2px solid var(--accent);
    transform: rotate(-45deg);
}
.house-ad-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin-top: 4px;
    padding: 0 18px;
    border-radius: 12px;
    border: 1px solid var(--accent);
    color: var(--ink);
    font-weight: 800;
    text-decoration: none;
}
.house-ad-cta:hover { background: rgba(249, 100, 54, .14); }
.house-ad-cta:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }

/* "Voltar" discreto, como nos conversores conhecidos: o foco da tela é o título e o envio. */
.back-link.back-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    color: var(--muted);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
.back-link.back-link:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.back-link.back-link:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 6px; }

/* Mensagens de andamento e de erro legíveis (antes 11px). */
.form-feedback.form-feedback { font-size: 14px; line-height: 1.5; }

/* Cartão lateral das ferramentas: guia rápido em vez de enfeite.
   Os arcos decorativos (círculos concêntricos) saem de todas as telas. */
.converter-aside::after,
.converter-aside::before,
.tool-aside::after { content: none !important; display: none !important; }

.tool-guide { display: grid; gap: 16px; }
.tool-guide h2 { margin: 0; font-size: 22px; line-height: 1.2; }
.tool-guide-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.tool-guide-steps li { display: flex; align-items: center; gap: 12px; color: var(--ink); font-size: 15px; line-height: 1.4; }
.tool-guide-steps b {
    display: grid;
    flex: none;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: rgba(249, 100, 54, .16);
    color: var(--accent);
    font-size: 14px;
    font-weight: 800;
}
.tool-guide-note {
    margin: 0;
    padding: 12px 14px;
    border-left: 3px solid var(--accent);
    border-radius: 0 10px 10px 0;
    background: rgba(255, 255, 255, .04);
    color: var(--muted);
    font-size: 14px;
    line-height: 1.5;
}
.tool-guide-trust {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 14px 0 0;
    border-top: 1px solid var(--line);
    list-style: none;
}
.tool-guide-trust li { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.tool-guide-trust svg { flex: none; color: var(--accent-ink); }
.tool-guide-tip { margin: 12px 4px 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

/* Sem efeitos redondos decorativos: manchas "aurora", círculos de fundo,
   holofote que segue o mouse e brilhos radiais. Fundo limpo e sólido, como nos
   conversores profissionais. Ficam só os círculos com função (foco e medidor de uso). */
.aurora,
.aurora::before,
.aurora::after,
.aurora span { display: none !important; animation: none !important; }
.hub-home::before,
.hub-home:before,
.login-showcase::before,
.auth .login-showcase::before { content: none !important; display: none !important; }
[data-spotlight]::before { content: none !important; display: none !important; }
.lock-card,
.license-card--plus,
.pricing-card.is-featured { background: var(--surface) !important; }
/* Plano em destaque: borda laranja fixa no lugar da borda colorida girando. */
.lp-v2 .lp-plan.is-featured {
    background: var(--surface) !important;
    border: 1.5px solid var(--accent) !important;
    animation: none !important;
}
/* Escudo da seção de privacidade sem os círculos tracejados girando. */
.shield-orbit i { display: none !important; }

/* ---------- Ícones das ferramentas: cor por categoria e movimento ----------
   Painel (.tool-tile, seção [data-group]) e catálogo grátis
   (.guest-feature-icon, seção [data-guest-category]) usam as mesmas cores. */
[data-group], [data-guest-category], .quick { --c1: #FF7A45; --c2: #F9436B; }
[data-group="organizar"],  [data-guest-category="organizar"]  { --c1: #FF7A45; --c2: #F9436B; }
[data-group="dividir"],    [data-guest-category="dividir"]    { --c1: #84CC16; --c2: #16A34A; }
[data-group="otimizar"],   [data-guest-category="otimizar"]   { --c1: #FBBF24; --c2: #F97316; }
[data-group="para-pdf"],   [data-guest-category="para-pdf"]   { --c1: #38BDF8; --c2: #2563EB; }
[data-group="de-pdf"],     [data-guest-category="de-pdf"]     { --c1: #F87171; --c2: #B91C1C; }
[data-group="editar"],     [data-guest-category="editar"]     { --c1: #F9A8D4; --c2: #DB2777; }
[data-group="seguranca"],  [data-guest-category="seguranca"]  { --c1: #2DD4BF; --c2: #0F766E; }
[data-group="ia"],         [data-guest-category="ia"]         { --c1: #93C5FD; --c2: #3B3FD8; }
[data-group="outras"],     [data-guest-category="outras"]     { --c1: #94A3B8; --c2: #475569; }
[data-group="office"],     [data-guest-category="office"]     { --c1: #FB923C; --c2: #C2410C; }

.tool-tile.tool-tile,
.guest-feature-icon.guest-feature-icon {
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--c1), var(--c2));
    color: var(--ink);
    box-shadow: 0 10px 22px -8px var(--c2), inset 0 1px 0 rgba(255, 255, 255, .35);
    transition: transform .35s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s ease;
    animation: tile-pop .6s cubic-bezier(.34, 1.56, .64, 1) both;
}
.tool-tile.tool-tile svg,
.guest-feature-icon.guest-feature-icon svg { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .25)); }

/* Entrada: um ícone de cada vez. */
.catalog-grid > :nth-child(2) .tool-tile, .guest-feature-grid > :nth-child(2) .guest-feature-icon { animation-delay: .06s; }
.catalog-grid > :nth-child(3) .tool-tile, .guest-feature-grid > :nth-child(3) .guest-feature-icon { animation-delay: .12s; }
.catalog-grid > :nth-child(4) .tool-tile, .guest-feature-grid > :nth-child(4) .guest-feature-icon { animation-delay: .18s; }
.catalog-grid > :nth-child(n+5) .tool-tile, .guest-feature-grid > :nth-child(n+5) .guest-feature-icon { animation-delay: .24s; }
@keyframes tile-pop {
    from { opacity: 0; transform: scale(.6) rotate(-12deg); }
    to { opacity: 1; transform: none; }
}

/* Passar o mouse / tocar: o cartão sobe e o ícone "acorda". */
.catalog-card, .guest-feature {
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.catalog-card:hover, .catalog-card:focus-visible,
.guest-feature:hover, .guest-feature:focus-visible {
    transform: translateY(-4px);
    border-color: var(--c1) !important;
    box-shadow: 0 18px 40px -18px var(--c2);
}
.catalog-card:hover .tool-tile, .catalog-card:focus-visible .tool-tile,
.guest-feature:hover .guest-feature-icon, .guest-feature:focus-visible .guest-feature-icon {
    transform: scale(1.12) rotate(-8deg);
    box-shadow: 0 16px 30px -8px var(--c2), inset 0 1px 0 rgba(255, 255, 255, .45);
}
.catalog-card:active, .guest-feature:active { transform: translateY(-1px) scale(.99); }
.guest-feature-action { color: var(--c1) !important; font-weight: 700; }

@media (prefers-reduced-motion: reduce) {
    .tool-tile.tool-tile, .guest-feature-icon.guest-feature-icon { animation: none; transition: none; }
    .catalog-card, .guest-feature { transition: none; }
    .catalog-card:hover, .guest-feature:hover,
    .catalog-card:hover .tool-tile, .guest-feature:hover .guest-feature-icon { transform: none; }
}

/* Cards de destaque do /gratis: cor própria, papéis flutuando e selo "Grátis" */
[data-starter="merge-pdf"]   { --c1: #ff7a3d; --c2: #ff3d68; --c-soft: rgba(255, 106, 61, .16); }
[data-starter="compress-pdf"]{ --c1: #ffb020; --c2: #ff7a1a; --c-soft: rgba(255, 176, 32, .15); }
[data-starter="jpg-to-pdf"]  { --c1: #38bdf8; --c2: #2563eb; --c-soft: rgba(56, 189, 248, .15); }
[data-starter="pdf-to-jpg"]  { --c1: #34d399; --c2: #059669; --c-soft: rgba(52, 211, 153, .15); }
.guest-start-card.guest-start-card {
    position: relative;
    border-color: rgba(255, 255, 255, .1);
    background: var(--surface);
    box-shadow: 0 10px 28px rgba(5, 8, 40, .35);
    transition: transform .25s cubic-bezier(.2, .8, .2, 1), border-color .25s, box-shadow .25s;
    animation: tile-pop .5s cubic-bezier(.2, .9, .3, 1.3) both;
}
.guest-start-card:nth-child(2) { animation-delay: .07s; }
.guest-start-card:nth-child(3) { animation-delay: .14s; }
.guest-start-card:nth-child(4) { animation-delay: .21s; }
.guest-start-card.guest-start-card:hover,
.guest-start-card.guest-start-card:focus-visible {
    transform: translateY(-6px);
    border-color: var(--c1);
    box-shadow: 0 18px 40px rgba(5, 8, 40, .5), 0 0 0 1px var(--c1), 0 12px 32px var(--c-soft);
}
.guest-start-card .guest-tool-art {
    height: 148px;
    background: linear-gradient(160deg, var(--c-soft), rgba(255, 255, 255, .02) 75%), var(--surface-strong);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.guest-start-card .guest-paper {
    width: 66px; height: 84px;
    border: 0;
    border-radius: 8px 18px 8px 8px;
    background: linear-gradient(145deg, var(--c1), var(--c2));
    color: var(--ink);
    box-shadow: 0 14px 26px rgba(5, 8, 40, .45);
    animation: starter-float 3.6s ease-in-out infinite;
    transition: transform .3s cubic-bezier(.2, .8, .2, 1);
}
.guest-start-card .guest-paper svg { filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .25)); }
.guest-start-card .guest-paper-back {
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 10px 20px rgba(5, 8, 40, .3);
    animation: none;
    transform: rotate(-14deg) translate(-18px, -2px);
}
.guest-start-card:hover .guest-paper:not(.guest-paper-back) { animation-play-state: paused; transform: rotate(8deg) translateY(-6px) scale(1.06); }
.guest-start-card:hover .guest-paper-back { transform: rotate(-20deg) translate(-28px, 2px); }
.guest-start-card .guest-art-label { background: #fff; color: var(--c2); box-shadow: 0 6px 14px rgba(5, 8, 40, .3); }
.guest-art-badge {
    position: absolute; top: 12px; left: 12px; z-index: 2;
    padding: 4px 9px; border-radius: 6px;
    background: rgba(255, 255, 255, .12); color: var(--ink);
    font-size: 11px; font-weight: 800; letter-spacing: .3px;
}
.guest-start-card .guest-start-action { color: var(--c1); }
.guest-start-card:hover .guest-start-action { text-decoration: underline; text-underline-offset: 4px; }
@keyframes starter-float {
    0%, 100% { transform: rotate(5deg) translateY(0); }
    50% { transform: rotate(3deg) translateY(-6px); }
}
@media (prefers-reduced-motion: reduce) {
    .guest-start-card.guest-start-card, .guest-start-card .guest-paper { animation: none; transition: none; }
    .guest-start-card.guest-start-card:hover, .guest-start-card:hover .guest-paper:not(.guest-paper-back),
    .guest-start-card:hover .guest-paper-back { transform: none; }
}
@media (max-width: 520px) {
    .guest-start-card .guest-tool-art { width: 112px; height: auto; min-height: 150px; }
    .guest-start-card .guest-paper { width: 50px; height: 64px; }
    .guest-start-card .guest-paper svg { width: 26px; height: 26px; }
    .guest-start-card .guest-paper-back { transform: rotate(-14deg) translate(-12px, -2px); }
    .guest-art-badge { top: auto; bottom: 10px; left: 50%; transform: translateX(-50%); font-size: 10px; }
    .guest-start-card .guest-art-label { right: 14px; bottom: 36px; font-size: 10px; padding: 3px 7px; }
}

/* Banner de anúncios: as duas escolhas com o mesmo peso visual (sem induzir o aceite) */
.consent-button {
    flex: 1 1 200px;
    min-height: 46px;
    padding: 10px 16px;
    border: 1.5px solid var(--accent);
    border-radius: 12px;
    background: transparent;
    color: var(--ink);
    font: 800 14px Manrope, Arial, sans-serif;
    cursor: pointer;
}
.consent-button:hover { background: var(--cta); color: var(--button-ink); }
.consent-button:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

/* Saldo do plano Free ao lado do limite de tamanho */
.quota-chip { border-color: var(--accent) !important; }
.quota-chip.is-empty { border-color: var(--danger) !important; color: var(--danger) !important; }

/* Card de resultado: economia, limites dos sistemas, próximo passo e envio pelo celular */
.result-card { display: grid; gap: 10px; margin-top: 16px; padding: 18px; border: 1px solid var(--accent); border-radius: 14px; background: var(--surface); color: var(--ink); animation: tile-pop .35s ease-out both; }
.result-card h3 { margin: 0; font-size: 18px; }
.result-card h3:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: 4px; }
.result-card-name { margin: 0; color: var(--muted); font-size: 14px; word-break: break-all; }
.result-card-size { margin: 0; font-weight: 800; color: var(--accent-ink); }
.result-card-destinos { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.result-card-destinos li { padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; border: 1px solid var(--line); }
.result-card-destinos .is-ok { color: #157347; border-color: #3fbf7f; background: rgba(63, 191, 127, .12); }
:root[data-tone="dark"] .result-card-destinos .is-ok { color: #7fe0ae; }
.result-card-destinos .is-over { color: var(--muted); text-decoration: line-through; }
.result-card small { color: var(--muted); font-size: 12px; }
.result-card-actions, .result-card-next { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.result-card-actions .secondary-button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--field); color: var(--ink); font: 700 14px Manrope, Arial, sans-serif; cursor: pointer; text-decoration: none; }
.result-card-next p { margin: 0; font-weight: 700; font-size: 14px; }
.result-card-next a { padding: 8px 12px; border-radius: 999px; border: 1px solid var(--accent); color: var(--accent-ink); font-size: 13px; font-weight: 700; text-decoration: none; }
.result-card-next a:hover, .result-card-actions .secondary-button:hover { border-color: var(--accent); }
@media (prefers-reduced-motion: reduce) { .result-card { animation: none; } }

/* "Deixar pronto para" na página de comprimir */
.compress-target { display: grid; gap: 6px; margin: 14px 0; font-weight: 700; font-size: 14px; color: var(--ink); }
.compress-target select { min-height: 46px; }
.compress-target small { font-weight: 500; color: var(--muted); }

/* Botão "Do Google Drive" abaixo da área de envio */
.drive-button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 10px; padding: 8px 14px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--field); color: var(--ink); font: 700 14px Manrope, Arial, sans-serif; cursor: pointer; }
.drive-button:hover { border-color: var(--accent); }
.drive-button:disabled { opacity: .7; cursor: progress; }
.drive-button:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

/* O cartão da ferramenta termina logo depois do botão: não estica até a altura da
   coluna lateral (guia + anúncio + Plus), que deixava um bloco vazio enorme. */
.converter-layout > .converter-panel { align-self: start; }

/* Links no meio do texto ficam sublinhados: não dependem só da cor (WCAG 1.4.1). */
main p a:not([class]), .seo-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
/* Tabela com rolagem lateral focável pelo teclado (workspace-ui.js). */
:is(.packs-table-wrap, .admin-table-wrap)[role="region"]:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

/* Formulário enviado: espera a resposta (form-guard.js evita o segundo clique) */
form.is-sending [type="submit"], form.is-sending button:not([type]) { cursor: progress; opacity: .75; }

/* /assets/css/themes.css */
/* Temas do Gira: o padrão (azul Gira e laranja) e o claro, nas mesmas cores da marca.
   Cada tema só troca variáveis (cores); o layout é o mesmo nos dois.
   O tema escolhido fica em <html data-theme="gira|claro" data-tone="dark|light">,
   aplicado antes da pintura pelo script do <head> (sem "piscar"); regras em services/temas.py. */

:root {
    --accent-ink: #FFAB87;      /* texto em destaque sobre superfícies */
    --field: #282B58;           /* fundo de campos e botões secundários */
    --field-hover: #343864;
    --line-strong: #74779C;
    --focus: #FFDDA3;
    --cta: var(--accent);       /* fundo dos botões de ação principais */
    --cta-hover: var(--accent-soft);
    --color-scheme: dark;
    color-scheme: dark;
}

/* Claro: papel branco-azulado, texto em azul Gira e laranja Gira nos botões.
   Contraste (WCAG AA): texto ≥ 4,5:1 sobre todas as superfícies; bordas de campos e foco ≥ 3:1.
   O laranja da marca (#F96436) fica no fundo dos botões, com texto azul (5,7:1);
   em texto e bordas usa-se o laranja escuro (#B53A0C, ≥ 4,5:1 até sobre --surface-alt). */
:root[data-theme="claro"] {
    --color-scheme: light;
    color-scheme: light;
    --paper: #F5F7FF;
    --ink: #0A0F55;
    --muted: #4A5080;
    --line: #D6DCF3;
    --line-strong: #7C83B4;
    --surface: #FFFFFF;
    --surface-strong: #EEF1FC;
    --surface-alt: #E3E8FA;
    --surface-soft: #F0F3FD;
    --field: #FFFFFF;
    --field-hover: #F5F7FF;
    --accent: #B53A0C;
    --accent-ink: #B53A0C;
    --accent-soft: #FFE4D6;
    --accent-strong: #9C3009;
    --cta: #F96436;
    --cta-hover: #FF7B52;
    --button-ink: #0A0F55;
    --focus: #3443C9;
    --danger: #C0263A;
    --gira-lavender: #4A5080;
    --gira-slate: #E3E8FA;
    --lime: #B53A0C;            /* apelido antigo usado como texto de destaque */
    --violet: #E3E8FA;
    --violet-deep: #D6DCF3;
    --glass: rgba(255, 255, 255, .86);
    --glass-strong: rgba(255, 255, 255, .96);
    --glass-line: rgba(10, 15, 85, .1);
    --workspace-shadow: 0 1px 2px rgba(10, 15, 85, .06), 0 10px 30px rgba(10, 15, 85, .08);
    --gradient-brand: linear-gradient(120deg, #B53A0C 0%, #C8460F 45%, #9C3009 100%);
    --glow-accent: 0 0 0 1px rgba(249, 100, 54, .4), 0 14px 36px -14px rgba(249, 100, 54, .55);
}

/* Ajustes comuns aos temas claros */
.logo-for-light { display: none !important; }
:root[data-tone="light"] .logo-for-dark { display: none !important; }
:root[data-tone="light"] .logo-for-light { display: block !important; }
:root[data-tone="light"] .catalog-card,
:root[data-tone="light"] .guest-feature,
:root[data-tone="light"] .guest-start-card.guest-start-card,
:root[data-tone="light"] .tool-guide,
:root[data-tone="light"] .converter-panel,
:root[data-tone="light"] .tool-card { box-shadow: 0 1px 2px rgba(20, 22, 60, .06), 0 6px 18px rgba(20, 22, 60, .06); }
:root[data-tone="light"] .guest-start-card .guest-tool-art { background: linear-gradient(160deg, var(--c-soft), transparent 75%), var(--surface-strong); }
:root[data-tone="light"] .guest-art-badge { background: rgba(21, 23, 61, .08); color: var(--ink); }
:root[data-tone="light"] .guest-start-card .guest-paper-back { background: #FFFFFF; box-shadow: 0 6px 16px rgba(20, 22, 60, .15); }
:root[data-tone="light"] .guest-feature-action,
:root[data-tone="light"] .guest-start-card .guest-start-action { color: var(--accent-ink) !important; }  /* cor da categoria no branco não dá contraste AA */
:root[data-tone="light"] .plan-badge { color: var(--ink); }

/* Claro: cores fixas pensadas para fundo escuro, trocadas por versões legíveis no papel claro
   (texto ≥ 4,5:1). O pêssego da marca vira fundo; texto em destaque usa o laranja escuro. */
:root[data-tone="light"] {
    --ok-ink: #157A3F;
    --erro-ink: #A51D33;
    --ok-bg: #E7F6EC;
    --erro-bg: #FDECEF;
}
/* pêssego como fundo de selo (texto azul) */
:root[data-tone="light"] .plan-badge--plus,
:root[data-tone="light"] .plus-tag,
:root[data-tone="light"] .lock-badge { background: var(--accent-soft); color: var(--ink); }
:root[data-tone="light"] .plan-badge--empresa { background: #E3E8FA; color: var(--ink); box-shadow: inset 0 0 0 1px #B9C1E6; }
:root[data-tone="light"] .tool-tile--otimizar,
:root[data-tone="light"] .quick-dot--otimizar { background: var(--accent-soft); }
:root[data-tone="light"] .tool-tile--seguranca { background: #E3E8FA; color: var(--accent-ink); }
:root[data-tone="light"] .tool-tile--ia { box-shadow: inset 0 0 0 1.5px var(--accent-ink); color: var(--accent-ink); }
/* pêssego e verde-claro como texto */
:root[data-tone="light"] :is(.license-card--plus .license-name, .license-upgrade, .plan-option--plus h3,
    .admin-card--destaque strong, .admin-top strong, .plan-status--warning, .menu-upsell strong,
    .pricing-card--plus h2, .pricing-pix, .packs-unit, .pricing-anual strong, .tool-file-list .file-role,
    .tool-page .form-feedback.is-success, .chat-pages, .lp-demo-file.is-done small, .lp-plan-name,
    .queue-state-badge, .signup-progress [aria-current=step]) { color: var(--accent-ink); }
:root[data-tone="light"] .admin-card--destaque,
:root[data-tone="light"] .menu-quota,
:root[data-tone="light"] .menu-upsell { border-color: #F3B79B; }
:root[data-tone="light"] :is(.plan-status--ok, .privacy-note svg, .packs-off, .queue-job-status.is-completed,
    .queue-state-badge.is-completed, .cert-page .cert-results .is-ok, .result-card-destinos .is-ok) { color: var(--ok-ink); }
/* avisos verdes, de erro e de atenção */
:root[data-tone="light"] .admin-recado { border-color: #9FD3B2; background: var(--ok-bg); color: #0F5C2F; }
:root[data-tone="light"] :is(.admin-recado.is-error, .license-note--danger, .login-alert--error) {
    border-color: #EBA3AF; background: var(--erro-bg); color: var(--erro-ink);
}
:root[data-tone="light"] :is(.license-note, .quota-banner.is-empty, .login-alert--notice, .lock-card) { border-color: #F3B79B; background: #FFF4EE; }
:root[data-tone="light"] :is(.modelo-erro, .modelo-feedback.erro) { color: var(--erro-ink); }
/* páginas legais e indicações */
:root[data-tone="light"] .legal-page p,
:root[data-tone="light"] .legal-page li { color: #2A3068; }
:root[data-tone="light"] .referral-campaign { background: var(--surface); border-color: #F3B79B; }
:root[data-tone="light"] .referral-campaign p { color: var(--muted); }
/* cartões em destaque e ícones de ferramenta */
:root[data-tone="light"] .tool-card.featured { color: var(--ink); }
:root[data-tone="light"] .featured .tool-icon { background: var(--surface); color: var(--ink); }
:root[data-tone="light"] .ocr-summary .tool-icon { color: var(--ink); }
:root[data-tone="light"] .tool-tile--seguranca,
:root[data-tone="light"] .tool-tile--outras { background: #E3E8FA; }
:root[data-tone="light"] .guest-feature-icon { background: #FFF1EA; border-color: #F3C3AC; color: var(--accent-ink); }
:root[data-tone="light"] .guest-feature-icon--dividir,
:root[data-tone="light"] .guest-feature-icon--otimizar { background: #E8F6EE; border-color: #A9D8BB; color: #146B38; }
:root[data-tone="light"] .guest-feature-icon--para-pdf,
:root[data-tone="light"] .guest-feature-icon--de-pdf { background: #E9EFFE; border-color: #AFC3EE; color: #1D47A6; }
:root[data-tone="light"] .guest-feature-icon--seguranca { background: #FFF5DD; border-color: #E9CC86; color: #7A5200; }
:root[data-tone="light"] .guest-feature-icon--ia { background: #E8EEFF; border-color: #B9C6F5; color: #2C35A8; }
:root[data-tone="light"] .guest-access-free { background: var(--ok-bg); color: #0F5C2F; border-color: #9FD3B2; }
/* cadastro (painel tinha cores fixas de fundo escuro) */
:root[data-tone="light"] .auth.signup-auth .login-panel { background: var(--surface); border-color: var(--line); box-shadow: 0 1px 2px rgba(10, 15, 85, .06), 0 18px 48px rgba(10, 15, 85, .1); }
:root[data-tone="light"] .auth.signup-auth :is(.login-intro, .signup-toplink, .signup-progress, .login-captcha-ajuda,
    .signup-next-note, .signup-stage-description, .signup-back, .login-consent) { color: var(--muted); }
:root[data-tone="light"] .auth.signup-auth .signup-referral summary,
:root[data-tone="light"] .signup-pending p { color: var(--muted); }
:root[data-tone="light"] .auth.signup-auth .login-input { background: var(--field); border-color: var(--line-strong); }
:root[data-tone="light"] .auth.signup-auth .login-input::placeholder { color: #6B71A0; }
:root[data-tone="light"] .auth.signup-auth .login-input:focus { border-color: var(--focus); box-shadow: 0 0 0 3px rgba(52, 67, 201, .18); }
:root[data-tone="light"] .auth.signup-auth .password-toggle,
:root[data-tone="light"] .auth.signup-auth .login-help a,
:root[data-tone="light"] .auth.signup-auth .login-consent a { color: var(--accent-ink); }
:root[data-tone="light"] .auth.signup-auth .captcha-refresh { background: var(--surface-strong); color: var(--ink); }
:root[data-tone="light"] .auth.signup-auth .login-submit { background: var(--cta); }
:root[data-tone="light"] .auth.signup-auth .login-submit:hover:not(:disabled) { background: var(--cta-hover); }
/* marcas de "incluído" das listas de planos (ícone ≥ 3:1) */
:root[data-tone="light"] :is(.pricing-features, .lock-card, .plan-option) li::before { border-color: var(--accent); }
:root[data-tone="light"] .pricing-features--out li::before { border-color: var(--line-strong); }
/* focos que usavam o pêssego (invisível no claro) */
:root[data-tone="light"] .account-menu-trigger:focus-visible,
:root[data-tone="light"] .catalog-card:focus-visible { outline-color: var(--focus); }
/* sombras pesadas pensadas para o fundo escuro */
:root[data-tone="light"] .theme-picker-panel { box-shadow: 0 18px 48px rgba(10, 15, 85, .16); }
:root[data-tone="light"] .avatar-fallback { box-shadow: 0 6px 16px rgba(10, 15, 85, .18); }
:root[data-tone="light"] .consent-banner { box-shadow: 0 18px 44px rgba(10, 15, 85, .18); }

/* Seletor de tema (cabeçalho) */
.topbar .navbar-meta { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.theme-picker { position: relative; }
.theme-picker-toggle {
    display: inline-grid; place-items: center;
    width: 44px; height: 44px;
    border: 1px solid var(--line); border-radius: 12px;
    background: var(--surface); color: var(--ink);
    cursor: pointer;
}
.theme-picker-toggle:hover { border-color: var(--accent); }
.theme-picker-toggle:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.theme-picker-panel {
    position: absolute; right: 0; top: calc(100% + 8px); z-index: 60;
    width: 264px; padding: 14px;
    border: 1px solid var(--line); border-radius: 14px;
    background: var(--surface); color: var(--ink);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .35);
}
.theme-picker-panel[hidden] { display: none; }
.theme-picker-title { margin: 0 0 10px; font-size: 13px; font-weight: 800; color: var(--muted); }
.theme-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; padding: 0; list-style: none; }
.theme-option {
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
    width: 100%; padding: 8px; min-height: 44px;
    border: 1.5px solid var(--line); border-radius: 10px;
    background: transparent; color: var(--ink);
    font: 700 13px Manrope, Arial, sans-serif; cursor: pointer; text-align: left;
    min-width: 0; overflow-wrap: anywhere;
}
.theme-option:hover { border-color: var(--line-strong); }
.theme-option[aria-checked="true"] { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.theme-option:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.theme-swatch { display: flex; width: 100%; height: 26px; overflow: hidden; border-radius: 6px; border: 1px solid rgba(127, 127, 127, .35); }
.theme-swatch i { flex: 1; }
.theme-picker-note { margin: 10px 0 0; font-size: 12px; line-height: 1.5; color: var(--muted); }
@media (max-width: 520px) {
    .theme-picker-panel { position: fixed; left: 16px; right: 16px; top: 72px; width: auto; }
}

/* Demonstração da página inicial e selos verdes nos temas claros */
:root[data-tone="light"] .doc i { background: rgba(21, 23, 61, .14); }
.theme-picker-panel { text-align: left; }

/* /assets/css/workspace.css */
/* Gira Workspace — documentos em primeiro plano.
   Carregado após os temas; cores semânticas mantêm os dois temas (padrão e claro). */
:root[data-theme="gira"] {
    /* Azul e laranja originais; superfícies em índigo preservam a identidade. */
    --paper: #0A0F55;
    --surface: #171D63;
    --surface-strong: #232B78;
    --surface-alt: #2B3586;
    --surface-soft: #101650;
    --ink: #FFFFFF;
    --muted: #C4C4E2;
    --line: #343C81;
    --line-strong: #808BCC;
    --field: #101650;
    --field-hover: #171D63;
    --accent: #F96436;
    --accent-ink: #FF8A5C;
    --accent-strong: #FF8A5C;
    --button-ink: #0A0F55;
    --glass: #171D63;
    --glass-strong: #232B78;
    --glass-line: #343C81;
}
:root {
    --workspace-radius: 16px;
    --workspace-shadow: 0 18px 60px rgba(0, 0, 0, .13);
}
body.gira-workspace { letter-spacing: normal; }
.gira-workspace [hidden] { display: none !important; }
.gira-workspace .container { width: min(1224px, calc(100% - 64px)); }
.gira-workspace :where(button, input, select, textarea) { font: inherit; }
.gira-workspace :is(button, a, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--focus);
    outline-offset: 4px;
}
.gira-workspace :is(section[id], details[id]) { scroll-margin-top: 28px; }
.gira-workspace .aurora, .gira-workspace .grain::before { display: none; }
.gira-workspace .text-gradient {
    color: var(--accent-ink);
    background: none;
    -webkit-text-fill-color: currentColor;
}
.gira-workspace .primary-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    min-height: 48px; padding: 13px 22px; border: 1px solid transparent;
    border-radius: 9px; background: var(--cta); color: var(--button-ink);
    box-shadow: none; font-size: 14px; font-weight: 800; line-height: 1.5;
    text-align: center; text-decoration: none; cursor: pointer;
    transition: background .18s ease, transform .18s ease;
}
.gira-workspace .primary-button::after { display: none; }
.gira-workspace .primary-button:hover { filter: brightness(1.08); box-shadow: none; transform: translateY(-1px); }
.gira-workspace .primary-button:disabled { opacity: .5; cursor: not-allowed; transform: none; filter: none; }
.workspace-secondary {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding: 12px 20px; border: 1px solid var(--line-strong);
    border-radius: 9px; color: var(--ink); background: transparent;
    font-size: 14px; font-weight: 700; text-align: center;
}
.workspace-secondary:hover { background: var(--surface-strong); }
.workspace-text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent-ink); font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 5px; }
.gira-workspace .topbar { min-height: 86px; padding: 16px 0; gap: 24px; }
.gira-workspace .brand-logo { width: 132px; height: 45px; border-radius: 0; }
.gira-workspace .app-nav-link { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
.gira-workspace .topbar .guest-signup { min-height: 44px; padding: 10px 16px; font-size: 13px; }
.gira-workspace .guest-login { display: inline-flex; align-items: center; min-height: 44px; }
.gira-workspace .theme-picker-toggle { min-width: 44px; min-height: 44px; border-radius: 9px; }
.gira-workspace .site-footer { margin-top: 40px; padding-top: 32px; }
.gira-workspace .site-footer-links a { min-height: 44px; display: inline-flex; align-items: center; }
.gira-workspace :is(.eyebrow, .tool-category, .tool-format, .tool-selector-label, .converter-limit,
    .aside-number, .ad-label, .house-ad-label, .queue-state-badge, .lp-plan-name,
    .kbd, .doc b, .tool-icon, .conversion-progress-head b, .conversion-progress-actions > span) {
    font-family: Manrope, Arial, sans-serif;
    letter-spacing: normal;
    text-transform: none;
}
.gira-workspace :is(.eyebrow, .tool-category, .converter-limit, .ad-label, .queue-state-badge) { font-size: 12px; }

/* Documento: a forma, a sigla e a ação transmitem significado além da cor. */
.file-symbol { --file-color: #C33F42; --file-tint: #FFF4F2; flex-shrink: 0; display: block; overflow: visible; }
.file-symbol--docx { --file-color: #245DBB; --file-tint: #F1F6FF; }
.file-symbol--xlsx, .file-symbol--csv { --file-color: #207854; --file-tint: #EFFAF3; }
.file-symbol--pptx { --file-color: #B64F29; --file-tint: #FFF4EC; }
.file-symbol--jpg, .file-symbol--png, .file-symbol--webp, .file-symbol--heic { --file-color: #0F766E; --file-tint: #EFFAF8; }
.file-symbol--html, .file-symbol--txt, .file-symbol--md, .file-symbol--zip { --file-color: #4C596B; --file-tint: #F4F6FA; }
.file-symbol--mp3 { --file-color: #A23B72; --file-tint: #FFF2F8; }
.file-symbol-paper { fill: var(--file-tint); stroke: var(--file-color); stroke-width: 1.2; }
.file-symbol-fold { fill: var(--file-tint); stroke: var(--file-color); stroke-width: 1.2; }
.file-symbol-detail { stroke: var(--file-color); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.file-symbol-label { fill: var(--file-color); }
.document-tool-art { position: relative; display: inline-flex; flex: none; padding: 0 8px 4px 0; }
.document-tool-action {
    position: absolute; right: 0; bottom: 0; display: grid; place-items: center;
    width: 28px; height: 28px; border: 2px solid var(--surface);
    border-radius: 8px; color: var(--ink); background: var(--surface-alt);
}

/* Apresentação pública */
.workspace-kicker { display: flex; align-items: center; gap: 9px; margin: 0 0 20px; color: var(--muted); font: 650 13px/1.6 Manrope, Arial, sans-serif; letter-spacing: normal; }
.kicker-mark { width: 8px; height: 8px; border-radius: 2px; background: var(--accent); flex-shrink: 0; }
.workspace-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding: 58px 0 64px; }
.workspace-hero-copy { min-width: 0; padding: 12px 0; }
.workspace-hero h1 { margin: 0 0 24px; font-size: clamp(44px, 4.55vw, 66px); line-height: 1.08; letter-spacing: -.04em; font-weight: 800; text-wrap: initial; }
.workspace-hero h1 span { color: var(--accent-ink); }
.workspace-lead { max-width: 445px; margin: 0 0 28px; font-size: 17px; line-height: 1.8; color: var(--muted); }
.workspace-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.workspace-caption { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.workspace-proof { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 34px; padding-top: 25px; border-top: 1px solid var(--line); }
.workspace-proof > div { display: flex; gap: 12px; align-items: center; }
.workspace-proof strong { font-size: 34px; font-weight: 650; font-variant-numeric: tabular-nums; letter-spacing: -.06em; }
.workspace-proof span { font-size: 12px; line-height: 1.6; color: var(--muted); }
.workspace-proof svg { color: var(--accent-ink); }
.workspace-hero-visual { min-width: 0; }

/* Demonstração vetorial, com uma única linha do tempo controlável. */
.product-demo { margin: 0; border: 1px solid var(--line-strong); border-radius: 18px; background: var(--surface); box-shadow: var(--workspace-shadow); overflow: hidden; }
.product-demo-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 20px; border-bottom: 1px solid var(--line); }
.product-demo-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.product-demo-brand strong { font-size: 12px; font-weight: 700; line-height: 1.5; }
.demo-label { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 11px; line-height: 1.5; white-space: nowrap; }
.demo-label i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.product-tabs { display: flex; gap: 4px; margin: 14px 20px 0; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.product-tabs button { display: inline-flex; gap: 7px; justify-content: center; align-items: center; flex: 1; min-width: 0; min-height: 44px; padding: 8px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 650; transition: background .18s ease, color .18s ease; }
.product-tabs button[aria-selected="true"] { color: var(--ink); background: var(--surface-strong); box-shadow: 0 1px 3px rgba(0, 0, 0, .1); }
.example-panel { padding: 18px 22px 0; }
.example-heading h2 { margin: 0; font-size: clamp(18px, 1.7vw, 23px); font-weight: 750; line-height: 1.3; letter-spacing: -.025em; }
.example-heading p { max-width: 440px; margin: 7px 0 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
.motion-stage { position: relative; display: grid; place-items: center; height: 254px; margin: 12px -8px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); overflow: hidden; contain: layout paint; }
.motion-canvas { display: block; width: 100%; height: 100%; max-width: 100%; overflow: hidden; color: var(--accent-ink); font-family: Manrope, Arial, sans-serif; }
.motion-canvas [data-actor] { transform-box: view-box; transform-origin: 260px 162px; }
.motion-canvas [data-actor^="byte-"] { transform-origin: 381px 0; }
.motion-canvas [data-actor="cursor"], .motion-canvas [data-actor="click"] { transform-origin: 0 0; }
.motion-floor { fill: var(--surface-strong); opacity: .5; }
.motion-workbench-guides { stroke: var(--line-strong); stroke-width: 1; fill: none; opacity: .65; }
.motion-paper { fill: #FFFEFA; stroke: #E0DFDB; stroke-width: .8; }
.motion-paper-brand { font-size: 8px; font-weight: 650; fill: #525260; }
.motion-format { font-size: 9px; font-weight: 800; }
.motion-paper-subtitle { font-size: 8px; font-weight: 500; fill: #74716E; }
.motion-paper-title { font-size: 14px; font-weight: 800; letter-spacing: -.35px; fill: #272B39; }
.motion-paper-copy { font-size: 8px; font-weight: 550; fill: #4A5367; }
.motion-paper-foot { font-size: 6px; font-weight: 500; fill: #77776D; }
.motion-stage-label { fill: var(--muted); font-size: 10px; font-weight: 550; }
.motion-scan-glow { fill: var(--accent); opacity: .18; }
.motion-scan-line { stroke: var(--accent); stroke-width: 1.5; }
.motion-byte, .motion-token { fill: var(--accent); }
.motion-transient, .motion-source, .motion-merge-source, .motion-caret { opacity: 0; }
.motion-result { opacity: 1; }
.motion-connector { fill: none; stroke: var(--line-strong); stroke-dasharray: 3 6; stroke-width: 1.5; }
.motion-processor-disc { fill: var(--surface-strong); stroke: var(--line-strong); }
.motion-order-disc { fill: var(--surface-alt); stroke: var(--line-strong); }
.motion-order-number { fill: var(--ink); font-size: 11px; font-weight: 650; }
.motion-stack-back { fill: #DDDCD6; stroke: #C4C7CD; }
.motion-stack-mid { fill: #F0EFE9; stroke: #D6D8DC; }
.motion-success-card { fill: #F5FCF7; stroke: #B3D7BF; stroke-width: 1; }
.motion-success-title { fill: #24593F; font-size: 10px; font-weight: 750; }
.motion-success-note { fill: #47725B; font-size: 8px; font-weight: 500; }
.motion-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 62px; padding-top: 10px; }
.motion-summary > div { flex-shrink: 0; }
.motion-summary span { display: block; color: var(--muted); font-size: 10px; line-height: 1.5; }
.motion-summary strong { color: var(--ink); font-size: 25px; line-height: 1.3; font-weight: 750; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.motion-summary > p { max-width: 235px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; text-align: right; }
.motion-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 13px 0 16px; padding: 0; list-style: none; }
.motion-steps li { display: flex; align-items: center; gap: 7px; min-width: 0; padding-top: 9px; border-top: 2px solid var(--line); color: var(--muted); font-size: 11px; font-weight: 550; }
.motion-steps li > span { display: grid; place-items: center; flex: none; width: 18px; height: 18px; border: 1px solid var(--line-strong); border-radius: 50%; font-size: 9px; font-weight: 650; }
.motion-steps li[aria-current="step"] { color: var(--accent-ink); border-color: var(--accent); font-weight: 750; }
.motion-steps li[aria-current="step"] > span { border-color: var(--accent); }
.motion-steps .is-done { color: var(--ink); border-color: var(--accent); }
.example-files { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.example-files > div { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface-soft); }
.example-files .example-result { background: var(--surface); }
.example-file-label { display: block; margin-bottom: 5px; color: var(--muted); font-size: 10px; }
.example-file-row { display: flex; align-items: center; gap: 8px; }
.example-file-row > span { min-width: 0; }
.example-file-row b { display: block; font-size: 10px; font-weight: 650; overflow-wrap: anywhere; }
.example-file-row small { display: block; margin-top: 2px; font-size: 10px; line-height: 1.5; color: var(--muted); }
.example-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; color: var(--accent-ink); font-size: 12px; font-weight: 750; }
.example-action:hover { text-decoration: underline; text-underline-offset: 4px; }
.motion-transport { display: flex; align-items: center; gap: 10px; padding: 5px 18px; border-block: 1px solid var(--line); background: var(--surface-soft); }
.motion-play, .motion-restart { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 6px; border: 0; border-radius: 6px; background: transparent; color: var(--ink); font-size: 11px; font-weight: 650; cursor: pointer; }
.motion-play { min-width: 91px; justify-content: flex-start; }
.motion-play:hover, .motion-restart:hover { background: var(--surface-strong); }
.motion-restart { min-width: 44px; }
.motion-seek { flex: 1; min-width: 35px; margin: 0; display: flex; align-items: center; }
.gira-workspace .motion-seek input { display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--accent); accent-color: var(--accent); box-shadow: none; cursor: pointer; }
.motion-time { white-space: nowrap; color: var(--muted); font-size: 10px; font-weight: 500; font-variant-numeric: tabular-nums; }
.product-demo figcaption { padding: 11px 22px 13px; margin: 0; font-size: 10px; line-height: 1.6; color: var(--muted); }

.format-strip { display: flex; align-items: center; gap: 32px; padding: 28px 0; border-block: 1px solid var(--line); }
.format-strip > p { margin: 0; font-size: 13px; line-height: 1.7; color: var(--muted); }
.format-strip strong { font-weight: 550; color: var(--ink); }
.format-strip ul { flex: 1; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; margin: 0; padding: 0 0 0 24px; list-style: none; }
.format-strip li { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 650; }
.workspace-section { padding: 78px 0; }
.workspace-section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 32px; }
.workspace-section h2, .workspace-how h2, .workspace-assurance h2, .workspace-faq h2, .workspace-final h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); font-weight: 700; line-height: 1.17; letter-spacing: -.045em; }
.workspace-section-head .workspace-kicker { margin-bottom: 12px; }
.task-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.task-card { display: flex; flex-direction: column; min-width: 0; padding: 25px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); transition: border-color .18s ease, transform .18s ease; }
.task-card:hover { transform: translateY(-3px); border-color: var(--accent); }
.task-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.task-card-tag { font: 600 11px/1.5 Manrope, Arial, sans-serif; color: var(--muted); letter-spacing: normal; text-align: right; padding: 4px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-soft); }
.task-card h3 { margin: 0 0 7px; font-size: 21px; font-weight: 750; letter-spacing: -.03em; }
.task-question { font-size: 13px; font-weight: 650; }
.task-card p { flex: 1; margin: 9px 0 22px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.task-card-link { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid var(--line); font-size: 12px; font-weight: 650; color: var(--accent-ink); }
.task-card-link > span { font-size: 22px; line-height: 1; font-weight: 400; }
.workspace-full-catalog { margin-top: 24px; border-block: 1px solid var(--line); }
.workspace-full-catalog > summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 16px 4px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 650; }
.workspace-full-catalog > summary::-webkit-details-marker { display: none; }
.workspace-full-catalog > summary > span { font-size: 22px; font-weight: 400; }
.workspace-full-catalog[open] > summary > span { transform: rotate(45deg); }
.workspace-catalog-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; padding: 12px 0 28px; }
.workspace-catalog-groups h3 { margin: 0 0 10px; font-size: 15px; }
.workspace-catalog-groups ul { list-style: none; margin: 0; padding: 0; }
.workspace-catalog-groups a { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 6px 0; font-size: 13px; color: var(--muted); }
.workspace-catalog-groups a:hover { text-decoration: underline; color: var(--ink); }
.workspace-how { padding: 0 0 64px; }
.workspace-how ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 30px 0 0; padding: 0; list-style: none; }
.workspace-how li { display: flex; gap: 16px; padding-top: 24px; border-top: 1px solid var(--line-strong); }
.workspace-how li > span { color: var(--accent-ink); font: 650 15px/1.8 Manrope, Arial, sans-serif; font-variant-numeric: tabular-nums; }
.workspace-how h3 { margin: 0 0 10px; font-size: 16px; }
.workspace-how p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.workspace-assurance { display: flex; gap: 28px; padding: 36px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.assurance-icon { flex-shrink: 0; display: grid; place-items: center; align-self: start; width: 70px; height: 70px; border: 1px solid var(--line); border-radius: 18px; color: var(--accent-ink); background: var(--paper); }
.workspace-assurance .workspace-kicker { margin-bottom: 10px; }
.workspace-assurance h2 { font-size: 28px; }
.workspace-assurance p:not(.workspace-kicker) { max-width: 740px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.workspace-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.workspace-plan { display: flex; flex-direction: column; min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.workspace-plan--featured { border-color: var(--accent); box-shadow: inset 0 3px var(--accent); }
.workspace-plan-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.workspace-plan-head h3 { font-size: 18px; margin: 0; }
.workspace-plan-head span { font: 650 11px/1.6 Manrope, Arial, sans-serif; color: var(--accent-ink); }
.workspace-plan p { color: var(--muted); font-size: 14px; line-height: 1.75; }
.workspace-plan .workspace-price { margin: 24px 0 0; font-size: clamp(26px, 2.7vw, 36px); font-weight: 700; line-height: 1.2; color: var(--ink); letter-spacing: -.04em; }
.workspace-plan .workspace-price-note { min-height: 22px; margin: 6px 0 14px; font-size: 12px; }
.workspace-plan > p:last-of-type { flex: 1; }
.workspace-plan > a { margin-top: 12px; }
.workspace-business { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.workspace-business > div { display: flex; gap: 16px; align-items: center; }
.workspace-business svg { flex-shrink: 0; color: var(--accent-ink); }
.workspace-business strong, .workspace-business small { display: block; font-size: 14px; line-height: 1.75; }
.workspace-business small { color: var(--muted); font-size: 12px; }
.workspace-faq { display: grid; grid-template-columns: .85fr 1.3fr; gap: 64px; padding-bottom: 76px; }
.workspace-faq header p:not(.workspace-kicker) { color: var(--muted); font-size: 14px; line-height: 1.8; }
.workspace-faq details { border-bottom: 1px solid var(--line); padding: 4px 0; }
.workspace-faq summary { padding: 18px 28px 18px 0; cursor: pointer; font-size: 15px; font-weight: 600; }
.workspace-faq details p { margin: 0 0 22px; color: var(--muted); font-size: 14px; line-height: 1.85; }
.workspace-faq details a { color: var(--accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.workspace-final { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 40px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--accent); }
.workspace-final .workspace-kicker { margin-bottom: 12px; }

/* Área de trabalho: ações principais, busca e catálogo completo. */
.workspace-home { padding-bottom: 48px; }
.workspace-dashboard-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(265px, .75fr); align-items: center; gap: 48px; padding: 44px 0 38px; }
.workspace-dashboard-hero h1 { margin: 0 0 10px; font-size: clamp(32px, 3.8vw, 48px); font-weight: 750; letter-spacing: -.05em; line-height: 1.2; }
.workspace-dashboard-hero h1 span { color: var(--accent-ink); }
.workspace-dashboard-hero .workspace-kicker { margin-bottom: 10px; }
.workspace-dashboard-lead { margin: 0 0 24px; font-size: 15px; line-height: 1.7; color: var(--muted); }
.workspace-search { position: relative; display: block; }
.workspace-search > svg { position: absolute; top: 18px; left: 17px; color: var(--muted); pointer-events: none; }
.workspace-search input { width: 100%; min-height: 56px; padding: 14px 55px 14px 48px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--field); color: var(--ink); font-size: 16px; }
.workspace-search input::placeholder { color: var(--muted); opacity: 1; }
.workspace-search kbd { position: absolute; top: 16px; right: 16px; padding: 2px 8px; border: 1px solid var(--line); border-radius: 4px; color: var(--muted); font-size: 12px; }
.workspace-search-hint { margin: 10px 0 0; font-size: 12px; color: var(--muted); }
.workspace-quota { padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.workspace-quota-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.workspace-quota-head h2 { margin: 0; font-size: 14px; }
.workspace-quota-head > a { display: inline-flex; align-items: center; min-height: 44px; color: var(--accent-ink); font-size: 12px; text-decoration: underline; }
.workspace-quota-number { margin: 0; font-size: 38px; letter-spacing: -.045em; font-weight: 700; }
.workspace-quota-number small { color: var(--muted); font-size: 15px; font-weight: 400; }
.workspace-quota p:not(.workspace-quota-number) { margin: 8px 0 18px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.workspace-quota > a { width: 100%; }
.workspace-home .quick { padding-top: 12px; padding-bottom: 30px; }
.workspace-home .quick h2 { margin: 0 0 18px; font-size: 19px; letter-spacing: -.025em; }
.workspace-home .quick-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.workspace-home .quick-card { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto; align-content: center; gap: 3px 17px; min-height: 110px; padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: none; }
.workspace-home .quick-card > .document-tool-art, .workspace-home .quick-card > .quick-icon { grid-row: 1 / 3; align-self: center; }
.workspace-home .quick-card strong { display: block; margin: 0; align-self: end; font-size: 15px; letter-spacing: -.02em; }
.workspace-home .quick-card small { font-size: 12px; line-height: 1.65; color: var(--muted); }
.workspace-home .quick-card:hover { transform: none; border-color: var(--accent); }
.workspace-home .quick-icon { background: none; width: auto; height: auto; }
.workspace-home .catalog { padding-top: 24px; padding-bottom: 38px; }
.workspace-home .catalog-head { display: block; margin-bottom: 26px; }
.workspace-home .catalog-head h2 { font-size: 24px; margin: 0 0 16px; }
.workspace-home .catalog-chips { display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; padding: 4px 4px 14px; scrollbar-width: thin; }
.workspace-home .chip { flex-shrink: 0; min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--surface); font-size: 12px; cursor: pointer; }
.workspace-home .chip.is-on { border-color: var(--accent); color: var(--accent-ink); background: var(--surface-strong); }
.workspace-home .catalog-group { margin-top: 30px; }
.workspace-home .catalog-group h3 { margin-bottom: 14px; font-size: 15px; }
.workspace-home .catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.workspace-home .catalog-card { display: flex; align-items: center; gap: 16px; min-width: 0; min-height: 112px; padding: 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); box-shadow: none; transition: border-color .18s ease; }
.workspace-home .catalog-card:hover { border-color: var(--accent); transform: none; }
.workspace-home .catalog-card strong { font-size: 14px; line-height: 1.55; }
.workspace-home .catalog-card small { display: block; margin-top: 5px; font-size: 12px; line-height: 1.65; color: var(--muted); }
.workspace-home .catalog-card.is-locked { opacity: 1; }
.workspace-home .catalog-card-text { min-width: 0; }
.workspace-search-results { min-height: 20px; color: var(--muted); font-size: 12px; }
.workspace-home .catalog-empty { padding: 28px; margin: 20px 0; border: 1px dashed var(--line-strong); border-radius: 12px; text-align: center; color: var(--muted); }
.catalog-empty p { margin-top: 0; }
.catalog-empty button { cursor: pointer; }
.workspace-home .workspace-how { padding-top: 24px; padding-bottom: 12px; }
.workspace-home .workspace-how h2 { font-size: 24px; }

/* Ferramentas existentes: mesmos componentes e contratos de upload. */
.gira-workspace .converter-page { padding-top: 28px; }
.gira-workspace .back-link { min-height: 44px; display: inline-flex; align-items: center; margin-bottom: 18px; color: var(--accent-ink); font-size: 13px; font-weight: 650; }
.gira-workspace .converter-heading h1 { font-size: clamp(30px, 3.7vw, 46px); letter-spacing: -.045em; }
.gira-workspace .converter-heading p:not(.eyebrow) { font-size: 15px; }
.gira-workspace .converter-layout { gap: 24px; }
.gira-workspace .converter-panel { border-radius: 12px; box-shadow: none; padding: 28px; }
.gira-workspace .converter-summary .tool-icon { width: 48px; height: 58px; flex-basis: 48px; border-radius: 0; background: transparent; }
.gira-workspace .converter-summary .tool-icon > .file-symbol { width: 44px; height: 52px; }
.gira-workspace .dropzone.dropzone { min-height: 280px; padding: 32px 20px; border: 1.5px dashed var(--line-strong); border-radius: 10px; background: var(--surface-soft); box-shadow: none; }
.gira-workspace .dropzone.dropzone:hover, .gira-workspace .dropzone.dropzone.is-dragging { border-color: var(--accent); background: var(--surface-strong); }
.gira-workspace .dropzone .upload-icon { width: auto; height: auto; margin-bottom: 12px; padding: 0; background: none; border-radius: 0; }
.gira-workspace .dropzone .upload-icon > .file-symbol { width: 52px; height: 62px; }
.gira-workspace .dropzone .upload-cta { min-height: 48px; padding: 10px 24px; border-radius: 8px; box-shadow: none; font-size: 15px; }
.gira-workspace .file-preview .remove-btn { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); }
.gira-workspace .tool-guide { border-radius: 12px; background: var(--surface); box-shadow: none; }
.gira-workspace .tool-guide h2 { font-size: 19px; }
.gira-workspace .tool-guide-steps b { background: var(--surface-strong); color: var(--accent-ink); }
.gira-workspace .guest-feature, .gira-workspace .guest-start-card.guest-start-card { border-radius: 12px; background: var(--surface); box-shadow: none; animation: none; }
.gira-workspace .guest-feature:hover, .gira-workspace .guest-start-card.guest-start-card:hover { transform: none; border-color: var(--accent); box-shadow: none; }
.gira-workspace .guest-start-card .guest-tool-art { min-height: 128px; height: auto; background: var(--surface-soft); }
.gira-workspace .guest-tool-art > .document-tool-art { margin: 22px auto; }
.gira-workspace .guest-feature-top > .document-tool-art { margin-bottom: 4px; }
.gira-workspace .guest-feature-action, .gira-workspace .guest-start-card .guest-start-action { color: var(--accent-ink); }
.gira-workspace .guest-balance { border-radius: 10px; background: var(--surface); }
.gira-workspace .tool-tile.tool-tile, .gira-workspace .guest-feature-icon.guest-feature-icon { box-shadow: none; animation: none; }
.gira-workspace .catalog-card:hover, .gira-workspace .catalog-card:focus-visible,
.gira-workspace .guest-feature:hover, .gira-workspace .guest-feature:focus-visible { border-color: var(--accent) !important; transform: none; box-shadow: none; }

@media (max-width: 1120px) {
    .workspace-hero { gap: 34px; }
    .workspace-actions { flex-direction: column; align-items: flex-start; }
    .workspace-hero h1 { font-size: 50px; }
    .workspace-hero .workspace-secondary { border-color: transparent; padding-left: 0; }
    .gira-workspace .topbar .app-navbar { gap: 16px; }
    .example-panel { padding: 18px 18px 0; }
    .motion-stage { height: 232px; }
    .product-demo-heading { padding-inline: 18px; }
    .demo-label { font-size: 10px; }
    .task-card { padding: 22px; }
    .workspace-dashboard-hero { gap: 30px; }
}
@media (max-width: 900px) {
    .gira-workspace .container { width: min(1224px, calc(100% - 40px)); }
    .gira-workspace .topbar { flex-wrap: wrap; gap: 8px 16px; }
    .gira-workspace .topbar .navbar-meta { margin-left: auto; }
    .gira-workspace .topbar .app-navbar { order: 3; flex-basis: 100%; justify-content: space-between; gap: 8px; }
    .workspace-hero { grid-template-columns: 1fr; gap: 34px; padding: 40px 0; }
    .workspace-hero-copy { max-width: 650px; }
    .workspace-hero h1 { font-size: clamp(44px, 7.6vw, 64px); }
    .workspace-hero h1 br:last-child { display: none; }
    .workspace-lead { max-width: 590px; }
    .workspace-actions { flex-direction: row; align-items: center; }
    .workspace-hero .workspace-secondary { border-color: var(--line-strong); padding-left: 20px; }
    .workspace-proof { margin-top: 26px; }
    .workspace-hero-visual { width: min(100%, 600px); justify-self: center; }
    .product-demo-heading { padding: 17px 22px; }
    .example-panel { padding: 20px 24px 0; }
    .format-strip { gap: 22px; align-items: flex-start; flex-direction: column; }
    .format-strip ul { width: 100%; padding: 0; }
    .task-grid, .workspace-home .quick-grid, .workspace-home .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-section { padding: 56px 0; }
    .workspace-section-head { align-items: flex-start; flex-direction: column; gap: 16px; }
    .workspace-how ol { gap: 20px; }
    .workspace-how li { flex-direction: column; gap: 8px; }
    .workspace-plan { padding: 22px; }
    .workspace-plan-head { align-items: flex-start; flex-direction: column; min-height: 51px; }
    .workspace-business { align-items: flex-start; flex-direction: column; gap: 12px; }
    .workspace-faq { gap: 36px; grid-template-columns: 1fr 1.3fr; }
    .workspace-dashboard-hero { grid-template-columns: 1fr; gap: 26px; }
    .workspace-quota { display: grid; grid-template-columns: 1fr auto; gap: 0 24px; align-items: center; }
    .workspace-quota-head { margin-bottom: 4px; grid-column: 1 / -1; }
    .workspace-quota > p { grid-column: 1; }
    .workspace-quota > a { grid-column: 2; grid-row: 2 / 4; }
}
@media (max-width: 600px) {
    .gira-workspace .container { width: calc(100% - 32px); }
    .gira-workspace .topbar { min-height: 0; padding: 12px 0 4px; }
    .gira-workspace .topbar .brand-logo { width: 100px; height: 38px; }
    .gira-workspace .topbar .navbar-meta { gap: 4px; }
    .gira-workspace .topbar .guest-actions { gap: 8px; }
    .gira-workspace .topbar .guest-signup { display: none; }
    .gira-workspace .topbar .guest-login { padding-inline: 8px; font-size: 13px; }
    .gira-workspace .app-navbar .app-nav-link { font-size: 12px; }
    .workspace-hero { padding-top: 28px; gap: 24px; }
    .workspace-hero h1 { font-size: clamp(36px, 8.6vw, 50px); }
    .workspace-kicker { font-size: 12px; margin-bottom: 16px; }
    .workspace-lead { font-size: 15px; line-height: 1.8; margin-bottom: 22px; }
    .workspace-actions { align-items: stretch; gap: 8px; }
    .workspace-actions > a { flex: 1 1 auto; font-size: 13px; }
    .workspace-hero .workspace-secondary { padding: 12px 16px; }
    .workspace-caption { font-size: 11px; }
    .workspace-proof { gap: 22px; padding-top: 20px; }
    .workspace-proof span { font-size: 11px; }
    .workspace-proof strong { font-size: 30px; }
    .product-demo-heading { padding: 14px; }
    .product-demo-brand { gap: 8px; }
    .product-demo-brand strong { font-size: 11px; max-width: 143px; }
    .product-demo-brand img { width: 22px; height: 22px; }
    .product-tabs { margin: 12px 12px 0; gap: 1px; }
    .product-tabs button { font-size: 11px; gap: 5px; padding-inline: 4px; }
    .product-tabs button svg { width: 14px; height: 14px; }
    .example-panel { padding: 18px 16px 0; }
    .example-heading h2 { font-size: 20px; }
    .motion-stage { height: 224px; margin-inline: -4px; }
    .motion-summary { gap: 12px; }
    .motion-summary strong { font-size: 23px; }
    .motion-summary > p { font-size: 11px; }
    .motion-transport { gap: 5px; padding-inline: 10px; }
    .motion-play { min-width: 83px; }
    .motion-time { font-size: 9px; }
    .motion-steps { gap: 5px; }
    .motion-steps li { gap: 5px; font-size: 10px; }
    .example-files { gap: 8px; }
    .example-files > div { padding: 10px; }
    .example-file-row { gap: 6px; }
    .example-file-row svg { width: 24px; height: 29px; }
    .example-file-row b { font-size: 9px; }
    .example-file-row small { font-size: 9px; }
    .product-demo figcaption { padding: 12px 16px; }
    .format-strip { padding: 22px 0; }
    .format-strip ul { justify-content: flex-start; gap: 18px 24px; }
    .format-strip li { font-size: 12px; gap: 8px; }
    .format-strip li svg { width: 24px; height: 28px; }
    .workspace-section { padding: 44px 0; }
    .workspace-section h2, .workspace-how h2, .workspace-final h2 { font-size: 29px; }
    .task-grid, .workspace-plans, .workspace-home .quick-grid, .workspace-home .catalog-grid { grid-template-columns: 1fr; }
    .task-card { padding: 22px; }
    .task-card-top { margin-bottom: 16px; }
    .task-card h3 { font-size: 22px; }
    .task-card p { margin-bottom: 18px; }
    .workspace-catalog-groups { grid-template-columns: 1fr; gap: 20px; }
    .workspace-how { padding-bottom: 40px; }
    .workspace-how ol { grid-template-columns: 1fr; gap: 18px; margin-top: 24px; }
    .workspace-how li { flex-direction: row; gap: 16px; padding-top: 20px; }
    .workspace-assurance { flex-direction: column; gap: 20px; padding: 24px; }
    .workspace-assurance h2 { font-size: 26px; }
    .assurance-icon { width: 58px; height: 58px; border-radius: 12px; }
    .workspace-plan-head { flex-direction: row; min-height: 0; }
    .workspace-plan .workspace-price { font-size: 34px; }
    .workspace-faq { grid-template-columns: 1fr; gap: 24px; padding-bottom: 42px; }
    .workspace-final { align-items: stretch; flex-direction: column; padding: 26px; gap: 24px; }
    .workspace-dashboard-hero { padding: 28px 0; }
    .workspace-dashboard-hero h1 { font-size: 34px; }
    .workspace-search kbd { display: none; }
    .workspace-search input { padding-right: 18px; font-size: 16px; }
    .workspace-search-hint { line-height: 1.7; }
    .workspace-quota { display: block; padding: 20px; }
    .workspace-quota-number { font-size: 32px; }
    .workspace-home .quick-card { min-height: 102px; }
    .gira-workspace .converter-panel { padding: 18px; }
    .gira-workspace .converter-layout { grid-template-columns: 1fr; }
    .gira-workspace .dropzone.dropzone { min-height: 260px; padding: 25px 14px; }
    .gira-workspace .dropzone .upload-cta { width: 100%; }
    .gira-workspace .guest-start-card .guest-tool-art { min-height: 128px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .gira-workspace *, .gira-workspace *::before, .gira-workspace *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .task-card:hover, .gira-workspace .primary-button:hover { transform: none; }
}
@media (forced-colors: active) {
    .file-symbol-paper, .file-symbol-fold { fill: Canvas; stroke: CanvasText; }
    .file-symbol-detail { stroke: CanvasText; }
    .file-symbol-label { fill: CanvasText; }
    .file-symbol text { fill: Canvas; }
    .document-tool-action, .task-card, .product-demo, .workspace-quota { border-color: CanvasText; }
    .motion-steps li[aria-current="step"] { color: Highlight; border-color: Highlight; }
    .motion-workbench-guides, .motion-connector { stroke: CanvasText; }
}

/* Idiomas: seletor no rodapé e sugestão pelo idioma do navegador */
.lang-switch { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 14px; font-size: 13px; }
.lang-switch a, .lang-switch span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); }
.lang-switch a:hover { border-color: var(--accent); color: var(--ink); }
.lang-switch [aria-current] { border-color: var(--accent); color: var(--ink); font-weight: 700; }
.lang-suggest { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 16px; padding: 10px 16px; border-bottom: 1px solid var(--line); background: var(--surface-strong); font-size: 14px; }
.lang-suggest p { margin: 0; color: var(--ink); }
.lang-suggest a { display: inline-flex; align-items: center; min-height: 36px; font-weight: 750; color: var(--accent-ink); }
.lang-suggest .lang-suggest-stay { color: var(--muted); font-weight: 600; }

/* Modo lançamento: chamada para virar fundador (landing e home) */
.founder-cta {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 24px 48px;
    align-items: center;
    margin-top: 8px;
    margin-bottom: 32px;
    padding: 36px 40px;
    border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--line));
    border-radius: var(--workspace-radius);
    background:
        radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--accent) 22%, transparent) 0%, transparent 55%),
        var(--surface);
    box-shadow: var(--workspace-shadow);
    color: var(--ink);
}
.founder-cta .workspace-kicker { margin-bottom: 12px; }
.founder-cta-countdown { color: var(--accent-ink, var(--accent)); font-weight: 800; }
.founder-cta h2 { margin: 0 0 12px; font-size: clamp(28px, 3.8vw, 42px); line-height: 1.05; letter-spacing: -.045em; }
.founder-cta-lead { max-width: 46ch; margin: 0 0 22px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.founder-cta-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.founder-cta-actions .primary-button { min-height: 48px; padding-inline: 26px; font-size: 15px; }

/* "Passe de fundador": o desconto em destaque, como um cartão */
.founder-pass {
    position: relative;
    padding: 24px 24px 18px;
    border: 1px dashed color-mix(in srgb, var(--accent) 60%, transparent);
    border-radius: 18px;
    background: color-mix(in srgb, var(--surface-strong) 85%, transparent);
}
.founder-pass-label {
    display: inline-block; margin: 0 0 8px; padding: 4px 10px; border-radius: 999px;
    background: var(--cta); color: #1a1205; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}
.founder-pass-value { display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px; }
.founder-pass-value strong { color: var(--accent-ink, var(--accent)); font-size: clamp(48px, 6vw, 64px); font-weight: 800; line-height: 1; letter-spacing: -.05em; }
.founder-pass-value span { max-width: 12ch; color: var(--ink); font-size: 16px; font-weight: 700; line-height: 1.25; }
.founder-cta-list { display: grid; gap: 10px; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--line); list-style: none; }
.founder-cta-list li { position: relative; padding-left: 30px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.founder-cta-list li::before {
    content: "";
    position: absolute; top: 2px; left: 0;
    width: 20px; height: 20px; border-radius: 50%;
    background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%231a1205' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.founder-pass-foot { margin: 14px 0 0; color: var(--muted); font-size: 12.5px; }
.founder-cta--compact { grid-template-columns: minmax(0, 1fr) auto; padding: 16px 22px; box-shadow: none; }
.founder-cta--compact .founder-cta-copy { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.founder-cta--compact .founder-badge { margin-right: 6px; }
@media (max-width: 760px) {
    .founder-cta, .founder-cta--compact { grid-template-columns: minmax(0, 1fr); padding: 24px 18px; }
    .founder-pass { padding: 20px 18px 16px; }
    .founder-cta-actions .primary-button, .founder-cta-actions .workspace-secondary { flex: 1 1 100%; justify-content: center; text-align: center; }
}

/* /assets/css/avaliacoes.css */
/* Avaliações: seção pública (página inicial e Planos) e pedido de nota no card de resultado.
   Só variáveis de tema (funciona nos seis temas). */
:root { --review-star: #FFB547; }
:root[data-tone="light"] { --review-star: #B86E00; }

.review-stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.review-star { fill: transparent; stroke: var(--muted); stroke-width: 1.6; stroke-linejoin: round; }
.review-star.is-on { fill: var(--review-star); stroke: var(--review-star); }

/* Seção pública */
.reviews-section { padding: 64px 0; border-top: 1px solid var(--line); }
.reviews-head { align-items: flex-end; }
.reviews-head h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); font-weight: 700; line-height: 1.17; letter-spacing: -.045em; }
.reviews-score { max-width: 420px; text-align: right; }
.reviews-score p { margin: 0 0 4px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.reviews-score .reviews-score-main { display: flex; align-items: center; justify-content: flex-end; gap: 10px; color: var(--ink); font-size: 20px; }
.reviews-score small { display: block; color: var(--muted); font-size: 12px; line-height: 1.6; }

.reviews-carousel { position: relative; }
.reviews-controls { display: flex; justify-content: flex-end; gap: 8px; margin-bottom: 14px; }
.reviews-controls[hidden] { display: none; }
.reviews-nav {
    display: inline-grid; place-items: center; width: 44px; height: 44px;
    border: 1px solid var(--line-strong); border-radius: 50%;
    background: var(--surface); color: var(--ink); cursor: pointer;
}
.reviews-nav:hover:not(:disabled) { border-color: var(--accent); }
.reviews-nav:disabled { opacity: .4; cursor: default; }
.reviews-nav:focus-visible, .reviews-track:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.reviews-track {
    display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); gap: 16px;
    margin: 0; padding: 0 0 6px; list-style: none;
    overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    /* position: relative prende o texto oculto dos cartões (leitor de tela, position: absolute)
       dentro do trilho; sem isso ele escapava e alargava a página no celular (rolagem lateral e a
       janela de cookies fora da tela). */
    position: relative; border-radius: 14px;
}
.review-card {
    display: flex; flex-direction: column; gap: 12px; min-width: 0;
    padding: 22px; border: 1px solid var(--line); border-radius: 14px;
    background: var(--surface); scroll-snap-align: start;
}
.review-rating { margin: 0; }
.review-card blockquote { flex: 1; margin: 0; }
.review-card blockquote p { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.review-meta { display: flex; flex-direction: column; gap: 2px; margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.review-meta strong { font-size: 14px; }
.review-meta span { color: var(--muted); font-size: 12.5px; }

.pricing-page .reviews-section { margin-top: 48px; }

@media (max-width: 900px) {
    .reviews-track { grid-auto-columns: calc((100% - 16px) / 2); }
    .reviews-head { flex-direction: column; align-items: flex-start; }
    .reviews-score { text-align: left; }
    .reviews-score .reviews-score-main { justify-content: flex-start; }
}
@media (max-width: 600px) {
    .reviews-section { padding: 48px 0; }
    .reviews-track { grid-auto-columns: 86%; }
}

/* Pedido de avaliação no card de resultado: discreto, depois das ações. */
.review-ask { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.review-ask-stars { margin: 0; padding: 0; border: 0; min-width: 0; }
.review-ask-stars legend { padding: 0; margin-bottom: 6px; color: var(--ink); font-size: 14px; font-weight: 700; }
.review-ask-options { display: inline-flex; gap: 2px; }
.review-ask-radio { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.review-ask-star {
    display: inline-grid; place-items: center; width: 44px; height: 44px;
    border-radius: 10px; color: var(--muted); cursor: pointer;
}
.review-ask-star svg { fill: transparent; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; transition: transform .12s ease; }
.review-ask-star.is-on svg { fill: var(--review-star); stroke: var(--review-star); }
.review-ask-star:hover svg { transform: scale(1.08); }
.review-ask-radio:focus-visible + .review-ask-star { outline: 3px solid var(--focus); outline-offset: 1px; }
.review-ask-more { display: grid; gap: 8px; margin-top: 8px; max-width: 520px; }
.review-ask-more[hidden], .review-ask-name[hidden] { display: none; }
.review-ask-label { display: grid; gap: 4px; color: var(--muted); font-size: 13px; font-weight: 700; }
.review-ask-text, .review-ask-input {
    width: 100%; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px;
    background: var(--field, var(--surface)); color: var(--ink); font: 500 14px/1.5 Manrope, Arial, sans-serif; resize: vertical;
}
.review-ask-text:focus-visible, .review-ask-input:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.review-ask-count { color: var(--muted); font-size: 12px; }
.review-ask-check { display: flex; align-items: flex-start; gap: 8px; color: var(--ink); font-size: 13px; line-height: 1.5; cursor: pointer; }
.review-ask-check input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--accent); flex: none; }
.review-ask-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.review-ask-later {
    min-height: 44px; padding: 0 8px; border: 0; background: transparent;
    color: var(--muted); font: 700 13px Manrope, Arial, sans-serif; text-decoration: underline; cursor: pointer;
}
.review-ask-later:hover { color: var(--ink); }
.review-ask-later:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.review-ask-status:empty { display: none; }
.review-ask-status, .review-ask-thanks { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.review-ask-thanks { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .review-ask-star svg { transition: none; } .review-ask-star:hover svg { transform: none; } }
.review-ask-submit {
    min-height: 44px; padding: 0 18px; border: 1px solid var(--accent); border-radius: 10px;
    background: transparent; color: var(--ink); font: 750 14px Manrope, Arial, sans-serif; cursor: pointer;
}
.review-ask-submit:hover:not(:disabled) { background: var(--cta); color: var(--button-ink, #15173D); }
.review-ask-submit:disabled { opacity: .6; cursor: wait; }
.review-ask-submit:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

/* /assets/css/nav-menu.css */
/* Menu do cabeçalho (Ferramentas ▾ / Modelos ▾) e seletor de idioma com globo.
   Só variáveis de tema: funciona nos seis temas. Os botões só aparecem com a classe "js"
   (posta no <html> pelo script do <head>); sem ela ficam os links comuns. */

/* ------------------------------------------------------------------ menu */
.topbar { position: relative; z-index: 40; }
.nav-item { display: inline-flex; align-items: center; }
.nav-item--small { position: relative; }
.nav-trigger { display: none; }
.js .nav-trigger {
    display: inline-flex; align-items: center; gap: 4px; padding: 0;
    border: 0; background: none; color: inherit; font: inherit; cursor: pointer;
}
.js .nav-fallback { display: none; }
.nav-trigger:hover, .nav-trigger[aria-expanded="true"] { color: var(--ink); }
.nav-trigger:focus-visible, .nav-group-toggle:focus-visible, .nav-mobile-toggle:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
.nav-chevron { transition: transform .15s ease; }
.nav-trigger[aria-expanded="true"] .nav-chevron, .nav-group-toggle[aria-expanded="true"] .nav-chevron { transform: rotate(180deg); }

.nav-panel {
    position: absolute; left: 0; right: 0; top: calc(100% - 8px); z-index: 70;
    max-height: calc(100vh - 110px); overflow-y: auto; overscroll-behavior: contain;
    padding: 20px 22px 14px; border: 1px solid var(--line); border-radius: 16px;
    background: var(--surface); color: var(--ink); box-shadow: 0 22px 60px rgba(0, 0, 0, .35);
    font: 500 14px/1.5 Manrope, Arial, sans-serif; text-align: left;
}
.nav-panel[hidden] { display: none; }
.nav-panel--small { left: -12px; right: auto; top: calc(100% + 6px); width: 320px; }
.nav-panel-kicker { margin: 0 0 10px; color: var(--muted); font-size: 12px; font-weight: 800; }

.nav-highlights ul { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0 0 18px; list-style: none; border-bottom: 1px solid var(--line); }
.nav-highlight {
    display: flex; align-items: center; gap: 10px; height: 100%; min-height: 52px; padding: 10px 12px;
    border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft);
    color: var(--ink); font-size: 13px; font-weight: 750; line-height: 1.3;
}
.nav-highlight svg { flex: none; color: var(--accent-ink); }
.nav-highlight:hover { border-color: var(--accent); }
.nav-highlight:focus-visible, .nav-tool:focus-visible, .nav-panel-all:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }

.nav-columns { column-count: 5; column-gap: 22px; padding-top: 16px; }
.nav-group { break-inside: avoid; margin-bottom: 16px; }
.nav-group-title { margin: 0 0 4px; padding: 0 6px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: normal; }
.nav-group-toggle { display: none; }
.nav-group-list { margin: 0; padding: 0; list-style: none; }
.nav-tool {
    display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 4px 6px;
    border-radius: 8px; color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.3;
}
.nav-tool svg { flex: none; color: var(--accent-ink); }
.nav-tool:hover { background: var(--surface-strong); }
.nav-tool .plus-tag { margin-left: auto; }
.nav-panel-all { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 6px; color: var(--accent-ink); font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }

/* Botão "Menu" (celular, sem conta) */
.nav-mobile-toggle { display: none; }

/* Menu da conta (celular): grupos de ferramentas em acordeão */
.menu-sections .menu-group summary {
    display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 12px;
    border-radius: 8px; font-size: 14.5px; font-weight: 600; cursor: pointer; list-style: none;
}
.menu-sections .menu-group summary::-webkit-details-marker { display: none; }
.menu-sections .menu-group summary::after { content: "+"; color: var(--muted); font-weight: 700; }
.menu-sections .menu-group[open] summary::after { content: "−"; }
.menu-sections .menu-group summary:hover { background: var(--surface-strong); }
.menu-sections .menu-group summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.menu-sections .menu-group ul { margin: 0 0 6px; padding: 0 0 0 10px; list-style: none; }
.menu-sections .menu-group a { gap: 10px; color: var(--ink); font-size: 14px; font-weight: 550; }
.menu-sections .menu-group a svg { flex: none; color: var(--accent-ink); }

@media (max-width: 1120px) {
    .nav-highlights ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nav-columns { column-count: 4; }
}
/* Até 900px: o painel vira acordeão (um grupo aberto por vez, pelo título). */
@media (max-width: 900px) {
    .nav-highlights ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nav-columns { column-count: 1; padding-top: 8px; }
    .nav-group { margin-bottom: 0; border-bottom: 1px solid var(--line); }
    .nav-group-title { padding: 0; }
    .nav-group-label { display: none; }
    .nav-group-toggle {
        display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px; padding: 0 6px;
        border: 0; background: none; color: var(--ink); font: 750 14px Manrope, Arial, sans-serif; cursor: pointer; text-align: left;
    }
    .js .nav-group:not(.is-open) .nav-group-list { display: none; }
    .nav-group-list { padding-bottom: 8px; }
    .nav-tool { min-height: 44px; }
    .nav-panel--small { left: auto; right: -12px; }
}
@media (max-width: 560px) {
    .js .topbar:has(.nav-mobile-toggle) .nav-mobile-toggle {
        display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0;
        border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); cursor: pointer;
    }
    .nav-mobile-toggle[aria-expanded="true"] .hamburger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .nav-mobile-toggle[aria-expanded="true"] .hamburger span:nth-child(2) { opacity: 0; }
    .nav-mobile-toggle[aria-expanded="true"] .hamburger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .gira-workspace .topbar .app-navbar.is-open {
        display: flex; flex-direction: column; align-items: stretch; order: 3; flex-basis: 100%;
        gap: 0; margin: 4px 0 8px; padding: 6px 0; border-top: 1px solid var(--line);
    }
    .app-navbar.is-open .nav-item { display: flex; flex-direction: column; align-items: stretch; }
    .app-navbar.is-open .app-nav-link { justify-content: space-between; min-height: 48px; font-size: 15px; }
    .app-navbar.is-open .nav-panel {
        position: static; max-height: none; margin: 0 0 8px; padding: 12px; border-radius: 12px; box-shadow: none; width: auto;
    }
}

/* ------------------------------------------------------------------ idioma */
.lang-picker { position: relative; display: inline-block; text-align: left; }
.lang-picker-toggle {
    display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px;
    border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
    color: var(--ink); font: 700 13px Manrope, Arial, sans-serif; cursor: pointer;
}
.lang-picker-toggle:hover, .lang-picker-toggle[aria-expanded="true"] { border-color: var(--accent); }
.lang-picker-toggle:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.lang-picker-toggle[aria-expanded="true"] .lang-chevron { transform: rotate(180deg); }
.lang-picker--compact .lang-picker-toggle { gap: 5px; min-width: 44px; padding: 0 10px; border-radius: 12px; }
.lang-picker-code { letter-spacing: .02em; }
.lang-picker-list {
    position: absolute; left: 0; bottom: calc(100% + 8px); z-index: 80;
    min-width: 210px; margin: 0; padding: 6px; list-style: none;
    border: 1px solid var(--line); border-radius: 12px; background: var(--surface);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .35);
}
.lang-picker--compact .lang-picker-list { left: auto; right: 0; bottom: auto; top: calc(100% + 8px); }
.lang-picker-list[hidden] { display: none; }
.lang-picker-list a {
    display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 44px; padding: 0 12px;
    border-radius: 8px; color: var(--ink); font-size: 14px; font-weight: 600;
}
.lang-picker-list a:hover, .lang-picker-list a:focus { background: var(--surface-strong); }
.lang-picker-list a:focus-visible { outline: 3px solid var(--focus); outline-offset: -3px; }
.lang-picker-list a[aria-checked="true"] { font-weight: 800; }
.lang-check { visibility: hidden; color: var(--accent-ink); }
.lang-picker-list a[aria-checked="true"] .lang-check { visibility: visible; }
.site-footer-lang { margin-top: 14px; }
/* Sem JavaScript: a lista aparece aberta, como links comuns. */
html:not(.js) .lang-picker-toggle { display: none; }
html:not(.js) .lang-picker-list[hidden] { position: static; display: flex; flex-wrap: wrap; gap: 4px; box-shadow: none; }
@media (max-width: 600px) {
    .lang-picker--compact { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .nav-chevron, .lang-chevron { transition: none; }
}

