:root {
    --navy-950: #0b1220;
    --navy-900: #172554;
    --navy-800: #3730a3;
    --navy-600: #475569;
    --navy-400: #94a3b8;
    --blue-500: #6366f1;
    --blue-600: #4f46e5;
    --red-500: #ef4444;
    --green-500: #14b8a6;
    --bg: #ffffff;
    --muted: #f8fafc;
    --border: #e2e8f0;
    --card: #ffffff;
    --text: #0f172a;
    --text-light: #64748b;
    --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }

html, body { margin: 0; padding: 0; }
body {
    font-family: var(--font);
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
    overflow-x: hidden;
}

.container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

a { text-decoration: none; color: inherit; }

.page-wrap { display: flex; flex-direction: column; min-height: 100vh; }

/* Buttons */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 24px; border-radius: 12px; font-weight: 600; font-size: 0.95rem;
    cursor: pointer; border: none; transition: all 0.2s; text-decoration: none;
}

.btn-blue-glow {
    background: linear-gradient(135deg, var(--blue-600), var(--blue-500));
    color: #fff; box-shadow: 0 10px 25px rgba(37, 99, 235, 0.3);
}
.btn-blue-glow:hover { transform: translateY(-2px); box-shadow: 0 14px 35px rgba(37, 99, 235, 0.4); }

.btn-navy-ghost { color: var(--navy-800); font-weight: 500; padding: 12px 20px; }
.btn-navy-ghost:hover { color: var(--blue-600); }

.btn-outline-navy {
    width: 100%; border: 1px solid var(--border); color: var(--navy-800);
    background: #fff; padding: 14px; border-radius: 10px; font-weight: 600;
    display: inline-flex; justify-content: center;
}
.btn-outline-navy:hover { background: var(--muted); }

.btn-white-ghost { color: rgba(255,255,255,0.8); font-weight: 500; padding: 12px 20px; }
.btn-white-ghost:hover { color: #fff; }

.text-navy { color: var(--navy-950); }
.text-blue-500 { color: var(--blue-500); }
.text-red-500 { color: var(--red-500); }
.text-green { color: var(--green-500); }

.mobile-only { display: none; }

/* Header */
.header-lp {
    position: sticky; top: 0; z-index: 100;
    border-bottom: 1px solid rgba(226, 232, 240, 0.8);
    background: rgba(255,255,255,0.9); backdrop-filter: blur(12px);
}
.nav-lp { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.logo-lp { font-size: 1.4rem; font-weight: 800; color: var(--navy-950); }
.logo-lp span { color: var(--blue-600); }
.logo-lp.light { color: #fff; }
.logo-lp.light span { color: var(--blue-400); }
.nav-lp-links { display: flex; align-items: center; gap: 24px; }
.nav-lp-links a { color: var(--navy-600); font-size: 0.9rem; font-weight: 500; transition: color 0.2s; }
.nav-lp-links a:hover { color: var(--navy-950); }
.nav-lp-login { color: var(--navy-800) !important; }
.btn-lp-primary {
    background: linear-gradient(135deg, var(--blue-600), var(--blue-500));
    color: #fff; padding: 10px 18px; border-radius: 12px; font-size: 0.85rem; font-weight: 600;
    box-shadow: 0 4px 15px rgba(37, 99, 235, 0.25);
}

/* Hero */
.hero-lp { position: relative; padding: 100px 0 0; overflow: hidden; background: linear-gradient(180deg, #f8faff 0%, #ffffff 72%); }
.hero-lp::before, .hero-lp::after { content: ''; position: absolute; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.hero-lp::before { width: 420px; height: 420px; top: 20px; left: -180px; background: rgba(99,102,241,0.12); animation: floatOrb 9s ease-in-out infinite; }
.hero-lp::after { width: 360px; height: 360px; top: 180px; right: -160px; background: rgba(20,184,166,0.12); animation: floatOrb 11s ease-in-out infinite reverse; }
.hero-dots {
    position: absolute; inset: 0; z-index: 0;
    background-image: radial-gradient(circle, rgb(176, 181, 192) 1px, transparent 1px);
    background-size: 12px 12px;
    mask-image: radial-gradient(45% 30% at 50% 26%, transparent 40%, rgba(0,0,0,0.5) 70%, transparent 100%);
    -webkit-mask-image: radial-gradient(45% 30% at 50% 26%, transparent 40%, rgba(0,0,0,0.5) 70%, transparent 100%);
}
.hero-lp-inner { position: relative; z-index: 10; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.hero-pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.78); border: 1px solid rgba(99,102,241,0.2); border-radius: 999px;
    padding: 4px 12px 4px 4px; font-size: 0.8rem; color: var(--navy-600); font-weight: 500;
    box-shadow: 0 8px 24px rgba(79,70,229,0.08); animation: fadeUp 0.8s both;
}
.hero-pill:hover { border-color: var(--blue-500); transform: translateY(-2px); box-shadow: 0 12px 28px rgba(79,70,229,0.15); }
.hero-pill-badge { background: var(--blue-600); color: #fff; padding: 3px 10px; border-radius: 999px; font-size: 0.65rem; font-weight: 800; }
.hero-pill-arrow { color: var(--navy-400); }
.hero-lp h1 { font-size: 3.2rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; margin: 0; animation: fadeUp 0.9s 0.12s both; }
.hero-lp-sub { max-width: 600px; color: var(--text-light); font-size: 1rem; line-height: 1.7; margin: 0; animation: fadeUp 0.9s 0.24s both; }
.hero-lp-cta { display: flex; gap: 12px; margin-top: 8px; animation: fadeUp 0.9s 0.36s both; }
.hero-lp-cta .btn-blue-glow { animation: pulseBlue 2.4s ease-in-out infinite; }
.hero-lp-cta .btn-blue-glow:hover { transform: translateY(-3px) scale(1.03); }
.hero-lp-cta .btn-navy-ghost { transition: transform 0.2s, color 0.2s; }
.hero-lp-cta .btn-navy-ghost:hover { transform: translateX(4px); }

/* CV Showcase */
.cv-showcase { position: relative; display: flex; justify-content: center; align-items: start; gap: 40px; margin-top: 48px; padding-bottom: 120px; perspective: 2200px; min-height: 560px; }
.cv-card { width: 260px; background: #fff; border: 1px solid #e2e8f0; border-radius: 4px; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 8px 30px rgba(0,0,0,0.06); font-size: 0.7rem; color: #475569; }
.cv-left { transform: translateX(-80px) rotateY(3deg) rotateZ(-2deg); filter: blur(1px); animation: floatCard 6s ease-in-out infinite; }
.cv-right { transform: translateX(80px) rotateY(-3deg) rotateZ(2deg); filter: blur(1px); animation: floatCard 7s 0.8s ease-in-out infinite reverse; }
.cv-center { width: 310px; transform: none; filter: none; z-index: 10; animation: floatCenter 5s ease-in-out infinite; }
.cv-card { transition: box-shadow 0.3s, border-color 0.3s; }
.cv-card:hover { border-color: rgba(99,102,241,0.5); box-shadow: 0 18px 50px rgba(79,70,229,0.16); }
.cv-card h4 { color: var(--navy-950); font-size: 0.85rem; margin: 0 0 2px; }
.cv-role { color: #64748b; font-size: 0.65rem; margin: 0 0 4px; }
.cv-contacts { display: flex; flex-wrap: wrap; gap: 6px; color: #94a3b8; font-size: 0.5rem; }
.cv-person { display: flex; justify-content: space-between; border-bottom: 1px solid #f1f5f9; padding-bottom: 10px; margin-bottom: 10px; }
.cv-score { display: flex; flex-direction: column; align-items: center; position: relative; }
.cv-score-ring { width: 40px; height: 40px; }
.cv-score-val { position: absolute; top: 12px; font-size: 0.7rem; font-weight: 800; color: var(--blue-600); }
.cv-score small { font-size: 0.45rem; font-weight: 700; color: #94a3b8; letter-spacing: 0.05em; }
.cv-summary { font-size: 0.58rem; line-height: 1.5; color: #64748b; margin: 0 0 10px; }
.cv-section-title { font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #94a3b8; margin: 10px 0 6px; }
.cv-exp strong { color: var(--navy-950); font-size: 0.62rem; }
.cv-period { float: right; font-size: 0.45rem; color: #cbd5e1; }
.cv-exp p { margin: 0 0 4px; font-size: 0.55rem; color: #94a3b8; }
.cv-exp ul { margin: 0; padding-left: 10px; }
.cv-exp li { margin-bottom: 2px; font-size: 0.55rem; color: #64748b; }
.cv-exp li::marker { color: var(--blue-500); }
.cv-edu { display: flex; justify-content: space-between; font-size: 0.55rem; margin-bottom: 2px; }
.cv-edu span:first-child { color: #475569; }
.cv-skills { display: flex; flex-wrap: wrap; gap: 4px; }
.cv-skills span { background: #f1f5f9; color: #64748b; padding: 1px 5px; border-radius: 3px; font-size: 0.5rem; font-weight: 500; }
.hero-fade-bottom { position: absolute; left: 0; right: 0; bottom: 0; height: 160px; background: linear-gradient(to top, #fff, transparent); z-index: 20; pointer-events: none; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
@keyframes floatOrb { 0%, 100% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(20px, 28px, 0) scale(1.08); } }
@keyframes floatCard { 0%, 100% { margin-top: 0; } 50% { margin-top: -12px; } }
@keyframes floatCenter { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-16px); } }
@keyframes pulseBlue { 0%, 100% { box-shadow: 0 10px 25px rgba(79,70,229,0.28); } 50% { box-shadow: 0 16px 42px rgba(79,70,229,0.52); } }
.landing-reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.75s ease, transform 0.75s ease; }
.landing-reveal.is-visible { opacity: 1; transform: translateY(0); }

/* Stats */
.stats-lp { padding: 40px 0 60px; background: #fff; position: relative; z-index: 30; margin-top: -60px; }
.stats-grid-lp { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; text-align: center; }
.stats-grid-lp p { font-size: 2.8rem; font-weight: 900; color: var(--navy-950); margin: 0; }
.stats-grid-lp span { color: var(--text-light); font-size: 0.9rem; }

/* Section helpers */
.section-tag-wrap { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 16px; }
.section-line { width: 32px; height: 1px; background: rgba(59, 130, 246, 0.4); }
.section-tag { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.15em; }

/* Why ATS */
.why-ats-lp { padding: 80px 0; background: #fff; position: relative; }
.why-ats-lp::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 40%, rgba(59,130,246,0.06), transparent 60%); pointer-events: none; }
.why-ats-inner { position: relative; z-index: 1; }
.why-ats-title { text-align: center; font-size: 2.6rem; font-weight: 800; color: var(--navy-950); margin: 0 0 40px; letter-spacing: -0.02em; }
.ats-explain { max-width: 720px; margin: 0 auto 40px; border-left: 4px solid var(--blue-500); background: #fff; border-radius: 0 12px 12px 0; padding: 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.04); }
.ats-explain-header { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-weight: 700; color: var(--navy-950); }
.ats-explain p { color: var(--navy-600); font-size: 0.95rem; margin: 0; }
.why-cards-lp { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 40px; }
.why-card-lp { border: 1px solid var(--border); border-radius: 20px; padding: 28px; background: #fff; transition: all 0.3s; }
.why-card-lp:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(37,99,235,0.08); border-color: rgba(37,99,235,0.3); }
.why-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.why-card-icon { width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, #eff6ff, #dbeafe); color: var(--blue-600); display: flex; align-items: center; justify-content: center; }
.why-card-num { font-size: 1.6rem; font-weight: 900; color: #e2e8f0; }
.why-card-lp h3 { font-size: 1.05rem; font-weight: 700; color: var(--navy-950); margin: 0 0 8px; }
.why-card-lp p { font-size: 0.85rem; color: var(--text-light); margin: 0; line-height: 1.6; }
.why-cta { text-align: center; }
.why-cta p { max-width: 540px; margin: 0 auto 24px; color: var(--navy-600); }
.why-cta strong { color: var(--navy-950); }

/* Errors */
.errors-lp { padding: 80px 0; text-align: center; }
.errors-lp-header { margin-bottom: 40px; }
.errors-lp-header h2 { font-size: 2.4rem; font-weight: 800; color: var(--navy-950); margin: 0 0 12px; }
.errors-lp-header p { color: var(--text-light); font-size: 0.95rem; }
.errors-lp-body { display: flex; justify-content: center; align-items: center; gap: 40px; max-width: 1000px; margin: 0 auto 40px; }
.error-badges { display: flex; flex-direction: column; gap: 16px; width: 240px; }
.error-badges.right { display: none; }
.error-badge { border: 1px solid rgba(239,68,68,0.2); background: rgba(254,226,226,0.6); border-radius: 8px; padding: 14px; text-align: left; font-size: 0.75rem; color: #991b1b; line-height: 1.4; }
.error-badge strong { display: block; font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--red-500); margin-bottom: 4px; }
.error-cv { position: relative; width: 320px; }
.error-cv img { width: 100%; border: 1px solid #e2e8f0; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.08), 0 8px 30px rgba(0,0,0,0.06); }
.error-tags { position: absolute; inset: 0; }
.tag { position: absolute; background: var(--red-500); color: #fff; padding: 3px 8px; border-radius: 4px; font-size: 0.6rem; font-weight: 700; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.tag.top-left { top: 8%; left: -10%; }
.tag.top-right { top: 6%; right: -12%; }
.tag.mid-left { top: 45%; left: -8%; }
.tag.mid-center { top: 72%; left: 4%; }
.tag.mid-right { top: 36%; right: -10%; }
.tag.bottom-left { bottom: 18%; left: -10%; }
.tag.bottom-right { bottom: 5%; right: -12%; }
.error-score { position: absolute; right: -18px; top: 25%; background: #fff; border-radius: 12px; padding: 10px 14px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); text-align: center; }
.score-label { display: block; font-size: 0.55rem; color: #94a3b8; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.score-val { font-size: 1.6rem; font-weight: 900; color: #f59e0b; }
.score-total { font-size: 0.7rem; color: #94a3b8; }
.error-stamp { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-15deg) scale(0.7); border: 5px solid var(--red-500); padding: 8px 20px; color: var(--red-500); font-size: 1.4rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.1em; border-radius: 4px; }
.errors-lp-footer { margin-bottom: 24px; }
.errors-lp-footer p { color: var(--text-light); margin: 0 0 16px; }
.errors-scroll-hint { color: #94a3b8; font-size: 0.7rem; }

/* Reject CTA */
.reject-cta-lp { padding: 20px 0 60px; }
.reject-box-lp { max-width: 700px; margin: 0 auto; border: 1px solid #fecaca; background: linear-gradient(135deg, #fef2f2, #fff, #eff6ff); border-radius: 24px; padding: 48px 32px; text-align: center; }
.reject-tag { background: #fecaca; color: #dc2626; padding: 4px 12px; border-radius: 999px; font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; }
.reject-box-lp h3 { font-size: 1.8rem; font-weight: 800; color: var(--navy-950); margin: 20px 0 10px; }
.reject-box-lp p { color: var(--text-light); max-width: 500px; margin: 0 auto 24px; }

/* Testimonials */
.testimonials-lp { padding: 80px 0; background: #fff; }
.testimonials-lp-inner { text-align: center; }
.testimonials-lp h2 { font-size: 2.4rem; font-weight: 800; color: var(--navy-950); margin: 0 0 10px; }
.testimonials-lp > p { color: var(--text-light); margin: 0 0 40px; }
.testimonial-columns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.testimonial-col { display: flex; flex-direction: column; gap: 16px; }
.testimonial-card { border: 1px solid var(--border); border-radius: 20px; padding: 24px; text-align: left; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,0.04); }
.testimonial-card blockquote { margin: 0 0 16px; font-size: 0.9rem; color: var(--navy-600); line-height: 1.6; }
.testimonial-card figcaption { display: flex; align-items: center; gap: 12px; }
.testimonial-card img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.testimonial-card strong { display: block; font-size: 0.9rem; color: var(--navy-950); }
.testimonial-card span { font-size: 0.75rem; color: var(--text-light); }

/* Pricing */
.pricing-lp { padding: 80px 0; background: #fff; }
.pricing-lp-inner { text-align: center; }
.pricing-lp h2 { font-size: 2.4rem; font-weight: 800; color: var(--navy-950); margin: 0 0 10px; }
.pricing-lp > p { color: var(--text-light); margin: 0 0 40px; }
.pricing-grid-lp { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; max-width: 900px; margin: 0 auto; text-align: left; }
.pricing-card-lp { border: 1px solid var(--border); border-radius: 16px; padding: 32px; background: #fff; }
.pricing-card-lp.pro { border: 2px solid var(--blue-600); position: relative; }
.pro-badge { position: absolute; top: -12px; left: 24px; background: var(--blue-600); color: #fff; padding: 4px 12px; border-radius: 999px; font-size: 0.6rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; }
.plan-label { font-size: 0.85rem; color: var(--text-light); margin: 0 0 6px; }
.plan-price-free { font-size: 3rem; font-weight: 900; color: var(--navy-950); margin: 0 0 4px; }
.plan-price { font-size: 3rem; font-weight: 900; color: var(--navy-950); margin: 0 0 4px; }
.plan-price span { font-size: 0.9rem; color: var(--text-light); font-weight: 500; }
.plan-desc { font-size: 0.85rem; color: var(--text-light); margin: 0 0 24px; }
.pricing-card-lp ul { list-style: none; padding: 0; margin: 0 0 24px; }
.pricing-card-lp li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 0.85rem; color: var(--navy-600); }
.pricing-card-lp li svg { color: var(--green-500); flex-shrink: 0; margin-top: 2px; }
.credits-box { border-top: 1px solid var(--border); padding-top: 20px; margin-bottom: 24px; }
.credits-title { font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #94a3b8; margin: 0 0 12px; }
.credit-row { display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--border); border-radius: 10px; padding: 12px; margin-bottom: 8px; }
.credit-row div { display: flex; flex-direction: column; }
.credit-row strong { font-size: 0.85rem; color: var(--navy-950); }
.credit-row span { font-size: 0.7rem; color: var(--text-light); }
.credit-row .badge-green { background: var(--green-500); color: #fff; padding: 1px 6px; border-radius: 4px; font-weight: 700; width: fit-content; }
.credit-price { font-size: 1.3rem; font-weight: 800; color: var(--navy-950); }
.pro-cancel { text-align: center; font-size: 0.75rem; color: var(--text-light); margin: 12px 0 0; }

/* FAQ */
.faq-lp { padding: 80px 0; background: #fff; }
.faq-lp-inner { text-align: center; }
.faq-lp h2 { font-size: 2.4rem; font-weight: 800; color: var(--navy-950); margin: 0 0 40px; }
.faq-list { max-width: 700px; margin: 0 auto; text-align: left; }
.faq-item { border-radius: 12px; margin-bottom: 8px; overflow: hidden; }
.faq-item summary { background: #f8fafc; padding: 18px 20px; font-weight: 700; color: var(--navy-950); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::after { content: '+'; font-size: 1.2rem; color: var(--text-light); }
.faq-item[open] summary::after { content: '−'; }
.faq-item p { padding: 0 20px 18px; margin: 0; background: #f8fafc; color: var(--text-light); font-size: 0.9rem; line-height: 1.6; }

/* Final CTA */
.final-cta-lp { padding: 80px 0; }
.final-cta-lp-inner { background: #0f172a; border-radius: 24px; padding: 64px 40px; text-align: center; color: #fff; }
.final-cta-stars { display: flex; justify-content: center; align-items: center; gap: 8px; margin-bottom: 24px; }
.final-cta-stars img { width: 36px; height: 36px; border-radius: 50%; border: 2px solid #0f172a; margin-left: -10px; }
.final-cta-stars img:first-child { margin-left: 0; }
.final-cta-stars p { font-size: 0.75rem; color: rgba(255,255,255,0.5); margin: 0; }
.final-cta-lp h2 { font-size: 2.6rem; font-weight: 800; margin: 0 0 16px; }
.final-cta-lp p { max-width: 560px; margin: 0 auto 28px; color: rgba(255,255,255,0.6); }
.final-cta-lp p strong { color: rgba(255,255,255,0.9); }
.final-cta-actions { display: flex; justify-content: center; gap: 12px; }

/* Footer */
.footer-lp { background: #0f172a; border-top: 1px solid rgba(255,255,255,0.1); padding: 60px 0 30px; margin-top: auto; }
.footer-lp-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; margin-bottom: 40px; }
.footer-lp-brand p { color: rgba(255,255,255,0.4); font-size: 0.85rem; max-width: 300px; line-height: 1.6; }
.footer-lp-col h4 { color: #fff; font-size: 0.85rem; margin: 0 0 12px; }
.footer-lp-col ul { list-style: none; padding: 0; margin: 0; }
.footer-lp-col li { margin-bottom: 8px; }
.footer-lp-col a { color: rgba(255,255,255,0.4); font-size: 0.85rem; transition: color 0.2s; }
.footer-lp-col a:hover { color: #fff; }
.footer-lp-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; text-align: center; }
.footer-lp-bottom p { color: rgba(255,255,255,0.3); font-size: 0.75rem; margin: 0; }

/* Buttons utilitários */
.btn-primary { background: linear-gradient(135deg, var(--green-500), #16a34a); color: #fff; font-weight: 800; box-shadow: 0 12px 32px rgba(34, 197, 94, 0.45); position: relative; overflow: hidden; }
.btn-primary::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.35) 0%, transparent 60%); transform: scale(0); animation: shine 3s infinite; }
.btn-primary:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 18px 45px rgba(34, 197, 94, 0.55); }
.btn-glow { animation: pulseGreen 1.6s infinite; }
@keyframes pulseGreen { 0% { box-shadow: 0 12px 32px rgba(34, 197, 94, 0.45); } 50% { box-shadow: 0 18px 50px rgba(34, 197, 94, 0.75); } 100% { box-shadow: 0 12px 32px rgba(34, 197, 94, 0.45); } }
@keyframes shine { 0% { transform: scale(0) rotate(0deg); opacity: 0; } 15% { transform: scale(1) rotate(45deg); opacity: 1; } 30% { transform: scale(1.5) rotate(90deg); opacity: 0; } 100% { opacity: 0; } }
.btn-outline { background: #fff; border: 1px solid var(--border); color: #334155; }
.btn-outline:hover { background: #f8fafc; }

/* Quiz v2 (mantido) */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.w-full { width: 100%; }
.quiz-hero { background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 50%, #4c1d95 100%); color: #fff; padding: 80px 0 60px; text-align: center; }
.quiz-hero h1 { font-size: 2.2rem; margin: 0 0 8px; }
.quiz-hero p { color: #cbd5e1; margin: 0; }
.quiz-section { padding: 40px 0 80px; background: #f8fafc; }
.quiz-container { max-width: 720px; }
.quiz-form { background: #fff; border-radius: 24px; padding: 32px; box-shadow: 0 20px 50px -10px rgba(15,23,42,0.12); border: 1px solid #e2e8f0; }
.quiz-progress-v2 { margin-bottom: 40px; }
.progress-top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.btn-back { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); background: #fff; color: #334155; font-size: 1.2rem; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.progress-meta { display: flex; flex-direction: column; }
.step-label { font-size: 0.85rem; color: #94a3b8; font-weight: 600; }
.step-title-small { font-size: 1.1rem; color: #0f172a; font-weight: 700; }
.progress-track-v2 { height: 6px; background: #e2e8f0; border-radius: 4px; overflow: hidden; }
.progress-fill-v2 { height: 100%; width: 20%; background: var(--blue-600); transition: width 0.4s ease; border-radius: 4px; }
.step-icon { font-size: 2.4rem; text-align: center; margin-bottom: 8px; }
.form-step { display: none; animation: fadeInRight 0.35s ease; }
.form-step.active { display: block; }
@keyframes fadeInRight { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
.step-title { font-size: 1.5rem; color: #0f172a; margin: 0 0 6px; text-align: center; }
.step-hint { color: #64748b; margin: 0 0 24px; font-size: 0.95rem; text-align: center; }
.option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.option-card { border: 2px solid var(--border); border-radius: 16px; padding: 24px; text-align: center; cursor: pointer; transition: all 0.2s; background: #fff; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.option-card:hover { border-color: #cbd5e1; }
.option-card:has(input:checked) { border-color: var(--blue-600); background: #eff6ff; box-shadow: 0 4px 12px rgba(37,99,235,0.08); }
.option-emoji { font-size: 1.6rem; margin-bottom: 4px; }
.option-card strong { color: #0f172a; font-size: 1.05rem; }
.option-card small { color: #64748b; font-size: 0.85rem; }
.form-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.quiz-form .next-step, .quiz-form [type="submit"] { padding: 20px 48px; font-size: 1.2rem; border-radius: 16px; min-width: 220px; width: 100%; max-width: 320px; }
.quiz-tip { background: #f8fafc; border: 1px solid var(--border); border-radius: 12px; padding: 16px; text-align: center; color: #475569; font-size: 0.95rem; margin-bottom: 24px; }
.option-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.option-row { display: flex; align-items: center; gap: 16px; border: 2px solid var(--border); border-radius: 16px; padding: 20px; cursor: pointer; transition: all 0.2s; background: #fff; }
.option-row:hover { border-color: #cbd5e1; }
.option-row:has(input:checked) { border-color: var(--blue-600); background: #eff6ff; }
.row-icon { font-size: 1.6rem; }
.row-text { display: flex; flex-direction: column; }
.row-text strong { color: #0f172a; font-size: 1.05rem; }
.row-text small { color: #64748b; font-size: 0.9rem; }
.social-proof.small { text-align: center; color: #64748b; font-size: 0.9rem; background: #f8fafc; border: 1px solid var(--border); border-radius: 12px; padding: 14px; margin-bottom: 24px; }
.import-box { background: #f8fafc; border: 1px dashed var(--border); border-radius: 16px; padding: 24px; margin-bottom: 24px; text-align: center; }
.import-box h4 { margin: 0 0 4px; color: #0f172a; }
.import-box p { margin: 0 0 14px; color: #64748b; font-size: 0.9rem; }
.accordion-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.accordion { border: 1px solid var(--border); border-radius: 16px; background: #fff; overflow: hidden; }
.accordion[open] { border-color: var(--blue-600); }
.accordion summary { padding: 16px 20px; cursor: pointer; font-weight: 600; color: #0f172a; display: flex; align-items: center; gap: 10px; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion-body { padding: 0 20px 20px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-grid label { display: flex; flex-direction: column; color: #334155; font-weight: 600; font-size: 0.9rem; }
.form-grid input, .accordion-body input, .accordion-body textarea { width: 100%; padding: 12px; margin-top: 6px; border: 1px solid #d1d5db; border-radius: 10px; font-family: inherit; font-size: 0.95rem; }
.mode-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.mode-card { border: 2px solid var(--border); border-radius: 16px; padding: 20px; cursor: pointer; background: #fff; }
.mode-card:has(input:checked) { border-color: var(--blue-600); background: #eff6ff; }
.mode-card strong { display: block; color: #0f172a; margin-bottom: 4px; }
.mode-card small { color: #64748b; font-size: 0.85rem; }
.job-inputs { display: flex; flex-direction: column; gap: 16px; margin-bottom: 20px; }
.job-inputs label { color: #334155; font-weight: 600; font-size: 0.95rem; }
.job-inputs input, .job-inputs textarea { width: 100%; padding: 14px; margin-top: 6px; border: 1px solid #d1d5db; border-radius: 10px; font-family: inherit; font-size: 1rem; }
.model-suggestions h4 { color: #0f172a; margin: 0 0 12px; font-size: 0.95rem; }
.chip-list { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { background: #fff; border: 1px solid var(--border); border-radius: 20px; padding: 8px 14px; font-size: 0.85rem; color: #334155; cursor: pointer; font-weight: 500; }
.chip:hover, .chip.active { border-color: var(--blue-600); color: var(--blue-600); background: #eff6ff; }
.final-box { background: #f8fafc; border: 1px solid var(--border); border-radius: 16px; padding: 20px; margin-bottom: 24px; }
.final-box h4 { margin: 0 0 4px; color: #0f172a; }
.final-box p { margin: 0; color: #64748b; font-size: 0.9rem; }
.lang-options { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 24px; }
.lang-pill { border: 1px solid var(--border); border-radius: 24px; padding: 10px 18px; font-size: 0.9rem; color: #334155; cursor: pointer; background: #fff; }
.lang-pill:has(input:checked) { border-color: var(--blue-600); color: var(--blue-600); background: #eff6ff; font-weight: 600; }
.section-subtitle { text-align: center; font-size: 1.4rem; color: #0f172a; margin: 32px 0 4px; }
.section-sub-sub { text-align: center; color: #64748b; font-size: 0.9rem; margin-bottom: 20px; }
.model-list { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.model-card { display: flex; align-items: center; gap: 16px; border: 2px solid var(--border); border-radius: 16px; padding: 20px; cursor: pointer; background: #fff; }
.model-card:has(input:checked) { border-color: var(--blue-600); background: #eff6ff; }
.model-preview { width: 80px; height: 100px; border-radius: 8px; background: #f1f5f9; flex-shrink: 0; }
.modern-preview { background: linear-gradient(135deg, #f1f5f9 60%, #e2e8f0 60%); }
.classic-preview { background: linear-gradient(180deg, #f1f5f9 30%, #e2e8f0 30%, #f1f5f9 60%, #e2e8f0 60%); }
.model-info { display: flex; flex-direction: column; }
.model-info strong { color: #0f172a; font-size: 1.05rem; }
.model-info small { color: #64748b; font-size: 0.85rem; }

/* Quiz moderno */
.quiz-hero { background: radial-gradient(circle at 20% 10%, rgba(45,212,191,0.28), transparent 32%), linear-gradient(135deg, #0b1220 0%, #312e81 58%, #0f766e 100%); position: relative; overflow: hidden; }
.quiz-hero::after { content: ''; position: absolute; width: 260px; height: 260px; right: 8%; top: -120px; border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; box-shadow: 0 0 0 25px rgba(255,255,255,0.04), 0 0 0 50px rgba(255,255,255,0.03); animation: floatOrb 8s ease-in-out infinite; }
.quiz-section { background: linear-gradient(135deg, #f8faff, #eefcfb); }
.quiz-form { border: 1px solid rgba(99,102,241,0.16); box-shadow: 0 24px 70px rgba(15,23,42,0.12); }
.progress-track-v2 { height: 8px; background: #e0e7ff; }
.progress-fill-v2 { background: linear-gradient(90deg, #4f46e5, #14b8a6); box-shadow: 0 0 14px rgba(20,184,166,0.45); }
.profile-step-icon { width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 18px; display: grid; place-items: center; color: #fff; font-size: 1.5rem; background: linear-gradient(135deg, #4f46e5, #14b8a6); box-shadow: 0 12px 28px rgba(79,70,229,0.28); }
.profile-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.profile-heading-row .step-title, .profile-heading-row .step-hint { text-align: left; }
.profile-completion { min-width: 76px; padding: 10px 12px; border: 1px solid #c7d2fe; border-radius: 16px; background: linear-gradient(135deg, #eef2ff, #ecfeff); text-align: center; }
.profile-completion strong { display: block; color: #4338ca; font-size: 1.3rem; line-height: 1; }
.profile-completion span { color: #64748b; font-size: .65rem; text-transform: uppercase; letter-spacing: .06em; }
.profile-progress { height: 7px; background: #e2e8f0; border-radius: 99px; overflow: hidden; margin: 4px 0 12px; }
.profile-progress span { display: block; height: 100%; width: 0; border-radius: inherit; background: linear-gradient(90deg, #4f46e5, #14b8a6); transition: width .35s ease; }
.profile-trust { margin-bottom: 20px; padding: 10px 14px; border-radius: 12px; background: #f0fdfa; color: #0f766e; font-size: .78rem; }
.profile-trust span { font-weight: 900; margin-right: 4px; }
.profile-import-modern { display: flex; align-items: center; gap: 12px; padding: 14px; margin-bottom: 18px; border: 1px dashed #a5b4fc; border-radius: 18px; background: linear-gradient(110deg, #eef2ff, #f0fdfa); }
.import-orb { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 13px; display: grid; place-items: center; color: #fff; font-size: 1.3rem; background: #4f46e5; }
.profile-import-modern div:nth-child(2) { display: flex; flex-direction: column; flex: 1; }
.profile-import-modern strong { color: #1e1b4b; font-size: .86rem; }
.profile-import-modern span { color: #64748b; font-size: .75rem; }
.profile-import-modern .btn { padding: 9px 13px; font-size: .78rem; }
.profile-import-modern .btn.imported { border-color: #14b8a6; color: #0f766e; background: #ccfbf1; }
.profile-form-modern { display: flex; flex-direction: column; gap: 14px; }
.profile-block { padding: 20px; border: 1px solid #e2e8f0; border-radius: 20px; background: rgba(255,255,255,.85); box-shadow: 0 8px 22px rgba(15,23,42,.04); }
.profile-block-highlight { border-color: #c7d2fe; box-shadow: 0 12px 28px rgba(79,70,229,.08); }
.profile-block-header { display: flex; align-items: center; gap: 11px; margin-bottom: 16px; }
.profile-block-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #4f46e5, #6366f1); font-size: .65rem; font-weight: 800; }
.profile-block-header div { display: flex; flex-direction: column; }
.profile-block-header strong { color: #111827; font-size: .95rem; }
.profile-block-header small { color: #94a3b8; font-size: .72rem; }
.profile-block label, .profile-wide-label { color: #334155; font-size: .78rem; font-weight: 700; }
.profile-block input, .profile-block textarea { border: 1px solid #dbe3ef; background: #fbfdff; border-radius: 12px; transition: border-color .2s, box-shadow .2s, background .2s; }
.profile-block input:focus, .profile-block textarea:focus { outline: none; border-color: #6366f1; background: #fff; box-shadow: 0 0 0 4px rgba(99,102,241,.12); }
.profile-wide-label { display: flex; flex-direction: column; margin-bottom: 14px; }
.profile-wide-label:last-child { margin-bottom: 0; }
.field-tip { color: #64748b; font-size: .7rem; font-weight: 400; margin-top: 5px; }
.profile-quick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.profile-quick-grid .profile-block { padding: 18px; }
.profile-optional-block { background: #f8fafc; }
.profile-actions { margin-top: 6px; }
.profile-actions .next-step { max-width: 340px; }

/* Processing */
.processing-modern { position: relative; min-height: calc(100vh - 64px); overflow: hidden; color: #e2e8f0; background: #080d1c; padding: 26px 0 70px; }
.processing-modern-container { position: relative; z-index: 1; }
.processing-glow { position: absolute; border-radius: 50%; filter: blur(4px); pointer-events: none; }
.processing-glow-one { width: 500px; height: 500px; top: -260px; left: -180px; background: rgba(79,70,229,.28); }
.processing-glow-two { width: 420px; height: 420px; right: -180px; top: 260px; background: rgba(20,184,166,.16); }
.processing-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 42px; }
.processing-brand { color: #fff; font-size: 1.25rem; font-weight: 900; letter-spacing: -.04em; }
.processing-brand span { color: #5eead4; }
.processing-secure { color: #94a3b8; font-size: .72rem; }
.secure-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #34d399; box-shadow: 0 0 12px #34d399; }
.processing-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 22px; align-items: stretch; }
.processing-main-card, .processing-preview-card { border: 1px solid rgba(148,163,184,.16); border-radius: 28px; background: rgba(15,23,42,.78); box-shadow: 0 24px 70px rgba(0,0,0,.2); backdrop-filter: blur(18px); }
.processing-main-card { padding: 40px; }
.processing-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #5eead4; font-size: .67rem; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.eyebrow-pulse { width: 8px; height: 8px; border-radius: 50%; background: #5eead4; box-shadow: 0 0 0 0 rgba(94,234,212,.7); animation: processingPulse 1.8s infinite; }
.processing-title-row { display: flex; gap: 25px; align-items: flex-start; margin: 22px 0 30px; }
.processing-title-row h1 { max-width: 620px; color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.03; letter-spacing: -.055em; margin: 0 0 16px; }
.processing-title-row p { max-width: 590px; color: #94a3b8; font-size: .98rem; line-height: 1.7; margin: 0; }
.processing-ai-orb { width: 78px; height: 78px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(94,234,212,.35); border-radius: 26px; color: #fff; font-size: 2rem; background: linear-gradient(135deg, #4f46e5, #0f766e); box-shadow: 0 0 40px rgba(20,184,166,.25); animation: orbFloat 4s ease-in-out infinite; }
.processing-progress-card { padding: 18px; border: 1px solid rgba(99,102,241,.3); border-radius: 18px; background: rgba(30,41,59,.7); }
.processing-progress-head, .processing-progress-meta { display: flex; justify-content: space-between; gap: 12px; }
.processing-progress-head { color: #fff; font-size: .83rem; margin-bottom: 12px; }
.processing-progress-head span { color: #5eead4; font-weight: 800; }
.processing-progress-track { height: 10px; overflow: hidden; border-radius: 99px; background: #1e293b; }
.processing-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6366f1, #2dd4bf); box-shadow: 0 0 18px rgba(45,212,191,.6); transition: width .5s ease; }
.processing-progress-meta { color: #64748b; font-size: .65rem; margin-top: 9px; }
.processing-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0; }
.processing-step { display: flex; align-items: flex-start; gap: 11px; min-height: 78px; padding: 14px; border: 1px solid rgba(148,163,184,.13); border-radius: 16px; opacity: .45; transition: .4s ease; }
.processing-step.active { opacity: 1; border-color: rgba(99,102,241,.65); background: rgba(49,46,129,.25); transform: translateY(-2px); }
.processing-step.done { opacity: 1; border-color: rgba(45,212,191,.45); background: rgba(15,118,110,.15); }
.step-check { width: 27px; height: 27px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: #94a3b8; background: #1e293b; font-size: .62rem; font-weight: 800; }
.processing-step.active .step-check { color: #fff; background: #4f46e5; box-shadow: 0 0 16px rgba(99,102,241,.55); }
.processing-step.done .step-check { color: #042f2e; background: #5eead4; font-size: 0; }
.processing-step.done .step-check::after { content: '✓'; font-size: .8rem; }
.processing-step strong, .processing-step small { display: block; }
.processing-step strong { color: #e2e8f0; font-size: .78rem; margin-bottom: 4px; }
.processing-step small { color: #64748b; font-size: .68rem; line-height: 1.4; }
.processing-tip { display: flex; gap: 10px; align-items: flex-start; padding-top: 18px; border-top: 1px solid rgba(148,163,184,.13); color: #94a3b8; }
.processing-tip > span { color: #5eead4; }
.processing-tip p { margin: 0; font-size: .75rem; }
.processing-tip strong { color: #cbd5e1; }
.processing-preview-card { padding: 20px; }
.preview-card-head, .preview-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.preview-card-head { margin-bottom: 16px; }
.preview-card-head > div { display: flex; flex-direction: column; }
.preview-kicker { color: #64748b; font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
.preview-card-head strong { color: #fff; font-size: .95rem; }
.preview-status { color: #5eead4; font-size: .65rem; }
.preview-status i { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #34d399; }
.preview-window { position: relative; height: 460px; overflow: hidden; border: 1px solid #334155; border-radius: 15px; background: #f8fafc; }
.preview-toolbar { height: 28px; display: flex; align-items: center; gap: 5px; padding: 0 10px; background: #e2e8f0; }
.preview-toolbar > span { width: 6px; height: 6px; border-radius: 50%; background: #94a3b8; }
.preview-toolbar small { margin-left: 7px; color: #64748b; font-size: .55rem; }
.resume-mockup-modern { min-height: 620px; padding: 23px; color: #475569; font-size: .58rem; background: #fff; transform: scale(.96); transform-origin: top center; }
.resume-mockup-modern.blurred { filter: blur(2.4px); opacity: .88; }
.mock-resume-header { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 2px solid #4f46e5; }
.mock-avatar { width: 46px; height: 46px; flex: 0 0 auto; border-radius: 14px; background: linear-gradient(135deg, #c7d2fe, #99f6e4); }
.mock-resume-header h2 { color: #111827; font-size: 1.05rem; margin: 0 0 2px; }
.mock-resume-header h3 { color: #4f46e5; font-size: .67rem; margin: 0 0 4px; }
.mock-resume-header p { color: #94a3b8; font-size: .47rem; margin: 0; }
.mock-resume-grid { display: grid; grid-template-columns: 1.5fr .8fr; gap: 17px; padding-top: 17px; }
.mock-section { margin-bottom: 18px; }
.mock-section > strong { display: block; color: #4f46e5; font-size: .52rem; letter-spacing: .1em; }
.mock-section > i { display: block; width: 24px; height: 2px; margin: 5px 0 8px; background: #14b8a6; }
.mock-section p { color: #64748b; font-size: .53rem; line-height: 1.55; margin: 0; }
.mock-job { margin-bottom: 11px; padding-left: 9px; border-left: 2px solid #e0e7ff; }
.mock-job b { display: block; color: #1e293b; font-size: .58rem; }
.mock-job span { display: block; color: #94a3b8; font-size: .48rem; margin: 2px 0 4px; }
.mock-job p { font-size: .5rem; }
.mock-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.mock-tags span { padding: 3px 5px; border-radius: 4px; color: #3730a3; background: #eef2ff; font-size: .48rem; }
.preview-shimmer { position: absolute; inset: 28px 0 0; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%); transform: translateX(-100%); animation: shimmer 2.8s infinite; }
.preview-foot { padding-top: 14px; color: #64748b; font-size: .65rem; }
.processing-ready { display: flex; align-items: center; gap: 16px; max-width: 760px; margin: 22px auto 0; padding: 18px 22px; border: 1px solid rgba(45,212,191,.35); border-radius: 18px; background: rgba(15,118,110,.16); opacity: 0; transform: translateY(12px); transition: .5s ease; }
.processing-ready.visible { opacity: 1; transform: translateY(0); }
.ready-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #042f2e; background: #5eead4; font-weight: 900; }
.processing-ready h2 { color: #fff; font-size: 1.05rem; margin: 3px 0; }
.processing-ready p { color: #94a3b8; font-size: .75rem; margin: 0; }
.processing-dashboard-link { margin-left: auto; flex: 0 0 auto; padding: 9px 13px; font-size: .7rem; }
.plans-modern { max-width: 1000px; margin: 56px auto 0; }
.plans-modern-heading { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; }
.plans-modern-heading h2 { color: #fff; font-size: 1.7rem; letter-spacing: -.04em; margin: 4px 0 0; }
.plans-note { padding: 7px 12px; border: 1px solid rgba(45,212,191,.3); border-radius: 99px; color: #5eead4; font-size: .65rem; }
.plans-grid-modern { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.plans-grid-modern.two-cards { grid-template-columns: repeat(2, 1fr); }
.plan-modern-card { position: relative; display: flex; flex-direction: column; min-height: 220px; padding: 24px; border: 1px solid rgba(148,163,184,.16); border-radius: 20px; color: #fff; background: rgba(15,23,42,.75); transition: .3s ease; }
.plan-modern-card:hover { transform: translateY(-7px); border-color: #5eead4; box-shadow: 0 18px 40px rgba(20,184,166,.16); }
.plan-modern-card.featured { border-color: #6366f1; background: linear-gradient(145deg, rgba(49,46,129,.85), rgba(15,118,110,.35)); box-shadow: 0 14px 34px rgba(79,70,229,.2); }
.plan-modern-label { color: #94a3b8; font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.plan-modern-card h3 { font-size: 1.15rem; margin: 12px 0 6px; }
.plan-modern-price { color: #5eead4; font-size: 2rem; font-weight: 900; letter-spacing: -.05em; }
.plan-modern-card p { min-height: 40px; color: #94a3b8; font-size: .75rem; margin: 4px 0 18px; }
.plan-modern-link { margin-top: auto; color: #fff; font-size: .75rem; font-weight: 800; }
.plan-modern-link b { color: #5eead4; font-size: 1rem; margin-left: 4px; }
.plan-modern-badge { position: absolute; top: -11px; right: 18px; padding: 4px 10px; border-radius: 99px; color: #fff; background: #6366f1; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.processing-guarantees { display: flex; justify-content: center; gap: 24px; margin-top: 20px; color: #64748b; font-size: .68rem; }
@keyframes processingPulse { 70% { box-shadow: 0 0 0 8px rgba(94,234,212,0); } 100% { box-shadow: 0 0 0 0 rgba(94,234,212,0); } }
@keyframes orbFloat { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-8px) rotate(8deg); } }
@keyframes shimmer { 100% { transform: translateX(100%); } }

/* Resume / pagamento */
.resume-page { position: relative; min-height: calc(100vh - 64px); overflow: hidden; padding: 28px 0 72px; background: linear-gradient(135deg, #f8faff 0%, #eefcfb 100%); }
.resume-page-glow { position: absolute; border-radius: 50%; filter: blur(3px); pointer-events: none; }
.resume-page-glow-one { width: 440px; height: 440px; top: -220px; left: -180px; background: rgba(99,102,241,.13); }
.resume-page-glow-two { width: 360px; height: 360px; right: -150px; top: 300px; background: rgba(20,184,166,.12); }
.resume-page-container { position: relative; z-index: 1; }
.resume-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 48px; }
.resume-brand { color: #0b1220; font-size: 1.2rem; font-weight: 900; letter-spacing: -.04em; }
.resume-brand span { color: #4f46e5; }
.resume-back { color: #64748b; font-size: .78rem; font-weight: 700; }
.resume-back:hover { color: #4f46e5; }
.resume-hero-intro { display: flex; justify-content: space-between; align-items: center; gap: 28px; max-width: 980px; margin: 0 auto 34px; }
.resume-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: #0f766e; font-size: .68rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.resume-eyebrow i { width: 8px; height: 8px; border-radius: 50%; background: #14b8a6; box-shadow: 0 0 0 5px rgba(20,184,166,.12); }
.resume-hero-intro h1 { max-width: 700px; color: #0b1220; font-size: clamp(2.1rem, 5vw, 3.7rem); line-height: 1.03; letter-spacing: -.06em; margin: 14px 0 14px; }
.resume-hero-intro p { max-width: 680px; color: #64748b; font-size: .98rem; line-height: 1.7; margin: 0; }
.resume-hero-intro p strong { color: #4338ca; }
.resume-score-bubble { width: 116px; height: 116px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 8px solid #c7d2fe; border-right-color: #14b8a6; border-radius: 50%; background: #fff; box-shadow: 0 16px 35px rgba(79,70,229,.14); transform: rotate(8deg); }
.resume-score-bubble span, .resume-score-bubble small { color: #64748b; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.resume-score-bubble strong { color: #4338ca; font-size: 2.2rem; line-height: 1; }
.model-switcher { display: flex; justify-content: space-between; align-items: center; gap: 18px; max-width: 1080px; margin: 0 auto 18px; padding: 14px 18px; border: 1px solid #c7d2fe; border-radius: 18px; background: rgba(255,255,255,.78); }
.model-switcher > div:first-child { display: flex; flex-direction: column; }
.model-switcher strong { color: #1e1b4b; font-size: .82rem; }
.model-switcher span { color: #64748b; font-size: .68rem; }
.model-switcher-options { display: flex; gap: 7px; }
.model-switcher-options form { margin: 0; }
.model-choice { padding: 9px 13px; border: 1px solid #cbd5e1; border-radius: 10px; color: #64748b; background: #fff; cursor: pointer; font-size: .72rem; font-weight: 800; transition: .2s ease; }
.model-choice:hover, .model-choice.active { border-color: #4f46e5; color: #4338ca; background: #eef2ff; box-shadow: 0 5px 14px rgba(79,70,229,.12); }
.resume-unlock-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); gap: 24px; max-width: 1080px; margin: 0 auto; align-items: start; }
.resume-document-card, .resume-payment-card, .resume-content-card { border: 1px solid rgba(148,163,184,.25); border-radius: 24px; background: rgba(255,255,255,.88); box-shadow: 0 20px 55px rgba(15,23,42,.1); backdrop-filter: blur(12px); }
.resume-document-card { overflow: hidden; }
.document-toolbar { min-height: 54px; display: flex; align-items: center; gap: 14px; padding: 0 20px; border-bottom: 1px solid #e2e8f0; background: rgba(248,250,252,.9); }
.document-toolbar > div { display: flex; gap: 5px; }
.document-toolbar > div span { width: 8px; height: 8px; border-radius: 50%; background: #cbd5e1; }
.document-toolbar strong { flex: 1; color: #334155; font-size: .8rem; }
.document-toolbar small { color: #4f46e5; font-size: .6rem; font-weight: 900; letter-spacing: .1em; }
.resume-preview { position: relative; min-height: 560px; overflow: hidden; padding: 38px 48px; color: #475569; background: #fff; }
.resume-preview.blurred { max-height: 560px; filter: blur(3px); }
.resume-preview-lock { position: absolute; z-index: 2; top: 42%; left: 50%; display: flex; flex-direction: column; align-items: center; gap: 5px; width: 210px; padding: 18px; border: 1px solid rgba(99,102,241,.18); border-radius: 18px; background: rgba(255,255,255,.84); box-shadow: 0 12px 30px rgba(15,23,42,.12); transform: translate(-50%, -50%); filter: blur(0); text-align: center; }
.lock-circle { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(135deg,#4f46e5,#14b8a6); font-size: 1.3rem; }
.resume-preview-lock strong { color: #111827; font-size: .78rem; }
.resume-preview-lock span { color: #64748b; font-size: .64rem; }
.document-footer { display: flex; justify-content: space-between; padding: 13px 20px; border-top: 1px solid #e2e8f0; color: #64748b; font-size: .65rem; }
.resume-payment-card { position: sticky; top: 88px; padding: 28px; }
.payment-card-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.payment-kicker { color: #4f46e5; font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.payment-secure { color: #0f766e; font-size: .65rem; font-weight: 800; }
.resume-payment-card h2 { color: #0b1220; font-size: 1.55rem; letter-spacing: -.04em; margin: 0 0 6px; }
.payment-intro { color: #64748b; font-size: .78rem; margin: 0 0 20px; }
.selected-plan { display: flex; justify-content: space-between; align-items: center; padding: 15px; border: 1px solid #c7d2fe; border-radius: 15px; background: linear-gradient(135deg,#eef2ff,#f0fdfa); }
.selected-plan div { display: flex; flex-direction: column; }
.selected-plan span { color: #64748b; font-size: .62rem; }
.selected-plan strong { color: #312e81; font-size: .9rem; }
.selected-plan b { color: #0f766e; font-size: 1.35rem; }
.payment-benefits { list-style: none; padding: 0; margin: 20px 0; }
.payment-benefits li { padding: 7px 0; color: #475569; font-size: .75rem; }
.payment-benefits li::first-letter { color: #14b8a6; }
.payment-main-button { width: 100%; min-height: 56px; font-size: .9rem; }
.payment-main-button span { font-size: 1.2rem; }
.payment-note { display: block; margin-top: 12px; color: #94a3b8; font-size: .62rem; text-align: center; }
.pix-payload { margin-top: 16px; padding-top: 16px; border-top: 1px solid #e2e8f0; text-align: center; }
.pix-generated { display: flex; flex-direction: column; gap: 5px; margin-bottom: 13px; }
.pix-generated strong { color: #334155; font-size: .78rem; }
.pix-qr { display: block; width: 180px; height: 180px; margin: 0 auto 14px; padding: 8px; border: 1px solid #e2e8f0; border-radius: 14px; background: #fff; }
.pix-copy-label { display: block; color: #64748b; font-size: .65rem; font-weight: 700; text-align: left; }
.pix-copy { width: 100%; min-height: 75px; resize: none; margin: 6px 0 8px; padding: 10px; border: 1px solid #cbd5e1; border-radius: 10px; color: #475569; font-size: .65rem; }
.pix-copy-button, .pix-ticket { width: 100%; margin-top: 7px; }
.payment-status { color: #0f766e; font-size: .72rem; font-weight: 700; }
.resume-trust-row { display: flex; justify-content: center; gap: 26px; margin-top: 22px; color: #64748b; font-size: .68rem; }
.unlocked-intro { margin-bottom: 24px; }
.unlocked-score { border-color: #99f6e4; }
.unlocked-actions { display: flex; justify-content: center; gap: 12px; margin-bottom: 22px; }
.adjust-box-modern { display: flex; gap: 10px; max-width: 700px; margin: 0 auto 22px; padding: 15px; border: 1px solid #c7d2fe; border-radius: 16px; background: #fff; }
.adjust-box-modern textarea { flex: 1; resize: vertical; min-height: 64px; border: 1px solid #dbe3ef; border-radius: 10px; padding: 10px; }
.resume-content-card { max-width: 860px; margin: 0 auto; overflow: hidden; }
.resume-content { padding: 48px; color: #334155; background: #fff; }
.resume-content h1 { color: #111827; font-size: 2rem; }
.resume-content h2 { color: #4338ca; border-bottom: 2px solid #99f6e4; padding-bottom: 5px; }
.resume-content p, .resume-content li { line-height: 1.7; }
.resume-fallback { max-width: 760px; margin: 0 auto; color: #334155; font-family: Arial, sans-serif; }.resume-fallback header { border-bottom: 3px solid #14b8a6; padding-bottom: 18px; }.resume-fallback h1 { color: #111827; margin: 0; }.resume-fallback h2 { color: #4338ca; border: 0; margin: 4px 0; }.resume-fallback h3 { color: #4338ca; font-size: .8rem; text-transform: uppercase; margin-top: 22px; }.resume-fallback p { color: #475569; line-height: 1.7; }
.fake-resume { max-width: 760px; margin: 0 auto; color: #334155; font-family: Arial, sans-serif; }
.fake-resume header h1 { margin: 0; color: #111827; font-size: 2rem; }
.fake-resume header h2 { margin: 4px 0 7px; color: #4f46e5; font-size: 1rem; border: 0; }
.fake-resume header p, .fake-resume section p { color: #64748b; font-size: .86rem; }
.fake-resume section { margin: 22px 0; }
.fake-resume section h3 { margin: 0 0 8px; color: #4338ca; font-size: .78rem; text-transform: uppercase; letter-spacing: .09em; }
.fake-resume-modern header { display: flex; justify-content: space-between; border-bottom: 3px solid #14b8a6; padding-bottom: 18px; }
.resume-badge { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg,#4f46e5,#14b8a6); font-weight: 900; }
.fake-resume-columns { display: grid; grid-template-columns: 1.6fr .9fr; gap: 28px; }
.fake-resume-modern aside { padding-left: 20px; border-left: 1px solid #e2e8f0; }
.fake-resume-classic { font-family: Georgia, serif; }
.fake-resume-classic header { padding-bottom: 18px; border-bottom: 1px solid #334155; text-align: center; }
.fake-resume-classic header h2, .fake-resume-classic section h3 { color: #334155; }
.fake-resume-classic section { border-bottom: 1px solid #e2e8f0; padding-bottom: 14px; }

/* Auth */
.auth-split { display: grid; grid-template-columns: 1fr 1fr; min-height: calc(100vh - 64px); }
.auth-left { background: #f8fafc; padding: 64px; display: flex; flex-direction: column; justify-content: center; }
.logo-auth { font-size: 1.5rem; font-weight: 800; color: #0f172a; text-decoration: none; margin-bottom: 48px; }
.logo-auth span { color: var(--blue-600); }
.auth-tag { color: #64748b; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.08em; margin-bottom: 16px; }
.auth-left h1 { font-size: 2.8rem; color: #0f172a; line-height: 1.15; margin: 0 0 16px; }
.auth-left p { color: #475569; font-size: 1.05rem; margin: 0 0 24px; }
.auth-benefits { list-style: none; padding: 0; margin: 0; color: #334155; }
.auth-benefits li { margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.auth-benefits li::before { content: '●'; color: var(--blue-600); font-size: 0.6rem; }
.auth-right { display: flex; align-items: center; justify-content: center; padding: 40px; }
.auth-box { width: 100%; max-width: 420px; }
.auth-box h2 { font-size: 1.8rem; color: #0f172a; margin: 0 0 6px; }
.auth-sub { color: #64748b; margin: 0 0 24px; font-size: 0.95rem; }
.auth-error { background: #fee2e2; color: #991b1b; padding: 12px; border-radius: 10px; margin-bottom: 16px; font-size: 0.9rem; }
.btn-google { width: 100%; background: #fff; border: 1px solid var(--border); color: #334155; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px; border-radius: 10px; font-weight: 600; cursor: pointer; }
.btn-google:disabled { opacity: 0.6; cursor: not-allowed; }
.auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: #94a3b8; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.05em; }
.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.auth-switch { text-align: center; color: #475569; margin-bottom: 20px; }
.auth-switch a { color: var(--blue-600); font-weight: 700; text-decoration: none; }
.auth-form { display: flex; flex-direction: column; gap: 16px; }
.auth-form label { color: #334155; font-weight: 600; font-size: 0.9rem; }
.auth-form input { width: 100%; padding: 14px; margin-top: 6px; border: 1px solid #d1d5db; border-radius: 10px; font-family: inherit; font-size: 1rem; }
.auth-form input:focus { outline: none; border-color: var(--blue-600); box-shadow: 0 0 0 3px rgba(37,99,235,0.12); }
.auth-form .btn { padding: 14px; }
.auth-help { margin-top: 24px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 14px; color: #166534; font-size: 0.85rem; display: flex; align-items: flex-start; gap: 10px; }

/* Dashboard */
.dashboard { display: grid; grid-template-columns: 260px 1fr; min-height: calc(100vh - 64px); }
.dashboard-sidebar { background: #f8fafc; border-right: 1px solid var(--border); padding: 24px; }
.sidebar-user { display: flex; align-items: center; gap: 12px; margin-bottom: 32px; }
.user-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--blue-600); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.user-info strong { display: block; color: #0f172a; font-size: 0.9rem; }
.user-info span { color: #94a3b8; font-size: 0.75rem; }
.sidebar-nav { display: flex; flex-direction: column; gap: 4px; margin-bottom: 32px; }
.sidebar-nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 8px; color: #475569; text-decoration: none; font-size: 0.9rem; font-weight: 500; }
.sidebar-nav a:hover, .sidebar-nav a.active { background: #e2e8f0; color: #0f172a; }
.sidebar-pro { background: linear-gradient(135deg, var(--blue-600), #1e3a8a); color: #fff; border-radius: 16px; padding: 20px; }
.sidebar-pro h4 { margin: 0 0 12px; }
.sidebar-pro ul { list-style: none; padding: 0; margin: 0 0 16px; font-size: 0.85rem; }
.sidebar-pro li { margin-bottom: 8px; }
.sidebar-pro small { display: block; margin-top: 10px; font-size: 0.75rem; opacity: 0.8; }
.dashboard-main { padding: 32px; background: #f1f5f9; }
.panel-hero { background: linear-gradient(135deg, var(--blue-600), #1e3a8a); color: #fff; border-radius: 20px; padding: 40px; display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.panel-hero h1 { font-size: 2rem; margin: 0 0 10px; }
.panel-hero p { max-width: 520px; opacity: 0.9; margin: 0 0 20px; }
.panel-tag { display: block; font-size: 0.75rem; letter-spacing: 0.1em; margin-bottom: 8px; opacity: 0.8; }
.panel-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.btn-light { background: #fff; color: var(--blue-600); border: none; padding: 10px 18px; border-radius: 8px; font-weight: 600; }
.btn-outline-light { background: rgba(255,255,255,0.1); color: #fff; border: 1px solid rgba(255,255,255,0.3); padding: 10px 18px; border-radius: 8px; font-weight: 600; }
.panel-completion { background: rgba(255,255,255,0.15); border-radius: 12px; padding: 16px 24px; text-align: center; }
.panel-completion span { display: block; font-size: 0.7rem; letter-spacing: 0.05em; opacity: 0.8; }
.panel-completion strong { font-size: 2rem; }
.panel-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 24px; }
.panel-card { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.card-label { color: #94a3b8; font-size: 0.8rem; display: block; margin-bottom: 8px; }
.card-value { font-size: 2.4rem; color: #0f172a; display: block; }
.panel-card p { color: #64748b; margin: 8px 0 0; font-size: 0.9rem; }
.panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.panel-section { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.panel-section h2 { margin: 0 0 16px; font-size: 1.2rem; color: #0f172a; }
.panel-list { display: flex; flex-direction: column; gap: 16px; }
.panel-item { display: flex; gap: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 12px; text-decoration: none; color: inherit; transition: border-color 0.2s, box-shadow 0.2s; }
.panel-item:hover { border-color: var(--blue-500); box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.panel-empty { color: #64748b; font-size: 0.9rem; }
.panel-empty a { color: var(--blue-600); text-decoration: underline; }
.item-icon { font-size: 1.4rem; }
.item-body strong { color: #0f172a; font-size: 0.95rem; }
.item-body p { color: #64748b; font-size: 0.85rem; margin: 4px 0 0; }
.quick-action { margin-top: 24px; border: 1px solid var(--border); border-radius: 16px; padding: 20px; position: relative; }
.qa-tag { font-size: 0.7rem; letter-spacing: 0.05em; color: #94a3b8; }
.quick-action h3 { margin: 4px 0 6px; color: #0f172a; }
.quick-action p { color: #64748b; font-size: 0.9rem; margin: 0 0 16px; }
.qa-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.qa-completion { position: absolute; top: 20px; right: 20px; text-align: center; }
.qa-completion span { display: block; font-size: 0.6rem; color: #94a3b8; }
.qa-completion strong { font-size: 1.4rem; color: #0f172a; }

@media (max-width: 1024px) {
    .cv-showcase { gap: 20px; }
    .cv-card { width: 220px; }
    .cv-center { width: 260px; }
    .cv-left { transform: translateX(-40px) rotateY(3deg) rotateZ(-2deg); }
    .cv-right { transform: translateX(40px) rotateY(-3deg) rotateZ(2deg); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
    .landing-reveal { opacity: 1; transform: none; }
}

@media (max-width: 768px) {
    .mobile-only { display: flex; }
    .hidden-mobile { display: none; }
    .hero-lp h1 { font-size: 2.2rem; }
    .cv-showcase { flex-direction: column; align-items: center; padding-bottom: 80px; }
    .cv-card { width: 90%; max-width: 340px; transform: none !important; filter: none !important; }
    .cv-left, .cv-right { display: none; }
    .stats-grid-lp { grid-template-columns: 1fr; gap: 24px; }
    .why-cards-lp { grid-template-columns: 1fr; }
    .why-ats-title { font-size: 1.8rem; }
    .errors-lp-body { flex-direction: column; }
    .error-badges { width: 100%; }
    .error-cv { width: 90%; }
    .testimonial-columns { grid-template-columns: 1fr; }
    .hidden-lg { display: none; }
    .pricing-grid-lp { grid-template-columns: 1fr; }
    .footer-lp-grid { grid-template-columns: 1fr; }
    .dashboard { grid-template-columns: 1fr; }
    .dashboard-sidebar { display: none; }
    .panel-grid { grid-template-columns: 1fr; }
    .auth-split { grid-template-columns: 1fr; }
    .auth-left { padding: 40px; }
    .profile-heading-row { align-items: flex-start; }
    .profile-heading-row .step-title { font-size: 1.35rem; }
    .profile-completion { min-width: 66px; }
    .profile-import-modern { align-items: flex-start; flex-wrap: wrap; }
    .profile-import-modern div:nth-child(2) { min-width: calc(100% - 55px); }
    .profile-import-modern .btn { margin-left: 52px; }
    .profile-quick-grid { grid-template-columns: 1fr; }
    .profile-actions { flex-direction: column-reverse; }
    .profile-actions .btn { max-width: none; }
    .processing-modern { padding-top: 18px; }
    .processing-topbar { margin-bottom: 26px; }
    .processing-layout { grid-template-columns: 1fr; }
    .processing-main-card { padding: 24px 18px; }
    .processing-title-row { gap: 10px; }
    .processing-title-row h1 { font-size: 2.2rem; }
    .processing-ai-orb { width: 54px; height: 54px; border-radius: 18px; font-size: 1.4rem; }
    .processing-steps { grid-template-columns: 1fr; }
    .preview-window { height: 360px; }
    .plans-modern { margin-top: 38px; }
    .plans-modern-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .plans-grid-modern { grid-template-columns: 1fr; }
    .processing-guarantees { flex-wrap: wrap; gap: 10px 18px; }
    .processing-ready { align-items: flex-start; flex-wrap: wrap; }
    .processing-dashboard-link { margin-left: 58px; }
    .resume-page { padding-top: 18px; }
    .resume-topbar { margin-bottom: 30px; }
    .resume-hero-intro { align-items: flex-start; }
    .resume-hero-intro h1 { font-size: 2.35rem; }
    .resume-score-bubble { width: 86px; height: 86px; border-width: 6px; }
    .resume-score-bubble strong { font-size: 1.6rem; }
    .resume-unlock-layout { grid-template-columns: 1fr; }
    .resume-payment-card { position: static; padding: 22px 18px; }
    .resume-preview { min-height: 480px; padding: 25px 18px; }
    .resume-trust-row { flex-wrap: wrap; gap: 10px 18px; }
    .unlocked-actions, .adjust-box-modern { flex-direction: column; }
    .unlocked-actions .btn, .adjust-box-modern .btn { width: 100%; }
    .resume-content { padding: 26px 20px; }
    .model-switcher { align-items: flex-start; flex-direction: column; }
    .model-switcher-options { width: 100%; }
    .model-switcher-options form { flex: 1; }
    .model-choice { width: 100%; }
    .fake-resume-columns { grid-template-columns: 1fr; gap: 12px; }
    .fake-resume-modern aside { padding-left: 0; border-left: 0; }
}

/* Tema escuro da landing page */
.landing-page { background: #070b16; }
.landing-page .header-lp { border-bottom-color: rgba(148,163,184,.16); background: rgba(7,11,22,.88); }
.landing-page .logo-lp { color: #f8fafc; }
.landing-page .logo-lp span { color: #a3e635; }
.landing-page .nav-lp-links a { color: #94a3b8; }
.landing-page .nav-lp-links a:hover { color: #fff; }
.landing-page .nav-lp-login { color: #f8fafc !important; padding: 8px 13px; border: 1px solid rgba(163,230,53,.45); border-radius: 10px; }
.landing-page .nav-lp-login:hover { color: #a3e635 !important; background: rgba(163,230,53,.08); }
.landing-page .btn-lp-primary { color: #07110a; background: linear-gradient(135deg,#bef264,#22c55e); box-shadow: 0 8px 26px rgba(132,204,22,.28); font-weight: 900; }
.landing-page .btn-lp-primary:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 14px 34px rgba(132,204,22,.4); }
.landing-page .hero-lp { background: radial-gradient(circle at 50% 8%, rgba(79,70,229,.32), transparent 35%), linear-gradient(180deg,#070b16 0%,#0b1220 78%,#0f172a 100%); }
.landing-page .hero-lp::before { background: rgba(99,102,241,.18); }
.landing-page .hero-lp::after { background: rgba(20,184,166,.14); }
.landing-page .hero-dots { background-image: radial-gradient(circle,rgba(148,163,184,.34) 1px,transparent 1px); }
.landing-page .hero-pill { color: #cbd5e1; background: rgba(15,23,42,.72); border-color: rgba(163,230,53,.3); }
.landing-page .hero-pill-badge { color: #07110a; background: #a3e635; }
.landing-page .hero-pill-arrow { color: #a3e635; }
.landing-page .text-blue-500 { color: #a3e635; }
.landing-page .section-line { background: rgba(163,230,53,.45); }
.landing-page .hero-lp h1 .text-navy { color: #f8fafc; }
.landing-page .hero-lp h1 .text-blue-500 { color: #a3e635; }
.landing-page .hero-lp-sub { color: #94a3b8; }
.landing-page .btn-blue-glow { color: #07110a; background: linear-gradient(135deg,#bef264,#22c55e); box-shadow: 0 12px 30px rgba(132,204,22,.28); font-weight: 900; }
.landing-page .btn-blue-glow:hover { box-shadow: 0 18px 42px rgba(132,204,22,.48); }
.landing-page .btn-navy-ghost { color: #e2e8f0; border: 1px solid rgba(148,163,184,.28); border-radius: 12px; background: rgba(15,23,42,.5); }
.landing-page .btn-navy-ghost:hover { color: #a3e635; border-color: #a3e635; }
.landing-page .cv-card { border-color: #334155; background: #111827; color: #94a3b8; box-shadow: 0 14px 40px rgba(0,0,0,.35); }
.landing-page .cv-card h4, .landing-page .cv-exp strong { color: #f8fafc; }
.landing-page .cv-summary, .landing-page .cv-exp li { color: #94a3b8; }
.landing-page .cv-skills span { color: #cbd5e1; background: #1e293b; }
.landing-page .cv-score-val { color: #a3e635; }
.landing-page .hero-fade-bottom { background: linear-gradient(to top,#0f172a,transparent); }
.landing-page .stats-lp, .landing-page .why-ats-lp, .landing-page .testimonials-lp, .landing-page .pricing-lp, .landing-page .faq-lp { background: #0f172a; }
.landing-page .stats-grid-lp p, .landing-page .why-ats-title, .landing-page .errors-lp-header h2, .landing-page .testimonials-lp h2, .landing-page .pricing-lp h2, .landing-page .faq-lp h2 { color: #f8fafc; }
.landing-page .stats-grid-lp span, .landing-page .hero-fade-bottom { color: #94a3b8; }
.landing-page .why-ats-lp::before { background: radial-gradient(circle at 50% 40%,rgba(79,70,229,.16),transparent 60%); }
.landing-page .ats-explain, .landing-page .why-card-lp, .landing-page .testimonial-card, .landing-page .pricing-card-lp { border-color: rgba(148,163,184,.17); background: #111827; box-shadow: 0 14px 36px rgba(0,0,0,.18); }
.landing-page .ats-explain-header, .landing-page .why-card-lp h3, .landing-page .testimonial-card strong, .landing-page .plan-label, .landing-page .plan-price, .landing-page .plan-price-free, .landing-page .pricing-card-lp li, .landing-page .faq-item summary { color: #f8fafc; }
.landing-page .ats-explain p, .landing-page .why-card-lp p, .landing-page .testimonial-card blockquote, .landing-page .pricing-lp > p, .landing-page .plan-desc, .landing-page .faq-item p { color: #94a3b8; }
.landing-page .why-card-lp:hover { border-color: rgba(163,230,53,.55); box-shadow: 0 16px 38px rgba(132,204,22,.12); }
.landing-page .why-card-icon { color: #a3e635; background: rgba(163,230,53,.12); }
.landing-page .errors-lp { background: #0b1220; }
.landing-page .error-badge { border-color: rgba(248,113,113,.3); background: rgba(127,29,29,.28); }
.landing-page .error-score { background: #111827; }
.landing-page .errors-lp-footer p, .landing-page .errors-scroll-hint { color: #94a3b8; }
.landing-page .reject-cta-lp { background: #0b1220; }
.landing-page .reject-box-lp { border-color: rgba(163,230,53,.28); background: linear-gradient(135deg,#172554,#0f172a,#064e3b); }
.landing-page .reject-box-lp h3 { color: #f8fafc; }
.landing-page .pricing-card-lp.pro { border-color: #a3e635; background: linear-gradient(145deg,#172554,#111827); }
.landing-page .pro-badge { color: #07110a; background: #a3e635; }
.landing-page .credit-row { border-color: rgba(148,163,184,.2); background: #0f172a; }
.landing-page .credit-row strong, .landing-page .credit-price { color: #f8fafc; }
.landing-page .btn-outline-navy { border-color: rgba(148,163,184,.28); color: #e2e8f0; background: transparent; }
.landing-page .btn-outline-navy:hover { border-color: #a3e635; background: rgba(163,230,53,.08); }
.landing-page .faq-item summary, .landing-page .faq-item p { background: #111827; }
.landing-page .faq-item summary::after { color: #a3e635; }
.landing-page .final-cta-lp { background: #0f172a; }
.landing-page .final-cta-lp-inner { border: 1px solid rgba(163,230,53,.18); background: radial-gradient(circle at 50% 0%,#1e3a8a,#0b1220 65%); }
.landing-page .final-cta-lp h2 { color: #f8fafc; }
.landing-page .final-cta-lp h2 .text-blue-400 { color: #a3e635; }
.landing-page .final-cta-lp p { color: #94a3b8; }
.landing-page .footer-lp { background: #070b16; }
@media (max-width: 768px) {
    .landing-page .hero-lp-cta { width: 100%; flex-direction: column; }
    .landing-page .hero-lp-cta .btn { width: 100%; }
}

/* Tema escuro para login e cadastro */
.auth-page { background: #070b16; }
.auth-page .header-lp { border-bottom-color: rgba(148,163,184,.16); background: rgba(7,11,22,.9); }
.auth-page .logo-lp { color: #f8fafc; }
.auth-page .logo-lp span { color: #a3e635; }
.auth-page .nav-lp-links a { color: #94a3b8; }
.auth-page .nav-lp-links a:hover { color: #fff; }
.auth-page .nav-lp-login { color: #f8fafc !important; }
.auth-page .auth-split { background: #070b16; }
.auth-page .auth-left { position: relative; overflow: hidden; background: radial-gradient(circle at 20% 15%,rgba(79,70,229,.38),transparent 40%),linear-gradient(145deg,#111827,#0f172a); }
.auth-page .auth-left::after { content: ''; position: absolute; width: 280px; height: 280px; right: -130px; bottom: -130px; border: 1px solid rgba(163,230,53,.22); border-radius: 50%; box-shadow: 0 0 0 25px rgba(163,230,53,.04),0 0 0 50px rgba(163,230,53,.03); }
.auth-page .logo-auth { color: #f8fafc; }
.auth-page .logo-auth span { color: #a3e635; }
.auth-page .auth-tag { color: #a3e635; }
.auth-page .auth-left h1 { color: #f8fafc; }
.auth-page .auth-left p, .auth-page .auth-benefits { color: #94a3b8; }
.auth-page .auth-benefits li::before { color: #a3e635; }
.auth-page .auth-right { background: #070b16; }
.auth-page .auth-box { padding: 34px; border: 1px solid rgba(148,163,184,.18); border-radius: 24px; background: rgba(15,23,42,.82); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.auth-page .auth-box h2 { color: #f8fafc; }
.auth-page .auth-sub, .auth-page .auth-switch { color: #94a3b8; }
.auth-page .auth-switch a { color: #a3e635; }
.auth-page .auth-divider { color: #64748b; }
.auth-page .auth-divider::before, .auth-page .auth-divider::after { background: rgba(148,163,184,.18); }
.auth-page .auth-form label { color: #cbd5e1; }
.auth-page .auth-form input { color: #f8fafc; border-color: #334155; background: #0b1220; }
.auth-page .auth-form input::placeholder { color: #64748b; }
.auth-page .auth-form input:focus { border-color: #a3e635; box-shadow: 0 0 0 3px rgba(163,230,53,.13); }
.auth-page .auth-form .btn-primary { color: #07110a; background: linear-gradient(135deg,#bef264,#22c55e); box-shadow: 0 12px 30px rgba(132,204,22,.25); }
.auth-page .btn-google { color: #e2e8f0; border-color: #334155; background: #111827; }
.auth-page .auth-help { color: #99f6e4; border-color: rgba(45,212,191,.25); background: rgba(15,118,110,.16); }
@media (max-width: 768px) {
    .auth-page .auth-box { padding: 24px 18px; }
}
.dashboard-feedback { margin-top: 24px; padding: 24px; border: 1px solid var(--border); border-radius: 16px; background: #fff; box-shadow: 0 4px 12px rgba(0,0,0,.04); }
.dashboard-feedback h2 { margin: 4px 0; color: #0f172a; font-size: 1.25rem; }
.dashboard-feedback p { margin: 0 0 18px; color: #64748b; font-size: .88rem; }
.feedback-success { margin: 12px 0; padding: 10px 12px; border-radius: 9px; color: #166534; background: #dcfce7; font-size: .85rem; }
.likert-form { display: grid; gap: 14px; }
.likert-question { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 13px 0; border-top: 1px solid var(--border); }
.likert-question strong { color: #334155; font-size: .86rem; }
.likert-options { display: flex; gap: 6px; }
.likert-options label { cursor: pointer; }
.likert-options input { position: absolute; opacity: 0; }
.likert-options span { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #cbd5e1; border-radius: 50%; color: #64748b; font-size: .75rem; font-weight: 700; }
.likert-options input:checked + span, .likert-options span:hover { color: #fff; border-color: var(--blue-600); background: var(--blue-600); }
.likert-form > input[type="text"] { width: 100%; padding: 12px; border: 1px solid #dbe3ef; border-radius: 10px; }
@media (max-width: 768px) { .likert-question { align-items: flex-start; flex-direction: column; gap: 10px; } }
.admin-page-body .footer-lp, .logged-in .footer-lp { display: none; }
.admin-page-body { background: #080d1c; }
.admin-page { min-height: calc(100vh - 64px); color: #e2e8f0; background: #080d1c; }
.admin-shell { display: grid; grid-template-columns: 250px 1fr; min-height: calc(100vh - 64px); }
.admin-sidebar { position: sticky; top: 64px; align-self: start; display: flex; flex-direction: column; height: calc(100vh - 64px); overflow-y: auto; padding: 28px 18px; border-right: 1px solid rgba(148,163,184,.14); background: #0b1220; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.admin-sidebar::-webkit-scrollbar { width: 6px; }
.admin-sidebar::-webkit-scrollbar-thumb { border-radius: 99px; background: #334155; }
.admin-logo { color: #f8fafc; font-size: 1.2rem; font-weight: 900; letter-spacing: -.04em; }
.admin-logo span { color: #a3e635; }
.admin-label, .admin-kicker { color: #64748b; font-size: .62rem; font-weight: 900; letter-spacing: .13em; }
.admin-label { margin: 48px 12px 12px; }
.admin-sidebar nav { display: grid; gap: 5px; }
.admin-sidebar nav a { padding: 11px 12px; border-radius: 10px; color: #94a3b8; font-size: .8rem; font-weight: 700; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.active { color: #f8fafc; background: rgba(99,102,241,.2); }
.admin-user { display: flex; align-items: center; gap: 10px; margin-top: auto; padding: 14px 0; border-top: 1px solid rgba(148,163,184,.14); }
.admin-user > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; color: #07110a; background: #a3e635; font-size: .55rem; font-weight: 900; }
.admin-user strong, .admin-user small { display: block; }
.admin-user strong { color: #f8fafc; font-size: .75rem; }
.admin-user small { color: #64748b; font-size: .62rem; }
.admin-logout { color: #64748b; font-size: .72rem; }
.admin-main { padding: 38px; background: radial-gradient(circle at 85% 0%,rgba(79,70,229,.18),transparent 32%),#080d1c; }
.admin-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 30px; }
.admin-header h1 { color: #fff; font-size: 2.2rem; letter-spacing: -.05em; margin: 6px 0; }
.admin-header p { color: #94a3b8; font-size: .85rem; margin: 0; }
.admin-header .btn-outline { color: #e2e8f0; border-color: #334155; background: rgba(15,23,42,.7); }
.admin-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 18px; }
.admin-metric { position: relative; padding: 20px; overflow: hidden; border: 1px solid rgba(148,163,184,.14); border-radius: 18px; background: rgba(15,23,42,.78); }
.admin-metric::after { content: ''; position: absolute; right: -28px; bottom: -38px; width: 110px; height: 110px; border-radius: 50%; background: rgba(99,102,241,.12); }
.metric-icon { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 10px; font-size: .65rem; font-weight: 900; }
.metric-icon.violet { color: #c4b5fd; background: rgba(139,92,246,.18); }.metric-icon.blue { color: #93c5fd; background: rgba(59,130,246,.18); }.metric-icon.green { color: #99f6e4; background: rgba(20,184,166,.18); }.metric-icon.orange { color: #fdba74; background: rgba(249,115,22,.18); }
.admin-metric small { display: block; color: #64748b; font-size: .58rem; font-weight: 900; letter-spacing: .1em; }.admin-metric strong { display: block; color: #fff; font-size: 1.65rem; margin: 6px 0; }.admin-metric em { color: #94a3b8; font-size: .65rem; font-style: normal; }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.admin-card { margin-bottom: 18px; padding: 22px; border: 1px solid rgba(148,163,184,.14); border-radius: 20px; background: rgba(15,23,42,.78); box-shadow: 0 18px 50px rgba(0,0,0,.15); }
.admin-card-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }.admin-card-title h2 { color: #f8fafc; font-size: 1.05rem; margin: 5px 0; }.admin-card-subtitle { color: #94a3b8; font-size: .75rem; margin: 0; }.admin-count, .likert-average { padding: 6px 9px; border-radius: 99px; color: #99f6e4; background: rgba(20,184,166,.12); font-size: .62rem; font-weight: 800; white-space: nowrap; }.admin-count.pending { color: #fdba74; background: rgba(249,115,22,.13); }
.admin-user-actions { display: flex; align-items: center; gap: 5px; }.admin-user-actions form { display: flex; gap: 4px; margin: 0; }.admin-user-actions input { width: 92px; padding: 5px 6px; border: 1px solid #334155; border-radius: 6px; color: #fff; background: #0b1220; font-size: .58rem; }.admin-action-button, .admin-action-danger { padding: 5px 7px; border: 0; border-radius: 6px; cursor: pointer; font-size: .58rem; font-weight: 800; }.admin-action-button { color: #07110a; background: #a3e635; }.admin-action-danger { color: #fecaca; background: rgba(127,29,29,.45); }.admin-action-danger:hover { background: #b91c1c; }
.admin-table-wrap { overflow-x: auto; }.admin-table { width: 100%; border-collapse: collapse; color: #94a3b8; font-size: .72rem; }.admin-table th { padding: 8px 5px; color: #64748b; font-size: .58rem; text-align: left; text-transform: uppercase; letter-spacing: .08em; }.admin-table td { padding: 12px 5px; border-top: 1px solid rgba(148,163,184,.1); white-space: nowrap; }.admin-table strong, .admin-table small { display: block; }.admin-table strong { color: #e2e8f0; }.admin-table small { margin-top: 3px; color: #64748b; font-size: .62rem; }.status-pill { padding: 4px 7px; border-radius: 99px; font-size: .58rem; font-weight: 800; }.status-pill.approved { color: #99f6e4; background: rgba(20,184,166,.15); }.status-pill.waiting { color: #fdba74; background: rgba(249,115,22,.15); }
.admin-progress-list { display: grid; }.admin-progress-row { display: grid; grid-template-columns: 34px 1.2fr 1.5fr 70px; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid rgba(148,163,184,.1); }.progress-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #c4b5fd; background: rgba(99,102,241,.2); font-size: .75rem; font-weight: 800; }.progress-user strong, .progress-user small, .progress-bar-wrap small { display: block; }.progress-user strong { color: #e2e8f0; font-size: .75rem; }.progress-user small { color: #64748b; font-size: .62rem; }.progress-bar { height: 6px; overflow: hidden; border-radius: 99px; background: #1e293b; }.progress-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6366f1,#2dd4bf); }.progress-bar-wrap small { color: #64748b; font-size: .58rem; margin-top: 4px; }.admin-progress-row time { color: #64748b; font-size: .6rem; text-align: right; }.admin-empty { color: #64748b; font-size: .75rem; }
.likert-admin-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }.likert-admin-layout h3 { color: #e2e8f0; font-size: .78rem; margin: 0 0 12px; }.question-admin-row, .likert-response { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid rgba(148,163,184,.1); }.question-admin-row > span { color: #cbd5e1; font-size: .74rem; }.question-status { padding: 5px 8px; border: 0; border-radius: 99px; cursor: pointer; font-size: .6rem; font-weight: 800; }.question-status.on { color: #99f6e4; background: rgba(20,184,166,.15); }.question-status.off { color: #94a3b8; background: #1e293b; }.new-question-form { display: flex; gap: 7px; margin-top: 15px; }.new-question-form input { min-width: 0; padding: 9px; border: 1px solid #334155; border-radius: 8px; color: #fff; background: #0b1220; }.new-question-form input:first-child { flex: 1; }.new-question-form input[type="number"] { width: 58px; }.new-question-form .btn { padding: 8px 10px; font-size: .68rem; }.likert-response { align-items: flex-start; }.likert-response > div { display: flex; flex-direction: column; }.likert-response strong { color: #e2e8f0; font-size: .73rem; }.likert-response small { color: #64748b; font-size: .62rem; margin-top: 3px; }.likert-response p { color: #94a3b8; font-size: .65rem; margin: 5px 0 0; }.likert-response b { padding: 5px 8px; border-radius: 8px; color: #07110a; background: #a3e635; font-size: .65rem; white-space: nowrap; }
@media (max-width: 1000px) { .admin-metrics { grid-template-columns: repeat(2,1fr); } .admin-progress-row { grid-template-columns: 34px 1fr 1fr; }.admin-progress-row time { display: none; } }
@media (max-width: 760px) { .admin-shell { grid-template-columns: 1fr; }.admin-sidebar { position: static; height: auto; overflow: visible; padding: 18px; }.admin-sidebar nav { display: flex; overflow-x: auto; }.admin-sidebar nav a { white-space: nowrap; }.admin-user { margin-top: 20px; }.admin-main { padding: 22px 16px; }.admin-header { flex-direction: column; }.admin-metrics, .admin-grid, .likert-admin-layout { grid-template-columns: 1fr; }.admin-progress-row { grid-template-columns: 34px 1fr; }.progress-bar-wrap { grid-column: 2; }.admin-card { padding: 17px; } }

/* Padrão visual do sistema: navy, índigo, turquesa e verde-lima */
.system-page { color: #e2e8f0; background: #080d1c; }
.system-page .header-lp { border-bottom-color: rgba(148,163,184,.14); background: rgba(8,13,28,.92); }
.system-page .logo-lp { color: #f8fafc; }.system-page .logo-lp span { color: #a3e635; }
.system-page .nav-lp-links a { color: #94a3b8; }.system-page .nav-lp-links a:hover { color: #fff; }
.system-page .nav-lp-login { color: #f8fafc !important; }
.system-page .footer-lp { background: #070b16; }
.system-page .quiz-section { background: radial-gradient(circle at 80% 0%,rgba(79,70,229,.18),transparent 35%),#080d1c; }
.system-page .quiz-form { border-color: rgba(148,163,184,.16); background: rgba(15,23,42,.88); box-shadow: 0 24px 70px rgba(0,0,0,.26); }
.system-page .step-title, .system-page .step-title-small, .system-page .option-card strong, .system-page .row-text strong, .system-page .section-subtitle, .system-page .final-box h4, .system-page .import-box h4 { color: #f8fafc; }
.system-page .step-hint, .system-page .option-card small, .system-page .row-text small, .system-page .section-sub-sub, .system-page .import-box p, .system-page .final-box p { color: #94a3b8; }
.system-page .option-card, .system-page .option-row, .system-page .mode-card, .system-page .model-card, .system-page .accordion, .system-page .final-box, .system-page .import-box, .system-page .quiz-tip, .system-page .social-proof.small { border-color: rgba(148,163,184,.18); color: #e2e8f0; background: #111827; }
.system-page .option-card:has(input:checked), .system-page .option-row:has(input:checked), .system-page .mode-card:has(input:checked), .system-page .model-card:has(input:checked) { border-color: #6366f1; background: rgba(79,70,229,.2); }
.system-page .form-grid label, .system-page .job-inputs label, .system-page .accordion-body label { color: #cbd5e1; }
.system-page input, .system-page textarea { color: #f8fafc; border-color: #334155; background: #0b1220; }
.system-page input::placeholder, .system-page textarea::placeholder { color: #64748b; }
.system-page input:focus, .system-page textarea:focus { border-color: #a3e635; box-shadow: 0 0 0 3px rgba(163,230,53,.13); }
.system-page .btn-primary { color: #07110a; background: linear-gradient(135deg,#bef264,#22c55e); box-shadow: 0 12px 30px rgba(132,204,22,.25); }
.system-page .btn-outline { color: #e2e8f0; border-color: #334155; background: #111827; }
.system-page .btn-outline:hover { border-color: #a3e635; background: rgba(163,230,53,.08); }
.system-page .dashboard-sidebar { border-color: rgba(148,163,184,.14); background: #0b1220; }
.system-page .sidebar-nav a { color: #94a3b8; }.system-page .sidebar-nav a:hover, .system-page .sidebar-nav a.active { color: #fff; background: rgba(99,102,241,.2); }
.system-page .user-info strong { color: #f8fafc; }.system-page .user-avatar { color: #07110a; background: #a3e635; }
.system-page .dashboard-main { background: #080d1c; }.system-page .panel-card, .system-page .panel-section { border: 1px solid rgba(148,163,184,.14); background: #0f172a; box-shadow: 0 18px 50px rgba(0,0,0,.15); }
.system-page .panel-section h2, .system-page .panel-item strong, .system-page .quick-action h3, .system-page .card-value { color: #f8fafc; }.system-page .panel-card p, .system-page .panel-item p, .system-page .quick-action p { color: #94a3b8; }.system-page .panel-item { border-color: rgba(148,163,184,.14); }
.system-page .resume-page { background: radial-gradient(circle at 85% 0%,rgba(79,70,229,.2),transparent 35%),#080d1c; }
.system-page .resume-brand, .system-page .resume-hero-intro h1, .system-page .resume-payment-card h2 { color: #f8fafc; }.system-page .resume-hero-intro p, .system-page .resume-back { color: #94a3b8; }
.system-page .resume-document-card, .system-page .resume-payment-card, .system-page .resume-content-card, .system-page .model-switcher { border-color: rgba(148,163,184,.16); background: rgba(15,23,42,.88); }.system-page .document-toolbar { border-color: rgba(148,163,184,.16); background: #111827; }.system-page .document-toolbar strong, .system-page .selected-plan strong { color: #e2e8f0; }.system-page .document-footer, .system-page .payment-intro, .system-page .payment-benefits li, .system-page .payment-note { color: #94a3b8; }.system-page .selected-plan { border-color: rgba(99,102,241,.4); background: rgba(79,70,229,.15); }.system-page .model-switcher strong { color: #f8fafc; }.system-page .model-switcher span { color: #94a3b8; }.system-page .resume-content { background: #fff; }.system-page .resume-content h3 { color: #4338ca; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; margin-top: 22px; }.system-page .resume-content strong, .system-page .resume-content b { color: #111827; font-weight: 800; }
.system-page .quiz-form input:not([type="radio"]):not([type="checkbox"]), .system-page .quiz-form textarea, .system-page .quiz-form select { color: #f8fafc !important; background: #0b1220 !important; border-color: #334155 !important; }
.system-page .quiz-form input:not([type="radio"]):not([type="checkbox"])::placeholder, .system-page .quiz-form textarea::placeholder { color: #64748b !important; opacity: 1; }
.system-page .quiz-form option { color: #f8fafc; background: #0b1220; }
.system-page .accordion summary { color: #f8fafc; }
.system-page .profile-step .profile-block label, .system-page .profile-step .profile-wide-label, .system-page .profile-step .form-grid label { color: #ffffff !important; font-weight: 800; }
.system-page .profile-step .profile-block label input, .system-page .profile-step .profile-block label textarea { color: #f8fafc !important; background: #0b1220 !important; border-color: #334155 !important; }
.system-page .profile-step .profile-block label, .system-page .profile-step .profile-wide-label, .system-page .profile-step .form-grid label { color: #0f172a !important; }
.system-page .profile-step .profile-block label input, .system-page .profile-step .profile-block label textarea { color: #0f172a !important; background: #ffffff !important; border-color: #cbd5e1 !important; }
.system-page .profile-step .profile-block label input::placeholder, .system-page .profile-step .profile-block label textarea::placeholder { color: #64748b !important; }
.system-page .profile-step .profile-block label input:focus, .system-page .profile-step .profile-block label textarea:focus { border-color: #6366f1 !important; box-shadow: 0 0 0 3px rgba(99,102,241,.14); }
.system-page .profile-quick-grid .profile-wide-label input { width: 100%; min-height: 48px; padding: 13px; color: #0f172a !important; background: #ffffff !important; border: 1px solid #cbd5e1 !important; border-radius: 12px; }
.system-page .profile-quick-grid .profile-wide-label input::placeholder { color: #64748b !important; }
.system-page .profile-quick-grid .profile-wide-label input:focus { border-color: #6366f1 !important; box-shadow: 0 0 0 3px rgba(99,102,241,.14); outline: none; }
.resume-editor-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 12px; }
.resume-tool-form { display: flex; flex-direction: column; gap: 12px; padding: 20px; border: 1px solid #334155; border-radius: 18px; background: #0f172a; min-width: 0; }
.resume-tool-form label, .resume-tool-form strong { color: #f8fafc; font-weight: 700; }
.resume-tool-form select { width: 100%; min-height: 48px; padding: 10px; border: 1px solid #475569; border-radius: 10px; background: #172554; color: #fff; font: inherit; }
.resume-tool-form select:focus-visible, .resume-tool-form button:focus-visible { outline: 2px solid #a3e635; outline-offset: 3px; }
.resume-tool-form p, .resume-editor-note { color: #cbd5e1; font-size: .85rem; margin: 0; }
.resume-editor-note { margin-bottom: 24px; }
.resume-tool-form .btn { margin-top: auto; }
.resume-tool-form button:disabled, #btnSendAdjust:disabled { opacity: .6; cursor: wait; }
.resume-document-frame { display: block; width: 100%; height: 82vh; min-height: 560px; border: 0; background: #fff; }
.resume-locked-document { position: relative; height: 580px; overflow: hidden; }
.resume-frame-blurred { filter: blur(4px); pointer-events: none; }
.resume-locked-document .resume-preview-lock { top: 50%; }
#adjustStatus { color: #cbd5e1; margin: 0; }
@media (max-width: 800px) { .resume-editor-tools { grid-template-columns: 1fr; }.resume-document-frame { min-height: 440px; }.resume-tool-form { padding: 16px; } }
.system-page .adjust-box-modern { border-color: rgba(99,102,241,.35); background: #0f172a; }
.system-page .adjust-box-modern { flex-direction: column; gap: 12px; padding: 18px; }
.system-page .adjust-box-modern textarea { width: 100%; min-height: 125px; padding: 14px; color: #f8fafc; border-color: #334155; background: #0b1220; font-size: .9rem; line-height: 1.6; }
.system-page .adjust-box-modern textarea::placeholder { color: #64748b; }
.resume-questions-page { min-height: calc(100vh - 64px); padding: 54px 0 80px; background: radial-gradient(circle at 85% 0%,rgba(79,70,229,.22),transparent 36%),#080d1c; }
.resume-questions-container { max-width: 820px; }.questions-badge { display: inline-flex; padding: 7px 11px; border-radius: 99px; color: #a3e635; background: rgba(163,230,53,.1); font-size: .62rem; font-weight: 900; letter-spacing: .1em; }.resume-questions-page h1 { max-width: 680px; color: #f8fafc; font-size: clamp(2rem,5vw,3.3rem); line-height: 1.05; letter-spacing: -.06em; margin: 18px 0 12px; }.questions-lead { max-width: 680px; color: #94a3b8; line-height: 1.7; font-size: .92rem; }.questions-benefits { display: flex; flex-wrap: wrap; gap: 10px 18px; margin: 22px 0 28px; color: #99f6e4; font-size: .7rem; font-weight: 700; }.clarification-intro { padding: 14px 16px; border: 1px solid rgba(45,212,191,.3); border-radius: 12px; color: #99f6e4; background: rgba(15,118,110,.16); font-size: .8rem; }.resume-questions-form { display: grid; gap: 14px; }.question-card { display: flex; gap: 14px; padding: 20px; border: 1px solid rgba(148,163,184,.16); border-radius: 18px; background: rgba(15,23,42,.86); }.question-card > span { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; color: #07110a; background: #a3e635; font-size: .62rem; font-weight: 900; }.question-card label { display: flex; flex: 1; flex-direction: column; gap: 6px; color: #fff; font-size: .85rem; font-weight: 800; }.question-card label small { color: #94a3b8; font-size: .7rem; font-weight: 400; line-height: 1.4; }.question-card input, .question-card textarea { width: 100%; padding: 12px; resize: vertical; border: 1px solid #334155; border-radius: 10px; color: #f8fafc; background: #0b1220; font: inherit; font-size: .82rem; }.question-card input:focus, .question-card textarea:focus { outline: none; border-color: #a3e635; box-shadow: 0 0 0 3px rgba(163,230,53,.12); }.question-card input::placeholder, .question-card textarea::placeholder { color: #64748b; }.question-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.questions-submit { width: 100%; min-height: 58px; margin-top: 8px; font-size: 1rem; }
@media (max-width: 680px) { .resume-questions-page { padding-top: 32px; }.question-grid { grid-template-columns: 1fr; }.question-card { padding: 16px; } }

.system-page .adjust-box-modern .btn { width: 100%; min-height: 52px; font-size: .95rem; }
.dashboard-sidebar { display: flex; flex-direction: column; height: calc(100vh - 64px); min-height: calc(100vh - 64px); overflow: hidden; }
.system-page .dashboard { display: block; }
.system-page .dashboard-sidebar { position: fixed; top: 64px; left: 0; z-index: 90; width: 260px; }
.system-page .dashboard-main { min-height: calc(100vh - 64px); margin-left: 260px; }
.dashboard-sidebar .sidebar-nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #334155 transparent; }
.dashboard-sidebar .sidebar-nav::-webkit-scrollbar { width: 5px; }
.dashboard-sidebar .sidebar-nav::-webkit-scrollbar-thumb { border-radius: 99px; background: #334155; }
.dashboard-sidebar .sidebar-pro { flex-shrink: 0; }
.dashboard-sidebar-account { flex-shrink: 0; margin-top: 16px; padding-top: 18px; border-top: 1px solid var(--border); }
.dashboard-logout { display: block; margin-top: 12px; color: #64748b; font-size: .75rem; font-weight: 700; text-decoration: none; }
.dashboard-logout:hover { color: var(--red-500); }
.system-page .dashboard-sidebar-account { border-color: rgba(148,163,184,.14); }
.system-page .dashboard-logout { color: #94a3b8; }.system-page .dashboard-logout:hover { color: #a3e635; }
.user-info a { text-decoration: none; }.user-info a:hover strong { color: var(--blue-500); }
.profile-page { min-height: calc(100vh - 64px); padding: 46px 0 80px; background: radial-gradient(circle at 80% 0%,rgba(79,70,229,.2),transparent 34%),#080d1c; }
.profile-container { max-width: 850px; }
.profile-back { color: #94a3b8; font-size: .78rem; font-weight: 700; }.profile-back:hover { color: #a3e635; }
.profile-header { display: flex; align-items: center; gap: 18px; margin: 42px 0 28px; }
.profile-avatar-large { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 22px; color: #07110a; background: linear-gradient(135deg,#bef264,#22c55e); font-size: 2rem; font-weight: 900; box-shadow: 0 12px 30px rgba(132,204,22,.25); }
.system-kicker { color: #5eead4; font-size: .63rem; font-weight: 900; letter-spacing: .13em; }.profile-header h1 { color: #f8fafc; font-size: 2.5rem; letter-spacing: -.05em; margin: 4px 0; }.profile-header p { color: #94a3b8; margin: 0; font-size: .85rem; }
.profile-alert { padding: 12px 14px; margin-bottom: 16px; border-radius: 12px; font-size: .8rem; }.profile-alert.error { color: #fecaca; background: rgba(127,29,29,.35); border: 1px solid rgba(248,113,113,.3); }.profile-alert.success { color: #99f6e4; background: rgba(15,118,110,.22); border: 1px solid rgba(45,212,191,.3); }
.profile-plan-card { margin-bottom: 18px; padding: 22px; border: 1px solid rgba(99,102,241,.28); border-radius: 22px; background: linear-gradient(135deg,rgba(49,46,129,.55),rgba(15,118,110,.24)); box-shadow: 0 18px 42px rgba(0,0,0,.16); }
.profile-plan-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }.profile-plan-heading h2 { color: #f8fafc; font-size: 1.35rem; margin: 5px 0; }.profile-plan-heading p { color: #94a3b8; font-size: .75rem; margin: 0; }.profile-plan-status { padding: 6px 10px; border-radius: 99px; color: #07110a; background: #a3e635; font-size: .62rem; font-weight: 900; }
.profile-plan-options { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 18px; }.profile-plan-option { display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1px solid rgba(148,163,184,.2); border-radius: 12px; color: #e2e8f0; background: rgba(15,23,42,.5); text-decoration: none; transition: .2s ease; }.profile-plan-option:hover, .profile-plan-option.featured { border-color: #a3e635; transform: translateY(-2px); }.profile-plan-option strong { font-size: .7rem; }.profile-plan-option span { color: #94a3b8; font-size: .62rem; }
.profile-card-form { padding: 28px; border: 1px solid rgba(148,163,184,.16); border-radius: 24px; background: rgba(15,23,42,.88); box-shadow: 0 24px 60px rgba(0,0,0,.22); }.profile-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 22px; }.profile-card-heading h2 { color: #f8fafc; font-size: 1.15rem; margin: 5px 0; }.profile-card-heading p { color: #94a3b8; font-size: .75rem; margin: 0; }.profile-provider { padding: 6px 10px; border-radius: 99px; color: #99f6e4; background: rgba(20,184,166,.13); font-size: .65rem; font-weight: 800; }
.profile-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.profile-fields label { color: #cbd5e1; font-size: .78rem; font-weight: 700; }.profile-fields input { width: 100%; margin-top: 6px; padding: 13px; border: 1px solid #334155; border-radius: 11px; color: #f8fafc; background: #0b1220; }.profile-fields input:focus { outline: none; border-color: #a3e635; box-shadow: 0 0 0 3px rgba(163,230,53,.12); }.profile-account-meta { margin: 17px 0 24px; color: #64748b; font-size: .7rem; }.password-heading { padding-top: 24px; border-top: 1px solid rgba(148,163,184,.14); }.google-profile-note { display: flex; flex-direction: column; gap: 5px; padding: 15px; border: 1px solid rgba(99,102,241,.3); border-radius: 13px; color: #c4b5fd; background: rgba(79,70,229,.14); font-size: .75rem; }.google-profile-note span { color: #94a3b8; font-size: .7rem; }.profile-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; padding-top: 18px; border-top: 1px solid rgba(148,163,184,.14); }.profile-form-footer span { color: #64748b; font-size: .68rem; }.profile-form-footer .btn { min-width: 190px; }
@media (max-width: 680px) { .profile-page { padding-top: 28px; }.profile-header h1 { font-size: 2rem; }.profile-card-form { padding: 20px 16px; }.profile-fields { grid-template-columns: 1fr; }.profile-plan-options { grid-template-columns: 1fr 1fr; }.profile-form-footer { align-items: stretch; flex-direction: column; }.profile-form-footer .btn { width: 100%; } }
.dashboard-sidebar .sidebar-pro { padding: 14px; }
.dashboard-sidebar .sidebar-pro h4 { margin-bottom: 8px; font-size: .82rem; }
.dashboard-sidebar .sidebar-pro ul { margin-bottom: 10px; font-size: .68rem; }
.dashboard-sidebar .sidebar-pro li { margin-bottom: 4px; line-height: 1.25; }
.dashboard-sidebar .sidebar-pro small { margin-top: 7px; font-size: .62rem; }
.sidebar-pro .btn { position: relative; width: 100%; overflow: hidden; color: #07110a; background: linear-gradient(135deg,#bef264,#22c55e); border: 0; box-shadow: 0 10px 24px rgba(132,204,22,.32); font-weight: 900; animation: proButtonPulse 2s ease-in-out infinite; }
.sidebar-pro .btn::after { content: ''; position: absolute; top: 0; left: -80%; width: 45%; height: 100%; background: rgba(255,255,255,.45); transform: skewX(-20deg); animation: proButtonShine 3.2s infinite; }
.sidebar-pro .btn:hover { color: #07110a; transform: translateY(-3px) scale(1.02); box-shadow: 0 16px 34px rgba(132,204,22,.5); }
@keyframes proButtonPulse { 0%,100% { box-shadow: 0 10px 24px rgba(132,204,22,.28); } 50% { box-shadow: 0 14px 34px rgba(132,204,22,.52); } }
@keyframes proButtonShine { 0%,45% { left: -80%; } 70%,100% { left: 140%; } }
@media (max-width: 768px) {
    .system-page .dashboard-sidebar { display: none; }
    .system-page .dashboard-main { margin-left: 0; }
}
.modal-backdrop { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; background: rgba(2, 6, 23, .85); padding: 16px; }
.modal-box { width: 100%; max-width: 520px; padding: 28px; border-radius: 20px; background: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(30, 41, 59, .95)); border: 1px solid rgba(163, 230, 53, .25); box-shadow: 0 24px 60px rgba(0,0,0,.35); color: #f8fafc; }
.modal-box h2 { font-size: 1.35rem; margin-bottom: 12px; color: #a3e635; }
.modal-box p { color: #cbd5e1; font-size: .9rem; line-height: 1.5; margin-bottom: 14px; }
.modal-box ul { list-style: disc; padding-left: 20px; margin-bottom: 20px; color: #94a3b8; font-size: .85rem; line-height: 1.5; }
.modal-actions { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; }
.modal-actions .btn { min-width: 140px; }

